Update documentation regarding 'largefile' module.
[gnulib.git] / ChangeLog
1 2011-10-27  Bruno Haible  <bruno@clisp.org>
2
3         Update documentation regarding 'largefile' module.
4         * doc/posix-functions/fstat.texi: Tweak wording.
5         * doc/posix-functions/opendir.texi: Mention that the module fixes the
6         problems with huge directories and/or small ino_t types.
7         * doc/posix-functions/readdir.texi: Likewise.
8         * doc/posix-functions/rewinddir.texi: Likewise.
9
10 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
11
12         maint.mk: don't maintain a second build-aux variable.
13         * maint.mk (build_aux): Removed.  The maintainer-makefile module
14         depends on GNUmakefile, which already maintains a cfg.mk
15         overridable $(_build-aux) for projects with a non-standard
16         build-aux directory location, although without the $(srcdir)
17         prefix.  Use that variable consistently instead of introducing a
18         second one.  Adjust all call sites.
19
20 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
21
22         Add stdalign module and use it in other modules.
23         This is based on a previous proposal by Bruno Haible
24         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
25
26         stdalign: new module
27         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
28         * modules/stdalign: New files.
29         * MODULES.html.sh (c1x_core_properties): Add stdalign.
30         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
31
32         stdalign-tests: new module
33         * modules/stdalign-tests, tests/test-stdalign.c: New files.
34
35         argp: use stdalign
36         * lib/argp-parse.c: Include <stdalign.h>.
37         (alignof): Remove.
38         * modules/argp (Depends-on): Add stdalign.
39
40         crypto libraries: use stdalign
41         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
42         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
43         Do not include <stdlib.h> twice, in md4.c.
44         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
45         because we are accessing a pointer's bit-pattern, not a size.
46         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
47         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
48         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
49         * modules/crypto/sha512: Likewise.
50
51         sys_socket: use stdalign, not alignof
52         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
53         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
54
55 2011-10-27  Bruno Haible  <bruno@clisp.org>
56
57         raise test: Avoid a test failure on Linux/MIPS.
58         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
59         because 99 is a valid signal on Linux/MIPS.
60
61 2011-10-27  Bruno Haible  <bruno@clisp.org>
62
63         nonblocking tests: Fix test failure on Linux/MIPS.
64         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
65         Set to 270000.
66
67 2011-10-27  Bruno Haible  <bruno@clisp.org>
68
69         utimensat: Work around problem on Linux/hppa.
70         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
71         values.
72         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
73
74 2011-10-25  Jim Meyering  <meyering@redhat.com>
75
76         maint.mk: fix a bug in sc_prohibit_stddef_without_use
77         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
78         after symbols like NULL, size_t, etc.
79         Reported by Alfred M. Szmidt.
80
81         maint.mk: exempt ENODATA from a syntax-check rule
82         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
83         from the sc_prohibit_always-defined_macros syntax-check rule.
84         Add a comment.  See this for more details:
85         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
86
87 2011-10-23  Jim Meyering  <meyering@redhat.com>
88
89         fts: close parent dir FD before returning from post-traversal fts_read
90         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
91         unlink A, even though an FD open on A remained.  This is suboptimal
92         (holding a file descriptor open longer than needed), but otherwise not
93         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
94         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
95         that represents a real problem: it causes the removal of A to fail
96         with e.g., "rm: cannot remove `A': Device or resource busy"
97
98         fts visits each directory twice and keeps a cache (fts_fd_ring) of
99         directory file descriptors.  After completing the final, FTS_DP,
100         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
101         cache, but then proceeded to add a new FD to it via the subsequent
102         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
103         final file descriptor would be closed only via fts_close's call to
104         fd_ring_clear.  Now, it is usually closed earlier, via the final
105         FTS_DP-returning fts_read call.
106         * lib/fts.c (restore_initial_cwd): New function, converted from
107         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
108         Update callers.
109         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
110         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
111
112 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
113             Bruno Haible  <bruno@clisp.org>
114             Jim Meyering  <jim@meyering.net>
115
116         readme-release: improve safety of release prep instructions.
117         * README-release: Don't git pull all branches when only master
118         is needed for the release process.
119         Run make maintainer-clean before changing trees and merging.
120         Don't try to run ./configure right after git pull in case files
121         that influence the bootstrap process have changed, move the
122         ./configure step to after running ./bootstrap.
123         Don't bootstrap "one last time"... it's the first time!
124
125 2011-10-22  Bruno Haible  <bruno@clisp.org>
126
127         errno, strerror-override: Support for MSVC 10.
128         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
129         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
130         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
131         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
132         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
133         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
134         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
135         Assign values compatible with MSVC 10.
136         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
137         New macros.
138         (GNULIB_defined_EWINSOCK): New macro.
139         * lib/strerror-override.c (strerror_override): Update accordingly.
140         * lib/strerror-override.h: Likewise.
141         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
142         longer equal to the corresponding errno value.
143         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
144
145 2011-10-22  Bruno Haible  <bruno@clisp.org>
146
147         perror: Recognize when test program crashes.
148         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
149         strerror, set gl_cv_func_perror_works to no.
150         Reported by Daniel Richard G. <skunk@iskunk.org>.
151
152         perror: Fix indentation.
153         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
154
155 2011-10-22  Bruno Haible  <bruno@clisp.org>
156
157         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
158         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
159         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
160         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
161         functions, not as a macro.
162         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
163         macros.
164         (isfinite, isinf, isnan, signbit): Check overloaded functions and
165         absence of macro.
166         Suggested by Eric Blake.
167         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
168
169 2011-10-21  Bruno Haible  <bruno@clisp.org>
170
171         relocatable-prog-wrapper: Don't leave object files behind.
172         * build-aux/install-reloc: Re-synchronize list of .o files to be
173         removed with list of compilation units.
174
175 2011-10-20  Bruno Haible  <bruno@clisp.org>
176
177         openpty, posix_openpt: Remove code duplication.
178         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
179         * lib/openpty.c: Include <stdlib.h>.
180         (openpty): Use posix_openpt on all platforms except IRIX.
181         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
182
183 2011-10-20  Bruno Haible  <bruno@clisp.org>
184
185         unlockpt: Detect invalid argument.
186         * lib/unlockpt.c: Include <fcntl.h>.
187         (unlockpt): Check whether fd is valid, using fcntl().
188         * modules/unlockpt (Depends-on): Add fcntl-h.
189
190 2011-10-20  Bruno Haible  <bruno@clisp.org>
191
192         openpty: Avoid compilation error on AIX 6.1.
193         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
194
195 2011-10-20  Bruno Haible  <bruno@clisp.org>
196
197         posix_openpt: Support for OpenBSD.
198         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
199         (posix_openpt) [OpenBSD]: New code.
200         * lib/grantpt.c: Include <fcntl.h>.
201         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
202         * modules/grantpt (Depends-on): Add fcntl-h.
203
204 2011-10-20  Bruno Haible  <bruno@clisp.org>
205
206         posix_openpt test: Coding style.
207         * tests/test-posix_openpt.c: Use GNU coding style.
208
209 2011-10-20  Bruno Haible  <bruno@clisp.org>
210
211         grantpt: Support --avoid=pt_chown.
212         * modules/grantpt (Files): Add lib/pty-private.h.
213
214 2011-10-20  Bruno Haible  <bruno@clisp.org>
215
216         posix_openpt: Fix autoconf macro.
217         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
218         unneeded check for _getpty.
219
220 2011-10-20  Bruno Haible  <bruno@clisp.org>
221
222         openpty: Update comments.
223         * lib/openpty.c: Add comments about Minix.
224
225 2011-10-19  Eric Blake  <eblake@redhat.com>
226
227         openpty: relax license
228         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
229
230         pt_chown: use configmake to simplify build
231         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
232
233         ptsname and others: relax license
234         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
235         * modules/unlockpt (License): Likewise.
236         * modules/pt_chown (License): Likewise.
237         * modules/ptsname (License): Likewise.
238         * modules/ttyname_r (License): Likewise.
239
240 2011-10-19  Jim Meyering  <meyering@redhat.com>
241
242         posix_openpt: remove spurious #endif
243         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
244
245 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
246
247         maint.mk: Respect $(build_aux) in web-manual rule.
248         * top/maint.mk (web-manual): Find gen-announce script in user's
249         $(build_aux) directory instead of hard-coding 'build-aux'.
250
251 2011-10-19  Bruno Haible  <bruno@clisp.org>
252
253         posix_openpt: Fix compilation error.
254         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
255         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
256         Mention the openpty module as an alternative.
257
258 2011-10-19  Bruno Haible  <bruno@clisp.org>
259
260         Support for old NeXTstep 3.3 frexp().
261         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
262         execution time of the test to 5 seconds.
263         Reported by Daniel Richard G. <skunk@iskunk.org>.
264
265 2011-10-19  Bruno Haible  <bruno@clisp.org>
266
267         Support for old NeXTstep 3.3 sed.
268         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
269         part, use /.../, not \|...|. Escape periods in the header file name.
270         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
271         Reported by Daniel Richard G. <skunk@iskunk.org>.
272
273 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
274
275         Support for old NeXTstep 3.3 gcc.
276         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
277         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
278         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
279         * lib/spawn.in.h (_Restrict_arr_): Likewise.
280         * lib/regex.h (_Restrict_arr_): Likewise.
281         * lib/regex_internal.h (re_token_t): Likewise.
282         * lib/regexec.c (check_node_accept_bytes): Likewise.
283         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
284
285 2011-10-18  Eric Blake  <eblake@redhat.com>
286
287         posix_openpt: new module
288         * modules/posix_openpt: New module.
289         * m4/posix_openpt.m4: New file.
290         * lib/posix_openpt.c: Likewise.
291         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
292         (gl_STDLIB_H_DEFAULTS): Set defaults.
293         * modules/stdlib (Makefile.am): Substitute macros.
294         * lib/stdlib.in.h (posix_openpt): Declare.
295         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
296         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
297         * modules/posix_openpt-tests: New test module.
298         * tests/test-posix_openpt.c: New test.
299
300 2011-10-15  Bruno Haible  <bruno@clisp.org>
301
302         xstrtoll: Fix compilation failure.
303         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
304         from lib/strtol.c.
305         * doc/posix-headers/limits.texi: Mention missing numerical limits on
306         some platforms.
307         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
308
309 2011-10-15  Bruno Haible  <bruno@clisp.org>
310
311         vasnprintf: Optimize bit search operation.
312         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
313         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
314         gl_DOUBLE_EXPONENT_LOCATION.
315         * modules/vasnprintf (Files): Add m4/exponentd.m4.
316         * modules/unistdio/u8-vasnprintf (Files): Likewise.
317         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
318         * modules/unistdio/u16-vasnprintf (Files): Likewise.
319         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
320         * modules/unistdio/u32-vasnprintf (Files): Likewise.
321         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
322         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
323         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
324
325 2011-10-15  Bruno Haible  <bruno@clisp.org>
326
327         vasnprintf: Fix comments.
328         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
329
330 2011-10-14  Bruno Haible  <bruno@clisp.org>
331
332         Tests for module 'integer_length_ll'.
333         * modules/integer_length_ll-tests: New file.
334         * tests/test-integer_length_ll.c: New file.
335
336         New module 'integer_length_ll'.
337         * lib/integer_length_ll.c: New file.
338         * modules/integer_length_ll: New file.
339
340 2011-10-14  Bruno Haible  <bruno@clisp.org>
341
342         Tests for module 'integer_length_l'.
343         * modules/integer_length_l-tests: New file.
344         * tests/test-integer_length_l.c: New file.
345
346         New module 'integer_length_l'.
347         * lib/integer_length_l.c: New file.
348         * modules/integer_length_l: New file.
349
350 2011-10-14  Bruno Haible  <bruno@clisp.org>
351
352         Tests for module 'integer_length'.
353         * modules/integer_length-tests: New file.
354         * tests/test-integer_length.c: New file.
355
356         New module 'integer_length'.
357         * lib/integer_length.h: New file.
358         * lib/integer_length.c: New file.
359         * modules/integer_length: New file.
360
361 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
362
363         popen: Fix dependency conditions.
364         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
365
366 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
367
368         perror: Fix autoconf test.
369         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
370         <stdlib.h> and <string.h>.
371
372 2011-10-14  Bruno Haible  <bruno@clisp.org>
373
374         ffsl: Optimize on 64-bit platforms.
375         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
376         unrolling.
377
378 2011-10-13  Bruno Haible  <bruno@clisp.org>
379
380         ffsl: Optimize on 32-bit platforms.
381         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
382         use ffs() without a loop.
383
384         ffsl, ffsll: Optimize for GCC.
385         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
386         * lib/ffsl.c (GCC_BUILTIN): New macro.
387         * lib/ffsll.c (GCC_BUILTIN): Likewise.
388
389 2011-10-13  Bruno Haible  <bruno@clisp.org>
390
391         ffs, bcopy, memset: Support symbol renaming via config.h.
392         * lib/ffs.c: Include <config.h>.
393         * lib/bcopy.c: Likewise.
394         * lib/memset.c: Likewise.
395
396 2011-10-10  Bruno Haible  <bruno@clisp.org>
397
398         atanl: Simplify for platforms where 'long double' == 'double'.
399         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
400         alternative implementation.
401         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
402         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
403         * modules/atanl (Depends-on): Add atan. Update conditions.
404
405 2011-10-10  Bruno Haible  <bruno@clisp.org>
406
407         acosl: Simplify for platforms where 'long double' == 'double'.
408         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
409         alternative implementation.
410         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
411         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
412         * modules/acosl (Depends-on): Add acos. Update conditions.
413
414 2011-10-10  Bruno Haible  <bruno@clisp.org>
415
416         asinl: Simplify for platforms where 'long double' == 'double'.
417         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
418         alternative implementation.
419         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
420         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
421         * modules/asinl (Depends-on): Add asin. Update conditions.
422
423 2011-10-10  Bruno Haible  <bruno@clisp.org>
424
425         tanl: Simplify for platforms where 'long double' == 'double'.
426         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
427         implementation.
428         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
429         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
430         * modules/tanl (Depends-on): Add tan. Update conditions.
431         (configure.ac): Don't compile trigl.c if
432         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
433
434 2011-10-10  Bruno Haible  <bruno@clisp.org>
435
436         cosl: Simplify for platforms where 'long double' == 'double'.
437         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
438         implementation.
439         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
440         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
441         * modules/cosl (Depends-on): Add cos. Update conditions.
442         (configure.ac): Don't compile sincosl.c and trigl.c if
443         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
444
445 2011-10-10  Bruno Haible  <bruno@clisp.org>
446
447         sinl: Simplify for platforms where 'long double' == 'double'.
448         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
449         implementation.
450         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
451         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
452         * modules/sinl (Depends-on): Add sin. Update conditions.
453         (configure.ac): Don't compile sincosl.c and trigl.c if
454         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
455
456 2011-10-10  Bruno Haible  <bruno@clisp.org>
457
458         logl: Simplify for platforms where 'long double' == 'double'.
459         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
460         implementation.
461         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
462         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
463         * modules/logl (Depends-on): Add log. Update conditions.
464
465 2011-10-10  Bruno Haible  <bruno@clisp.org>
466
467         expl: Simplify for platforms where 'long double' == 'double'.
468         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
469         implementation.
470         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
471         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
472         * modules/expl (Depends-on): Add exp. Update conditions.
473
474 2011-10-10  Bruno Haible  <bruno@clisp.org>
475
476         sqrtl: Simplify for platforms where 'long double' == 'double'.
477         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
478         alternative implementation.
479         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
480         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
481         * modules/sqrtl (Depends-on): Update conditions.
482
483 2011-10-10  Bruno Haible  <bruno@clisp.org>
484
485         ldexpl: Simplify for platforms where 'long double' == 'double'.
486         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
487         alternative implementation.
488         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
489         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
490         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
491
492 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
493
494         ffsll: set correct witness
495         * modules/ffsll (configure.ac): Fix typo.
496
497 2011-10-10  Bruno Haible  <bruno@clisp.org>
498
499         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
500         * lib/printf-frexpl.c: Include <config.h>.
501         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
502         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
503         second time.
504         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
505         gl_LONG_DOUBLE_VS_DOUBLE.
506         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
507         conditions.
508
509 2011-10-10  Bruno Haible  <bruno@clisp.org>
510
511         frexpl: Simplify for platforms where 'long double' == 'double'.
512         * lib/frexpl.c: Include <config.h>.
513         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
514         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
515         time.
516         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
517         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
518         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
519         * modules/frexpl (Depends-on): Add frexp. Update conditions.
520         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
521         conditions.
522
523 2011-10-10  Jim Meyering  <meyering@redhat.com>
524
525         test-renameat: don't leave behind a temporary file
526         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
527           ERROR: files left in build directory after distclean:
528           ./gltests/test-renameat.too
529           make[1]: *** [distcleancheck] Error 1
530         Reported by Tom G. Christensen.
531
532 2011-10-09  Bruno Haible  <bruno@clisp.org>
533
534         rint: Determine RINT_LIBM correctly on AIX 7.
535         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
536         directly, not only through a function pointer. Also accept an optional
537         4th argument with extra code.
538         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
539         rintf() call by gcc when optimizing.
540
541         mathfunc.m4: Refactor.
542         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
543         m4 variable.
544
545 2011-10-09  Bruno Haible  <bruno@clisp.org>
546
547         rintl: Simplify for platforms where 'long double' == 'double'.
548         * lib/rintl.c: Include <config.h>.
549         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
550         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
551         time.
552         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
553         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
554         * modules/rintl (Depends-on): Add rint. Update conditions.
555
556 2011-10-09  Bruno Haible  <bruno@clisp.org>
557
558         roundl: Simplify for platforms where 'long double' == 'double'.
559         * lib/roundl.c: Include <config.h>.
560         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
561         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
562         time.
563         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
564         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
565         * modules/roundl (Depends-on): Add round. Update conditions.
566
567 2011-10-09  Bruno Haible  <bruno@clisp.org>
568
569         truncl: Simplify for platforms where 'long double' == 'double'.
570         * lib/truncl.c: Include <config.h>.
571         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
572         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
573         time.
574         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
575         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
576         * modules/truncl (Depends-on): Add trunc. Update conditions.
577
578 2011-10-09  Bruno Haible  <bruno@clisp.org>
579
580         ceill: Simplify for platforms where 'long double' == 'double'.
581         * lib/ceill.c: Include <config.h>.
582         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
583         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
584         time.
585         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
586         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
587         * modules/ceill (Depends-on): Add ceil. Update conditions.
588
589 2011-10-09  Bruno Haible  <bruno@clisp.org>
590
591         floorl: Simplify for platforms where 'long double' == 'double'.
592         * lib/floorl.c: Include <config.h>.
593         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
594         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
595         time.
596         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
597         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
598         * modules/floorl (Depends-on): Add floor. Update conditions.
599
600 2011-10-09  Bruno Haible  <bruno@clisp.org>
601
602         rint: Fix ordering constraints.
603         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
604         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
605         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
606
607 2011-10-09  Bruno Haible  <bruno@clisp.org>
608
609         copysignl: Simplify for platforms where 'long double' == 'double'.
610         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
611         alternative.
612         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
613         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
614         * modules/copysignl (Depends-on): Add copysign. Update conditions.
615
616 2011-10-09  Bruno Haible  <bruno@clisp.org>
617
618         Tests for module 'rintl'.
619         * modules/rintl-tests: New file.
620         * tests/test-rintl.c: New file.
621
622         New module 'rintl'.
623         * lib/math.in.h (rintl): New declaration.
624         * lib/rintl.c: New file.
625         * m4/rintl.m4: New file.
626         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
627         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
628         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
629         * modules/rintl: New file.
630         * tests/test-math-c++.cc: Check the declaration of rintl.
631         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
632         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
633         * doc/posix-functions/rintl.texi: Mention the new module.
634
635 2011-10-09  Bruno Haible  <bruno@clisp.org>
636
637         Tests for module 'rintf'.
638         * modules/rintf-tests: New file.
639         * tests/test-rintf.c: New file.
640
641         New module 'rintf'.
642         * lib/math.in.h (rintf): New declaration.
643         * lib/rintf.c: New file.
644         * m4/rintf.m4: New file.
645         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
646         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
647         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
648         * modules/rintf: New file.
649         * tests/test-math-c++.cc: Check the declaration of rintf.
650         * doc/posix-functions/rintf.texi: Mention the new module.
651
652 2011-10-09  Bruno Haible  <bruno@clisp.org>
653
654         rint: Support for MSVC.
655         * lib/math.in.h (rint): New declaration.
656         * lib/rint.c: New file.
657         * m4/rint.m4: New file.
658         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
659         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
660         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
661         * modules/rint (Description): Fix.
662         (Files): Add lib/rint.c, m4/rint.m4.
663         (Depends-on): Add math.
664         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
665         gl_MATH_MODULE_INDICATOR.
666         * tests/test-math-c++.cc: Check the declaration of rint.
667         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
668         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
669         * doc/posix-functions/rint.texi: Mention the replacement provided by
670         the module.
671
672         rint tests: More tests.
673         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
674         minus-zero.h, infinity.h, nan.h.
675         (main): Skip the test if the current rounding mode is not standard. Add
676         tests for negative numbers, minus zero, infinity, NaN.
677         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
678         tests/nan.h.
679         (Depends-on): Add isnand-nolibm.
680
681 2011-10-09  Bruno Haible  <bruno@clisp.org>
682
683         Tests for module 'copysignl'.
684         * modules/copysignl-tests: New file.
685         * tests/test-copysignl.c: New file.
686
687         New module 'copysignl'.
688         * lib/math.in.h (copysignl): New declaration.
689         * lib/copysignl.c: New file.
690         * m4/copysignl.m4: New file.
691         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
692         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
693         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
694         HAVE_COPYSIGNL.
695         * modules/copysignl: New file.
696         * tests/test-math-c++.cc: Check the declaration of copysignl.
697         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
698         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
699         * doc/posix-functions/copysignl.texi: Mention the new module.
700
701 2011-10-09  Bruno Haible  <bruno@clisp.org>
702
703         Tests for module 'copysignf'.
704         * modules/copysignf-tests: New file.
705         * tests/test-copysignf.c: New file.
706
707         New module 'copysignf'.
708         * lib/math.in.h (copysignf): New declaration.
709         * lib/copysignf.c: New file.
710         * m4/copysignf.m4: New file.
711         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
712         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
713         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
714         HAVE_COPYSIGNF.
715         * modules/copysignf: New file.
716         * tests/test-math-c++.cc: Check the declaration of copysignf.
717         * doc/posix-functions/copysignf.texi: Mention the new module.
718
719 2011-10-09  Bruno Haible  <bruno@clisp.org>
720
721         Ensure that HAVE_* variables are set to 1 before they are set to 0.
722         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
723         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
724         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
725         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
726         gl_SIGNAL_H_DEFAULTS.
727
728 2011-10-09  Bruno Haible  <bruno@clisp.org>
729
730         poll: Make macro safer.
731         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
732         ac_cv_header_poll_h is not set.
733
734 2011-10-09  Bruno Haible  <bruno@clisp.org>
735
736         copysign: Provide replacement.
737         * lib/math.in.h (copysign): New declaration.
738         * lib/copysign.c: New file.
739         * m4/copysign.m4: New file.
740         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
741         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
742         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
743         HAVE_COPYSIGN.
744         * modules/copysign (Description): Clarify.
745         (Files): Add lib/copysign.c, m4/copysign.m4.
746         (Depends-on): Add math, signbit.
747         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
748         gl_MATH_MODULE_INDICATOR.
749         * tests/test-math-c++.cc: Check the declaration of copysign.
750         * doc/posix-functions/copysign.texi: Mention the effects of the module
751         on Minix and MSVC.
752
753 2011-10-09  Bruno Haible  <bruno@clisp.org>
754
755         isinf: Ensure macro on AIX 5.1.
756         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
757         macro.
758         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
759
760 2011-10-09  Bruno Haible  <bruno@clisp.org>
761
762         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
763         * modules/snprintf-posix-tests (configure.ac): Require
764         gl_LONG_DOUBLE_VS_DOUBLE.
765         * modules/sprintf-posix-tests (configure.ac): Likewise.
766         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
767         * modules/vasprintf-posix-tests (configure.ac): Likewise.
768         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
769         * modules/vsprintf-posix-tests (configure.ac): Likewise.
770         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
771         tests on platforms where 'long double' is the same as 'double'.
772         * tests/test-sprintf-posix.h (test_function): Likewise.
773         * tests/test-vasnprintf-posix.c (test_function): Likewise.
774         * tests/test-vasprintf-posix.c (test_function): Likewise.
775
776         *printf: Fix for platforms where 'long double' == 'double'.
777         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
778         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
779         * modules/dprintf-posix (Files): Add m4/math_h.m4.
780         * modules/fprintf-posix (Files): Likewise.
781         * modules/obstack-printf-posix (Files): Likewise.
782         * modules/snprintf-posix (Files): Likewise.
783         * modules/sprintf-posix (Files): Likewise.
784         * modules/vasnprintf (Files): Likewise.
785         * modules/vasnprintf-posix (Files): Likewise.
786         * modules/vasprintf-posix (Files): Likewise.
787         * modules/vdprintf-posix (Files): Likewise.
788         * modules/vfprintf-posix (Files): Likewise.
789         * modules/vsnprintf-posix (Files): Likewise.
790         * modules/vsprintf-posix (Files): Likewise.
791         * modules/unistdio/u8-vasnprintf (Files): Likewise.
792         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
793         * modules/unistdio/u16-vasnprintf (Files): Likewise.
794         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
795         * modules/unistdio/u32-vasnprintf (Files): Likewise.
796         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
797         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
798
799         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
800         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
801         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
802         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
803         'long double'.
804         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
805
806         isinf: Fix for platforms where 'long double' == 'double'.
807         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
808         Don't blindly assume 80-bit 'long double'.
809
810         isfinite: Fix for platforms where 'long double' == 'double'.
811         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
812         Don't blindly assume 80-bit 'long double'.
813
814         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
815         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
816         * modules/isfinite-tests (configure.ac): Require
817         gl_LONG_DOUBLE_VS_DOUBLE.
818         * modules/isinf-tests (configure.ac): Likewise.
819         * modules/isnan-tests (configure.ac): Likewise.
820         * modules/isnanl-tests (configure.ac): Likewise.
821         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
822         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
823         tests on platforms where 'long double' is the same as 'double'.
824         * tests/test-isinf.c (test_isinfl): Likewise.
825         * tests/test-isnan.c (test_long_double): Likewise.
826         * tests/test-isnanl.h (main): Likewise.
827
828 2011-10-08  Bruno Haible  <bruno@clisp.org>
829
830         Tests for module 'tanhf'.
831         * modules/tanhf-tests: New file.
832         * tests/test-tanhf.c: New file.
833
834         New module 'tanhf'.
835         * lib/math.in.h (tanhf): New declaration.
836         * lib/tanhf.c: New file.
837         * m4/tanhf.m4: New file.
838         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
839         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
840         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
841         * modules/tanhf: New file.
842         * tests/test-math-c++.cc: Check the declaration of tanhf.
843         * doc/posix-functions/tanhf.texi: Mention the new module.
844
845         tanh: Use a .m4 file.
846         * m4/tanh.m4: New file.
847         * modules/tanh (Files): Add it.
848         (configure.ac): Just invoke gl_FUNC_TANH.
849
850 2011-10-08  Bruno Haible  <bruno@clisp.org>
851
852         Tests for module 'coshf'.
853         * modules/coshf-tests: New file.
854         * tests/test-coshf.c: New file.
855
856         New module 'coshf'.
857         * lib/math.in.h (coshf): New declaration.
858         * lib/coshf.c: New file.
859         * m4/coshf.m4: New file.
860         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
861         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
862         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
863         * modules/coshf: New file.
864         * tests/test-math-c++.cc: Check the declaration of coshf.
865         * doc/posix-functions/coshf.texi: Mention the new module.
866
867         cosh: Use a .m4 file.
868         * m4/cosh.m4: New file.
869         * modules/cosh (Files): Add it.
870         (configure.ac): Just invoke gl_FUNC_COSH.
871
872 2011-10-08  Bruno Haible  <bruno@clisp.org>
873
874         Tests for module 'sinhf'.
875         * modules/sinhf-tests: New file.
876         * tests/test-sinhf.c: New file.
877
878         New module 'sinhf'.
879         * lib/math.in.h (sinhf): New declaration.
880         * lib/sinhf.c: New file.
881         * m4/sinhf.m4: New file.
882         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
883         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
884         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
885         * modules/sinhf: New file.
886         * tests/test-math-c++.cc: Check the declaration of sinhf.
887         * doc/posix-functions/sinhf.texi: Mention the new module.
888
889         sinh: Use a .m4 file.
890         * m4/sinh.m4: New file.
891         * modules/sinh (Files): Add it.
892         (configure.ac): Just invoke gl_FUNC_SINH.
893
894 2011-10-08  Bruno Haible  <bruno@clisp.org>
895
896         Tests for module 'atan2f'.
897         * modules/atan2f-tests: New file.
898         * tests/test-atan2f.c: New file.
899
900         New module 'atan2f'.
901         * lib/math.in.h (atan2f): New declaration.
902         * lib/atan2f.c: New file.
903         * m4/atan2f.m4: New file.
904         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
905         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
906         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
907         * modules/atan2f: New file.
908         * tests/test-math-c++.cc: Check the declaration of atan2f.
909         * doc/posix-functions/atan2f.texi: Mention the new module.
910
911         atan2: Use a .m4 file.
912         * m4/atan2.m4: New file.
913         * modules/atan2 (Files): Add it.
914         (configure.ac): Just invoke gl_FUNC_ATAN2.
915
916 2011-10-08  Bruno Haible  <bruno@clisp.org>
917
918         Tests for module 'atanf'.
919         * modules/atanf-tests: New file.
920         * tests/test-atanf.c: New file.
921
922         New module 'atanf'.
923         * lib/math.in.h (atanf): New declaration.
924         * lib/atanf.c: New file.
925         * m4/atanf.m4: New file.
926         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
927         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
928         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
929         * modules/atanf: New file.
930         * tests/test-math-c++.cc: Check the declaration of atanf.
931         * doc/posix-functions/atanf.texi: Mention the new module.
932
933         atan: Use a .m4 file.
934         * m4/atan.m4: New file.
935         * modules/atan (Files): Add it.
936         (configure.ac): Just invoke gl_FUNC_ATAN.
937
938 2011-10-08  Bruno Haible  <bruno@clisp.org>
939
940         Tests for module 'acosf'.
941         * modules/acosf-tests: New file.
942         * tests/test-acosf.c: New file.
943
944         New module 'acosf'.
945         * lib/math.in.h (acosf): New declaration.
946         * lib/acosf.c: New file.
947         * m4/acosf.m4: New file.
948         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
949         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
950         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
951         * modules/acosf: New file.
952         * tests/test-math-c++.cc: Check the declaration of acosf.
953         * doc/posix-functions/acosf.texi: Mention the new module.
954
955         acos: Use a .m4 file.
956         * m4/acos.m4: New file.
957         * modules/acos (Files): Add it.
958         (configure.ac): Just invoke gl_FUNC_ACOS.
959
960 2011-10-08  Bruno Haible  <bruno@clisp.org>
961
962         Tests for module 'asinf'.
963         * modules/asinf-tests: New file.
964         * tests/test-asinf.c: New file.
965
966         New module 'asinf'.
967         * lib/math.in.h (asinf): New declaration.
968         * lib/asinf.c: New file.
969         * m4/asinf.m4: New file.
970         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
971         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
972         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
973         * modules/asinf: New file.
974         * tests/test-math-c++.cc: Check the declaration of asinf.
975         * doc/posix-functions/asinf.texi: Mention the new module.
976
977         asin: Use a .m4 file.
978         * m4/asin.m4: New file.
979         * modules/asin (Files): Add it.
980         (configure.ac): Just invoke gl_FUNC_ASIN.
981
982 2011-10-08  Bruno Haible  <bruno@clisp.org>
983
984         Tests for module 'tanf'.
985         * modules/tanf-tests: New file.
986         * tests/test-tanf.c: New file.
987
988         New module 'tanf'.
989         * lib/math.in.h (tanf): New declaration.
990         * lib/tanf.c: New file.
991         * m4/tanf.m4: New file.
992         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
993         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
994         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
995         * modules/tanf: New file.
996         * tests/test-math-c++.cc: Check the declaration of tanf.
997         * doc/posix-functions/tanf.texi: Mention the new module.
998
999         tan: Use a .m4 file.
1000         * m4/tan.m4: New file.
1001         * modules/tan (Files): Add it.
1002         (configure.ac): Just invoke gl_FUNC_TAN.
1003
1004 2011-10-08  Bruno Haible  <bruno@clisp.org>
1005
1006         Tests for module 'cosf'.
1007         * modules/cosf-tests: New file.
1008         * tests/test-cosf.c: New file.
1009
1010         New module 'cosf'.
1011         * lib/math.in.h (cosf): New declaration.
1012         * lib/cosf.c: New file.
1013         * m4/cosf.m4: New file.
1014         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
1015         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
1016         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
1017         * modules/cosf: New file.
1018         * tests/test-math-c++.cc: Check the declaration of cosf.
1019         * doc/posix-functions/cosf.texi: Mention the new module.
1020
1021         cos: Use a .m4 file.
1022         * m4/cos.m4: New file.
1023         * modules/cos (Files): Add it.
1024         (configure.ac): Just invoke gl_FUNC_COS.
1025
1026 2011-10-08  Bruno Haible  <bruno@clisp.org>
1027
1028         Tests for module 'sinf'.
1029         * modules/sinf-tests: New file.
1030         * tests/test-sinf.c: New file.
1031
1032         New module 'sinf'.
1033         * lib/math.in.h (sinf): New declaration.
1034         * lib/sinf.c: New file.
1035         * m4/sinf.m4: New file.
1036         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
1037         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
1038         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
1039         * modules/sinf: New file.
1040         * tests/test-math-c++.cc: Check the declaration of sinf.
1041         * doc/posix-functions/sinf.texi: Mention the new module.
1042
1043         sin: Use a .m4 file.
1044         * m4/sin.m4: New file.
1045         * modules/sin (Files): Add it.
1046         (configure.ac): Just invoke gl_FUNC_SIN.
1047
1048 2011-10-08  Bruno Haible  <bruno@clisp.org>
1049
1050         Tests for module 'powf'.
1051         * modules/powf-tests: New file.
1052         * tests/test-powf.c: New file.
1053
1054         New module 'powf'.
1055         * lib/math.in.h (powf): New declaration.
1056         * lib/powf.c: New file.
1057         * m4/powf.m4: New file.
1058         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
1059         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
1060         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
1061         * modules/powf: New file.
1062         * tests/test-math-c++.cc: Check the declaration of powf.
1063         * doc/posix-functions/powf.texi: Mention the new module.
1064
1065         pow: Use a .m4 file.
1066         * m4/pow.m4: New file.
1067         * modules/pow (Files): Add it.
1068         (configure.ac): Just invoke gl_FUNC_POW.
1069
1070 2011-10-08  Bruno Haible  <bruno@clisp.org>
1071
1072         Tests for module 'log10f'.
1073         * modules/log10f-tests: New file.
1074         * tests/test-log10f.c: New file.
1075
1076         New module 'log10f'.
1077         * lib/math.in.h (log10f): New declaration.
1078         * lib/log10f.c: New file.
1079         * m4/log10f.m4: New file.
1080         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
1081         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
1082         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
1083         * modules/log10f: New file.
1084         * tests/test-math-c++.cc: Check the declaration of log10f.
1085         * doc/posix-functions/log10f.texi: Mention the new module.
1086
1087         log10: Use a .m4 file.
1088         * m4/log10.m4: New file.
1089         * modules/log10 (Files): Add it.
1090         (configure.ac): Just invoke gl_FUNC_LOG10.
1091
1092 2011-10-08  Bruno Haible  <bruno@clisp.org>
1093
1094         Tests for module 'logf'.
1095         * modules/logf-tests: New file.
1096         * tests/test-logf.c: New file.
1097
1098         New module 'logf'.
1099         * lib/math.in.h (logf): New declaration.
1100         * lib/logf.c: New file.
1101         * m4/logf.m4: New file.
1102         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
1103         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
1104         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
1105         * modules/logf: New file.
1106         * tests/test-math-c++.cc: Check the declaration of logf.
1107         * doc/posix-functions/logf.texi: Mention the new module.
1108
1109         log: Use a .m4 file.
1110         * m4/log.m4: New file.
1111         * modules/log (Files): Add it.
1112         (configure.ac): Just invoke gl_FUNC_LOG.
1113
1114 2011-10-08  Bruno Haible  <bruno@clisp.org>
1115
1116         Tests for module 'expf'.
1117         * modules/expf-tests: New file.
1118         * tests/test-expf.c: New file.
1119
1120         New module 'expf'.
1121         * lib/math.in.h (expf): New declaration.
1122         * lib/expf.c: New file.
1123         * m4/expf.m4: New file.
1124         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
1125         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
1126         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
1127         * modules/expf: New file.
1128         * tests/test-math-c++.cc: Check the declaration of expf.
1129         * doc/posix-functions/expf.texi: Mention the new module.
1130
1131         exp: Use a .m4 file.
1132         * m4/exp.m4: New file.
1133         * modules/exp (Files): Add it.
1134         (configure.ac): Just invoke gl_FUNC_EXP.
1135
1136 2011-10-08  Bruno Haible  <bruno@clisp.org>
1137
1138         Tests for module 'sqrtf'.
1139         * modules/sqrtf-tests: New file.
1140         * tests/test-sqrtf.c: New file.
1141
1142         New module 'sqrtf'.
1143         * lib/math.in.h (sqrtf): New declaration.
1144         * lib/sqrtf.c: New file.
1145         * m4/sqrtf.m4: New file.
1146         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
1147         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
1148         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
1149         * modules/sqrtf: New file.
1150         * tests/test-math-c++.cc: Check the declaration of sqrtf.
1151         * doc/posix-functions/sqrtf.texi: Mention the new module.
1152
1153 2011-10-08  Bruno Haible  <bruno@clisp.org>
1154
1155         Tests: Avoid link failures w.r.t. libintl.
1156         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
1157         $(LIBINTL).
1158         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
1159         $(LIBINTL).
1160         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
1161         against $(LIBINTL).
1162         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
1163         $(LIBINTL).
1164         * modules/openat-tests (Makefile.am): Link test-fchmodat against
1165         $(LIBINTL).
1166         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
1167
1168 2011-10-08  Bruno Haible  <bruno@clisp.org>
1169
1170         pow tests: Defeat compiler optimizations.
1171         * tests/test-pow.c (main): Assign arguments to x and y before use.
1172
1173 2011-10-08  Bruno Haible  <bruno@clisp.org>
1174
1175         gnulib-tool: Improve last commit.
1176         * gnulib-tool (func_modules_transitive_closure): Simplify code.
1177         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
1178         ignore dependencies that are not among the modules list.
1179
1180 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
1181
1182         gnulib-tool: don't follow dependencies to avoided modules
1183         This fixes a bug that is related to the previous one.
1184         * gnulib-tool (func_modules_transitive_closure)
1185         (func_emit_autoconf_snippets):
1186         Check whether a dependency is acceptable before using it.
1187         (--extract-dependencies): Report an error if --avoid is also used,
1188         since this combination of options is not yet supported.
1189
1190         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
1191         Problem reported by Peter Dyballa in
1192         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
1193         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
1194         when echoing "$condition".
1195
1196 2011-10-07  Bruno Haible  <bruno@clisp.org>
1197
1198         Fix documentation about math functions on MacOS X.
1199         * doc/posix-functions/exp2.texi: Don't say the function is missing on
1200         MacOS X 10.5.
1201         * doc/posix-functions/fdim.texi: Likewise.
1202         * doc/posix-functions/feclearexcept.texi: Likewise.
1203         * doc/posix-functions/fegetenv.texi: Likewise.
1204         * doc/posix-functions/fegetround.texi: Likewise.
1205         * doc/posix-functions/feholdexcept.texi: Likewise.
1206         * doc/posix-functions/feraiseexcept.texi: Likewise.
1207         * doc/posix-functions/fesetenv.texi: Likewise.
1208         * doc/posix-functions/fesetround.texi: Likewise.
1209         * doc/posix-functions/fetestexcept.texi: Likewise.
1210         * doc/posix-functions/feupdateenv.texi: Likewise.
1211         * doc/posix-functions/fmax.texi: Likewise.
1212         * doc/posix-functions/fmin.texi: Likewise.
1213         * doc/posix-functions/log2.texi: Likewise.
1214         * doc/posix-functions/modff.texi: Likewise.
1215         * doc/posix-functions/nan.texi: Likewise.
1216         * doc/posix-functions/nanf.texi: Likewise.
1217         * doc/posix-functions/nextafterf.texi: Likewise.
1218         * doc/posix-functions/remquo.texi: Likewise.
1219
1220 2011-10-07  Bruno Haible  <bruno@clisp.org>
1221
1222         modff: Drop assumption about library that defines modff.
1223         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
1224         AC_CHECK_FUNCS.
1225         * modules/modff (Files): Add m4/mathfunc.m4.
1226
1227 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
1228
1229         raise tests: Avoid a GCC warning.
1230         * tests/test-raise.c (handler): Use _Noreturn.
1231
1232 2011-10-07  Bruno Haible  <bruno@clisp.org>
1233
1234         Tests for module 'ldexpf'.
1235         * modules/ldexpf-tests: New file.
1236         * tests/test-ldexpf.c: New file.
1237
1238         New module 'ldexpf'.
1239         * lib/math.in.h (ldexpf): New declaration.
1240         * lib/ldexpf.c: New file.
1241         * m4/ldexpf.m4: New file.
1242         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
1243         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
1244         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
1245         * modules/ldexpf: New file.
1246         * tests/test-math-c++.cc: Check the declaration of ldexpf.
1247         * doc/posix-functions/ldexpf.texi: Mention the new module.
1248
1249 2011-10-06  Bruno Haible  <bruno@clisp.org>
1250
1251         frexpf: Work around problems on IRIX and mingw.
1252         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
1253         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
1254         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
1255         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
1256         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
1257         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
1258         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
1259
1260 2011-10-06  Bruno Haible  <bruno@clisp.org>
1261
1262         fabsf: Drop assumption about library that defines fabsf.
1263         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
1264         AC_CHECK_FUNCS.
1265         * modules/fabsf (Files): Add m4/mathfunc.m4.
1266
1267 2011-10-06  Bruno Haible  <bruno@clisp.org>
1268
1269         frexpf: Drop assumption about library that defines frexpf.
1270         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
1271         'int *', 'float *', 'long double *', 'float', 'long double'.
1272         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
1273         AC_CHECK_FUNCS.
1274         * modules/frexpf (Files): Add m4/mathfunc.m4.
1275
1276         Tests for module 'frexpf'.
1277         * modules/frexpf-tests: New file.
1278         * tests/test-frexpf.c: New file.
1279
1280         New module 'frexpf'.
1281         * lib/math.in.h (frexpf): New declaration.
1282         * lib/frexpf.c: New file.
1283         * m4/frexpf.m4: New file.
1284         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
1285         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
1286         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
1287         * modules/frexpf: New file.
1288         * tests/test-math-c++.cc: Check the declaration of frexpf.
1289         * doc/posix-functions/frexpf.texi: Mention the new module.
1290
1291 2011-10-06  Bruno Haible  <bruno@clisp.org>
1292
1293         math: Sort function declarations of math.in.h.
1294         * lib/math.in.h (frexp, logb): Move declarations.
1295
1296 2011-10-05  Bruno Haible  <bruno@clisp.org>
1297
1298         Tests for module 'modff'.
1299         * modules/modff-tests: New file.
1300         * tests/test-modff.c: New file.
1301
1302         New module 'modff'.
1303         * lib/math.in.h (modff): New declaration.
1304         * lib/modff.c: New file.
1305         * m4/modff.m4: New file.
1306         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
1307         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
1308         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
1309         * modules/modff: New file.
1310         * tests/test-math-c++.cc: Check the declaration of modff.
1311         * doc/posix-functions/modff.texi: Mention the new module.
1312
1313         modf tests: Make test sharper.
1314         * tests/test-modf.c (main): Strengthen upper bound.
1315
1316         modf: Use a .m4 file.
1317         * m4/modf.m4: New file.
1318         * modules/modf (Files): Add it.
1319         (configure.ac): Just invoke gl_FUNC_MODF.
1320
1321 2011-10-05  Bruno Haible  <bruno@clisp.org>
1322
1323         Tests for module 'fmodf'.
1324         * modules/fmodf-tests: New file.
1325         * tests/test-fmodf.c: New file.
1326
1327         New module 'fmodf'.
1328         * lib/math.in.h (fmodf): New declaration.
1329         * lib/fmodf.c: New file.
1330         * m4/fmodf.m4: New file.
1331         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
1332         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
1333         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
1334         * modules/fmodf: New file.
1335         * tests/test-math-c++.cc: Check the declaration of fmodf.
1336         * doc/posix-functions/fmodf.texi: Mention the new module.
1337
1338         fmod: Use a .m4 file.
1339         * m4/fmod.m4: New file.
1340         * modules/fmod (Files): Add it.
1341         (configure.ac): Just invoke gl_FUNC_FMOD.
1342
1343 2011-10-05  Bruno Haible  <bruno@clisp.org>
1344
1345         Tests for module 'fabsf'.
1346         * modules/fabsf-tests: New file.
1347         * tests/test-fabsf.c: New file.
1348
1349         New module 'fabsf'.
1350         * lib/math.in.h (fabsf): New declaration.
1351         * lib/fabsf.c: New file.
1352         * m4/fabsf.m4: New file.
1353         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
1354         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
1355         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
1356         * modules/fabsf: New file.
1357         * tests/test-math-c++.cc: Check the declaration of fabsf.
1358         * doc/posix-functions/fabsf.texi: Mention the new module.
1359
1360         fabs: Use a .m4 file.
1361         * m4/fabs.m4: New file.
1362         * modules/fabs (Files): Add it.
1363         (configure.ac): Just invoke gl_FUNC_FABS.
1364
1365 2011-10-05  Jim Meyering  <meyering@redhat.com>
1366
1367         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
1368         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
1369         ls -lL regression introduced in coreutils-8.12, it does so at the
1370         cost of an additional stat call in the common case.  Besides, now
1371         that the kernel change that prompted commit 95f7c57f has been reverted
1372         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
1373         we have no use for commit 95f7c57f, "file-has-acl: use
1374         acl_extended_file_nofollow if available".
1375
1376 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
1377
1378         file-has-acl: revert unintended change in behavior of ls -L
1379         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
1380         derived from...
1381         (file_has_acl): ...code here.  Call it.
1382         This problem was introduced with 2011-07-22 commit 95f7c57f,
1383         "file-has-acl: use acl_extended_file_nofollow if available".
1384         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
1385
1386 2011-10-03  Bruno Haible  <bruno@clisp.org>
1387
1388         poll: Avoid link errors on MSVC.
1389         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
1390         * modules/poll (Depends-on): Add sockets.
1391         (Link): New section.
1392         * NEWS: Mention the change.
1393         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
1394         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
1395         $(LIB_POLL) instead of $(LIBSOCKET).
1396
1397 2011-10-03  Bruno Haible  <bruno@clisp.org>
1398
1399         sys_select tests: Fix link error on MSVC 9.
1400         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
1401         with $(LIB_SELECT) instead of $(LIBSOCKET).
1402
1403 2011-10-03  Bruno Haible  <bruno@clisp.org>
1404
1405         sys_select: Fix compilation error on mingw.
1406         * lib/sys_select.in.h: On native Windows, include <io.h>.
1407
1408 2011-10-03  Bruno Haible  <bruno@clisp.org>
1409
1410         wmemset: Support for MSVC.
1411         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
1412         whether wmemset() exists.
1413
1414 2011-10-03  Bruno Haible  <bruno@clisp.org>
1415
1416         wmemmove: Support for MSVC.
1417         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
1418         whether wmemmove() exists.
1419
1420 2011-10-03  Bruno Haible  <bruno@clisp.org>
1421
1422         wmemcpy: Support for MSVC.
1423         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
1424         whether wmemcpy() exists.
1425
1426 2011-10-03  Bruno Haible  <bruno@clisp.org>
1427
1428         wmemcmp: Support for MSVC.
1429         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
1430         whether wmemcmp() exists.
1431
1432 2011-10-03  Bruno Haible  <bruno@clisp.org>
1433
1434         wmemchr: Support for MSVC.
1435         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
1436         whether wmemchr() exists.
1437
1438 2011-10-03  Bruno Haible  <bruno@clisp.org>
1439
1440         glthread/*, strsignal: Support for MSVC.
1441         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
1442         including <winsock.h> on MSVC 9.
1443         * lib/glthread/lock.h: Likewise.
1444         * lib/glthread/thread.h: Likewise.
1445         * lib/glthread/tls.h: Likewise.
1446         * lib/glthread/yield.h: Likewise.
1447         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
1448         if HAVE_UNISTD_H is false.
1449         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
1450
1451 2011-10-03  Bruno Haible  <bruno@clisp.org>
1452
1453         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
1454         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
1455         Set to 100000.
1456
1457 2011-10-03  Bruno Haible  <bruno@clisp.org>
1458
1459         acl: Fix specification.
1460         * lib/file-has-acl.c (file_has_acl): Fix specification.
1461
1462 2011-10-03  Bruno Haible  <bruno@clisp.org>
1463
1464         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
1465         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
1466         (compute_curr_prefix, shared_library_fullname,
1467         find_shared_library_fullname, get_shared_library_fullname, relocate):
1468         Use it together with PIC && INSTALLDIR.
1469         Reported by <jojelino@gmail.com>
1470         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
1471
1472 2011-10-01  Jim Meyering  <meyering@redhat.com>
1473
1474         maint.mk: adjust a release-related rule not to require use of gzip
1475         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
1476         Instead, check each file in $(DIST_ARCHIVES).  This is better for
1477         projects that build only .tar.xz files.  Also fix an erroneous test.
1478
1479         test-linkat: don't leave behind a temporary file
1480         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
1481         Otherwise, coreutils' "make distcheck" would fail with this:
1482           Only in /c/cu/tests/torture/coreutils/test/\
1483             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
1484           make[2]: *** [my-distcheck] Error 1
1485
1486         float, math: add omitted file
1487         * lib/itold.c: Add file, required for yesterday's float change.
1488
1489 2011-10-01  Bruno Haible  <bruno@clisp.org>
1490
1491         isinf: Fix for OpenBSD/x86.
1492         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
1493         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
1494         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
1495
1496 2011-10-01  Bruno Haible  <bruno@clisp.org>
1497
1498         isfinite: Fix syntax error in configure test.
1499         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
1500
1501         isfinite: Fix typo.
1502         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
1503         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
1504
1505 2011-10-01  Bruno Haible  <bruno@clisp.org>
1506
1507         nonblocking tests: Fix test failure on Linux/IA-64.
1508         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
1509         Set to 270000.
1510
1511 2011-10-01  Bruno Haible  <bruno@clisp.org>
1512
1513         mkfifoat tests: Fix a test failure on mingw.
1514         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
1515         with error ENOSYS.
1516
1517 2011-09-30  Bruno Haible  <bruno@clisp.org>
1518
1519         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
1520         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
1521         'long double'. Set REPLACE_ITOLD.
1522         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
1523         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
1524         * lib/itold.c: New file.
1525         * modules/float (Files): Add lib/itold.c.
1526         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
1527         (Makefile.am): Substitute REPLACE_ITOLD.
1528         * modules/math (Depends-on): Add float.
1529         (Makefile.am): Substitute REPLACE_ITOLD.
1530         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
1531         * doc/posix-headers/math.texi: Likewise.
1532         * doc/posix-functions/logl.texi: Likewise.
1533
1534 2011-09-30  Bruno Haible  <bruno@clisp.org>
1535
1536         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
1537         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
1538         Set to 140000.
1539
1540 2011-09-30  Bruno Haible  <bruno@clisp.org>
1541
1542         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
1543         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
1544         invocation, say "right after AC_PROG_CC_STDC", not "right after
1545         AC_PROG_CC".
1546         Reported by Gary V. Vaughan <gary@gnu.org>.
1547
1548 2011-09-30  Bruno Haible  <bruno@clisp.org>
1549
1550         Centralize C99 requirement.
1551         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
1552         * modules/stdarg (configure.ac-early): Invoke it instead of
1553         AC_PROG_CC_STDC.
1554         Reported by Gary V. Vaughan and Paul Eggert.
1555
1556 2011-09-29  Bruno Haible  <bruno@clisp.org>
1557
1558         float: Fix LDBL_MAX value on Linux/PowerPC.
1559         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
1560         on Linux/PowerPC.
1561         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
1562         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
1563         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
1564         platform.
1565         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
1566
1567 2011-09-29  Bruno Haible  <bruno@clisp.org>
1568
1569         doc: Improve doc about gl_EARLY.
1570         * doc/gnulib-tool.texi (Initial import): Mention where to place an
1571         AC_PROG_CC_STDC invocation.
1572         Reported by Gary V. Vaughan <gary@gnu.org>.
1573
1574 2011-09-28  Bruno Haible  <bruno@clisp.org>
1575
1576         fgetc, fputc, fread, fwrite tests: Fix link error.
1577         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
1578         on non-MSVC platforms.
1579         * tests/test-fputc.c (main): Likewise.
1580         * tests/test-fread.c (main): Likewise.
1581         * tests/test-fwrite.c (main): Likewise.
1582         Reported by Jim Meyering.
1583
1584 2011-09-27  Bruno Haible  <bruno@clisp.org>
1585
1586         fputc, fwrite tests: Avoid test failure on MSVC.
1587         * tests/test-fgetc.c: Include msvc-inval.h.
1588         (main): Invoke gl_msvc_inval_ensure_handler.
1589         * tests/test-fputc.c: Include msvc-inval.h.
1590         (main): Invoke gl_msvc_inval_ensure_handler.
1591         * tests/test-fread.c: Include msvc-inval.h.
1592         (main): Invoke gl_msvc_inval_ensure_handler.
1593         * tests/test-fwrite.c: Include msvc-inval.h.
1594         (main): Invoke gl_msvc_inval_ensure_handler.
1595         * modules/fgetc-tests (Depends-on): Add msvc-inval.
1596         * modules/fputc-tests (Depends-on): Likewise.
1597         * modules/fread-tests (Depends-on): Likewise.
1598         * modules/fwrite-tests (Depends-on): Likewise.
1599
1600 2011-09-27  Bruno Haible  <bruno@clisp.org>
1601
1602         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
1603         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
1604         (raise): Remove older, duplicated declaration.
1605         (_gl_raise_SIGPIPE): New declaration.
1606         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
1607         (rpl_raise): Remove function.
1608         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
1609         a gnulib-defined SIGPIPE here.
1610         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
1611         'sigprocmask' has detected missing signal-blocking and the module
1612         'sigpipe' is enabled.
1613         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
1614
1615 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
1616
1617         base64-tests: avoid memory leak
1618         * tests/test-base64.c (main): Plug memory leak.
1619
1620         base32: new module
1621         * modules/base32: New module.
1622         * lib/base32.c: New file.
1623         * lib/base32.h: Likewise.
1624         * m4/base32.m4: Likewise.
1625         * modules/base32-tests: New test.
1626         * tests/test-base32.c: Likewise.
1627         * MODULES.html.sh (Misc): Mention it.
1628
1629 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
1630
1631         gnulib: use more-standard license notice wording
1632         * gnulib-tool (func_emit_copyright_notice): When emitting a
1633         license notice into a file, use the standard wording as suggested
1634         by the current information for GNU maintainers, except say "file"
1635         rather than "program".  The new wording gives a license version
1636         number, which addresses an issue raised by Glenn Morris in
1637         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
1638         * m4/onceonly.m4: Use that same wording here, too.
1639
1640         dup2: minor simplification
1641         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
1642         as lib/dup2.c no longer uses 'inline'.
1643
1644 2011-09-25  Bruno Haible  <bruno@clisp.org>
1645
1646         strings: Fix compilation error on MSVC.
1647         * lib/strings.in.h: Include <stddef.h> for size_t.
1648
1649 2011-09-25  Bruno Haible  <bruno@clisp.org>
1650
1651         fflush et al.: Document limitation on MSVC.
1652         * doc/posix-functions/fflush.texi: Document possible crash in handling
1653         mode other than DEFAULT_HANDLING.
1654         * doc/posix-functions/fgetc.texi: Likewise.
1655         * doc/posix-functions/fputc.texi: Likewise.
1656         * doc/posix-functions/fread.texi: Likewise.
1657         * doc/posix-functions/fwrite.texi: Likewise.
1658
1659 2011-09-25  Bruno Haible  <bruno@clisp.org>
1660
1661         msvc-inval: Allow three invalid parameter handling modes.
1662         * lib/msvc-inval.h: Don't include <stdlib.h> here.
1663         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
1664         macros.
1665         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
1666         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
1667         SANE_LIBRARY_HANDLING as a no-op.
1668         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
1669         <stdlib.h>.
1670         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
1671
1672 2011-09-25  Bruno Haible  <bruno@clisp.org>
1673
1674         msvc-inval: Make handler multithread-safe.
1675         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
1676         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
1677         declarations.
1678         (gl_msvc_inval_current): New declaration.
1679         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
1680         Operate on the structure returned by gl_msvc_inval_current().
1681         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
1682         Remove varaiables.
1683         (tls_index, tls_initialized): New variables.
1684         (not_per_thread): New variable.
1685         (gl_msvc_inval_current): New function.
1686         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
1687         returned by gl_msvc_inval_current().
1688
1689 2011-09-25  Bruno Haible  <bruno@clisp.org>
1690
1691         msvc-inval: Install handler globally.
1692         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
1693         !_MSC_VER.
1694         (gl_msvc_invalid_parameter_handler): Remove declaration.
1695         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
1696         declarations.
1697         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
1698         Install the handler globally, don't uninstall it.
1699         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
1700         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
1701         currently valid, call RaiseException instead.
1702         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
1703         for !_MSC_VER.
1704
1705 2011-09-25  Bruno Haible  <bruno@clisp.org>
1706
1707         strerror_r-posix: Fix for MSVC 9.
1708         * lib/strerror_r.c (local_snprintf): New function.
1709         (snprintf): Define to local_snprintf, not to _snprintf.
1710
1711 2011-09-25  Bruno Haible  <bruno@clisp.org>
1712
1713         ftruncate: Support for MSVC 9.
1714         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
1715         (chsize_nothrow): New function.
1716         (chsize): Redefine as a macro.
1717         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
1718         * modules/ftruncate (Depends-on): Add msvc-inval.
1719
1720 2011-09-25  Bruno Haible  <bruno@clisp.org>
1721
1722         New module 'fstat'.
1723         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
1724         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
1725         * lib/fchdir.c (rpl_fstat): Remove function.
1726         * m4/fstat.m4: New file.
1727         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
1728         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
1729         declared.
1730         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
1731         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
1732         * modules/fstat: New file.
1733         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
1734         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
1735         is set.
1736         * doc/posix-functions/fstat.texi: Mention the new module and the
1737         problem on MSVC.
1738         * NEWS: Mention the change.
1739         * modules/acl (Depends-on): Add fstat.
1740         * modules/chdir-safer (Depends-on): Likewise.
1741         * modules/chown (Depends-on): Likewise.
1742         * modules/copy-file (Depends-on): Likewise.
1743         * modules/fchdir (Depends-on): Likewise.
1744         * modules/fdopendir (Depends-on): Likewise.
1745         * modules/fopen (Depends-on): Likewise.
1746         * modules/fts (Depends-on): Likewise.
1747         * modules/getcwd (Depends-on): Likewise.
1748         * modules/isapipe (Depends-on): Likewise.
1749         * modules/linkat (Depends-on): Likewise.
1750         * modules/lseek (Depends-on): Likewise.
1751         * modules/mkdir-p (Depends-on): Likewise.
1752         * modules/open (Depends-on): Likewise.
1753         * modules/openat (Depends-on): Likewise.
1754         * modules/read-file (Depends-on): Likewise.
1755         * modules/renameat (Depends-on): Likewise.
1756         * modules/utimens (Depends-on): Likewise.
1757
1758 2011-09-25  Bruno Haible  <bruno@clisp.org>
1759
1760         linkat: Fix compilation on MSVC 9.
1761         * lib/linkat.c: Don't include <stdint.h>.
1762
1763 2011-09-25  Bruno Haible  <bruno@clisp.org>
1764
1765         fclose: Support for MSVC 9.
1766         * lib/fclose.c: Include msvc-inval.h.
1767         (fclose_nothrow): New function.
1768         (rpl_fclose): Use it.
1769         * modules/fclose (Depends-on): Add msvc-inval.
1770         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
1771
1772 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
1773
1774         dup2: minor simplifications
1775         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
1776         that it's a performance win.
1777         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
1778         ! defined __CYGWIN__)" to "ifdef F_GETFL".
1779
1780 2011-09-24  Jim Meyering  <meyering@redhat.com>
1781
1782         test-futimens: avoid a warning from gcc -Wshadow
1783         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
1784         to avoid a shadowing warning.
1785
1786 2011-09-24  Bruno Haible  <bruno@clisp.org>
1787
1788         fdopen: Support for MSVC 9.
1789         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
1790         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
1791         * lib/fdopen.c: Include msvc-inval.h.
1792         (fdopen_nothrow): New function.
1793         (rpl_fdopen): Use it.
1794         * modules/fdopen (Depends-on): Add msvc-inval.
1795         * modules/fclose-tests (Depends-on): Add fdopen.
1796         * modules/fflush-tests (Depends-on): Likewise.
1797         * modules/fgetc-tests (Depends-on): Likewise.
1798         * modules/fputc-tests (Depends-on): Likewise.
1799         * modules/fread-tests (Depends-on): Likewise.
1800         * modules/freopen-tests (Depends-on): Likewise.
1801         * modules/fseeko-tests (Depends-on): Likewise.
1802         * modules/ftello-tests (Depends-on): Likewise.
1803         * modules/fwrite-tests  (Depends-on): Likewise.
1804         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
1805
1806 2011-09-24  Bruno Haible  <bruno@clisp.org>
1807
1808         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
1809         * modules/fgetc-tests (Depends-on): Add unistd.
1810         * modules/fputc-tests (Depends-on): Likewise.
1811         * modules/fread-tests (Depends-on): Likewise.
1812         * modules/fwrite-tests (Depends-on): Likewise.
1813
1814 2011-09-24  Bruno Haible  <bruno@clisp.org>
1815
1816         dup: Simplify autoconf test.
1817         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
1818         on gl_MSVC_INVAL's result.
1819
1820 2011-09-24  Bruno Haible  <bruno@clisp.org>
1821
1822         Tests for function fwrite().
1823         * modules/fwrite-tests: New file.
1824         * tests/test-fwrite.c: New file.
1825         * modules/stdio-tests (Depends-on): Add fwrite-tests.
1826
1827         Tests for function fread().
1828         * modules/fread-tests: New file.
1829         * tests/test-fread.c: New file.
1830         * modules/stdio-tests (Depends-on): Add fread-tests.
1831
1832         Activate fputc tests.
1833         * modules/stdio-tests (Depends-on): Add fputc-tests.
1834
1835         Enhance fgetc, fputc tests.
1836         * tests/test-fgetc.c (main): Also test the stream's error indicator.
1837         * tests/test-fputc.c (main): Likewise.
1838
1839 2011-09-24  Bruno Haible  <bruno@clisp.org>
1840
1841         write: Support for MSVC 9.
1842         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
1843         is not 1.
1844         * lib/write.c (write_nothrow): New function.
1845         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
1846         not 1. Use write_nothrow.
1847         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
1848         invalid parameter handler.
1849         (gl_PREREQ_WRITE): New macro.
1850         * modules/write (Depends-on): Add msvc-inval.
1851         (configure.ac): Invoke gl_PREREQ_WRITE.
1852         * doc/posix-functions/write.texi: Mention the problem on MSVC.
1853
1854 2011-09-24  Bruno Haible  <bruno@clisp.org>
1855
1856         read: Fix last commit.
1857         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
1858
1859 2011-09-24  Bruno Haible  <bruno@clisp.org>
1860
1861         dup2: Fix last commit.
1862         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
1863         (rpl_dup2): Disable fcntl workaround on native Windows.
1864
1865         sigprocmask: Make code safer.
1866         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
1867         section that changes macro definitions for this compilation unit.
1868
1869 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
1870
1871         dup2: clarify by coalescing Windows-specific material
1872         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
1873         "msvc-nothrow.h"' to the Windows-specific section, so that the
1874         Emacs source need not contain these include files.
1875         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
1876         Windows-specific fixes into this function rather than just the
1877         nothrow fix, as this shortens and clarifies the code.  Always
1878         define as a function, as that's a bit cleaner than having it be
1879         sometimes a function and sometimes a macro.
1880         (rpl_dup2): Move the Windows-specific stuff out of here and into
1881         ms_windows_dup2.  Don't protect the Haiku-related fix with
1882         "#if !defined __linux__", as the same code also works around
1883         a Linux kernel bug, and it doesn't add any system calls on any
1884         platform.  Add comment about FreeBSD 6.1.
1885
1886         sigprocmask: move #include directive
1887         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
1888         Windows-specific section, so that the Emacs source need not
1889         contain msvc-inval.h.
1890
1891 2011-09-23  Bruno Haible  <bruno@clisp.org>
1892
1893         read: Support for MSVC 9.
1894         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
1895         is not 1.
1896         * lib/read.c (read_nothrow): New function.
1897         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
1898         read_nothrow.
1899         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
1900         invalid parameter handler.
1901         (gl_PREREQ_READ): New macro.
1902         * modules/read (Depends-on): Add msvc-inval.
1903         (configure.ac): Invoke gl_PREREQ_READ.
1904         * doc/posix-functions/read.texi: Mention the problem on MSVC.
1905
1906 2011-09-23  Bruno Haible  <bruno@clisp.org>
1907
1908         close: Support for MSVC 9.
1909         * lib/close.c: Include <errno.h>, msvc-inval.h.
1910         (close_nothrow): New function.
1911         (rpl_close): Use it.
1912         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
1913         invalid parameter handler.
1914         * modules/close (Depends-on): Add msvc-inval.
1915         * modules/dup2-tests (Depends-on): Add close.
1916         * modules/dup3-tests (Depends-on): Likewise.
1917         * modules/fcntl-tests (Depends-on): Likewise.
1918         * modules/spawn-pipe-tests (Depends-on): Likewise.
1919         * modules/unistd-safer-tests (Depends-on): Likewise.
1920         * doc/posix-functions/close.texi: Mention the problem on MSVC.
1921
1922 2011-09-23  Bruno Haible  <bruno@clisp.org>
1923
1924         New module 'dup'.
1925         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
1926         Allow replacement.
1927         * lib/dup.c: New file.
1928         * lib/fchdir.c (rpl_dup): Remove function.
1929         * m4/dup.m4: New file.
1930         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
1931         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
1932         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
1933         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
1934         * modules/dup: New file.
1935         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
1936         'dup' module is in use.
1937         * modules/fdopendir (Depends-on): Add dup.
1938         * modules/fdutimensat-tests (Depends-on): Likewise.
1939         * modules/fts (Depends-on): Likewise.
1940         * modules/futimens-tests (Depends-on): Likewise.
1941         * modules/posix_spawnp-tests (Depends-on): Likewise.
1942         * modules/unistd-safer-tests (Depends-on): Likewise.
1943         * modules/utimens-tests (Depends-on): Likewise.
1944         * doc/posix-functions/dup.texi: Mention the new module and the problem
1945         on MSVC.
1946
1947 2011-09-23  Bruno Haible  <bruno@clisp.org>
1948
1949         getdtablesize: Support for MSVC 9.
1950         * lib/getdtablesize.c: Include msvc-inval.h.
1951         (_setmaxstdio_nothrow): New function.
1952         (_setmaxstdio): Redefine it.
1953         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
1954         * modules/getdtablesize (Depends-on): Add msvc-inval.
1955         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
1956
1957 2011-09-23  Bruno Haible  <bruno@clisp.org>
1958
1959         signal-h: Rename from signal.
1960         * modules/signal-h: Renamed from modules/signal.
1961         * modules/pthread_sigmask (Depends-on): Update.
1962         * modules/raise (Depends-on): Likewise.
1963         * modules/sigaction (Depends-on): Likewise.
1964         * modules/sigpipe (Depends-on): Likewise.
1965         * modules/sigprocmask (Depends-on): Likewise.
1966         * modules/sys_select (Depends-on): Likewise.
1967         * modules/signal-h-tests: Renamed from modules/signal-tests.
1968         (Files, Depends-on, Makefile.am): Update.
1969         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
1970         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
1971         (Files, Makefile.am): Update.
1972         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
1973         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
1974         * modules/signal: New placeholder file.
1975         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
1976         * doc/posix-headers/signal.texi: Update.
1977         * NEWS: Mention the change.
1978
1979 2011-09-23  Bruno Haible  <bruno@clisp.org>
1980
1981         sigprocmask: Avoid crashes through signal() on MSVC 9.
1982         * lib/sigprocmask.c: Include msvc-inval.h.
1983         (signal_nothrow): New function.
1984         (signal): Redefine it.
1985         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
1986         * modules/sigprocmask (Depends-on): Add msvc-inval.
1987         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
1988
1989 2011-09-23  Bruno Haible  <bruno@clisp.org>
1990
1991         Tests for module 'raise'.
1992         * modules/raise-tests: New file.
1993         * tests/test-raise.c: New file.
1994
1995         raise: Support for MSVC.
1996         * lib/signal.in.h (raise): New declaration.
1997         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
1998         for native Windows platforms.
1999         * m4/raise.m4: New file.
2000         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
2001         HAVE_RAISE, REPLACE_RAISE.
2002         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
2003         REPLACE_RAISE.
2004         * modules/raise (Status, Notice): Remove fields.
2005         (Files): Add m4/raise.m4.
2006         (Depends-on): Add signal, msvc-inval.
2007         (configure.ac): Use the common idioms.
2008         (Maintainer): Add me.
2009         * tests/test-signal-c++.cc: Check the signature of raise.
2010         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
2011
2012 2011-09-23  Bruno Haible  <bruno@clisp.org>
2013
2014         pipe2: Fix compilation on pre-C99 compilers.
2015         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
2016
2017 2011-09-23  Bruno Haible  <bruno@clisp.org>
2018
2019         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
2020         * lib/msvc-nothrow.h: New file.
2021         * lib/msvc-nothrow.c: New file.
2022         * m4/msvc-nothrow.m4: New file.
2023         * modules/msvc-nothrow: New file.
2024         * lib/dup2.c: Include msvc-nothrow.h.
2025         (rpl_dup2): No need to protect _get_osfhandle call here.
2026         * lib/accept4.c: Include msvc-nothrow.h.
2027         * lib/error.c: Likewise.
2028         * lib/fcntl.c: Likewise.
2029         * lib/lseek.c: Likewise.
2030         * lib/nonblocking.c: Likewise.
2031         * lib/poll.c: Likewise.
2032         * lib/read.c: Likewise.
2033         * lib/select.c: Likewise.
2034         * lib/sockets.h: Likewise.
2035         * lib/sockets.c: Likewise.
2036         * lib/stdio-read.c: Likewise.
2037         * lib/stdio-write.c: Likewise.
2038         * lib/write.c: Likewise.
2039         * lib/w32sock.h: Likewise.
2040         * lib/w32spawn.h: Likewise.
2041         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
2042         * lib/fsync.c: Likewise.
2043         * lib/isapipe.c: Likewise.
2044         * modules/dup2 (Depends-on): Add msvc-nothrow.
2045         * modules/accept4 (Depends-on): Likewise.
2046         * modules/error (Depends-on): Likewise.
2047         * modules/fcntl (Depends-on): Likewise.
2048         * modules/lseek (Depends-on): Likewise.
2049         * modules/nonblocking (Depends-on): Likewise.
2050         * modules/poll (Depends-on): Likewise.
2051         * modules/read (Depends-on): Likewise.
2052         * modules/select (Depends-on): Likewise.
2053         * modules/sockets (Depends-on): Likewise.
2054         * modules/sigpipe (Depends-on): Likewise.
2055         * modules/write (Depends-on): Likewise.
2056         * modules/accept (Depends-on): Likewise.
2057         * modules/bind (Depends-on): Likewise.
2058         * modules/connect (Depends-on): Likewise.
2059         * modules/gethostname (Depends-on): Likewise.
2060         * modules/getpeername (Depends-on): Likewise.
2061         * modules/getsockname (Depends-on): Likewise.
2062         * modules/getsockopt (Depends-on): Likewise.
2063         * modules/ioctl (Depends-on): Likewise.
2064         * modules/listen (Depends-on): Likewise.
2065         * modules/recv (Depends-on): Likewise.
2066         * modules/recvfrom (Depends-on): Likewise.
2067         * modules/send (Depends-on): Likewise.
2068         * modules/sendto (Depends-on): Likewise.
2069         * modules/setsockopt (Depends-on): Likewise.
2070         * modules/shutdown (Depends-on): Likewise.
2071         * modules/socket (Depends-on): Likewise.
2072         * modules/execute (Depends-on): Likewise.
2073         * modules/spawn-pipe (Depends-on): Likewise.
2074         * modules/flock (Depends-on): Likewise.
2075         * modules/fsync (Depends-on): Likewise.
2076         * modules/isapipe (Depends-on): Likewise.
2077         * tests/test-cloexec.c: Include msvc-nothrow.h.
2078         * tests/test-dup-safer.c: Likewise.
2079         * tests/test-dup2.c: Likewise.
2080         * tests/test-dup3.c: Likewise.
2081         * tests/test-fcntl.c: Likewise.
2082         * tests/test-pipe.c: Likewise.
2083         * tests/test-pipe2.c: Likewise.
2084         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
2085         * modules/unistd-safer-tests (Depends-on): Likewise.
2086         * modules/dup2-tests (Depends-on): Likewise.
2087         * modules/dup3-tests (Depends-on): Likewise.
2088         * modules/fcntl-tests (Depends-on): Likewise.
2089         * modules/pipe-posix-tests (Depends-on): Likewise.
2090         * modules/pipe2-tests (Depends-on): Likewise.
2091
2092 2011-09-23  Bruno Haible  <bruno@clisp.org>
2093
2094         dup2: Make code more maintainable.
2095         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
2096         (rpl_dup2): Use it.
2097         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
2098         * modules/dup2 (configure.ac): Invoke it.
2099         Reported by Paul Eggert.
2100
2101 2011-09-23  Bruno Haible  <bruno@clisp.org>
2102
2103         msvc-inval: Fix compilation error.
2104         * lib/msvc-inval.h: Include <excpt.h>.
2105
2106 2011-09-23  Bruno Haible  <bruno@clisp.org>
2107
2108         mkdir: Tweak for MSVC 9.
2109         * lib/sys_stat.in.h: Update comments.
2110         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
2111
2112         Tests for module 'chdir'.
2113         * modules/chdir-tests: New file.
2114         * tests/test-chdir.c: New file.
2115
2116         New module 'chdir'.
2117         * modules/chdir: New file.
2118         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
2119         (chdir): New declaration.
2120         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
2121         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
2122         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
2123         * tests/test-unistd-c++.cc: Check signature of chdir.
2124         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
2125         * modules/chdir-long (Depends-on): Add chdir.
2126         * modules/fchdir (Depends-on): Likewise.
2127         * modules/rename (Depends-on): Likewise.
2128         * modules/savewd (Depends-on): Likewise.
2129
2130         rmdir: Support for mingw, MSVC 9.
2131         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
2132         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
2133
2134         getcwd: Tweak for MSVC 9.
2135         * lib/unistd.in.h: Update comments.
2136         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
2137
2138 2011-09-22  Bruno Haible  <bruno@clisp.org>
2139
2140         strerror_r-posix: Avoid a link error on MSVC.
2141         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
2142         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
2143
2144 2011-09-22  Bruno Haible  <bruno@clisp.org>
2145
2146         select: Avoid link errors on MSVC.
2147         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
2148         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
2149         * modules/pselect (Link): Likewise.
2150         * NEWS: Mention the change.
2151         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
2152         test-select-stdin against $(LIB_SELECT).
2153         * modules/pselect-tests (Makefile.am): Link test-pselect against
2154         $(LIB_SELECT).
2155
2156 2011-09-22  Bruno Haible  <bruno@clisp.org>
2157
2158         select: Avoid compilation error on MSVC.
2159         * lib/select.c: Don't include <stdbool.h>.
2160
2161 2011-09-21  Bruno Haible  <bruno@clisp.org>
2162
2163         Consolidate all uses of PATH_MAX in *.m4 files.
2164         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
2165         macros.
2166         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
2167         and gl_PATHMAX_SNIPPET.
2168         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
2169         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
2170         * modules/chdir-long (Files): Add m4/pathmax.m4.
2171         * modules/getcwd (Files): Likewise.
2172
2173 2011-09-21  Bruno Haible  <bruno@clisp.org>
2174
2175         ftruncate: Un-deprecate, concentrate on Win32 support.
2176         * modules/ftruncate (Status, Notice): Remove sections.
2177         (Depends-on): Add largefile.
2178         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
2179         non-mingw platforms.
2180         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
2181         include <io.h>.
2182         * modules/perror-tests (Depends-on): Add ftruncate.
2183         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
2184         'ftruncate' module.
2185
2186 2011-09-21  Bruno Haible  <bruno@clisp.org>
2187
2188         Add dependencies to new dirent related modules.
2189         * modules/opendir (Depends-on): Add closedir.
2190         * modules/getcwd (Depends-on): Add opendir, closedir.
2191         * modules/dirent-safer-tests (Depends-on): Likewise.
2192         * modules/fdopendir-tests (Depends-on): Likewise.
2193         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
2194         * modules/renameat-tests (Depends-on): Likewise.
2195
2196 2011-09-21  Bruno Haible  <bruno@clisp.org>
2197
2198         opendir: Avoid compilation error on mingw.
2199         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
2200         * modules/opendir (Depends-on): Add unistd.
2201
2202 2011-09-21  Bruno Haible  <bruno@clisp.org>
2203
2204         ftruncate tests: Avoid a test failure on mingw.
2205         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
2206
2207 2011-09-21  Bruno Haible  <bruno@clisp.org>
2208
2209         select tests: Avoid test failures on OSF/1 5.1 and mingw.
2210         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
2211         native Windows.
2212
2213 2011-09-21  Bruno Haible  <bruno@clisp.org>
2214
2215         New module 'fdopen'.
2216         * lib/stdio.in.h (fdopen): New declaration.
2217         * lib/fdopen.c: New file.
2218         * m4/fdopen.m4: New file.
2219         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
2220         REPLACE_FDOPEN.
2221         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
2222         REPLACE_FDOPEN.
2223         * modules/fdopen: New file.
2224         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
2225         * tests/test-stdio-c++.cc: Check signature of fdopen.
2226         * doc/posix-functions/fdopen.texi: Mention the new module.
2227
2228 2011-09-21  Bruno Haible  <bruno@clisp.org>
2229
2230         unlockpt tests: Avoid test failure on NetBSD 5.1.
2231         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
2232         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
2233
2234 2011-09-21  Bruno Haible  <bruno@clisp.org>
2235
2236         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
2237         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
2238         * tests/test-getlogin_r.c (main): Likewise.
2239
2240 2011-09-20  Bruno Haible  <bruno@clisp.org>
2241
2242         time tests: Don't require pid_t.
2243         * doc/posix-headers/time.texi: Revert last change.
2244         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
2245         * tests/test-time.c: Comment out the check for pid_t.
2246
2247 2011-09-20  Bruno Haible  <bruno@clisp.org>
2248
2249         fsync tests: Avoid a test failure on mingw.
2250         * tests/test-fsync.c (main): Allow a failure with EIO.
2251
2252 2011-09-20  Bruno Haible  <bruno@clisp.org>
2253
2254         euidaccess: Update comments.
2255         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
2256
2257 2011-09-20  Bruno Haible  <bruno@clisp.org>
2258
2259         Ensure EBADF returns for socket functions on mingw.
2260         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
2261         descriptor is invalid.
2262         * lib/bind.c (rpl_bind): Likewise.
2263         * lib/connect.c (rpl_connect): Likewise.
2264         * lib/getpeername.c (rpl_getpeername): Likewise.
2265         * lib/getsockname.c (rpl_getsockname): Likewise.
2266         * lib/getsockopt.c (rpl_getsockopt): Likewise.
2267         * lib/listen.c (rpl_listen): Likewise.
2268         * lib/recv.c (rpl_recv): Likewise.
2269         * lib/recvfrom.c (rpl_recvfrom): Likewise.
2270         * lib/send.c (rpl_send): Likewise.
2271         * lib/sendto.c (rpl_sendto): Likewise.
2272         * lib/setsockopt.c (rpl_setsockopt): Likewise.
2273         * lib/shutdown.c (rpl_shutdown): Likewise.
2274
2275 2011-09-20  Bruno Haible  <bruno@clisp.org>
2276
2277         select tests: EBADF tests.
2278         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
2279         test_bad_fd): New functions.
2280         (test_function): Invoke also test_bad_fd.
2281
2282 2011-09-20  Bruno Haible  <bruno@clisp.org>
2283
2284         Tests for module 'posix_spawn_file_actions_addopen.
2285         * modules/posix_spawn_file_actions_addopen-tests: New file.
2286         * tests/test-posix_spawn_file_actions_addopen.c: New file.
2287
2288         Tests for module 'posix_spawn_file_actions_adddup2'.
2289         * modules/posix_spawn_file_actions_adddup2-tests: New file.
2290         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
2291
2292         Tests for module 'posix_spawn_file_actions_addclose'.
2293         * modules/posix_spawn_file_actions_addclose-tests: New file.
2294         * tests/test-posix_spawn_file_actions_addclose.c: New file.
2295
2296 2011-09-20  Bruno Haible  <bruno@clisp.org>
2297
2298         Tests for module 'unlockpt'.
2299         * modules/unlockpt-tests: New file.
2300         * tests/test-unlockpt.c: New file.
2301         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
2302
2303         Tests for module 'grantpt'.
2304         * modules/grantpt-tests: New file.
2305         * tests/test-grantpt.c: New file.
2306         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
2307
2308 2011-09-20  Bruno Haible  <bruno@clisp.org>
2309
2310         freopen tests: EBADF tests.
2311         * tests/test-freopen.c: Include errno.h, unistd.h.
2312         (main): Add tests for EBADF, commented out for the moment.
2313
2314         fclose tests: EBADF tests.
2315         * tests/test-fclose.c (main): Add tests for EBADF.
2316
2317         fflush tests: EBADF tests.
2318         * tests/test-fflush.c: Include errno.h, macros.h.
2319         (main): Add tests for EBADF.
2320
2321         ftello tests: EBADF tests.
2322         * tests/test-ftello4.sh: New file.
2323         * tests/test-ftello4.c: New file.
2324         * modules/ftello-tests (Files): Add them.
2325         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
2326
2327         fseeko tests: EBADF tests.
2328         * tests/test-fseeko4.sh: New file.
2329         * tests/test-fseeko4.c: New file.
2330         * modules/fseeko-tests (Files): Add them.
2331         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
2332
2333         Tests for function fputc().
2334         * modules/fputc-tests: New file.
2335         * tests/test-fputc.c: New file.
2336         * modules/stdio-tests (Depends-on): Add fputc-tests.
2337
2338         Tests for function fgetc().
2339         * modules/fgetc-tests: New file.
2340         * tests/test-fgetc.c: New file.
2341         * modules/stdio-tests (Depends-on): Add fgetc-tests.
2342
2343         Tests for function fdopen().
2344         * modules/fdopen-tests: New file.
2345         * tests/test-fdopen.c: New file.
2346         * modules/stdio-tests (Depends-on): Add fdopen-tests.
2347
2348         Tests for module 'vdprintf'.
2349         * modules/vdprintf-tests: New file.
2350         * tests/test-vdprintf.c: New file.
2351
2352         Tests for module 'dprintf'.
2353         * modules/dprintf-tests: New file.
2354         * tests/test-dprintf.c: New file.
2355
2356 2011-09-20  Bruno Haible  <bruno@clisp.org>
2357
2358         Tests for module 'ioctl'.
2359         * modules/ioctl-tests: New file.
2360         * tests/test-ioctl.c: New file.
2361
2362 2011-09-20  Bruno Haible  <bruno@clisp.org>
2363
2364         fcntl tests: EBADF tests.
2365         * tests/test-fcntl.c (main): Add more tests for EBADF.
2366
2367 2011-09-20  Bruno Haible  <bruno@clisp.org>
2368
2369         utimensat tests: EBADF tests.
2370         * tests/test-utimensat.c (main): Add tests for EBADF.
2371
2372         renameat tests: EBADF tests.
2373         * tests/test-renameat.c (main): Add tests for EBADF.
2374
2375         mkfifoat tests: EBADF tests.
2376         * tests/test-mkfifoat.c (main): Add tests for EBADF.
2377
2378         readlinkat tests: EBADF tests.
2379         * tests/test-readlinkat.c (main): Add tests for EBADF.
2380
2381         symlinkat tests: EBADF tests.
2382         * tests/test-symlinkat.c (main): Add tests for EBADF.
2383
2384         linkat tests: EBADF tests.
2385         * tests/test-linkat.c (main): Add tests for EBADF.
2386
2387         Tests for module 'faccessat'.
2388         * modules/faccessat-tests: New file.
2389         * tests/test-faccessat.c: New file.
2390
2391         fdopendir tests: EBADF tests.
2392         * tests/test-fdopendir.c (main): Add more tests for EBADF.
2393
2394         openat tests: EBADF tests.
2395         * tests/test-fchownat.c (main): Add tests for EBADF.
2396         * tests/test-fstatat.c (main): Likewise.
2397         * tests/test-mkdirat.c (main): Likewise.
2398         * tests/test-openat.c (main): Likewise.
2399         * tests/test-unlinkat.c (main): Likewise.
2400         * tests/test-fchmodat.c: New file.
2401         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
2402         (Makefile.am): Also run 'test-fchmodat'.
2403
2404 2011-09-20  Bruno Haible  <bruno@clisp.org>
2405
2406         utimens, futimens, fdutimensat tests: EBADF tests.
2407         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
2408
2409         Tests for function fstat().
2410         * modules/fstat-tests: New file.
2411         * tests/test-fstat.c: New file.
2412         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
2413
2414 2011-09-20  Bruno Haible  <bruno@clisp.org>
2415
2416         test-ttyname_r tests: EBADF tests.
2417         * tests/test-ttyname_r.c (main): Add tests for EBADF.
2418
2419         Tests for module 'isatty'.
2420         * modules/isatty-tests: New file.
2421         * tests/test-isatty.c: New file.
2422
2423         Tests for module 'write'.
2424         * modules/write-tests: New file.
2425         * tests/test-write.c: New file.
2426
2427         Tests for module 'read'.
2428         * modules/read-tests: New file.
2429         * tests/test-read.c: New file.
2430
2431         pwrite tests: EBADF tests.
2432         * tests/test-pwrite.c (main): Add tests for EBADF.
2433
2434         pread tests: EBADF tests.
2435         * tests/test-pread.c (main): Add tests for EBADF.
2436
2437         lseek tests: EBADF tests.
2438         * tests/test-lseek.c (main): Add more tests for EBADF.
2439
2440         Tests for module 'ftruncate'.
2441         * modules/ftruncate-tests: New file.
2442         * tests/test-ftruncate.sh: New file.
2443         * tests/test-ftruncate.c: New file.
2444
2445         fsync tests: EBADF tests.
2446         * tests/test-fsync.c (main): Add more tests for EBADF.
2447
2448         fdatasync tests: EBADF tests.
2449         * tests/test-fdatasync.c (main): Add more tests for EBADF.
2450
2451         Tests for module 'fchown'.
2452         * modules/fchown-tests: New file.
2453         * tests/test-fchown.c: New file.
2454
2455         Tests for module 'fchmod'.
2456         * modules/fchmod-tests: New file.
2457         * tests/test-fchmod.c: New file.
2458
2459         fchdir tests: EBADF tests.
2460         * tests/test-fchdir.c (main): Add more tests for EBADF.
2461
2462         dup2 tests: EBADF tests.
2463         * tests/test-dup2.c (main): Add more tests for EBADF.
2464
2465         Tests for module 'dup'.
2466         * modules/dup-tests: New file.
2467         * tests/test-dup.c: New file.
2468
2469         Tests for module 'close'.
2470         * modules/close-tests: New file.
2471         * tests/test-close.c: New file.
2472
2473 2011-09-20  Bruno Haible  <bruno@clisp.org>
2474
2475         Tests for module 'shutdown'.
2476         * modules/shutdown-tests: New file.
2477         * tests/test-shutdown.c: New file.
2478
2479         Tests for module 'setsockopt'.
2480         * modules/setsockopt-tests: New file.
2481         * tests/test-setsockopt.c: New file.
2482
2483         Tests for module 'sendto'.
2484         * modules/sendto-tests: New file.
2485         * tests/test-sendto.c: New file.
2486
2487         Tests for module 'send'.
2488         * modules/send-tests: New file.
2489         * tests/test-send.c: New file.
2490
2491         Tests for module 'recvfrom'.
2492         * modules/recvfrom-tests: New file.
2493         * tests/test-recvfrom.c: New file.
2494
2495         Tests for module 'recv'.
2496         * modules/recv-tests: New file.
2497         * tests/test-recv.c: New file.
2498
2499         Tests for module 'listen'.
2500         * modules/listen-tests: New file.
2501         * tests/test-listen.c: New file.
2502
2503         Tests for module 'getsockopt'.
2504         * modules/getsockopt-tests: New file.
2505         * tests/test-getsockopt.c: New file.
2506
2507         Tests for module 'getsockname'.
2508         * modules/getsockname-tests: New file.
2509         * tests/test-getsockname.c: New file.
2510
2511         Tests for module 'getpeername'.
2512         * modules/getpeername-tests: New file.
2513         * tests/test-getpeername.c: New file.
2514
2515         Tests for module 'connect'.
2516         * modules/connect-tests: New file.
2517         * tests/test-connect.c: New file.
2518
2519         Tests for module 'bind'.
2520         * modules/bind-tests: New file.
2521         * tests/test-bind.c: New file.
2522
2523         accept4 tests: Fix for native Windows.
2524         * tests/test-accept4.c: Include sockets.h.
2525         (main): Invoke gl_sockets_startup.
2526         * modules/accept4-tests (Depends-on): Add sockets.
2527
2528         accept tests: Fix for native Windows.
2529         * tests/test-accept.c: Include sockets.h.
2530         (main): Invoke gl_sockets_startup.
2531         * modules/accept-tests (Depends-on): Add sockets.
2532
2533 2011-09-19  Bruno Haible  <bruno@clisp.org>
2534
2535         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
2536         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
2537         do...while(0).
2538         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
2539         Suggested by Paul Eggert.
2540
2541 2011-09-19  Bruno Haible  <bruno@clisp.org>
2542
2543         sched: Ensure pid_t is defined.
2544         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
2545         not define pid_t.
2546         * lib/sched.in.h: Include <sys/types.h>.
2547         * doc/posix-headers/sched.texi: Mention the pid_t problem.
2548         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2549
2550 2011-09-19  Bruno Haible  <bruno@clisp.org>
2551
2552         msvc-inval: Ensure the entire expansion is a single statement.
2553         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
2554         of braces.
2555
2556 2011-09-19  Jim Meyering  <meyering@redhat.com>
2557
2558         tests: use printf, not echo in init.sh's warn_ function
2559         * tests/init.sh (warn_): Use printf, not echo.  The latter would
2560         misbehave when given strings containing a backslash or starting
2561         with e.g., -n.  James Youngman suggested setting IFS.
2562
2563 2011-09-19  Eric Blake  <eblake@redhat.com>
2564
2565         futimens: enhance test
2566         * tests/test-futimens.h (test_futimens): Also check for EBADF on
2567         closed non-negative fd.
2568
2569         date: accept 'hence' as opposite of 'ago'
2570         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
2571         * tests/test-parse-datetime.c (main): Enhance test.
2572         Suggested by Jesse Wilson.
2573
2574 2011-09-19  Jim Meyering  <meyering@redhat.com>
2575
2576         getcwd: don't fail in a deep directory on a system without openat
2577         Before this change, getcwd would fail when called from a directory
2578         of depth PATH_MAX / 3 or greater.  That was due to the fact that
2579         the non-openat implementation used "..", "../..", "../../..", etc.
2580         to access ancestor directories.  With too many, that string would
2581         be longer than PATH_MAX.
2582         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
2583         using gnulib's openat replacement.
2584         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
2585         we're using the replacement function.
2586
2587 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
2588
2589         maint.mk: avoid warnings from perl about missing files
2590         * top/maint.mk (def_sym_regex): Ignore files listed in
2591         $(gl_other_headers_) that do not exist, say because a project
2592         does not use a corresponding module.
2593
2594 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
2595
2596         stat: use pathmax.h only if needed
2597         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
2598         This is better for Emacs, which does not have a mingw port and
2599         therefore can avoid the pathmax module.
2600
2601         utimens: remove dependency on dup2
2602         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
2603         to work around the Linux kernel bug.
2604         * modules/utimens (Depends-on): Remove dup2.
2605
2606 2011-09-18  Bruno Haible  <bruno@clisp.org>
2607
2608         inet_ntop, inet_pton: Look for it also in libresolv.
2609         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
2610         libnsl, search for it in libresolv.
2611         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
2612         Needed on Solaris 7.
2613
2614 2011-09-18  Bruno Haible  <bruno@clisp.org>
2615
2616         accept, accept4 tests: Avoid link error on Solaris.
2617         * modules/accept-tests (Makefile.am): Link test-accept against
2618         $(LIBSOCKET).
2619         * modules/accept4-tests (Makefile.am): Link test-accept4 against
2620         $(LIBSOCKET).
2621
2622         accept4: Avoid link error on Solaris.
2623         * modules/accept4 (Link): New section.
2624
2625         socket functions: Avoid link errors on Solaris.
2626         * modules/accept (Depends-on): Add socketlib.
2627         (Link): New section.
2628         * modules/bind (Depends-on): Add socketlib.
2629         (Link): New section.
2630         * modules/connect (Depends-on): Add socketlib.
2631         (Link): New section.
2632         * modules/getpeername (Depends-on): Add socketlib.
2633         (Link): New section.
2634         * modules/getsockname (Depends-on): Add socketlib.
2635         (Link): New section.
2636         * modules/getsockopt (Depends-on): Add socketlib.
2637         (Link): New section.
2638         * modules/listen (Depends-on): Add socketlib.
2639         (Link): New section.
2640         * modules/recv (Depends-on): Add socketlib.
2641         (Link): New section.
2642         * modules/recvfrom (Depends-on): Add socketlib.
2643         (Link): New section.
2644         * modules/send (Depends-on): Add socketlib.
2645         (Link): New section.
2646         * modules/sendto (Depends-on): Add socketlib.
2647         (Link): New section.
2648         * modules/setsockopt (Depends-on): Add socketlib.
2649         (Link): New section.
2650         * modules/shutdown (Depends-on): Add socketlib.
2651         (Link): New section.
2652         * modules/socket (Depends-on): Add socketlib.
2653         (Link): New section.
2654
2655 2011-09-18  Bruno Haible  <bruno@clisp.org>
2656
2657         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
2658         * tests/test-ptsname.c (main): Terminate the test if it takes longer
2659         than 5 seconds.
2660         * modules/ptsname-tests (configure.ac): Test for alarm.
2661
2662 2011-09-18  Bruno Haible  <bruno@clisp.org>
2663
2664         posix_spawn_file_actions_add*: Fix module dependencies.
2665         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
2666         posix_spawn_file_actions_init.
2667         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
2668         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
2669
2670 2011-09-18  Bruno Haible  <bruno@clisp.org>
2671
2672         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
2673         * tests/test-rename.h (test_rename): Allow error code EEXIST.
2674         * tests/test-renameat.c (main): Likewise.
2675
2676 2011-09-18  Bruno Haible  <bruno@clisp.org>
2677
2678         Tests for module 'accept4'.
2679         * modules/accept4-tests: New file.
2680         * tests/test-accept4.c: New file.
2681
2682 2011-09-18  Bruno Haible  <bruno@clisp.org>
2683
2684         Tests for module 'accept'.
2685         * modules/accept-tests: New file.
2686         * tests/test-accept.c: New file.
2687
2688 2011-09-18  Bruno Haible  <bruno@clisp.org>
2689
2690         dup2: Support for MSVC.
2691         * lib/dup2.c: Include msvc-inval.h.
2692         (rpl_dup2): Handle invalid parameter notifications during dup2 and
2693         _get_osfhandle calls.
2694         * modules/dup2 (Depends-on): Add msvc-inval.
2695         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
2696
2697         New module 'msvc-inval'.
2698         * lib/msvc-inval.h: New file.
2699         * lib/msvc-inval.c: New file.
2700         * m4/msvc-inval.m4: New file.
2701         * modules/msvc-inval: New file.
2702
2703 2011-09-17  Bruno Haible  <bruno@clisp.org>
2704
2705         Tests for module 'pclose'.
2706         * modules/pclose-tests: New file.
2707
2708         New module 'pclose'.
2709         * lib/stdio.in.h (pclose): New declaration.
2710         * lib/pclose.c: New file.
2711         * m4/pclose.m4: New file.
2712         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
2713         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
2714         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
2715         * modules/pclose: New file.
2716         * modules/popen-tests (Depends-on): Add pclose.
2717         * modules/popen-safer-tests (Depends-on): Likewise.
2718         * doc/posix-functions/pclose.texi: Mention the new module.
2719
2720 2011-09-17  Bruno Haible  <bruno@clisp.org>
2721
2722         popen: Support for MSVC.
2723         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
2724         * lib/popen.c (popen): Provide alternate definition for native Windows.
2725         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
2726         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
2727         * modules/popen (Depends-on, configure.ac): Update condition.
2728         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
2729         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
2730         fixed.
2731
2732 2011-09-17  Bruno Haible  <bruno@clisp.org>
2733
2734         isnanl, isnand, isnanf: Work around MSVC bug.
2735         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
2736
2737 2011-09-17  Bruno Haible  <bruno@clisp.org>
2738
2739         sys_socket tests: Fix recent mistake.
2740         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
2741
2742 2011-09-17  Bruno Haible  <bruno@clisp.org>
2743
2744         putenv: Support for MSVC.
2745         * modules/putenv (Depends-on): Add environ.
2746         * lib/putenv.c (environ): Disable declaration.
2747         * lib/unistd.in.h: Update comment.
2748
2749 2011-09-17  Bruno Haible  <bruno@clisp.org>
2750
2751         math: Avoid macro redefinition warnings on MSVC.
2752         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
2753         Undefine before redefining.
2754
2755 2011-09-17  Bruno Haible  <bruno@clisp.org>
2756
2757         doc: Mention functions which are declared as macros.
2758         * doc/posix-functions/*[fl].texi: Mention that some functions are
2759         defined as macros with arguments only.
2760
2761 2011-09-17  Bruno Haible  <bruno@clisp.org>
2762
2763         Add dependencies to new dirent related modules.
2764         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
2765         * modules/fts (Depends-on): Likewise.
2766         * modules/glob (Depends-on): Likewise.
2767         * modules/savedir (Depends-on): Likewise.
2768         * modules/scandir (Depends-on): Likewise.
2769         * modules/dirent-safer (Depends-on): Add opendir, closedir.
2770         * modules/fdopendir (Depends-on): Add opendir.
2771
2772 2011-09-17  Bruno Haible  <bruno@clisp.org>
2773
2774         inet_pton: Support for MSVC on Windows Vista or newer.
2775         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
2776         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
2777         HAVE_DECL_INET_PTON is defined.
2778         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
2779         On platforms with <winsock2.h>, test whether inet_pton is declared in
2780         <ws2tcpip.h>. If so, arrange to replace it.
2781         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
2782         REPLACE_INET_PTON.
2783         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
2784         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
2785         (Depends-on, configure.ac): Update condition.
2786         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
2787
2788 2011-09-17  Bruno Haible  <bruno@clisp.org>
2789
2790         inet_ntop: Support for MSVC on Windows Vista or newer.
2791         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
2792         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
2793         HAVE_DECL_INET_NTOP is defined.
2794         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
2795         On platforms with <winsock2.h>, test whether inet_ntop is declared in
2796         <ws2tcpip.h>. If so, arrange to replace it.
2797         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
2798         REPLACE_INET_NTOP.
2799         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
2800         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
2801         (Depends-on, configure.ac): Update condition.
2802         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
2803
2804 2011-09-16  Eric Blake  <eblake@redhat.com>
2805
2806         test-fsync: yet another enhancement
2807         * tests/test-fsync.c (main): Also test behavior on read-only text
2808         file.
2809
2810 2011-09-16  Bruno Haible  <bruno@clisp.org>
2811
2812         Enhance fsync, fdatasync tests.
2813         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
2814         * tests/test-fdatasync.c (main): Likewise.
2815
2816 2011-09-16  Bruno Haible  <bruno@clisp.org>
2817
2818         Support for MSVC compiler: Ensure mode_t gets defined.
2819         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
2820         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
2821         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
2822         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
2823         * tests/test-fcntl-h.c: Check that mode_t is defined.
2824         * tests/test-sys_stat.c: Likewise.
2825         * tests/test-sys_types.c: Likewise.
2826         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
2827         * doc/posix-headers/sys_stat.texi: Likewise.
2828         * doc/posix-headers/sys_types.texi: Likewise.
2829
2830 2011-09-16  Bruno Haible  <bruno@clisp.org>
2831
2832         sys_stat: Support for MSVC.
2833         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
2834         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
2835         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
2836         MSVC.
2837
2838 2011-09-16  Bruno Haible  <bruno@clisp.org>
2839
2840         Support for MSVC compiler: Ensure off_t gets defined.
2841         * lib/unistd.in.h: Include <sys/types.h>.
2842         * tests/test-fcntl-h.c: Check that off_t is defined.
2843         * tests/test-sys_stat.c: Likewise.
2844         * tests/test-sys_types.c: Likewise.
2845
2846 2011-09-16  Eric Blake  <eblake@redhat.com>
2847
2848         fdatasync: port to Solaris
2849         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
2850         * modules/fdatasync (Link): Document it.
2851         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
2852
2853         fdatasync: port to MacOS X 10.7
2854         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
2855         declared.
2856         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
2857         * modules/unistd (Makefile.am): Substitute it.
2858         * lib/unistd.in.h (fdatasync): Declare on MacOS.
2859         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
2860
2861         fdatasync: minor improvements
2862         * modules/fdatasync (Depends-on): Add condition for fsync.
2863         * lib/fdatasync.c (fdatasync): Add comment.
2864         * tests/test-unistd-c++.cc: Test fdatasync.
2865
2866         unistd: update refs to newer POSIX
2867         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
2868         Suggested by Bruno Haible.
2869
2870         fdatasync: new module
2871         * modules/fsync (Description): Document difference to fdatasync.
2872         * modules/fdatasync: New module.
2873         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
2874         * lib/fdatasync.c (fdatasync): Likewise.
2875         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
2876         defaults.
2877         * modules/unistd (Makefile.am): Set witnesses.
2878         * lib/unistd.in.h (fdatasync): Declare.
2879         * MODULES.html.sh: Document it.
2880         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
2881         * modules/fdatasync-tests: New test.
2882         * tests/test-fdatasync.c: Likewise.
2883
2884 2011-09-16  Eric Blake  <eblake@redhat.com>
2885
2886         test-fsync: enhance tests
2887         * modules/fsync-tests (Depends-on): Add errno, for mingw.
2888         * tests/test-fsync.c (main): Enhance test.
2889
2890 2011-09-15  Bruno Haible  <bruno@clisp.org>
2891
2892         Support for MSVC compiler: Ensure ssize_t gets defined.
2893         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
2894         * doc/posix-headers/stdio.texi: Likewise.
2895         * modules/stdio (Depends-on): Add ssize_t.
2896         * modules/sys_socket (Depends-on): Likewise.
2897         * modules/sys_types (Depends-on): Likewise.
2898         * modules/sys_uio (Depends-on): Likewise.
2899         * modules/unistd (Depends-on): Likewise.
2900         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
2901         * tests/test-sys_types.c: Check that ssize_t is defined.
2902
2903 2011-09-14  Bruno Haible  <bruno@clisp.org>
2904
2905         Avoid using #, the m4 comment starter character, near brackets.
2906         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
2907         delimiter character in sed expressions.
2908         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
2909         Suggested by Eric Blake.
2910
2911         Properly quote AC_CHECK_DECLS' 4th argument.
2912         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
2913         argument.
2914         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
2915         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
2916         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
2917         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
2918         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
2919         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
2920         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
2921         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
2922         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
2923         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
2924         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
2925         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
2926         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
2927         * m4/isinf.m4 (gl_ISINF): Likewise.
2928         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
2929         * m4/readutmp.m4 (gl_READUTMP): Likewise.
2930         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
2931         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
2932         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
2933         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
2934         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
2935         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
2936         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
2937         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
2938         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
2939         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
2940         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
2941         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
2942         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
2943         Reported by Eric Blake.
2944
2945         Properly quote AC_CHECK_DECL's 4th argument.
2946         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
2947         argument.
2948         * m4/argp.m4 (gl_ARGP): Likewise.
2949         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
2950         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
2951         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
2952         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
2953         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
2954         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
2955         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
2956         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
2957         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
2958         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
2959         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
2960         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
2961         Reported by Eric Blake.
2962
2963 2011-09-14  Eric Blake  <eblake@redhat.com>
2964
2965         opendir: avoid compile warning
2966         * lib/opendir.c (includes): Always include errno.h.
2967         Reported by Tatsuro MATSUOKA.
2968
2969 2011-09-14  Jim Meyering  <meyering@redhat.com>
2970
2971         maint.mk: sc_tight_scope: propagate failure from sub-make
2972         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
2973         Reported by Martin von Gagern.
2974
2975 2011-09-13  Bruno Haible  <bruno@clisp.org>
2976
2977         tempname: Support for MSVC.
2978         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
2979         MSVC.
2980         * modules/tempname (Depends-on): Add fcntl-h.
2981
2982 2011-09-13  Bruno Haible  <bruno@clisp.org>
2983
2984         sys_time: Support for MSVC.
2985         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
2986         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
2987         include <winsock2.h>.
2988         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
2989         function declarations that collide with POSIX.
2990         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
2991         (Makefile.am): Substitute HAVE_WINSOCK2_H.
2992
2993 2011-09-13  Bruno Haible  <bruno@clisp.org>
2994
2995         stat: Support for MSVC.
2996         * lib/stat.c: Include pathmax.h.
2997         * modules/stat (Depends-on): Add pathmax.
2998
2999         pathmax: Support for native Windows.
3000         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
3001
3002 2011-09-12  Bruno Haible  <bruno@clisp.org>
3003
3004         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
3005         * lib/dirent.in.h (struct dirent): New type.
3006         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
3007         DT_WHT): New macros.
3008         (DIR): New type.
3009         (opendir, closedir): Declare only if the module 'opendir' is enabled.
3010         (readdir, rewinddir): New declarations.
3011         * lib/dirent-private.h: New file.
3012         * lib/opendir.c: New file.
3013         * lib/readdir.c: New file.
3014         * lib/rewinddir.c: New file.
3015         * lib/closedir.c: New file.
3016         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
3017         * m4/opendir.m4: New file.
3018         * m4/readdir.m4: New file.
3019         * m4/rewinddir.m4: New file.
3020         * m4/closedir.m4: New file.
3021         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
3022         REPLACE_CLOSEDIR here.
3023         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
3024         readdir, rewinddir are declared.
3025         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
3026         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
3027         HAVE_REWINDDIR, HAVE_CLOSEDIR.
3028         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
3029         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
3030         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
3031         * modules/opendir: New file.
3032         * modules/readdir: New file.
3033         * modules/rewinddir: New file.
3034         * modules/closedir: New file.
3035         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
3036         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
3037         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
3038         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
3039         * NEWS: Mention the 'fchdir' change.
3040
3041 2011-09-11  Bruno Haible  <bruno@clisp.org>
3042
3043         asm-underscore.m4: Support for MSVC.
3044         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
3045         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
3046
3047 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
3048
3049         Doc about crypt functions.
3050         * doc/posix-functions/crypt.texi: Expand range of glibc versions
3051         needing for _GNU_SOURCE to get crypt.
3052         * doc/posix-functions/encrypt.texi: Likewise.
3053         * doc/posix-functions/setkey.texi: Likewise.
3054
3055 2011-09-11  Bruno Haible  <bruno@clisp.org>
3056
3057         doc: Update regarding MSVC 9.
3058         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
3059         tested".
3060         * doc/posix-functions/*.texi: Update with info about MSVC 9.
3061         * doc/posix-headers/*.texi: Likewise.
3062         * doc/pastposix-functions/*.texi: Likewise.
3063         * doc/glibc-functions/*.texi: Likewise.
3064         * doc/glibc-headers/*.texi: Likewise.
3065
3066 2011-09-11  Bruno Haible  <bruno@clisp.org>
3067
3068         unistd et al.: Don't assume <unistd.h> exists.
3069         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
3070         does not exist.
3071         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
3072         exist. But include <stdlib.h>.
3073         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
3074         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
3075         symlink() does not exist.
3076         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
3077         include <io.h> instead.
3078         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
3079         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
3080         include <direct.h> instead.
3081         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
3082         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
3083         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
3084         <io.h> instead.
3085         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
3086         correctly if the system does not have hard links.
3087         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
3088         <direct.h> instead.
3089         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
3090         it when looking for function declarations.
3091         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
3092         <direct.h> and <io.h> instead.
3093         * doc/posix-headers/unistd.texi: More details about MSVC problem.
3094
3095 2011-09-11  Bruno Haible  <bruno@clisp.org>
3096
3097         strcase: Support for MSVC.
3098         * modules/strcase (Status, Notice): Remove obsoletion mark.
3099         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
3100         * doc/posix-functions/strncasecmp.texi: Likewise.
3101
3102         strings: Don't assume <strings.h> exists.
3103         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
3104         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
3105         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
3106         * doc/posix-headers/strings.texi: Mention the MSVC problem.
3107
3108 2011-09-11  Bruno Haible  <bruno@clisp.org>
3109
3110         dirent: Don't assume <dirent.h> exists.
3111         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
3112         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
3113         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
3114         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
3115
3116 2011-09-11  Bruno Haible  <bruno@clisp.org>
3117
3118         Fix wint_t on MSVC.
3119         * lib/wchar.in.h (wint_t): On MSVC, override it.
3120         * lib/wctype.in.h (wint_t): Likewise.
3121         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
3122         MSVC.
3123         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
3124         * doc/posix-headers/wctype.texi: Likewise.
3125
3126 2011-09-11  Bruno Haible  <bruno@clisp.org>
3127
3128         sys_types: Fix typo.
3129         * lib/sys_types.in.h: Fix typo in comment.
3130         Reported by Paul Eggert.
3131
3132         Support for MSVC compiler: Ensure size_t gets defined.
3133         * modules/strings (Depends-on): Add 'sys_types'.
3134         * modules/sys_uio (Depends-on): Likewise.
3135         * lib/sys_uio.in.h: Update comment.
3136
3137         C++ tests for module 'sys_types'.
3138         * modules/sys_types-c++-tests: New file.
3139         * tests/test-sys_types-c++.cc: New file.
3140
3141         Tests for module 'sys_types'.
3142         * modules/sys_types-tests: New file.
3143         * tests/test-sys_types.c: New file.
3144
3145         New module 'sys_types'.
3146         * lib/sys_types.in.h: New file.
3147         * m4/sys_types_h.m4: New file.
3148         * modules/sys_types: New file.
3149         * doc/posix-headers/sys_types.texi: Mention the new module and the
3150         size_t problem on MSVC 9.
3151
3152 2011-09-11  Bruno Haible  <bruno@clisp.org>
3153
3154         Support for MSVC compiler: Avoid division by a literal 0.
3155         * lib/math.in.h (NAN): Define through a function call also on MSVC.
3156         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
3157         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
3158         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
3159         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
3160         * tests/infinity.h: New file.
3161         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
3162         on MSVC.
3163         * tests/test-ceilf1.c: Include infinity.h.
3164         (main): Use Infinityf.
3165         * tests/test-ceil1.c: Include infinity.h.
3166         (main): Use Infinityd.
3167         * tests/test-ceill.c: Include infinity.h.
3168         (main): Use Infinityl.
3169         * tests/test-dprintf-posix.c: Include infinity.h.
3170         (test_function): Use Infinityd.
3171         * tests/test-floorf1.c: Include infinity.h.
3172         (main): Use Infinityf.
3173         * tests/test-floor1.c: Include infinity.h.
3174         (main): Use Infinityd.
3175         * tests/test-floorl.c: Include infinity.h.
3176         (main): Use Infinityl.
3177         * tests/test-fprintf-posix.c: Include infinity.h.
3178         (test_function): Use Infinityd.
3179         * tests/test-frexp.c: Include infinity.h.
3180         (main): Use Infinityd.
3181         * tests/test-frexpl.c: Include infinity.h.
3182         (main): Use Infinityl.
3183         * tests/test-isfinite.c: Include infinity.h.
3184         (test_isfinitef): Use Infinityf.
3185         (test_isfinited): Use Infinityd.
3186         (test_isfinitel): Use Infinityl.
3187         * tests/test-isinf.c: Include infinity.h.
3188         (test_isinff): Use Infinityf.
3189         (test_isinfd): Use Infinityd.
3190         (test_isinfl): Use Infinityl.
3191         * tests/test-isnan.c: Include infinity.h.
3192         (test_float): Use Infinityf.
3193         (test_double): Use Infinityd.
3194         (test_long_double): Use Infinityl.
3195         * tests/test-isnanf.h: Include infinity.h.
3196         (main): Use Infinityf.
3197         * tests/test-isnand.h: Include infinity.h.
3198         (main): Use Infinityd.
3199         * tests/test-isnanl.h: Include infinity.h.
3200         (main): Use Infinityl.
3201         * tests/test-ldexpl.c: Include infinity.h.
3202         (main): Use Infinityl.
3203         * tests/test-printf-posix.h: Include infinity.h.
3204         (test_function): Use Infinityd.
3205         * tests/test-roundf1.c: Include infinity.h.
3206         (main): Use Infinityf.
3207         * tests/test-round1.c: Include infinity.h.
3208         (main): Use Infinityd.
3209         * tests/test-roundl.c: Include infinity.h.
3210         (main): Use Infinityl.
3211         * tests/test-signbit.c: Include infinity.h.
3212         (test_signbitf): Use Infinityf.
3213         (test_signbitd): Use Infinityd.
3214         (test_signbitl): Use Infinityl.
3215         * tests/test-snprintf-posix.h: Include infinity.h.
3216         (test_function): Use Infinityd, Infinityl.
3217         * tests/test-sprintf-posix.h: Include infinity.h.
3218         (test_function): Use Infinityd, Infinityl.
3219         * tests/test-truncf1.c: Include infinity.h.
3220         (main): Use Infinityf.
3221         * tests/test-trunc1.c: Include infinity.h.
3222         (main): Use Infinityd.
3223         * tests/test-truncl.c: Include infinity.h.
3224         (main): Use Infinityl.
3225         * tests/test-vasnprintf-posix.c: Include infinity.h.
3226         (test_function): Use Infinityd, Infinityl.
3227         * tests/test-vasprintf-posix.c: Include infinity.h.
3228         (test_function): Use Infinityd, Infinityl.
3229         * modules/ceilf-tests (Files): Add tests/infinity.h.
3230         * modules/ceil-tests (Files): Likewise.
3231         * modules/ceill-tests (Files): Likewise.
3232         * modules/dprintf-posix-tests (Files): Likewise.
3233         * modules/floorf-tests (Files): Likewise.
3234         * modules/floor-tests (Files): Likewise.
3235         * modules/floorl-tests (Files): Likewise.
3236         * modules/fprintf-posix-tests (Files): Likewise.
3237         * modules/frexp-tests (Files): Likewise.
3238         * modules/frexp-nolibm-tests (Files): Likewise.
3239         * modules/frexpl-tests (Files): Likewise.
3240         * modules/frexpl-nolibm-tests (Files): Likewise.
3241         * modules/isfinite-tests (Files): Likewise.
3242         * modules/isinf-tests (Files): Likewise.
3243         * modules/isnan-tests (Files): Likewise.
3244         * modules/isnanf-tests (Files): Likewise.
3245         * modules/isnanf-nolibm-tests (Files): Likewise.
3246         * modules/isnand-tests (Files): Likewise.
3247         * modules/isnand-nolibm-tests (Files): Likewise.
3248         * modules/isnanl-tests (Files): Likewise.
3249         * modules/isnanl-nolibm-tests (Files): Likewise.
3250         * modules/ldexpl-tests (Files): Likewise.
3251         * modules/printf-posix-tests (Files): Likewise.
3252         * modules/roundf-tests (Files): Likewise.
3253         * modules/round-tests (Files): Likewise.
3254         * modules/roundl-tests (Files): Likewise.
3255         * modules/signbit-tests (Files): Likewise.
3256         * modules/snprintf-posix-tests (Files): Likewise.
3257         * modules/sprintf-posix-tests (Files): Likewise.
3258         * modules/truncf-tests (Files): Likewise.
3259         * modules/trunc-tests (Files): Likewise.
3260         * modules/truncl-tests (Files): Likewise.
3261         * modules/vasnprintf-posix-tests (Files): Likewise.
3262         * modules/vasprintf-posix-tests (Files): Likewise.
3263         * modules/vdprintf-posix-tests (Files): Likewise.
3264         * modules/vfprintf-posix-tests (Files): Likewise.
3265         * modules/vprintf-posix-tests (Files): Likewise.
3266         * modules/vsnprintf-posix-tests (Files): Likewise.
3267         * modules/vsprintf-posix-tests (Files): Likewise.
3268         * modules/xprintf-posix-tests (Files): Likewise.
3269
3270 2011-09-11  Bruno Haible  <bruno@clisp.org>
3271
3272         Ensure pid_t gets defined.
3273         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
3274         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
3275         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
3276         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
3277         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
3278         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
3279         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
3280         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
3281         * tests/test-fcntl-h.c: Check that pid_t is defined.
3282         * tests/test-sched.c: Likewise.
3283         * tests/test-termios.c: Likewise.
3284         * tests/test-time.c: Likewise.
3285         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
3286         * doc/posix-headers/signal.texi: Likewise.
3287         * doc/posix-headers/sys_types.texi: Likewise.
3288         * doc/posix-headers/time.texi: Likewise.
3289
3290 2011-09-11  Bruno Haible  <bruno@clisp.org>
3291
3292         acl: Fix compilation on Solaris 10 (older version).
3293         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
3294         of ACE_EVERYONE.
3295         * lib/set-mode-acl.c (qset_acl): Likewise.
3296         Reported by Christian Jullien <eligis@orange.fr>.
3297
3298 2011-09-10  Bruno Haible  <bruno@clisp.org>
3299
3300         iconv, unsetenv: Add support for MSVC compiler.
3301         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
3302         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
3303
3304 2011-09-10  Bruno Haible  <bruno@clisp.org>
3305
3306         *printf: Add support for MSVC compiler.
3307         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
3308         handles the exception caused by the %n directive. When cross-compiling,
3309         guess no on native Windows.
3310         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
3311         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
3312         emulate it through vsnprintf.
3313         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
3314         * doc/posix-functions/dprintf.texi: Update documentation regarding
3315         MSVC 9.
3316         * doc/posix-functions/fprintf.texi: Likewise.
3317         * doc/posix-functions/printf.texi: Likewise.
3318         * doc/posix-functions/snprintf.texi: Likewise.
3319         * doc/posix-functions/sprintf.texi: Likewise.
3320         * doc/posix-functions/swprintf.texi: Likewise.
3321         * doc/posix-functions/vdprintf.texi: Likewise.
3322         * doc/posix-functions/vfprintf.texi: Likewise.
3323         * doc/posix-functions/vprintf.texi: Likewise.
3324         * doc/posix-functions/vsnprintf.texi: Likewise.
3325         * doc/posix-functions/vsprintf.texi: Likewise.
3326         * doc/glibc-functions/asprintf.texi: Likewise.
3327         * doc/glibc-functions/obstack_printf.texi: Likewise.
3328         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
3329         * doc/glibc-functions/vasprintf.texi: Likewise.
3330
3331 2011-09-10  Bruno Haible  <bruno@clisp.org>
3332
3333         nocrash: Add support for native Windows.
3334         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
3335
3336 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
3337             Bruno Haible  <bruno@clisp.org>
3338
3339         absolute-header, include-next: Add support for MSVC compiler.
3340         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
3341         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
3342         directory separator in #line directives.
3343         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
3344         recognize also backslash as directory separator in #line directives.
3345
3346 2011-09-08  Jim Meyering  <meyering@redhat.com>
3347
3348         maint.mk: mark the post-release commit log with "maint: " prefix
3349         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
3350         one-line commit-log summary.
3351
3352 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
3353             Bruno Haible  <bruno@clisp.org>
3354
3355         Doc about crypt functions.
3356         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
3357         systems.
3358         * doc/posix-functions/encrypt.texi: Likewise.
3359         * doc/posix-functions/setkey.texi: Likewise.
3360
3361 2011-09-08  Simon Josefsson  <simon@josefsson.org>
3362
3363         * lib/gc.h: Fix copyright header.
3364
3365 2011-09-07  Bruno Haible  <bruno@clisp.org>
3366
3367         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
3368         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
3369         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
3370
3371 2011-09-07  Bruno Haible  <bruno@clisp.org>
3372
3373         openat: Work around compilation error with OSF/1 5.1 DTK cc.
3374         * lib/fopen.c: Use different syntax for include of <stdio.h>.
3375         * lib/freopen.c: Likewise.
3376         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
3377         * lib/lstat.c: Likewise.
3378         * lib/stat.c: Likewise.
3379         * lib/open.c: Use different syntax for include of <fcntl.h>.
3380         * lib/openat.c: Include fcntl.h again, explicitly.
3381
3382 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
3383
3384         parse-datetime: document the newly accepted format
3385         * doc/parse-datetime.texi (Combined date and time of day items):
3386         New section.
3387
3388 2011-09-06  Bruno Haible  <bruno@clisp.org>
3389
3390         acl: Fix a test failure on newer Solaris 10 with ZFS.
3391         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
3392         ENOSYS as no ACL.
3393         Reported by Jim Meyering.
3394
3395 2011-09-06  Bruno Haible  <bruno@clisp.org>
3396
3397         acl: Update for AIX >= 5.3 with NFS.
3398         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
3399         ENOSYS as no ACL.
3400
3401         acl: Fix a test failure on AIX >= 5.3 with NFS.
3402         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
3403         as no ACL.
3404
3405 2011-09-06  Bruno Haible  <bruno@clisp.org>
3406
3407         acl: Fix a test failure on IRIX 6.5 with NFS.
3408         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
3409         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
3410         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
3411         * lib/copy-acl.c (qcopy_acl): Likewise.
3412
3413 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
3414
3415         openat: port to AIX 7.1 with large files
3416         AIX 7.1 does a "#define openat open64at" if large files are in use,
3417         so we can't simply #undef openat.  Use the orig_openat trick (similar
3418         to orig_open in lib/open.c) to work around the problem.  Problem
3419         reported by Kevin Brott for GNU tar, in the thread containing
3420         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
3421         * lib/openat.c (__need_system_fcntl_h): Define first.
3422         Include <fcntl.h> and <sys/types.h> before undefining.
3423         (orig_openat) [HAVE_OPENAT]: New inline function.
3424         (openat) [HAVE_OPENAT]: Do not undef.
3425         (rpl_openat): Use orig_openat, not openat.
3426
3427 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
3428             Bruno Haible  <bruno@clisp.org>
3429
3430         acl: Avoid errors on NonStop Kernel.
3431         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
3432         ENOTSUP errors.
3433
3434 2011-09-05  Bruno Haible  <bruno@clisp.org>
3435
3436         acl: Clean up Solaris code.
3437         * lib/acl-internal.h: Remove no-op #if.
3438         * lib/file-has-acl.c: Likewise.
3439         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
3440         * lib/copy-acl.c (qcopy_acl): Likewise.
3441
3442 2011-09-05  Bruno Haible  <bruno@clisp.org>
3443
3444         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
3445         binaries built on the original Solaris 10.
3446         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
3447         trivial.
3448
3449 2011-09-05  Bruno Haible  <bruno@clisp.org>
3450
3451         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
3452         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
3453         10.
3454         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
3455         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
3456         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
3457         instead of acl_get, facl_get, acl_set, facl_set.
3458
3459 2011-09-05  Bruno Haible  <bruno@clisp.org>
3460
3461         copy-file: Try unit tests on more file systems.
3462         * tests/test-copy-file-1.sh: New file.
3463         * tests/test-copy-file-2.sh: New file.
3464         * modules/copy-file-tests (Files): Add them.
3465         (Makefile.am): Add them to TESTS.
3466
3467         acl: Try unit tests on more file systems.
3468         * tests/test-file-has-acl-1.sh: New file.
3469         * tests/test-file-has-acl-2.sh: New file.
3470         * tests/test-set-mode-acl-1.sh: New file.
3471         * tests/test-set-mode-acl-2.sh: New file.
3472         * tests/test-copy-acl-1.sh: New file.
3473         * tests/test-copy-acl-2.sh: New file.
3474         * modules/acl-tests (Files): Add them.
3475         (Makefile.am): Add them to TESTS.
3476
3477 2011-09-04  Bruno Haible  <bruno@clisp.org>
3478
3479         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
3480         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
3481         10.
3482         (OLD_ALLOW, OLD_DENY): New macros.
3483         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
3484         ACE_ACCESS_ALLOWED_ACE_TYPE.
3485         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
3486         ACE_ACCESS_DENIED_ACE_TYPE.
3487         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
3488         (NEW_ACE_EXECUTE): Fix value.
3489         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
3490         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
3491         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
3492         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
3493         NEW_ACE_SYNCHRONIZE): New macros.
3494         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
3495         instead of acl_fromtext, acl_set, facl_set.
3496         Fixes a coreutils/tests/cp/perm failure.
3497
3498 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
3499
3500         openat: test for fstatat (..., 0) bug
3501         Further testing with tar suggests that fstatat (..., 0)
3502         does not work in general, on AIX 7.1; see
3503         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
3504         So, give up entirely on AIX 7.1's fstatat, and fall back on our
3505         replacement fstatat (which is what older AIX releases were using
3506         anyway).
3507         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
3508         use is now changed to orig_fstatat.  This was probably the right
3509         thing to do anyway.
3510         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
3511         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
3512         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
3513         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
3514         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
3515         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
3516         if the bug is found.
3517
3518         openat: test for fstatat (AT_FDCWD, ..., 0) bug
3519         This tests for another fstatat bug on AIX 7.1:
3520         fstatat (AT_FDCWD, ..., 0) does not work.  See
3521         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
3522         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
3523         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
3524         (rpl_fstatat): Adjust so that it works around either (or both)
3525         bugs if present.
3526         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
3527
3528 2011-09-03  Karl Berry  <karl@gnu.org>
3529
3530         * doc/regex.texi (Character Class Operators): Avoid literal ":"
3531         in index entries.
3532
3533 2011-09-02  Bruno Haible  <bruno@clisp.org>
3534
3535         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
3536         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
3537         values of AR, ARFLAGS, RANLIB.
3538         Reported by John W. Eaton <jwe@gnu.org> for Octave.
3539
3540 2011-09-02  Bruno Haible  <bruno@clisp.org>
3541
3542         Find 'ar' program that fits with --host argument.
3543         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
3544
3545 2011-09-02  Bruno Haible  <bruno@clisp.org>
3546
3547         tests: init.sh: Support any non-GNU diff.
3548         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
3549         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
3550         Solaris 8.
3551
3552 2011-09-02  Bruno Haible  <bruno@clisp.org>
3553
3554         tests: init.sh: work also with any non-GNU diff that supports -u
3555         * tests/init.sh: Relax check for diff -u support.
3556         Rather than checking for GNU diff via --version, simply check
3557         for support for -u itself.  Useful at least on OpenBSD 4.9,
3558         AIX 7.1, IRIX 6.5, and Solaris 10.
3559
3560 2011-09-01  Bruno Haible  <bruno@clisp.org>
3561
3562         strtoimax, strtoumax: Document problem on HP-UX 11.
3563         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
3564         * doc/posix-functions/strtoumax.texi: Likewise.
3565
3566 2011-09-01  Bruno Haible  <bruno@clisp.org>
3567
3568         strtoumax: Avoid link error on OSF/1 with DTK cc.
3569         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
3570         defined as a function.
3571         * modules/strtoumax (Depends-on, configure.ac): Test only whether
3572         strtoumax is defined, not whether it is declared.
3573
3574 2011-09-01  Bruno Haible  <bruno@clisp.org>
3575
3576         strtoimax: Avoid link error on OSF/1 with DTK cc.
3577         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
3578         defined as a function.
3579         * modules/strtoimax (Depends-on, configure.ac): Test only whether
3580         strtoimax is defined, not whether it is declared.
3581
3582 2011-09-01  Bruno Haible  <bruno@clisp.org>
3583
3584         imaxdiv: Avoid link error on OSF/1 with DTK cc.
3585         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
3586         as a function.
3587         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
3588         whether it is declared.
3589
3590 2011-09-01  Bruno Haible  <bruno@clisp.org>
3591
3592         imaxabs: Avoid link error on OSF/1 with DTK cc.
3593         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
3594         as a function.
3595         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
3596         whether it is declared.
3597
3598 2011-09-01  Bruno Haible  <bruno@clisp.org>
3599
3600         Tests for module 'strtoumax'.
3601         * modules/strtoumax-tests: New file.
3602         * tests/test-strtoumax.c: New file.
3603
3604         Tests for module 'strtoimax'.
3605         * modules/strtoimax-tests: New file.
3606         * tests/test-strtoimax.c: New file.
3607
3608         Tests for module 'imaxdiv'.
3609         * modules/imaxdiv-tests: New file.
3610         * tests/test-imaxdiv.c: New file.
3611
3612         Tests for module 'imaxabs'.
3613         * modules/imaxabs-tests: New file.
3614         * tests/test-imaxabs.c: New file.
3615
3616 2011-09-01  Bruno Haible  <bruno@clisp.org>
3617
3618         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
3619         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
3620         pthread_create.
3621
3622 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
3623
3624         openat: work around AIX 7.1 fstatat issue
3625         This should fix the problem that was not properly fixed
3626         in the previous change, dated 2011-08-30.
3627         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
3628         __need_system_stat_h defined.
3629         (orig_fstatat) [HAVE_FSTATAT]: New function.
3630         (rpl_fstatat): Go back to the old way of doing things,
3631         except call orig_fstatat instead of fstatat.
3632         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
3633         Remove unnecessary check whether fstatat fills in st_size etc.
3634
3635 2011-09-01  Bruno Haible  <bruno@clisp.org>
3636
3637         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
3638         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
3639         just include the system's header.
3640
3641 2011-08-31  Jim Meyering  <meyering@redhat.com>
3642
3643         tests: avoid spurious assertion failure in test-float.c on ppc64
3644         * tests/test-float.c (test_long_double): Comment out an assertion,
3645         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
3646         with gcc-4.4.4.
3647
3648         maint: indent with spaces, not TABs
3649         I need to get in the habit of running gnulib's "make check".
3650         Both of these would have been caught.
3651         * m4/largefile.m4: Indent with spaces, not TABs.
3652         * lib/parse-datetime.y (iso_8601_time): Likewise.
3653         Spotted by Pádraig Brady.
3654
3655         test-parse-datetime.c: accommodate a relatively strict gcc warning
3656         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
3657         to avoid a warning from gcc's -Werror=missing-declarations.
3658         Insert a few spaces-before-funcall-parenthesis.
3659
3660 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
3661
3662         parse-datetime: accept ISO 8601 date and time rep with "T" separator
3663         The parser now accepts ISO 8601 date-time strings with "T" as the
3664         separator.  It has long parsed dates like "2004-02-29 16:21:42"
3665         with a space between the date and time strings.  Now it also parses
3666         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
3667         variants like "2004-02-29T16:21:42.333-07:00"
3668         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
3669         of day representation using the 'T' separator character.
3670         * doc/parse-datetime.texi (General date syntax): replace use of
3671         deprecated --iso-8601 option with --rfc-3339 in example of date
3672         command output formats that can be parsed.
3673         * tests/test-parse-datetime.c (tm_diff): New function, taken from
3674         lib/parse-datetime.y.
3675         (gmt_offset): New function.
3676         (main): Add additional test cases to validate ISO8601 extended
3677         date and time of day parsing.
3678
3679 2011-08-31  Bruno Haible  <bruno@clisp.org>
3680
3681         freopen: Documentation.
3682         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
3683         name.
3684         Reported by Claudio Bley <claudio.bley@gmail.com>.
3685
3686 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
3687
3688         freopen: Don't crash if the filename argument is NULL.
3689         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
3690         NULL.
3691
3692 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
3693
3694         openat: work around AIX 7.1 fstatat bug
3695         Problem reported by Kevin Brott for GNU tar, in the thread containing
3696         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
3697         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
3698         FSTATAT_ST_SIZE_ETC_BROKEN.
3699         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
3700         rpl_fstatat.
3701         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
3702         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
3703         AC_CHECK_FUNCS_ONCE for fstatat.
3704         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
3705         fchmodat, mkdirat, openat and unlinkat.
3706
3707 2011-08-30  Bruno Haible  <bruno@clisp.org>
3708
3709         Avoid endless recursions if config.h includes some header files.
3710         * lib/fopen.c (__need_FILE): Define already before including config.h.
3711         * lib/freopen.c (__need_FILE): Likewise.
3712         * lib/open.c (__need_system_fcntl_h): Likewise.
3713         * lib/stat.c (__need_system_sys_stat_h): Likewise.
3714         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
3715         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
3716
3717 2011-08-25  Karl Berry  <karl@gnu.org>
3718
3719         * config/srclist.txt (ylwrap): new try.
3720         * build-aux/ylwrap: new file.
3721
3722 2011-08-23  Bruno Haible  <bruno@clisp.org>
3723
3724         tmpdir: Use a good default directory on native Windows.
3725         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
3726         (P_tmpdir): Default to _P_tmpdir on native Windows.
3727         (path_search): On native Windows, try the value returned by GetTempPath
3728         before trying P_tmpdir.
3729         * modules/tmpdir (Depends-on): Add pathmax.
3730         Suggested by John Darrington <john@darrington.wattle.id.au>.
3731
3732 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
3733
3734         doc: fix typo in README-release
3735         * top/README-release: Capitalize first word of a sentence.
3736
3737 2011-08-19  Jim Meyering  <meyering@redhat.com>
3738
3739         fts: do not exhaust memory when processing million-entry directories
3740         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
3741         directory would require about 256*N bytes of memory.  Thus, it was
3742         easy to construct a directory too large to be processed by any of
3743         those tools.  With this change, fts' maximum memory utilization is
3744         now limited to around 30MB.
3745         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
3746         (fts_read): When we've processed the final entry (i.e., when
3747         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
3748         using the parent entry to read any remaining entries.  Dispatch
3749         depending on what fts_build returns:
3750         - NULL+stop, aka failure: stop
3751         - NULL otherwise: move up in the dir hierarchy
3752         - non-NULL: handle this new entry
3753         (fts_build): Declare and use new local, continue_readdir.
3754         Prepare to be called from fts_read, when the entries
3755         from a partially-read directory have just been exhausted.
3756         In that case, we'll skip the opendir and instead use the parent's
3757         fts_dirp and derive dir_fd from that.
3758         Finally, in the readdir loop, if we read max_entries entries,
3759         exit the loop ensuring *not* to call closedir.  This is required
3760         so that fts_dirp can be reused on a subsequent call.
3761         Prompted by Ben England's report of memory exhaustion in find
3762         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
3763
3764         maint: fts: move decl of `dp' down into while loop; split a long line
3765         * lib/fts.c (fts_build): No semantic change.
3766
3767         fts: add/use new struct member, fts_dirp
3768         We are about to use this to manage any directory with
3769         too many entries to read all of them into memory at once.
3770         To do that, we'll need to save the DIR* pointer in each
3771         affected FTSENT struct.
3772         * lib/fts_.h: Include <dirent.h>.
3773         (struct FTSENT) [fts_dirp]: New member.
3774         * lib/fts.c (closedir_and_clear): Define.
3775         Use it in place of closedir so that we are sure to
3776         clear the new fts_dirp member when done with it.
3777         (fts_alloc): Initialize the new member.
3778         (fts_lfree): Free, if needed.
3779
3780         maint: fts: give __opendir2 a new parameter and rename
3781         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
3782         than surreptitiously using sole caller's "dir_fd".
3783         (fts_opendir): Rename from __opendir2.
3784
3785         maint: fts.c: remove __opendir2's now-unused parameter, oflag
3786         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
3787
3788         maint: fts.c: correct off-by-one indentation
3789         * lib/fts.c (fts_build): Correct indentation, change style
3790         of a couple of block comments, and bracing style.
3791
3792         maint: fts.c: move __opendir2 #define "up" out of function body
3793         * lib/fts.c (__opendir2): Move "up".  No semantic change.
3794
3795         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
3796         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
3797         out for a long time and besides was useful only on BSD systems.
3798
3799 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
3800
3801         regex: port to Stratus OpenVOS
3802         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
3803         define to empty, rather than attempting nonportable optimizations.
3804         Problem reported by Paul Green in:
3805         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
3806         and fix suggested by Eric Blake in:
3807         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
3808
3809 2011-08-17  Eric Blake  <eblake@redhat.com>
3810
3811         getcwd: fix test failures on mingw
3812         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
3813         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
3814         test if long directory cannot be created, and allow mingw errno.
3815
3816         getcwd-lgpl: fix m4 to match relaxed test for BSD
3817         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
3818         (gl_FUNC_GETCWD_SIGNATURE): New macro.
3819         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
3820         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
3821         signature problem.
3822
3823         getcwd: fix compilation on mingw64
3824         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
3825         getcwd.
3826         Reported by Marc-André Lureau.
3827
3828         pipe2: silence compiler warning
3829         * lib/pipe2.c (pipe2): Hide label if it is not used.
3830
3831 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
3832
3833         relocatable-prog: fix link error
3834         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
3835         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
3836         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
3837         into modules/relocatable-lib without noticing that
3838         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
3839         also needs to build relocatable.c.
3840
3841 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
3842
3843         getaddrinfo: fix sh typo in gai_strerrorA decl checking
3844         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
3845         shell code: it contained a 'break' that was not in a loop.
3846         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
3847         via a shell-language loop; this may have been true in old Autoconf
3848         versions, but it's not true in Autoconf 2.68.  I found this bug
3849         when testing coreutils git on Solaris 8, whose shell complains
3850         about the syntax error.
3851
3852 2011-08-12  Simon Josefsson  <simon@josefsson.org>
3853
3854         * lib/base64.c: Fix comment to reference RFC 4648.
3855         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
3856         <gvtulder@gmail.com>.
3857
3858 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
3859
3860         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
3861
3862         po/Makefile.in.in: fix make -q problem
3863         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
3864         rule, since there's no file named 'check-macro-version' and its
3865         use as a file breaks make -q.
3866         (all): Don't depend on check-macro-version.
3867         (CHECK_MACRO_VERSION): New macro.
3868         (stamp-po): Use it.
3869
3870         configmake: fix make -q problem
3871         * modules/configmake (configmake.h): Update configmake.h's time stamp
3872         even if the file does not change.  Otherwise, 'make -q' fails.
3873         Problem reported by Simon Josefsson in
3874         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
3875
3876 2011-08-11  Jim Meyering  <meyering@redhat.com>
3877
3878         git-version-gen: correct the advice in a comment
3879         * build-aux/git-version-gen: Correct comment.
3880         Don't recommend to list .tarball-version in .gitignore.
3881
3882 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
3883
3884         base64: fix off-by-one buffer size bug
3885         Problem and (trivial) fix reported by Gijs van Tulder in
3886         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
3887         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
3888         * tests/test-base64.c (main): Catch the bug.
3889
3890 2011-08-10  Eric Blake  <eblake@redhat.com>
3891
3892         closein: correct comments
3893         * lib/closein.c (close_stdin): Improve comments.
3894
3895 2011-08-09  Bruno Haible  <bruno@clisp.org>
3896
3897         More tests for 'fseeko'.
3898         * tests/test-fseeko3.c: New file, from Eric Blake.
3899         * tests/test-fseeko3.sh: New file.
3900         * modules/fseeko-tests (Files): Add them.
3901         (TESTS): Add test-fseeko3.sh.
3902         (check_PROGRAMS): Add test-fseeko3.
3903
3904 2011-08-09  Eric Blake  <eblake@redhat.com>
3905
3906         fseeko: remove unneeded hack
3907         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
3908
3909         fseeko: fix bug on glibc
3910         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
3911         Reported by John W. Eaton.
3912
3913 2011-08-08  Bruno Haible  <bruno@clisp.org>
3914
3915         unictype/base: Fix interoperability with preinstalled libunistring.
3916         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
3917         Reported by Simon Josefsson.
3918
3919 2011-08-08  Bruno Haible  <bruno@clisp.org>
3920
3921         iswblank: Detect declaration correctly.
3922         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
3923         AC_CHECK_DECLS invocation.
3924
3925 2011-08-08  Bruno Haible  <bruno@clisp.org>
3926
3927         tcgetsid: Detect declaration correctly.
3928         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
3929         AC_CHECK_DECLS invocation.
3930         Reported by Simon Josefsson.
3931
3932 2011-08-08  Eric Blake  <eblake@redhat.com>
3933
3934         largefile: fix typo that regressed large file support
3935         * modules/largefile (configure.ac-early): Fix section name.
3936
3937 2011-08-06  Karl Berry  <karl@gnu.org>
3938
3939         * MODULES.html.sh (func_all_files): _Noreturn is no longer
3940         a separate module.
3941
3942 2011-08-05  Simon Josefsson  <simon@josefsson.org>
3943
3944         openat: Fix warnings and commens when building unlinkat.c on Hurd.
3945         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
3946         get prototype for free.
3947
3948 2011-08-04  Bruno Haible  <bruno@clisp.org>
3949
3950         Tests for module 'pathmax'.
3951         * modules/pathmax-tests: New file.
3952         * tests/test-pathmax.c: New file.
3953
3954         canonicalize-lgpl: Support larger filenames on the Hurd.
3955         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
3956         Reported by Paul Eggert.
3957
3958         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
3959         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
3960         * lib/chdir-long.h: Include pathmax.h.
3961         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
3962         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
3963         (PATH_MAX): Remove code that is done by pathmax.h.
3964         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
3965         * lib/tmpfile.c: Add a comment.
3966         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
3967         * modules/chdir-long (Depends-on): Add pathmax.
3968         * modules/getcwd (Depends-on): Add pathmax.
3969         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
3970         is not defined.
3971         * doc/posix-headers/limits.texi: Mention the pathmax module.
3972         * NEWS: Mention the change.
3973
3974 2011-08-02  Bruno Haible  <bruno@clisp.org>
3975
3976         pthread_sigmask: Actually use results of gl_THREADLIB.
3977         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
3978         gl_THREADLIB, not gl_[]THREADLIB.
3979         Reported by Eric Blake.
3980
3981 2011-08-02  Jim Meyering  <meyering@redhat.com>
3982
3983         maint.mk: relax the default _gl_TS_function_match regexp
3984         * top/maint.mk (_gl_TS_function_match): Don't require at least one
3985         space between function name and "(" in an "extern" declaration.
3986         That would fail to match a decl with no space there: extern void foo();
3987
3988 2011-07-31  Iain Nicol  <iain@thenicols.net>
3989
3990         git-version-gen: document that EXTRA_DIST must include .version
3991         * build-aux/git-version-gen: In the how-to-use comment, document
3992         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
3993         will fail when run from an unpacked distribution tarball.
3994
3995 2011-08-01  Bruno Haible  <bruno@clisp.org>
3996
3997         wctype-h: Fix last change.
3998         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
3999         REPLACE_TOWLOWER to 0.
4000         Reported by Sam Steingold <sds@gnu.org>.
4001
4002 2011-07-31  Bruno Haible  <bruno@clisp.org>
4003
4004         frexpl: Update autoconf test.
4005         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
4006         according to changes of 2011-06-20.
4007
4008 2011-07-31  Bruno Haible  <bruno@clisp.org>
4009
4010         sys_utsname: Add support for Minix.
4011         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
4012         <sys/utsname.h>.
4013         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
4014         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
4015
4016 2011-07-31  Bruno Haible  <bruno@clisp.org>
4017
4018         strings: Add support for Minix.
4019         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
4020         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
4021         * doc/posix-headers/strings.texi: Document the Minix problem.
4022
4023 2011-07-31  Bruno Haible  <bruno@clisp.org>
4024
4025         wctype-h: Add support for Minix.
4026         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
4027         REPLACE_TOWLOWER.
4028         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
4029         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
4030         REPLACE_ISWCNTRL.
4031
4032 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
4033
4034         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
4035         This is a performance improvement for 64-bit hosts: it causes the
4036         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
4037
4038 2011-07-31  Bruno Haible  <bruno@clisp.org>
4039
4040         stdioext: Add support for Minix.
4041         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
4042         * lib/fpurge.c (fpurge): Likewise.
4043         * lib/freadahead.c (freadahead): Likewise.
4044         * lib/freadable.c (freadable): Likewise.
4045         * lib/freading.c (freading): Likewise.
4046         * lib/freadptr.c (freadptr): Likewise.
4047         * lib/freadseek.c (freadptrinc): Likewise.
4048         * lib/fseeko.c (rpl_fseeko): Likewise.
4049         * lib/fseterr.c (fseterr): Likewise.
4050         * lib/fwritable.c (fwritable): Likewise.
4051         * lib/fwriting.c (fwriting): Likewise.
4052         * lib/fflush.c (clear_ungetc_buffer): Update comment.
4053         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
4054
4055 2011-07-31  Bruno Haible  <bruno@clisp.org>
4056
4057         errno: Port to Minix.
4058         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
4059         ECONNABORTED are defined.
4060         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
4061         GNULIB_defined_ECONNABORTED): New macros.
4062         * lib/strerror-override.h (strerror_override): Test also
4063         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
4064         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
4065         ECONNABORTED.
4066         * doc/posix-headers/errno.texi: Mention the Minix problem.
4067
4068 2011-07-31  Bruno Haible  <bruno@clisp.org>
4069
4070         Work around declaration collisions on Minix.
4071         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
4072         defined, set REPLACE_MBSINIT.
4073         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
4074         defined, set REPLACE_MBRTOWC.
4075         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
4076         set REPLACE_MBRLEN.
4077         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
4078         defined, set REPLACE_MBSRTOWCS.
4079         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
4080         defined, set REPLACE_WCRTOMB.
4081         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
4082         defined, set REPLACE_WCSRTOMBS.
4083
4084 2011-07-31  Bruno Haible  <bruno@clisp.org>
4085
4086         Add support for Minix with ACK compiler.
4087         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
4088         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
4089         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
4090
4091 2011-07-31  Bruno Haible  <bruno@clisp.org>
4092
4093         Documentation about Minix.
4094         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
4095         * doc/glibc-headers/*.texi: Likewise.
4096         * doc/posix-functions/*.texi: Likewise.
4097         * doc/glibc-functions/*.texi: Likewise.
4098
4099 2011-07-31  Bruno Haible  <bruno@clisp.org>
4100
4101         snippet/warn-on-use: Fix indentation.
4102         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
4103
4104 2011-07-25  Jim Meyering  <meyering@redhat.com>
4105
4106         tests: test-update-copyright.sh: remove unnecessary "rm" commands
4107         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
4108         commands.
4109
4110 2011-07-27  Jim Meyering  <meyering@redhat.com>
4111
4112         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
4113         * top/maint.mk (gl_extract_significant_defines_): Now that
4114         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
4115         gnulib/lib/signal.in.h, and now that we recommend to
4116         define-if-undefined those two symbols in application code,
4117         we must filter them out of the "significant" list.
4118         This avoids a "make syntax-check" failure in coreutils.
4119
4120 2011-07-26  Eric Blake  <eblake@redhat.com>
4121
4122         warnings: add comments about previous patch
4123         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
4124         * m4/include_next.m4: Likewise.
4125         * m4/warn-on-use.m4: Likewise.
4126         * m4/warnings.m4: Likewise, and simplify use.
4127         Suggested by Stefano Lattarini.
4128
4129         include-next, warnings: support older autoconf
4130         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
4131         AS_VAR_PUSHDEF in a way that works with older autoconf.
4132         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
4133         Reported by Daniel P. Berrange.
4134
4135 2011-07-25  Bruno Haible  <bruno@clisp.org>
4136
4137         fseek, ftell: Fix doc.
4138         * doc/posix-functions/fseek.texi: Reword statement about
4139         AC_SYS_LARGEFILE.
4140         * doc/posix-functions/ftell.texi: Likewise.
4141
4142 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
4143             Bruno Haible  <bruno@clisp.org>
4144
4145         Add dependencies to the 'largefile' module.
4146         * modules/fopen (Depends-on): Add 'largefile'.
4147         * modules/freopen (Depends-on): Likewise.
4148         * modules/fseeko (Depends-on): Likewise.
4149         * modules/ftello (Depends-on): Likewise.
4150         * modules/glob (Depends-on): Likewise.
4151         * modules/lseek (Depends-on): Likewise.
4152         * modules/lstat (Depends-on): Likewise.
4153         * modules/mkostemp (Depends-on): Likewise.
4154         * modules/mkostemps (Depends-on): Likewise.
4155         * modules/mkstemp (Depends-on): Likewise.
4156         * modules/mkstemps (Depends-on): Likewise.
4157         * modules/open (Depends-on): Likewise.
4158         * modules/openat (Depends-on): Likewise.
4159         * modules/pread (Depends-on): Likewise.
4160         * modules/pwrite (Depends-on): Likewise.
4161         * modules/scandir (Depends-on): Likewise.
4162         * modules/stat (Depends-on): Likewise.
4163         * modules/tmpfile (Depends-on): Likewise.
4164         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
4165         since the containing module now depends on the largefile module.
4166         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
4167         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
4168         off_t is fixed by gnulib.
4169         * doc/posix-functions/freopen.texi: Likewise.
4170         * doc/posix-functions/fseeko.texi: Likewise.
4171         * doc/posix-functions/fstatat.texi: Likewise.
4172         * doc/posix-functions/ftello.texi: Likewise.
4173         * doc/posix-functions/glob.texi: Likewise.
4174         * doc/posix-functions/lseek.texi: Likewise.
4175         * doc/posix-functions/lstat.texi: Likewise.
4176         * doc/posix-functions/mkstemp.texi: Likewise.
4177         * doc/posix-functions/open.texi: Likewise.
4178         * doc/posix-functions/openat.texi: Likewise.
4179         * doc/posix-functions/pread.texi: Likewise.
4180         * doc/posix-functions/pwrite.texi: Likewise.
4181         * doc/posix-functions/scandir.texi: Likewise.
4182         * doc/posix-functions/stat.texi: Likewise.
4183         * doc/posix-functions/tmpfile.texi: Likewise.
4184         * doc/glibc-functions/mkostemp.texi: Likewise.
4185         * doc/glibc-functions/mkostemps.texi: Likewise.
4186         * doc/glibc-functions/mkstemps.texi: Likewise.
4187
4188 2011-07-25  Bruno Haible  <bruno@clisp.org>
4189
4190         fcntl: Move AC_LIBOBJ invocation to module description.
4191         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
4192         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
4193
4194         fcntl: Remove call-in from fchdir.m4.
4195         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
4196         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
4197
4198         dup3: Remove potential call-in from fchdir.m4.
4199         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
4200         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
4201
4202         dup2: Move AC_LIBOBJ invocation to module description.
4203         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
4204         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
4205         Don't invoke AC_LIBOBJ.
4206         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
4207
4208         dup2: Remove call-in from fchdir.m4.
4209         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
4210         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
4211
4212         fclose: Move AC_LIBOBJ invocation to module description.
4213         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
4214         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
4215         to 1.
4216         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
4217
4218         fclose: Remove call-in from close.m4.
4219         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
4220         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
4221
4222         close: Move AC_LIBOBJ invocation to module description.
4223         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
4224         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
4225         1.
4226         * modules/close (configure.ac): Invoke AC_LIBOBJ.
4227
4228         close: Remove call-in from fchdir.m4.
4229         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
4230         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
4231
4232         open: Move AC_LIBOBJ invocation to module description.
4233         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
4234         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
4235         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
4236
4237         open: Remove call-in from fchdir.m4.
4238         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
4239         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
4240
4241         fchdir: Start to remove gl_REPLACE_* idiom.
4242         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
4243         (gl_FUNC_FCHDIR): Invoke it.
4244
4245 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
4246
4247         * lib/ftell.c (ftell): Comment out cast.
4248
4249         close: use gl_REPLACE_FCLOSE only if defined
4250         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
4251         is defined.  The close module doesn't depend on the fclose module
4252         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
4253         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
4254         I reproduced the problem with "./gnulib-tool --test close sys_socket".
4255
4256 2011-07-24  Jim Meyering  <meyering@redhat.com>
4257
4258         test-select.h: avoid warning when using gcc's -Wmissing-declarations
4259         * tests/test-select.h (test_function): Declare as "static".
4260
4261 2011-07-24  Bruno Haible  <bruno@clisp.org>
4262
4263         doc: Mention the effects of AC_SYS_LARGEFILE.
4264         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
4265         on this function.
4266         * doc/posix-functions/aio_error.texi: Likewise.
4267         * doc/posix-functions/aio_fsync.texi: Likewise.
4268         * doc/posix-functions/aio_read.texi: Likewise.
4269         * doc/posix-functions/aio_return.texi: Likewise.
4270         * doc/posix-functions/aio_suspend.texi: Likewise.
4271         * doc/posix-functions/aio_write.texi: Likewise.
4272         * doc/posix-functions/fgetpos.texi: Likewise.
4273         * doc/posix-functions/fopen.texi: Likewise.
4274         * doc/posix-functions/freopen.texi: Likewise.
4275         * doc/posix-functions/fsetpos.texi: Likewise.
4276         * doc/posix-functions/fstatvfs.texi: Likewise.
4277         * doc/posix-functions/ftruncate.texi: Likewise.
4278         * doc/posix-functions/ftw.texi: Likewise.
4279         * doc/posix-functions/getrlimit.texi: Likewise.
4280         * doc/posix-functions/glob.texi: Likewise.
4281         * doc/posix-functions/lio_listio.texi: Likewise.
4282         * doc/posix-functions/lockf.texi: Likewise.
4283         * doc/posix-functions/mkstemp.texi: Likewise.
4284         * doc/posix-functions/mmap.texi: Likewise.
4285         * doc/posix-functions/nftw.texi: Likewise.
4286         * doc/posix-functions/openat.texi: Likewise.
4287         * doc/posix-functions/opendir.texi: Likewise.
4288         * doc/posix-functions/posix_fadvise.texi: Likewise.
4289         * doc/posix-functions/posix_fallocate.texi: Likewise.
4290         * doc/posix-functions/pread.texi: Likewise.
4291         * doc/posix-functions/pwrite.texi: Likewise.
4292         * doc/posix-functions/readdir.texi: Likewise.
4293         * doc/posix-functions/readdir_r.texi: Likewise.
4294         * doc/posix-functions/rewinddir.texi: Likewise.
4295         * doc/posix-functions/scandir.texi: Likewise.
4296         * doc/posix-functions/seekdir.texi: Likewise.
4297         * doc/posix-functions/setrlimit.texi: Likewise.
4298         * doc/posix-functions/statvfs.texi: Likewise.
4299         * doc/posix-functions/telldir.texi: Likewise.
4300         * doc/posix-functions/tmpfile.texi: Likewise.
4301         * doc/posix-functions/truncate.texi: Likewise.
4302         * doc/glibc-functions/fallocate.texi: Likewise.
4303         * doc/glibc-functions/fstatfs.texi: Likewise.
4304         * doc/glibc-functions/fts_children.texi: Likewise.
4305         * doc/glibc-functions/fts_read.texi: Likewise.
4306         * doc/glibc-functions/getdirentries.texi: Likewise.
4307         * doc/glibc-functions/mkostemp.texi: Likewise.
4308         * doc/glibc-functions/mkostemps.texi: Likewise.
4309         * doc/glibc-functions/mkstemps.texi: Likewise.
4310         * doc/glibc-functions/preadv.texi: Likewise.
4311         * doc/glibc-functions/pwritev.texi: Likewise.
4312         * doc/glibc-functions/sendfile.texi: Likewise.
4313         * doc/glibc-functions/statfs.texi: Likewise.
4314
4315 2011-07-24  Bruno Haible  <bruno@clisp.org>
4316
4317         doc: Fix typo.
4318         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
4319
4320 2011-07-24  Bruno Haible  <bruno@clisp.org>
4321
4322         doc: Mention fsusage.
4323         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
4324
4325 2011-07-24  Bruno Haible  <bruno@clisp.org>
4326
4327         doc: Mention new glibc headers and functions.
4328         * doc/glibc-headers/gshadow.texi: New file.
4329         * doc/glibc-functions/endsgent.texi: New file.
4330         * doc/glibc-functions/fgetsgent.texi: New file.
4331         * doc/glibc-functions/fgetsgent_r.texi: New file.
4332         * doc/glibc-functions/getsgent.texi: New file.
4333         * doc/glibc-functions/getsgent_r.texi: New file.
4334         * doc/glibc-functions/getsgnam.texi: New file.
4335         * doc/glibc-functions/getsgnam_r.texi: New file.
4336         * doc/glibc-functions/putsgent.texi: New file.
4337         * doc/glibc-functions/setsgent.texi: New file.
4338         * doc/glibc-functions/sgetsgent.texi: New file.
4339         * doc/glibc-functions/sgetsgent_r.texi: New file.
4340         * doc/glibc-functions/malloc_info.texi: New file.
4341         * doc/glibc-functions/preadv.texi: New file.
4342         * doc/glibc-functions/pwritev.texi: New file.
4343         * doc/glibc-functions/register_printf_modifier.texi: New file.
4344         * doc/glibc-functions/register_printf_specifier.texi: New file.
4345         * doc/glibc-functions/register_printf_type.texi: New file.
4346         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
4347         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
4348         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
4349         * doc/glibc-functions/pthread_getname_np.texi: New file.
4350         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
4351         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
4352         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
4353         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
4354         * doc/glibc-functions/pthread_setname_np.texi: New file.
4355         * doc/glibc-functions/pthread_sigqueue.texi: New file.
4356         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
4357         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
4358         * doc/glibc-functions/qsort_r.texi: New file.
4359         * doc/glibc-functions/quick_exit.texi: New file.
4360         * doc/glibc-functions/syncfs.texi: New file.
4361         * doc/gnulib.texi: Include them.
4362         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
4363         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
4364         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
4365         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
4366         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
4367         * doc/glibc-functions/execvpe.texi: Likewise.
4368
4369 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
4370
4371         ftell: don't include <unistd.h>
4372         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
4373         guaranteed to define off_t, and the ftell module depends on the
4374         stdio module.
4375
4376         ftell: do not assume wraparound signed arithmetic
4377         * lib/ftell.c: Include <limits.h>.
4378         (ftell): Don't assume wraparound signed arithmetic.
4379
4380 2011-07-24  Bruno Haible  <bruno@clisp.org>
4381
4382         close: No longer depend on module 'fclose'.
4383         * modules/close (Depends-on): Remove fclose.
4384         * NEWS: Mention the change.
4385         Suggested by Sam Steingold <sds@gnu.org>.
4386
4387 2011-07-24  Bruno Haible  <bruno@clisp.org>
4388
4389         fsusage: Enable large volume support on AIX >= 5.2.
4390         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
4391         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
4392         instead of STAT_STATVFS.
4393         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
4394
4395         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
4396         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
4397         f_blocks field only on MacOS X.
4398
4399         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
4400         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
4401         * modules/fsusage (Depends-on): Add largefile.
4402
4403 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
4404
4405         * README: Modernize discussion of signed integers.
4406         Assuming overflow wraparound is no longer safe.
4407         Mention ones' complement and signed magnitude.
4408
4409 2011-07-22  Bruno Haible  <bruno@clisp.org>
4410
4411         select tests, pselect tests: Refactor.
4412         * tests/test-select.h: New file, extracted from tests/test-select.c.
4413         (select_fn): New type.
4414         (test, do_select, do_select_nowait, do_select_wait, test_tty,
4415         test_connect_first, test_accept_first, test_pair, test_socket_pair,
4416         test_pipe): Add my_select argument.
4417         (test_function): Renamed from main. Add my_select argument.
4418         * tests/test-select.c: Move most code to tests/test-select.h. Include
4419         test-select.h.
4420         * modules/select-tests (Files): Add tests/test-select.h.
4421         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
4422         (my_select, main): New functions.
4423         * modules/pselect-tests (Files): Add tests/test-select.h,
4424         tests/macros.h, tests/signature.h.
4425         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
4426         (configure.ac): Check for <sys/wait.h>.
4427
4428 2011-07-22  Bruno Haible  <bruno@clisp.org>
4429
4430         sys_select tests: Check the signature of FD_*.
4431         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
4432         signature tests from here...
4433         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
4434         here.
4435         * modules/sys_select-tests (Files): Add tests/signature.h.
4436
4437 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
4438
4439         largefile: new module, replacing large-inode
4440         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
4441         * MODULES.html.sh: Add largefile, remove large-inode.
4442         * modules/largefile, m4/largefile.m4: New files.
4443         * modules/large-inode, m4/large-inode.m4: Remove.
4444
4445         fsusage: port to MacOS X 10.7 with 4 TiB file systems
4446         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
4447         implementations that use only 32 bits to count blocks.
4448         On typical hosts with 1024-byte blocks, this fails with file
4449         systems as small as 4 TiB.  Problem reported by Herb Wartens
4450         <http://debbugs.gnu.org/9140> and this should also fix a similar
4451         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
4452
4453         large-inode: New module
4454         * MODULES.html.sh: Add it.
4455         * modules/large-inode, m4/large-inode.m4: New files.
4456
4457         extensions: Enable extensions on MacOS X 10.5 and later.
4458         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
4459
4460 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
4461
4462         file-has-acl: use acl_extended_file_nofollow if available
4463         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
4464         (acl_extended_file): New macro.
4465         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
4466         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
4467
4468 2011-07-21  Bruno Haible  <bruno@clisp.org>
4469
4470         Declare system functions in a way that works with C++.
4471         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
4472         declare fdopendir as extern "C".
4473         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
4474         declare frexpl as extern "C".
4475         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
4476         declare gai_strerror as extern "C".
4477         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
4478         programs, declare gai_strerror as extern "C".
4479         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
4480         declare getlogin_r as extern "C".
4481         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
4482         as extern "C".
4483         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
4484         declare ldexpl as extern "C".
4485         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
4486         as extern "C".
4487         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
4488         program, declare getmntinfo as extern "C".
4489         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
4490         stpncpy as extern "C".
4491         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
4492         program, declare __xpg_strerror_r as extern "C".
4493         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
4494         strndup as extern "C".
4495         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
4496         declare memset and bzero as extern "C".
4497         Reported by Sam Steingold <sds@gnu.org>.
4498
4499 2011-07-12  Jim Meyering  <meyering@redhat.com>
4500
4501         maint.mk: prohibit inclusion of "verify.h" without use
4502         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
4503
4504 2011-07-19  Pádraig Brady  <P@draigBrady.com>
4505
4506         timer-time: A new module to check for timer_settime()
4507         * m4/timer_time.m4: Check for the posix function.
4508         * modules/timer-time: Add the new module.
4509         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
4510         Mention it.
4511
4512 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
4513             Bruno Haible  <bruno@clisp.org>
4514
4515         pthread_sigmask: assume POSIX threads if --avoid=threadlib
4516         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
4517         not defined, assume POSIX threads and look for pthread_sigmask in
4518         $LIBS, without changing $CPPFLAGS.
4519
4520 2011-07-19  Bruno Haible  <bruno@clisp.org>
4521
4522         strstr: Update cross-compilation guess.
4523         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
4524         CPUs, guess no, in view of glibc
4525         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
4526         Suggested by Eric Blake. Reported by Reuben Thomas.
4527
4528 2011-07-19  Pádraig Brady  <P@draigBrady.com>
4529
4530         getopt-gnu: suppress core dumps from detection code
4531         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
4532         to suppress core dumps that may well occur on glibc systems.
4533         * modules/getopt-gnu: Depend on nocrash.
4534
4535 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
4536
4537         pthread_sigmask: ensure usleep is declared
4538         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
4539         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
4540
4541 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
4542
4543         doc: Document NonStop portability issues.
4544         * doc/posix-functions/sigaction.texi (sigaction):
4545         * doc/posix-headers/signal.texi (signal.h):
4546         Document NonStop.  See Joachim Schmitz in
4547         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
4548
4549 2011-07-15  Bruno Haible  <bruno@clisp.org>
4550
4551         ffsl, ffsll: Avoid unportable behaviour.
4552         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
4553
4554 2011-07-15  Bruno Haible  <bruno@clisp.org>
4555
4556         ffs: More tests.
4557         * tests/test-ffs.c (NBITS): New macro.
4558         (main): Add more tests.
4559         * tests/test-ffsl.c (NBITS): New macro.
4560         (main): Add more tests.
4561         * tests/test-ffsll.c (NBITS): New macro.
4562         (main): Add more tests.
4563
4564 2011-07-15  Eric Blake  <eblake@redhat.com>
4565
4566         ffsl, ffsll: new modules
4567         * modules/ffsl: New file.
4568         * modules/ffsll: Likewise.
4569         * m4/ffsl.m4: Likewise.
4570         * m4/ffsll.m4: Likewise.
4571         * lib/ffsl.c: Likewise.
4572         * lib/ffsl.h: Likewise.
4573         * lib/ffsll.c: Likewise.
4574         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
4575         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
4576         * modules/string (Makefile.am): Substitute witnesses.
4577         * lib/strings.in.h (ffsl, ffsll): Declare.
4578         * modules/ffsl-tests: New test file.
4579         * modules/ffsll-tests: Likewise.
4580         * tests/test-ffsl.c: Likewise.
4581         * tests/test-ffsll.c: Likewise.
4582         * MODULES.html.sh (Integer arithmetic functions): Mention it.
4583         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
4584         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
4585
4586         ffs: fix m4 prerequisite
4587         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
4588
4589         ffs: avoid undefined behavior
4590         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
4591         * tests/test-ffs.c (naive, main): Avoid signed shifts.
4592         Reported by Bruno Haible.
4593
4594 2011-07-12  Bruno Haible  <bruno@clisp.org>
4595
4596         pthread_sigmask: Rely on module 'threadlib'.
4597         * modules/pthread_sigmask (Depends-on): Add threadlib.
4598         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
4599         is defined.
4600
4601 2011-07-12  Bruno Haible  <bruno@clisp.org>
4602
4603         regex: Depend on module 'strcase'.
4604         * modules/regex (Depends-on): Add strcase, for strcasecmp().
4605
4606 2011-07-12  Jim Meyering  <meyering@redhat.com>
4607
4608         warn-on-use: fix typo in file name
4609         * modules/snippet/warn-on-use (Files): Correct file name:
4610         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
4611
4612 2011-07-12  Bruno Haible  <bruno@clisp.org>
4613
4614         strings: Document module.
4615         * doc/posix-headers/strings.texi: Mention module 'strings'.
4616
4617 2011-07-12  Bruno Haible  <bruno@clisp.org>
4618
4619         Rename module '_Noreturn' to 'snippet/_Noreturn'.
4620         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
4621         (Files, Makefile.am): Update.
4622         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
4623         * modules/stdlib (Depends-on): Update.
4624
4625 2011-07-12  Bruno Haible  <bruno@clisp.org>
4626
4627         * NEWS: Mention the changes.
4628
4629         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
4630         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
4631         (Files, Makefile.am): Update.
4632         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
4633         * modules/arpa_inet (Depends-on): Update.
4634         * modules/ctype (Depends-on): Update.
4635         * modules/dirent (Depends-on): Update.
4636         * modules/fcntl-h (Depends-on): Update.
4637         * modules/glob (Depends-on): Update.
4638         * modules/iconv-h (Depends-on): Update.
4639         * modules/inttypes-incomplete (Depends-on): Update.
4640         * modules/langinfo (Depends-on): Update.
4641         * modules/locale (Depends-on): Update.
4642         * modules/math (Depends-on): Update.
4643         * modules/netdb (Depends-on): Update.
4644         * modules/poll-h (Depends-on): Update.
4645         * modules/pty (Depends-on): Update.
4646         * modules/search (Depends-on): Update.
4647         * modules/signal (Depends-on): Update.
4648         * modules/spawn (Depends-on): Update.
4649         * modules/stdio (Depends-on): Update.
4650         * modules/stdlib (Depends-on): Update.
4651         * modules/string (Depends-on): Update.
4652         * modules/strings (Depends-on): Update.
4653         * modules/sys_file (Depends-on): Update.
4654         * modules/sys_ioctl (Depends-on): Update.
4655         * modules/sys_select (Depends-on): Update.
4656         * modules/sys_socket (Depends-on): Update.
4657         * modules/sys_stat (Depends-on): Update.
4658         * modules/sys_time (Depends-on): Update.
4659         * modules/sys_times (Depends-on): Update.
4660         * modules/sys_utsname (Depends-on): Update.
4661         * modules/sys_wait (Depends-on): Update.
4662         * modules/termios (Depends-on): Update.
4663         * modules/time (Depends-on): Update.
4664         * modules/unistd (Depends-on): Update.
4665         * modules/wchar (Depends-on): Update.
4666         * modules/wctype-h (Depends-on): Update.
4667         * MODULES.html.sh (Support for building libraries and executables):
4668         Update.
4669
4670         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
4671         * modules/snippet/unused-parameter: Renamed from
4672         modules/unused-parameter.
4673         (Files, Makefile.am): Update.
4674         * build-aux/snippet/unused-parameter.h: Renamed from
4675         build-aux/unused-parameter.h.
4676         * modules/selinux-h (Depends-on): Update.
4677         * modules/unistr/base (Depends-on): Update.
4678         * MODULES.html.sh (Core language properties): Update.
4679
4680         Rename module 'link-warning' to 'snippet/link-warning'.
4681         * modules/snippet/link-warning: Renamed from modules/link-warning.
4682         (Files, Makefile.am): Update.
4683         * build-aux/snippet/link-warning.h: Renamed from
4684         build-aux/link-warning.h.
4685         * MODULES.html.sh (Support for building libraries and executables):
4686         Update.
4687
4688         Rename module 'c++defs' to 'snippet/c++defs'.
4689         * modules/snippet/c++defs: Renamed from modules/c++defs.
4690         (Files, Makefile.am): Update.
4691         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
4692         * modules/arpa_inet (Depends-on): Update.
4693         * modules/ctype (Depends-on): Update.
4694         * modules/dirent (Depends-on): Update.
4695         * modules/fcntl-h (Depends-on): Update.
4696         * modules/glob (Depends-on): Update.
4697         * modules/iconv-h (Depends-on): Update.
4698         * modules/langinfo (Depends-on): Update.
4699         * modules/locale (Depends-on): Update.
4700         * modules/math (Depends-on): Update.
4701         * modules/netdb (Depends-on): Update.
4702         * modules/poll-h (Depends-on): Update.
4703         * modules/pty (Depends-on): Update.
4704         * modules/search (Depends-on): Update.
4705         * modules/signal (Depends-on): Update.
4706         * modules/spawn (Depends-on): Update.
4707         * modules/stdio (Depends-on): Update.
4708         * modules/stdlib (Depends-on): Update.
4709         * modules/string (Depends-on): Update.
4710         * modules/strings (Depends-on): Update.
4711         * modules/sys_ioctl (Depends-on): Update.
4712         * modules/sys_select (Depends-on): Update.
4713         * modules/sys_socket (Depends-on): Update.
4714         * modules/sys_stat (Depends-on): Update.
4715         * modules/sys_time (Depends-on): Update.
4716         * modules/sys_wait (Depends-on): Update.
4717         * modules/termios (Depends-on): Update.
4718         * modules/time (Depends-on): Update.
4719         * modules/unistd (Depends-on): Update.
4720         * modules/wchar (Depends-on): Update.
4721         * modules/wctype-h (Depends-on): Update.
4722
4723         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
4724         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
4725         (Files, Makefile.am): Update.
4726         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
4727         * modules/argv-iter (Depends-on): Update.
4728         * modules/arpa_inet (Depends-on): Update.
4729         * modules/dirent (Depends-on): Update.
4730         * modules/fcntl-h (Depends-on): Update.
4731         * modules/fnmatch (Depends-on): Update.
4732         * modules/getopt-posix (Depends-on): Update.
4733         * modules/glob (Depends-on): Update.
4734         * modules/iconv-h (Depends-on): Update.
4735         * modules/inttypes-incomplete (Depends-on): Update.
4736         * modules/locale (Depends-on): Update.
4737         * modules/math (Depends-on): Update.
4738         * modules/netdb (Depends-on): Update.
4739         * modules/search (Depends-on): Update.
4740         * modules/signal (Depends-on): Update.
4741         * modules/spawn (Depends-on): Update.
4742         * modules/stdio (Depends-on): Update.
4743         * modules/stdlib (Depends-on): Update.
4744         * modules/string (Depends-on): Update.
4745         * modules/strings (Depends-on): Update.
4746         * modules/sys_socket (Depends-on): Update.
4747         * modules/sys_stat (Depends-on): Update.
4748         * modules/sys_time (Depends-on): Update.
4749         * modules/sys_times (Depends-on): Update.
4750         * modules/sys_utsname (Depends-on): Update.
4751         * modules/time (Depends-on): Update.
4752         * modules/unistd (Depends-on): Update.
4753         * modules/wchar (Depends-on): Update.
4754         * MODULES.html.sh (Support for building libraries and executables):
4755         Update.
4756
4757 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
4758
4759         Improvements on _Noreturn and related modules.
4760
4761         modules/_Exit-tests: test _Noreturn too
4762         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
4763         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
4764         (main): Use them.
4765
4766         stdnoreturn, stdnoreturn-tests: remove modules
4767         They're not needed here and a bit premature for use elsewhere.  See
4768         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
4769         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
4770         * tests/test-stdnoreturn.c: Remove files.
4771         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
4772         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
4773         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
4774         and using noreturn.
4775         * modules/openat, modules/sigpipe-die, modules/xalloc:
4776         * modules/xmemdup0, modules/xstrtol:
4777         Remove dependency on stdnoreturn.
4778
4779         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
4780         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
4781         Reparenthesize to avoid GCC warning.
4782         Support Microsoft's syntax.
4783         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
4784
4785         _Noreturn-tests: remove module
4786         * modules/_Noreturn-tests: Remove.
4787         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
4788         * tests/test-_Noreturn.c: Remove.
4789         * tests/test-stdnoreturn.c: Merge from the old
4790         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
4791
4792 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
4793
4794         _Noreturn, stdnoreturn, and related modules.
4795
4796         * top/maint.mk: Adjust to new noreturn support.
4797         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
4798         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
4799
4800         xalloc: use stdnoreturn.h
4801         * lib/xalloc.h: Include <stdnoreturn.h>.
4802         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
4803         * modules/xalloc (Depends-on): Add stdnoreturn.
4804
4805         xstrtol: use stdnoreturn.h
4806         * lib/xstrtol.h: Include <stdnoreturn.h>.
4807         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
4808         * modules/xstrtol (Depends-on): Add stdnoreturn.
4809
4810         xmemdup0: use stdnoreturn.h
4811         * lib/xmemdup0.h: Include <stdnoreturn.h>.
4812         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
4813         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
4814
4815         sigpipe-die: use stdnoreturn.h
4816         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
4817         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
4818         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
4819
4820         openat: use stdnoreturn.h
4821         * lib/openat.h: Include <stdnoreturn.h>.
4822         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
4823         * modules/openat (Depends-on): Add stdnoreturn.
4824
4825         * lib/openat-die.c (openat_save_fail): Modernize comment.
4826
4827         * lib/xalloc-die.c (xalloc_die): Modernize comment.
4828
4829         * lib/glthread/thread.h: Modernize comment.
4830
4831         obstack: use _Noreturn
4832         * lib/obstack.c (__attribute__): Remove macro.
4833         (print_and_abort): Use _Noreturn.
4834
4835         c-stack: use _Noreturn
4836         * lib/c-stack.c (die, overflow_handler, segv_handler):
4837         Use _Noreturn rather than __attribute__((noreturn)).
4838
4839         argmatch-tests, exclude_tests: use _Noreturn
4840         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
4841         Remove.
4842         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
4843
4844         stdlib: use _Noreturn
4845         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
4846         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
4847         * modules/stdlib (Depends-on): Add _Noreturn.
4848         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
4849
4850         stdnoreturn-tests: new module
4851         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
4852
4853         stdnoreturn: new module
4854         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
4855         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
4856
4857         _Noreturn-tests: new module
4858         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
4859
4860         _Noreturn: new module
4861         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
4862         New section, mentioning it.
4863         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
4864
4865         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
4866
4867 2011-07-11  Eric Blake  <eblake@redhat.com>
4868
4869         ffs: new module
4870         * modules/ffs: New file.
4871         * m4/ffs.m4: Likewise.
4872         * lib/ffs.c: Likewise.
4873         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
4874         * modules/strings (Makefile.am): Substitute witness.
4875         (Depends-on): Add c++defs.
4876         * lib/strings.in.h (ffs): Declare.
4877         * modules/ffs-tests: New test file.
4878         * tests/test-ffs.c: Test new module.
4879         * MODULES.html.sh (Integer arithmetic functions): Mention it.
4880         * doc/posix-functions/ffs.texi (ffs): Likewise.
4881
4882         regex: avoid compiler warning
4883         * lib/regex.c (includes): Include <strings.h>, for use of
4884         strcasecmp in regcomp.c.
4885         Reported by Joachim Schmitz.
4886
4887 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
4888
4889         stdint: respect system's intmax_t if INTMAX_MAX
4890         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
4891         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
4892         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
4893         long but int64_t is long long, and where we will clash with the
4894         system intmax_t if we override it.  See
4895         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
4896         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
4897         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
4898         similarly for UINTMAX_C.
4899
4900 2011-07-08  Bruno Haible  <bruno@clisp.org>
4901
4902         pthread_sigmask tests: Avoid a compiler warning.
4903         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
4904         non-zero.
4905
4906         sigprocmask tests: A better way to avoid a compiler warning.
4907         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
4908         (main): Complain if system() returns non-zero.
4909         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
4910
4911 2011-07-08  Bruno Haible  <bruno@clisp.org>
4912
4913         pthread_sigmask: Work around IRIX bug.
4914         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
4915         bug.
4916         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
4917         there may be unblocked pending signals.
4918         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
4919
4920 2011-07-08  Bruno Haible  <bruno@clisp.org>
4921
4922         pthread_sigmask: Work around Cygwin bug.
4923         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
4924         bug.
4925         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
4926         the system's pthread_sigmask function.
4927         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
4928
4929 2011-07-08  Bruno Haible  <bruno@clisp.org>
4930
4931         pthread_sigmask: Work around bug in single-threaded implementation.
4932         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
4933         FreeBSD, HP-UX, Solaris bug.
4934         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
4935         * lib/pthread_sigmask.c: Include <stddef.h>.
4936         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
4937         the system's pthread_sigmask function.
4938         * modules/pthread_sigmask (configure.ac): Invoke
4939         gl_PREREQ_PTHREAD_SIGMASK.
4940         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
4941         HP-UX, Solaris.
4942
4943 2011-07-08  Eric Blake  <eblake@redhat.com>
4944
4945         test-sigprocmask: avoid compiler warning
4946         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
4947         * tests/test-sigprocmask.c (main): Use it to silence warning.
4948         Reported by Jim Meyering.
4949
4950         test-snprintf: avoid compiler warning
4951         * tests/test-snprintf.c (main): Avoid shadowed declaration.
4952         * tests/test-vsnprintf.c (main): Likewise.
4953         Reported by Jim Meyering.
4954
4955 2011-07-08  Bruno Haible  <bruno@clisp.org>
4956
4957         Tests for module 'pthread_sigmask'.
4958         * modules/pthread_sigmask-tests: New file.
4959         * tests/test-pthread_sigmask1.c: New file, based on
4960         tests/test-sigprocmask.c.
4961         * tests/test-pthread_sigmask2.c: New file.
4962
4963 2011-07-08  Jim Meyering  <meyering@redhat.com>
4964
4965         test-getopt.h: avoid warning about an unused variable
4966         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
4967
4968 2011-07-07  Jim Meyering  <meyering@redhat.com>
4969
4970         maint: reduce list of files exempt from sc_prohibit_leading_TABs
4971         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
4972         now that it no longer contains leading TABs.
4973         Remove unused "url=FIXME" statement.
4974
4975 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
4976
4977         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
4978         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
4979         When gl_THREADLIB is not in use, assume that the POSIX sematics
4980         are desired.  This is better for Emacs, which uses POSIX semantics
4981         on GNUish and/or POSIXish platforms, and does not use threads at
4982         all otherwise.
4983
4984         pthread_sigmask: fix typo when testing for libraries
4985         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
4986         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
4987
4988 2011-07-08  Eric Blake  <eblake@redhat.com>
4989
4990         fts: introduce FTS_NOATIME
4991         * lib/fts_.h (FTS_NOATIME): New bit flag.
4992         (FTS_OPTIONMASK): Adjust.
4993         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
4994         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
4995
4996 2011-07-08  Bruno Haible  <bruno@clisp.org>
4997
4998         Tests for module 'thread'.
4999         * modules/thread-tests: New file.
5000         * tests/test-thread_self.c: New file.
5001         * tests/test-thread_create.cc: New file.
5002
5003 2011-07-08  Bruno Haible  <bruno@clisp.org>
5004
5005         thread: Avoid gcc warnings when using gl_thread_self().
5006         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
5007         'void *'.
5008         (gl_thread_self_pointer): Update.
5009
5010 2011-07-07  Bruno Haible  <bruno@clisp.org>
5011
5012         signal-c++-tests: Check declaration of pthread_sigmask.
5013         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
5014         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
5015         $(LIB_PTHREAD_SIGMASK).
5016
5017 2011-07-07  Bruno Haible  <bruno@clisp.org>
5018
5019         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
5020         * lib/signal.in.h (pthread_sigmask): Override if
5021         REPLACE_PTHREAD_SIGMASK is 1.
5022         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
5023         REPLACE_PTHREAD_SIGMASK.
5024         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
5025         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
5026         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
5027         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
5028         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
5029
5030 2011-07-07  Bruno Haible  <bruno@clisp.org>
5031
5032         pthread_sigmask: Ensure declaration in <signal.h>.
5033         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
5034         include <pthread.h>.
5035         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
5036         problem.
5037
5038 2011-07-07  Bruno Haible  <bruno@clisp.org>
5039
5040         pthread_sigmask: Document the module.
5041         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
5042
5043 2011-07-07  Bruno Haible  <bruno@clisp.org>
5044
5045         pthread_sigmask: Follow gnulib conventions.
5046         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
5047         gl_PTHREAD_SIGMASK.
5048         * modules/pthread_sigmask (configure.ac): Update.
5049
5050 2011-07-07  Bruno Haible  <bruno@clisp.org>
5051
5052         pthread_sigmask: Make declaration C++ safe.
5053         * lib/signal.in.h: In two special conditions, just do an #include_next.
5054         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
5055         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
5056         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
5057         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
5058         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
5059         not REPLACE_PTHREAD_MASK.
5060         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
5061         not REPLACE_PTHREAD_MASK.
5062         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
5063
5064 2011-07-07  Bruno Haible  <bruno@clisp.org>
5065
5066         pthread_sigmask: Fix return value.
5067         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
5068         * lib/pthread_sigmask.c: New file.
5069         * modules/pthread_sigmask (Files): Add it.
5070         (configure.ac): Invoke AC_LIBOBJ.
5071
5072 2011-07-07  Eric Blake  <eblake@redhat.com>
5073
5074         getopt: more portable argv creation
5075         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
5076         const, use char arrays rather than strings.
5077         Suggested by Paul Eggert.
5078
5079 2011-07-07  Bruno Haible  <bruno@clisp.org>
5080
5081         Tests for module 'sigprocmask'.
5082         * modules/sigprocmask-tests: New file.
5083         * tests/test-sigprocmask.c: New file.
5084
5085 2011-07-07  Bruno Haible  <bruno@clisp.org>
5086
5087         float tests: Tweak.
5088         * tests/test-float.c (main): Tweak skip message.
5089
5090 2011-07-07  Eric Blake  <eblake@redhat.com>
5091
5092         getopt: avoid compiler warning during configure
5093         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
5094         assigning string literals to non-const pointer.
5095
5096         getopt-gnu: avoid crash in glibc getopt
5097         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
5098         * tests/test-getopt.h (test_getopt): Enhance test.
5099         * tests/test-getopt_long.h (test_getopt_long): Likewise.
5100         * doc/posix-functions/getopt.texi (getopt): Document it.
5101         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
5102         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
5103         Likewise.
5104
5105 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
5106
5107         getopt: handle W; without long options in getopt [BZ #12922]
5108         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
5109         but no long options are defined, just return 'W'.
5110
5111 2011-07-07  Bruno Haible  <bruno@clisp.org>
5112
5113         Avoid literal tabs.
5114         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
5115         variable containing a tab instead of a literal tab.
5116         Reported by Jim Meyering.
5117
5118 2011-07-07  Bruno Haible  <bruno@clisp.org>
5119
5120         Comments.
5121         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
5122
5123 2011-07-06  Bruno Haible  <bruno@clisp.org>
5124
5125         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
5126         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
5127         <winsock2.h>.
5128         (rpl_fd_isset, FD_ISSET): New definitions, copied from
5129         lib/sys_socket.in.h.
5130         (close, gethostname): Hide declarations from <winsock2.h>.
5131         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
5132         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
5133         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
5134         (select): Don't override if gnulib's <sys/select.h> was already
5135         included.
5136         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
5137         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
5138         setsockopt, shutdown, select): Tweak indentation.
5139
5140 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
5141
5142         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
5143         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
5144         in an application that does not use the sys_select module.
5145
5146 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
5147
5148         poll: do not return 0 on timeout=-1
5149         * lib/poll.c: Loop with yield if no events occured
5150
5151 2011-07-06  Eric Blake  <eblake@redhat.com>
5152
5153         pthread_sigmask: always replace when not using pthread
5154         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
5155         replacement when using some threading other than pthread.  Fix
5156         logic bug.
5157
5158 2011-07-06  Bruno Haible  <bruno@clisp.org>
5159
5160         Comments.
5161         * m4/printf.m4: Update comments about mingw.
5162
5163 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
5164
5165         sys_select: define sigset_t more portably
5166         * lib/sys_select.in.h: Always include <sys/types.h>, since
5167         we now need sigset_t and mingw defines it there.
5168         Include <signal.h> before split inclusion guard, to avoid
5169         mishaps on Solaris, whose <signal.h> eventually includes us.
5170         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
5171         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
5172         which come from ...
5173         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
5174         gl_CHECK_TYPE_SIGSET_T.
5175         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
5176         does the real work.
5177         * modules/sys_select (Depends-on): Add 'signal'.
5178
5179         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
5180         Suggested by Bruno Haible.
5181
5182         pselect: Use pthread_sigmask, not sigprocmask.
5183         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
5184         multithreaded apps better than sigprocmask does.
5185         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
5186         sigprocmask directly.
5187
5188 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
5189
5190         * lib/pselect.c (pselect): Use plain name, without "rpl_".
5191         Don't #undef,  since we don't need any underlying pselect.
5192         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
5193         (Depends-on): Add select.
5194         (Link): Add $(LIBSOCKET).
5195         These changes suggested by Bruno Haible.
5196
5197         pselect: document better
5198         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
5199         * doc/posix-functions/pselect.texi (pselect): Document new module.
5200
5201         pthread_sigmask: new module
5202         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
5203         * doc/posix-functions/pthread_sigmask.texi: Document new module.
5204         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
5205         This is done only as a macro; I don't know how well that'll
5206         work for C++.  Move <sys/types.h> include before the include_next,
5207         to avoid mishap on Solaris.
5208         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
5209         * modules/signal (Makefile.am): Substitute the check's results.
5210         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
5211
5212         test-pselect: new module
5213         * modules/pselect-tests, tests/test-pselect.c: New files.
5214         * tests/test-select.c, tests/test-sys_select-c++.cc:
5215         If TEST_PSELECT is defined, test pselect instead of testing select.
5216
5217         * tests/test-sys_select.c (sigset_t): Test for it, too.
5218         Suggested by Bruno Haible.
5219
5220 2011-07-05  Eric Blake  <eblake@redhat.com>
5221
5222         snprintf: guarantee %1$d, for libintl
5223         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
5224         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
5225         * doc/posix-functions/snprintf.texi (snprintf): Update.
5226         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
5227         * tests/test-snprintf.c (main): Enhance test.
5228         * tests/test-vsnprintf.c (main): Likewise.
5229
5230 2011-07-05  Jim Meyering  <meyering@redhat.com>
5231
5232         maint: exempt stdio-read.c and stdio-write.c from the cppi check
5233         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
5234         per Bruno's request, to accommodate this idiom (no space after "#")
5235         even when the function is inside an #if block:
5236         char *
5237         gets (char *s)
5238         #undef gets
5239         {
5240           ...
5241         }
5242
5243 2011-07-04  Jim Meyering  <meyering@redhat.com>
5244
5245         maint: indent with spaces, not TABs, and add a rule to check this
5246         * tests/test-userspec.c: Indent with spaces, not TABs.
5247         * tests/test-argp.c: Likewise.
5248         * tests/test-c-stack2.sh: Likewise.
5249         * tests/test-parse-duration.sh: Likewise
5250         * m4/strtod.m4: Likewise.
5251         * m4/alloca.m4: Likewise.
5252         * m4/pselect.m4: Likewise.
5253         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
5254
5255 2011-07-03  Jim Meyering  <meyering@redhat.com>
5256
5257         maint.mk: correct omissions in prohibit_argmatch_without_use check
5258         This rule would mistakenly report that argmatch.h is included without
5259         use even when both the argmatch and invalid_arg macro were used.
5260         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
5261         of argmatch and invalid_arg.
5262
5263 2011-07-03  Bruno Haible  <bruno@clisp.org>
5264
5265         Comments about EINTR.
5266         * lib/safe-read.h: Explain the purpose of this module.
5267         * lib/safe-write.h: Likewise.
5268         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
5269         module.
5270         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
5271         module.
5272         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5273
5274 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
5275
5276         xnanosleep: Rewrite to use new dtotimespec module.
5277         It has the conversion code that used to be in xnanosleep.
5278         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
5279         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
5280         (TIME_T_MAX): Remove.
5281         (xnanosleep): Rewrite in terms of dtotimespec.
5282         * modules/xnanosleep (Depends-on): Add dtotimespec.
5283         Remove intprops, stdbool.
5284
5285         timespec-add, timespec-sub: new modules
5286         * lib/timespec.h (timespec_add, timespec_sub): New decls.
5287         * lib/timespec-add.c, lib/timespec-sub.c:
5288         * modules/timespec-add, modules/timespec-sub: New files.
5289
5290         dtotimespec: new module
5291         * lib/timespec.h (dtotimespec): New decl.
5292         * lib/dtotimespec.c, modules/dtotimespec: New files.
5293
5294         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
5295
5296         pselect: new module
5297         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
5298         (pselect): New decls.
5299         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
5300         since the standard pselect decl uses 'restrict'.
5301         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
5302         HAVE_PSELECT, REPLACE_PSELECT.
5303         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
5304         HAVE_PSELECT, REPLACE_PSELECT.
5305         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
5306
5307         sys_select: don't depend on sys_socket
5308         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
5309         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
5310         This fix works on GNU and GNU-like platforms, but has not been tested
5311         on native Windows.
5312         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
5313         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
5314         gl_HEADER_SYS_SOCKET.
5315         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
5316         gl_PREREQ_SYS_H_WINSOCK2.
5317
5318 2011-06-29  Eric Blake  <eblake@redhat.com>
5319
5320         pipe2: fix C89 compile problem
5321         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
5322         Reported by Bruno Haible.
5323
5324         pipe, pipe2: don't corrupt fd on error
5325         * lib/pipe.c (pipe): Leave fd unchanged on error.
5326         * lib/pipe2.c (pipe2): Likewise.
5327         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
5328         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
5329
5330 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
5331
5332         mmap-anon: do not use regular expressions inadvertently
5333         * m4/mmap-anon.m4: Remove trailing period from strings sought
5334         in the output.
5335
5336 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
5337
5338         nanosleep: fix integer overflow problem
5339         * lib/nanosleep.c (my_usleep): Don't assume signed integer
5340         arithmetic wraps around on overflow.
5341
5342         nanosleep: simplify carrying
5343         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
5344         first call to the underyling nanosleep, not for the last one.
5345         This doesn't fix any bugs, but it simplifies the computation of
5346         the remaining delay.  Found while auditing integer overflow issues.
5347
5348         dup2: remove test for existence of fcntl
5349         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
5350         "#if HAVE_FCNTL", in the configure-time test program.
5351         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
5352         and therefore speeds up "configure" a bit.  Found while
5353         adding the dup2 module to Emacs.
5354
5355 2011-06-24  Eric Blake  <eblake@redhat.com>
5356
5357         maint.mk: enhance useless header checks
5358         * top/maint.mk (_sc_header_without_use): Check both include
5359         styles.
5360         (sc_prohibit_assert_without_use)
5361         (sc_prohibit_close_stream_without_use)
5362         (sc_prohibit_getopt_without_use)
5363         (sc_prohibit_quotearg_without_use)
5364         (sc_prohibit_quote_without_use)
5365         (sc_prohibit_long_options_without_use)
5366         (sc_prohibit_inttostr_without_use)
5367         (sc_prohibit_ignore_value_without_use)
5368         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
5369         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
5370         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
5371         (sc_prohibit_hash_pjw_without_use)
5372         (sc_prohibit_safe_read_without_use)
5373         (sc_prohibit_argmatch_without_use)
5374         (sc_prohibit_canonicalize_without_use)
5375         (sc_prohibit_root_dev_ino_without_use)
5376         (sc_prohibit_openat_without_use)
5377         (sc_prohibit_c_ctype_without_use)
5378         (sc_prohibit_signal_without_use)
5379         (sc_prohibit_stdio--_without_use)
5380         (sc_prohibit_stdio-safer_without_use)
5381         (sc_prohibit_strings_without_use)
5382         (sc_prohibit_intprops_without_use)
5383         (sc_prohibit_stddef_without_use)
5384         (sc_prohibit_xfreopen_without_use): Update clients.
5385
5386 2011-06-24  Jim Meyering  <meyering@redhat.com>
5387
5388         syntax-check: keep one maint.mk rule in sync with its header
5389         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
5390         of the bug Eric has just fixed, with today's commit 25e4c2ec.
5391         I prefer to avoid temporary files here, so use <(...), but that
5392         is not supported by /bin/sh, so...
5393         (SHELL): Define to /bin/bash.
5394
5395 2011-06-24  Eric Blake  <eblake@redhat.com>
5396
5397         maint.mk: update sc_prohibit_intprops_without_use
5398         * top/maint.mk (_intprops_names): Match recent changes.
5399
5400 2011-06-24  Bruno Haible  <bruno@clisp.org>
5401
5402         strerror-override: No-op tweak.
5403         * lib/strerror-override.h (strerror_override): Reorder conditions,
5404         for consistency with lib/strerror-override.c.
5405
5406 2011-06-23  Eric Blake  <eblake@redhat.com>
5407
5408         maint.mk: test further PATH_MAX issues
5409         * top/maint.mk (sc_prohibit_path_max_array): Rename...
5410         (sc_prohibit_path_max_allocation): ...and also test alloca.
5411         Suggested by Jim Meyering.
5412
5413 2011-06-22  Eric Blake  <eblake@redhat.com>
5414
5415         maint.mk: add syntax-check to avoid char[PATH_MAX]
5416         * top/maint.mk (sc_prohibit_path_max_array): New rule.
5417
5418         stat: be robust to PATH_MAX definition
5419         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
5420         * modules/stat (Depends-on): Add verify.
5421
5422         link: work around IRIX bug
5423         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
5424         * lib/link.c (rpl_link): Work around it.
5425         * tests/test-link.h (test_link): Enhance test.
5426         * doc/posix-functions/link.texi (link): Document the bug.
5427
5428         getopt: silence clang warning
5429         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
5430         dereference.
5431         Reported by Gustavo Martin Domato.
5432
5433 2011-06-22  Jim Meyering  <meyering@redhat.com>
5434
5435         bootstrap: do not insert a blank line into each .gitignore file
5436         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
5437
5438 2011-06-21  Eric Blake  <eblake@redhat.com>
5439
5440         perror: test for output mismatch
5441         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
5442         perror on IRIX.
5443
5444         strerror_r: fix OpenBSD behavior on out-of-range
5445         * lib/strerror_r.c (strerror_r): Always use maximal string.
5446         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
5447
5448         strerror_r: fix OpenBSD behavior on 0
5449         * lib/strerror-override.c (strerror_override): Also override 0
5450         when needed.
5451         * lib/strerror-override.h (strerror_override): Likewise.
5452         * lib/strerror.c (strerror): Simplify, now that 0 override is done
5453         earlier.
5454         * lib/strerror_r.c (strerror_r): Likewise.
5455         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
5456         behavior...
5457         (gl_FUNC_STRERROR_0): ...into new macro.
5458         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
5459         is overridden.
5460         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
5461         * modules/strerror-override (Files): Add strerror.m4.
5462         (configure.ac): Also provide override for 0 when needed.
5463         * doc/posix-functions/strerror.texi (strerror): Document this.
5464         * doc/posix-functions/perror.texi (perror): Likewise.
5465
5466         perror: adjust array size
5467         * modules/perror (Depends-on): Add strerror-override.
5468         * lib/perror.c (perror): Use it to avoid magic number.
5469
5470         strerror-override: reduce size
5471         * lib/strerror-override.c (strerror_override): Use fewer lines.
5472
5473 2011-06-20  Bruno Haible  <bruno@clisp.org>
5474
5475         pathmax: Ensure correct value for PATH_MAX on HP-UX.
5476         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
5477
5478 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
5479
5480         alloca: port to compilers that can optimize like GCC 4.6.0
5481         * lib/alloca.c (find_stack_direction): New signature, taken from
5482         Autoconf git.  This works with GCC 4.6.0.  This code should never
5483         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
5484         be used with other compilers that optimize as well as GCC 4.6.0 does.
5485         (alloca): Adjust to new signature.
5486         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
5487         New macro, which patches Autoconf in a similar way.
5488
5489         c-stack: stop worrying about stack direction
5490         * lib/c-stack.c (find_stack_direction): Remove.
5491         (segv_handler): Don't worry about stack direction growth, as it's
5492         too much of a pain to configure this correctly, given how compilers
5493         are optimizing-away our stack-growth detection code.  Instead, assume
5494         that any access to just before or just after the stack is OK.
5495         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
5496         Don't require AC_FUNC_ALLOCA; no longer needed.
5497
5498 2011-06-20  Eric Blake  <eblake@redhat.com>
5499
5500         test-stat: don't allocate PATH_MAX bytes
5501         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
5502         PATH_MAX-sized buffer.
5503         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
5504         * modules/stat-tests (Depends-on): Likewise.
5505         * tests/test-fstatat.c (includes): Drop pathmax.h.
5506         * tests/test-stat.c (includes): Likewise.
5507         Reported by Bruno Haible.
5508
5509 2011-06-20  Bruno Haible  <bruno@clisp.org>
5510
5511         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
5512         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
5513         * lib/float.c: New file.
5514         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
5515         REPLACE_FLOAT_LDBL.
5516         * modules/float (Files): Add lib/float.c.
5517         (configure.ac): Invoke AC_LIBOBJ.
5518         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
5519
5520 2011-06-20  Bruno Haible  <bruno@clisp.org>
5521
5522         Tests for module 'float'.
5523         * modules/float-tests: New file.
5524         * tests/test-float.c: New file.
5525
5526 2011-06-19  Bruno Haible  <bruno@clisp.org>
5527
5528         isinf: Coding style.
5529         * lib/isinf.c: Use GNU coding style.
5530
5531 2011-06-19  Bruno Haible  <bruno@clisp.org>
5532
5533         linkat test: Avoid test failure on AIX 7.1.
5534         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
5535         * tests/test-link.h (test_link): Likewise.
5536
5537 2011-06-19  Bruno Haible  <bruno@clisp.org>
5538
5539         pread test: Avoid test failure on OpenBSD 4.9.
5540         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
5541
5542 2011-06-19  Bruno Haible  <bruno@clisp.org>
5543
5544         sprintf-posix: Fix test failure on AIX 7.1.
5545         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
5546         * doc/posix-functions/dprintf.texi: Mention limited precision problem
5547         on AIX.
5548         * doc/posix-functions/fprintf.texi: Likewise.
5549         * doc/posix-functions/printf.texi: Likewise.
5550         * doc/posix-functions/snprintf.texi: Likewise.
5551         * doc/posix-functions/sprintf.texi: Likewise.
5552         * doc/posix-functions/vdprintf.texi: Likewise.
5553         * doc/posix-functions/vfprintf.texi: Likewise.
5554         * doc/posix-functions/vprintf.texi: Likewise.
5555         * doc/posix-functions/vsnprintf.texi: Likewise.
5556         * doc/posix-functions/vsprintf.texi: Likewise.
5557
5558 2011-06-19  Bruno Haible  <bruno@clisp.org>
5559
5560         roundl-ieee: Fix test failure on AIX 7.1.
5561         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
5562         * doc/posix-functions/roundl.texi: Mention problem with negative
5563         arguments.
5564
5565 2011-06-19  Bruno Haible  <bruno@clisp.org>
5566
5567         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
5568         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
5569         * doc/posix-functions/round.texi: Mention problem with negative
5570         arguments.
5571         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
5572
5573 2011-06-19  Bruno Haible  <bruno@clisp.org>
5574
5575         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
5576         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
5577         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
5578         * doc/posix-functions/roundf.texi: Mention problem with negative
5579         arguments.
5580         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
5581
5582 2011-06-19  Bruno Haible  <bruno@clisp.org>
5583
5584         ceilf-ieee: Work around bug on MacOS X 10.5.
5585         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
5586
5587         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
5588         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
5589         IEEE compliant, avoid compiler optimizations.
5590         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
5591         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
5592         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
5593         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
5594         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
5595         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
5596         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
5597         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
5598         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
5599         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
5600
5601 2011-06-19  Bruno Haible  <bruno@clisp.org>
5602
5603         ceilf-ieee: Work around bug on AIX 7.1.
5604         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
5605         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
5606
5607 2011-06-19  Bruno Haible  <bruno@clisp.org>
5608
5609         ceil-ieee: Work around bug on AIX 7.1.
5610         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
5611         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
5612
5613 2011-06-18  Bruno Haible  <bruno@clisp.org>
5614
5615         fsync test: Avoid test failure on MacOS X and AIX.
5616         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
5617         EINVAL.
5618
5619 2011-06-18  Bruno Haible  <bruno@clisp.org>
5620
5621         openat, fdopendir tests: Fix link errors.
5622         * modules/openat-tests (Depends-on): Add progname.
5623         * modules/fdopendir-tests (Depends-on): Likewise.
5624         * tests/test-fchownat.c: Include progname.h.
5625         (main): Call set_program_name.
5626         * tests/test-fstatat.c: Include progname.h.
5627         (main): Call set_program_name.
5628         * tests/test-mkdirat.c: Include progname.h.
5629         (main): Call set_program_name.
5630         * tests/test-openat.c: Include progname.h.
5631         (main): Call set_program_name.
5632         * tests/test-unlinkat.c: Include progname.h.
5633         (main): Call set_program_name.
5634         * tests/test-fdopendir.c: Include progname.h.
5635         (main): Call set_program_name.
5636
5637 2011-06-18  Bruno Haible  <bruno@clisp.org>
5638
5639         Doc update.
5640         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
5641         HP-UX.
5642         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
5643
5644 2011-06-18  Bruno Haible  <bruno@clisp.org>
5645
5646         getcwd tests: Avoid compilation error on HP-UX 11.31.
5647         * modules/getcwd-tests (Depends-on): Add pathmax.
5648         * tests/test-getcwd.c: Include pathmax.h.
5649
5650 2011-06-18  Bruno Haible  <bruno@clisp.org>
5651
5652         isfinite, isinf: Fix link error on AIX 6 and 7.
5653         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
5654         needed, also test the macro with a 'float' argument.
5655         * m4/isinf.m4 (gl_ISINF): Likewise.
5656
5657 2011-06-18  Bruno Haible  <bruno@clisp.org>
5658
5659         getloadavg: Don't clobber LIBS. Regression from previous commit.
5660         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
5661         AC_CHECK_LIB from here...
5662         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
5663         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
5664         gl_func_getloadavg_done.
5665         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5666
5667 2011-06-18  Bruno Haible  <bruno@clisp.org>
5668
5669         clean-temp: Improve documentation.
5670         * lib/clean-temp.h: Explain better how to use this module.
5671         Reported by John Darrington <john@darrington.wattle.id.au>.
5672
5673 2011-06-17  Bruno Haible  <bruno@clisp.org>
5674
5675         pread, pwrite: Avoid cc warning on AIX.
5676         * lib/unistd.in.h (pread): Undefine before defining as a macro.
5677         (pwrite): Likewise.
5678
5679 2011-06-17  Bruno Haible  <bruno@clisp.org>
5680
5681         spawn-pipe tests: Fix link error.
5682         * tests/test-spawn-pipe-child.c: Undefine fprintf.
5683         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5684
5685 2011-06-17  Bruno Haible  <bruno@clisp.org>
5686
5687         Tests: Remove unnecessary dependency.
5688         * modules/canonicalize-tests (Depends-on): Remove progname.
5689         * modules/chown-tests (Depends-on): Likewise.
5690         * modules/dirname-tests (Depends-on): Likewise.
5691         * modules/fdopendir-tests (Depends-on): Likewise.
5692         * modules/fdutimensat-tests (Depends-on): Likewise.
5693         * modules/hash-tests (Depends-on): Likewise.
5694         * modules/lchown-tests (Depends-on): Likewise.
5695         * modules/linkat-tests (Depends-on): Likewise.
5696         * modules/renameat-tests (Depends-on): Likewise.
5697         * modules/spawn-pipe-tests (Depends-on): Likewise.
5698         * modules/utimensat-tests (Depends-on): Likewise.
5699
5700 2011-06-17  Bruno Haible  <bruno@clisp.org>
5701
5702         spawn-pipe tests: Fix link error.
5703         * tests/test-spawn-pipe-child.c: Undefine fflush.
5704
5705 2011-06-17  Bruno Haible  <bruno@clisp.org>
5706
5707         Fix tests link errors.
5708         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
5709         * modules/chown-tests (Makefile.am): Don't link test-chown with
5710         LIBINTL.
5711         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
5712         LIBINTL.
5713         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
5714         LIBINTL.
5715         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
5716         LIBINTL.
5717
5718 2011-06-16  Bruno Haible  <bruno@clisp.org>
5719
5720         crypto/gc-sha1: Fix recent regression.
5721         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
5722         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
5723
5724         crypto/gc-md5: Fix recent regression.
5725         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
5726
5727         crypto/gc-md4: Fix recent regression.
5728         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
5729         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
5730
5731         crypto/gc-arctwo: Fix recent regression.
5732         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
5733         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
5734
5735         crypto/gc-rijndael: Fix recent regression.
5736         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
5737         (configure.ac): Invoke AC_LIBOBJ here.
5738         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
5739         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5740
5741         crypto/gc-hmac-sha1: Fix recent regression.
5742         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
5743         (configure.ac): Invoke AC_LIBOBJ here.
5744         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
5745         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5746
5747         crypto/gc-hmac-md5: Fix recent regression.
5748         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
5749         (configure.ac): Invoke AC_LIBOBJ here.
5750         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
5751         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5752
5753         crypto/gc-des: Fix recent regression.
5754         * modules/crypto/gc-des (Files): Remove m4/des.m4.
5755         (configure.ac): Invoke AC_LIBOBJ here.
5756         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
5757         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5758
5759         crypto/gc-arcfour: Fix recent regression.
5760         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
5761         (configure.ac): Invoke AC_LIBOBJ here.
5762         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
5763         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5764
5765 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
5766
5767         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
5768         After the 2011-05-21 change, this macro requires
5769         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
5770         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
5771
5772 2011-06-16  Bruno Haible  <bruno@clisp.org>
5773
5774         fprintftime: Move AC_LIBOBJ invocations to module description.
5775         * m4/fprintftime.m4: Remove file.
5776         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
5777         (configure.ac): Remove gl_FPRINTFTIME call.
5778         (Makefile.am): Augment lib_SOURCES.
5779         Reported by Jim Meyering.
5780
5781 2011-06-16  Bruno Haible  <bruno@clisp.org>
5782
5783         tmpfile-safer: Finish 2011-05-23 commit.
5784         * m4/stdio-safer.m4: Really remove file.
5785         Reported by Jim Meyering.
5786
5787 2011-06-16  Bruno Haible  <bruno@clisp.org>
5788
5789         syntax-check: Fix typo.
5790         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
5791         printf-posix.m4.
5792         Reported by Jim Meyering.
5793
5794 2011-06-13  Jim Meyering  <meyering@redhat.com>
5795
5796         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
5797         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
5798
5799 2011-05-23  Bruno Haible  <bruno@clisp.org>
5800
5801         yesno: Move AC_LIBOBJ invocations to module description.
5802         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
5803         * modules/yesno (Makefile.am): Augment lib_SOURCES.
5804
5805 2011-05-23  Bruno Haible  <bruno@clisp.org>
5806
5807         xstrtol: Move AC_LIBOBJ invocations to module description.
5808         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
5809         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
5810
5811 2011-05-23  Bruno Haible  <bruno@clisp.org>
5812
5813         xstrtold: Move AC_LIBOBJ invocations to module description.
5814         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
5815         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
5816
5817 2011-05-23  Bruno Haible  <bruno@clisp.org>
5818
5819         xstrtod: Move AC_LIBOBJ invocations to module description.
5820         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
5821         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
5822
5823 2011-05-23  Bruno Haible  <bruno@clisp.org>
5824
5825         xnanosleep: Move AC_LIBOBJ invocations to module description.
5826         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
5827         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
5828
5829 2011-05-23  Bruno Haible  <bruno@clisp.org>
5830
5831         xgetcwd: Move AC_LIBOBJ invocations to module description.
5832         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
5833         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
5834
5835 2011-05-23  Bruno Haible  <bruno@clisp.org>
5836
5837         xalloc: Move AC_LIBOBJ invocations to module description.
5838         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
5839         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
5840
5841 2011-05-23  Bruno Haible  <bruno@clisp.org>
5842
5843         write-any-file: Move AC_LIBOBJ invocations to module description.
5844         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
5845         invocation.
5846         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
5847
5848 2011-05-23  Bruno Haible  <bruno@clisp.org>
5849
5850         utimens: Move AC_LIBOBJ invocations to module description.
5851         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
5852         * modules/utimens (Makefile.am): Augment lib_SOURCES.
5853
5854 2011-05-23  Bruno Haible  <bruno@clisp.org>
5855
5856         utimecmp: Move AC_LIBOBJ invocations to module description.
5857         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
5858         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
5859
5860 2011-05-23  Bruno Haible  <bruno@clisp.org>
5861
5862         userspec: Move AC_LIBOBJ invocations to module description.
5863         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
5864         * modules/userspec (Makefile.am): Augment lib_SOURCES.
5865
5866 2011-05-23  Bruno Haible  <bruno@clisp.org>
5867
5868         unlinkdir: Move AC_LIBOBJ invocations to module description.
5869         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
5870         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
5871
5872 2011-05-23  Bruno Haible  <bruno@clisp.org>
5873
5874         unistd-safer: Move AC_LIBOBJ invocations to module description.
5875         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
5876         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
5877
5878 2011-05-23  Bruno Haible  <bruno@clisp.org>
5879
5880         tempname: Move AC_LIBOBJ invocations to module description.
5881         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
5882         * modules/tempname (Makefile.am): Augment lib_SOURCES.
5883
5884 2011-05-23  Bruno Haible  <bruno@clisp.org>
5885
5886         strftime: Move AC_LIBOBJ invocations to module description.
5887         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
5888         * modules/strftime (Makefile.am): Augment lib_SOURCES.
5889
5890 2011-05-23  Bruno Haible  <bruno@clisp.org>
5891
5892         stdlib-safer: Move AC_LIBOBJ invocations to module description.
5893         * m4/stdlib-safer.m4: Remove file.
5894         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
5895         (configure.ac): Remove gl_STDLIB_SAFER call.
5896         (Makefile.am): Augment lib_SOURCES.
5897
5898 2011-05-23  Bruno Haible  <bruno@clisp.org>
5899
5900         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
5901         * m4/stdio-safer.m4: Remove file.
5902         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
5903         (configure.ac): Remove gl_TMPFILE_SAFER call.
5904         (Makefile.am): Augment lib_SOURCES.
5905
5906 2011-05-23  Bruno Haible  <bruno@clisp.org>
5907
5908         popen-safer: Move AC_LIBOBJ invocations to module description.
5909         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
5910         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
5911         (configure.ac): Remove gl_POPEN_SAFER call.
5912         (Makefile.am): Augment lib_SOURCES.
5913
5914 2011-05-23  Bruno Haible  <bruno@clisp.org>
5915
5916         freopen-safer: Move AC_LIBOBJ invocations to module description.
5917         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
5918         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
5919         (configure.ac): Remove gl_FREOPEN_SAFER call.
5920         (Makefile.am): Augment lib_SOURCES.
5921
5922 2011-05-23  Bruno Haible  <bruno@clisp.org>
5923
5924         fopen-safer: Move AC_LIBOBJ invocations to module description.
5925         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
5926         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
5927         (configure.ac): Remove gl_FOPEN_SAFER call.
5928         (Makefile.am): Augment lib_SOURCES.
5929
5930 2011-05-23  Bruno Haible  <bruno@clisp.org>
5931
5932         crypto/sha512: Move AC_LIBOBJ invocations to module description.
5933         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
5934         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
5935
5936 2011-05-23  Bruno Haible  <bruno@clisp.org>
5937
5938         crypto/sha256: Move AC_LIBOBJ invocations to module description.
5939         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
5940         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
5941
5942 2011-05-23  Bruno Haible  <bruno@clisp.org>
5943
5944         crypto/sha1: Move AC_LIBOBJ invocations to module description.
5945         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
5946         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
5947
5948 2011-05-23  Bruno Haible  <bruno@clisp.org>
5949
5950         settime: Move AC_LIBOBJ invocations to module description.
5951         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
5952         * modules/settime (Makefile.am): Augment lib_SOURCES.
5953
5954 2011-05-23  Bruno Haible  <bruno@clisp.org>
5955
5956         savedir: Move AC_LIBOBJ invocations to module description.
5957         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
5958         * modules/savedir (Makefile.am): Augment lib_SOURCES.
5959
5960 2011-05-23  Bruno Haible  <bruno@clisp.org>
5961
5962         save-cwd: Move AC_LIBOBJ invocations to module description.
5963         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
5964         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
5965
5966 2011-05-23  Bruno Haible  <bruno@clisp.org>
5967
5968         same: Move AC_LIBOBJ invocations to module description.
5969         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
5970         * modules/same (Makefile.am): Augment lib_SOURCES.
5971
5972 2011-05-23  Bruno Haible  <bruno@clisp.org>
5973
5974         safe-write: Move AC_LIBOBJ invocations to module description.
5975         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
5976         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
5977         instead of gl_SAFE_WRITE.
5978         (Makefile.am): Augment lib_SOURCES.
5979
5980 2011-05-23  Bruno Haible  <bruno@clisp.org>
5981
5982         safe-read: Move AC_LIBOBJ invocations to module description.
5983         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
5984         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
5985         of gl_SAFE_READ.
5986         (Makefile.am): Augment lib_SOURCES.
5987
5988 2011-05-23  Bruno Haible  <bruno@clisp.org>
5989
5990         safe-alloc: Move AC_LIBOBJ invocations to module description.
5991         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
5992         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
5993
5994 2011-05-23  Bruno Haible  <bruno@clisp.org>
5995
5996         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
5997         * m4/rijndael.m4: Remove file.
5998         * modules/crypto/rijndael (Files): Remove it.
5999         (configure.ac): Remove gl_RIJNDAEL call.
6000         (Makefile.am): Augment lib_SOURCES.
6001
6002 2011-05-23  Bruno Haible  <bruno@clisp.org>
6003
6004         readtokens: Move AC_LIBOBJ invocations to module description.
6005         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
6006         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
6007
6008 2011-05-23  Bruno Haible  <bruno@clisp.org>
6009
6010         read-file: Move AC_LIBOBJ invocations to module description.
6011         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
6012         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
6013         of gl_FUNC_READ_FILE.
6014         (Makefile.am): Augment lib_SOURCES.
6015
6016 2011-05-23  Bruno Haible  <bruno@clisp.org>
6017
6018         quotearg: Move AC_LIBOBJ invocations to module description.
6019         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
6020         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
6021
6022 2011-05-23  Bruno Haible  <bruno@clisp.org>
6023
6024         quote: Move AC_LIBOBJ invocations to module description.
6025         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
6026         * modules/quote (Makefile.am): Augment lib_SOURCES.
6027
6028 2011-05-23  Bruno Haible  <bruno@clisp.org>
6029
6030         posixver: Move AC_LIBOBJ invocations to module description.
6031         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
6032         * modules/posixver (Makefile.am): Augment lib_SOURCES.
6033
6034 2011-05-23  Bruno Haible  <bruno@clisp.org>
6035
6036         posixtm: Move AC_LIBOBJ invocations to module description.
6037         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
6038         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
6039
6040 2011-05-23  Bruno Haible  <bruno@clisp.org>
6041
6042         physmem: Move AC_LIBOBJ invocations to module description.
6043         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
6044         * modules/physmem (Makefile.am): Augment lib_SOURCES.
6045
6046 2011-05-23  Bruno Haible  <bruno@clisp.org>
6047
6048         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
6049         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
6050         invocation.
6051         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
6052
6053 2011-05-23  Bruno Haible  <bruno@clisp.org>
6054
6055         mpsort: Move AC_LIBOBJ invocations to module description.
6056         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
6057         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
6058
6059 2011-05-23  Bruno Haible  <bruno@clisp.org>
6060
6061         modechange: Move AC_LIBOBJ invocations to module description.
6062         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
6063         * modules/modechange (Makefile.am): Augment lib_SOURCES.
6064
6065 2011-05-23  Bruno Haible  <bruno@clisp.org>
6066
6067         mkdir-p: Move AC_LIBOBJ invocations to module description.
6068         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
6069         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
6070
6071 2011-05-23  Bruno Haible  <bruno@clisp.org>
6072
6073         mkancesdirs: Move AC_LIBOBJ invocations to module description.
6074         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
6075         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
6076
6077 2011-05-23  Bruno Haible  <bruno@clisp.org>
6078
6079         mgetgroups: Move AC_LIBOBJ invocations to module description.
6080         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
6081         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
6082
6083 2011-05-23  Bruno Haible  <bruno@clisp.org>
6084
6085         memxor: Move AC_LIBOBJ invocations to module description.
6086         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
6087         * modules/memxor (Makefile.am): Augment lib_SOURCES.
6088
6089 2011-05-23  Bruno Haible  <bruno@clisp.org>
6090
6091         memcoll: Move AC_LIBOBJ invocations to module description.
6092         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
6093         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
6094
6095 2011-05-23  Bruno Haible  <bruno@clisp.org>
6096
6097         memcasecmp: Move AC_LIBOBJ invocations to module description.
6098         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
6099         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
6100
6101 2011-05-23  Bruno Haible  <bruno@clisp.org>
6102
6103         crypto/md5: Move AC_LIBOBJ invocations to module description.
6104         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
6105         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
6106
6107 2011-05-23  Bruno Haible  <bruno@clisp.org>
6108
6109         crypto/md4: Move AC_LIBOBJ invocations to module description.
6110         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
6111         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
6112
6113 2011-05-23  Bruno Haible  <bruno@clisp.org>
6114
6115         crypto/md2: Move AC_LIBOBJ invocations to module description.
6116         * m4/md2.m4: Remove file.
6117         * modules/crypto/md2 (Files): Remove it.
6118         (configure.ac): Remove gl_MD2 call.
6119         (Makefile.am): Augment lib_SOURCES.
6120
6121 2011-05-23  Bruno Haible  <bruno@clisp.org>
6122
6123         long-options: Move AC_LIBOBJ invocations to module description.
6124         * m4/long-options.m4: Remove file.
6125         * modules/long-options (Files): Remove it.
6126         (configure.ac): Remove gl_LONG_OPTIONS call.
6127         (Makefile.am): Augment lib_SOURCES.
6128
6129 2011-05-23  Bruno Haible  <bruno@clisp.org>
6130
6131         i-ring: Move AC_LIBOBJ invocations to module description.
6132         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
6133         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
6134
6135 2011-05-23  Bruno Haible  <bruno@clisp.org>
6136
6137         idcache: Move AC_LIBOBJ invocations to module description.
6138         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
6139         * modules/idcache (Makefile.am): Augment lib_SOURCES.
6140
6141 2011-05-23  Bruno Haible  <bruno@clisp.org>
6142
6143         human: Move AC_LIBOBJ invocations to module description.
6144         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
6145         * modules/human (Makefile.am): Augment lib_SOURCES.
6146
6147 2011-05-23  Bruno Haible  <bruno@clisp.org>
6148
6149         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
6150         * m4/hmac-sha1.m4: Remove file.
6151         * modules/crypto/hmac-sha1 (Files): Remove it.
6152         (configure.ac): Remove gl_HMAC_SHA1 call.
6153         (Makefile.am): Augment lib_SOURCES.
6154
6155 2011-05-23  Bruno Haible  <bruno@clisp.org>
6156
6157         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
6158         * m4/hmac-md5.m4: Remove file.
6159         * modules/crypto/hmac-md5 (Files): Remove it.
6160         (configure.ac): Remove gl_HMAC_MD5 call.
6161         (Makefile.am): Augment lib_SOURCES.
6162
6163 2011-05-23  Bruno Haible  <bruno@clisp.org>
6164
6165         hash: Move AC_LIBOBJ invocations to module description.
6166         * m4/hash.m4: Remove file.
6167         * modules/hash (Files): Remove it.
6168         (configure.ac): Remove gl_HASH call.
6169         (Makefile.am): Augment lib_SOURCES.
6170
6171 2011-05-23  Bruno Haible  <bruno@clisp.org>
6172
6173         hard-locale: Move AC_LIBOBJ invocations to module description.
6174         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
6175         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
6176
6177 2011-05-23  Bruno Haible  <bruno@clisp.org>
6178
6179         getugroups: Move AC_LIBOBJ invocations to module description.
6180         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
6181         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
6182
6183 2011-05-23  Bruno Haible  <bruno@clisp.org>
6184
6185         gettime: Move AC_LIBOBJ invocations to module description.
6186         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
6187         * modules/gettime (Makefile.am): Augment lib_SOURCES.
6188
6189 2011-05-23  Bruno Haible  <bruno@clisp.org>
6190
6191         getndelim2: Move AC_LIBOBJ invocations to module description.
6192         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
6193         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
6194
6195 2011-05-23  Bruno Haible  <bruno@clisp.org>
6196
6197         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
6198         * m4/gc-pbkdf2-sha1.m4: Remove file.
6199         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
6200         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
6201         (Makefile.am): Augment lib_SOURCES.
6202
6203 2011-05-23  Bruno Haible  <bruno@clisp.org>
6204
6205         fts: Move AC_LIBOBJ invocations to module description.
6206         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
6207         * modules/fts (configure.ac): ... to here.
6208
6209 2011-05-23  Bruno Haible  <bruno@clisp.org>
6210
6211         file-type: Move AC_LIBOBJ invocations to module description.
6212         * m4/file-type.m4: Remove file.
6213         * modules/file-type (Files): Remove it.
6214         (configure.ac): Remove gl_FILE_TYPE call.
6215         (Makefile.am): Augment lib_SOURCES.
6216
6217 2011-05-23  Bruno Haible  <bruno@clisp.org>
6218
6219         filenamecat*: Respect rules for use of AC_LIBOBJ.
6220         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
6221         Remove AC_LIBOBJ invocation.
6222         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
6223         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
6224
6225 2011-05-23  Bruno Haible  <bruno@clisp.org>
6226
6227         filemode: Move AC_LIBOBJ invocations to module description.
6228         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
6229         * modules/filemode (Makefile.am): Augment lib_SOURCES.
6230
6231 2011-05-23  Bruno Haible  <bruno@clisp.org>
6232
6233         openat-safer: Move AC_LIBOBJ invocations to module description.
6234         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
6235         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
6236
6237 2011-05-23  Bruno Haible  <bruno@clisp.org>
6238
6239         fcntl-safer: Move AC_LIBOBJ invocations to module description.
6240         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
6241         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
6242
6243 2011-05-23  Bruno Haible  <bruno@clisp.org>
6244
6245         exclude: Move AC_LIBOBJ invocations to module description.
6246         * m4/exclude.m4: Remove file.
6247         * modules/exclude (Files): Remove it.
6248         (configure.ac): Remove gl_EXCLUDE call.
6249         (Makefile.am): Augment lib_SOURCES.
6250
6251 2011-05-23  Bruno Haible  <bruno@clisp.org>
6252
6253         dirname*: Respect rules for use of AC_LIBOBJ.
6254         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
6255         invocations.
6256         * modules/dirname (Makefile.am): Augment lib_SOURCES.
6257         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
6258
6259 2011-05-23  Bruno Haible  <bruno@clisp.org>
6260
6261         dirent-safer: Move AC_LIBOBJ invocations to module description.
6262         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
6263         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
6264
6265 2011-05-23  Bruno Haible  <bruno@clisp.org>
6266
6267         crypto/des: Move AC_LIBOBJ invocations to module description.
6268         * m4/des.m4: Remove file.
6269         * modules/crypto/des (Files): Remove it.
6270         (configure.ac): Remove gl_DES call.
6271         (Makefile.am): Augment lib_SOURCES.
6272
6273 2011-05-23  Bruno Haible  <bruno@clisp.org>
6274
6275         cycle-check: Move AC_LIBOBJ invocations to module description.
6276         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
6277         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
6278
6279 2011-05-23  Bruno Haible  <bruno@clisp.org>
6280
6281         c-strtold: Move AC_LIBOBJ invocations to module description.
6282         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
6283         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
6284
6285 2011-05-23  Bruno Haible  <bruno@clisp.org>
6286
6287         c-strtod: Move AC_LIBOBJ invocations to module description.
6288         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
6289         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
6290
6291 2011-05-23  Bruno Haible  <bruno@clisp.org>
6292
6293         crc: Move AC_LIBOBJ invocations to module description.
6294         * m4/crc.m4: Remove file.
6295         * modules/crc (Files): Remove it.
6296         (configure.ac): Remove gl_CRC call.
6297         (Makefile.am): Augment lib_SOURCES.
6298
6299 2011-05-23  Bruno Haible  <bruno@clisp.org>
6300
6301         close-stream: Move AC_LIBOBJ invocations to module description.
6302         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
6303         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
6304
6305 2011-05-23  Bruno Haible  <bruno@clisp.org>
6306
6307         closeout: Move AC_LIBOBJ invocations to module description.
6308         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
6309         * modules/closeout (Makefile.am): Augment lib_SOURCES.
6310
6311 2011-05-23  Bruno Haible  <bruno@clisp.org>
6312
6313         closein: Move AC_LIBOBJ invocations to module description.
6314         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
6315         * modules/closein (Makefile.am): Augment lib_SOURCES.
6316
6317 2011-05-23  Bruno Haible  <bruno@clisp.org>
6318
6319         cloexec: Move AC_LIBOBJ invocations to module description.
6320         * m4/cloexec.m4: Remove file.
6321         * modules/cloexec (Files): Remove it.
6322         (configure.ac): Remove gl_CLOEXEC call.
6323         (Makefile.am): Augment lib_SOURCES.
6324
6325 2011-05-23  Bruno Haible  <bruno@clisp.org>
6326
6327         check-version: Move AC_LIBOBJ invocations to module description.
6328         * m4/check-version.m4: Remove file.
6329         * modules/check-version (Files): Remove it.
6330         (configure.ac): Remove gl_CHECK_VERSION call.
6331         (Makefile.am): Augment lib_SOURCES.
6332
6333 2011-05-23  Bruno Haible  <bruno@clisp.org>
6334
6335         chdir-safer: Move AC_LIBOBJ invocations to module description.
6336         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
6337         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
6338
6339 2011-05-23  Bruno Haible  <bruno@clisp.org>
6340
6341         canonicalize: Move AC_LIBOBJ invocations to module description.
6342         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
6343         AC_LIBOBJ invocation.
6344         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
6345
6346 2011-05-23  Bruno Haible  <bruno@clisp.org>
6347
6348         canon-host: Move AC_LIBOBJ invocations to module description.
6349         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
6350         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
6351         instead of gl_CANON_HOST.
6352         (Makefile.am): Augment lib_SOURCES.
6353
6354 2011-05-23  Bruno Haible  <bruno@clisp.org>
6355
6356         backupfile: Move AC_LIBOBJ invocations to module description.
6357         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
6358         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
6359
6360 2011-05-23  Bruno Haible  <bruno@clisp.org>
6361
6362         argmatch: Move AC_LIBOBJ invocations to module description.
6363         * m4/argmatch.m4: Remove file.
6364         * modules/argmatch (Files): Remove it.
6365         (configure.ac): Remove gl_ARGMATCH call.
6366         (Makefile.am): Augment lib_SOURCES.
6367
6368 2011-05-23  Bruno Haible  <bruno@clisp.org>
6369
6370         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
6371         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
6372         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
6373
6374 2011-05-23  Bruno Haible  <bruno@clisp.org>
6375
6376         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
6377         * m4/arcfour.m4: Remove file.
6378         * modules/crypto/arcfour (Files): Remove it.
6379         (configure.ac): Remove gl_ARCFOUR call.
6380         (Makefile.am): Augment lib_SOURCES.
6381
6382 2011-05-22  Bruno Haible  <bruno@clisp.org>
6383
6384         write: Move AC_LIBOBJ invocations to module description.
6385         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
6386         * modules/write (configure.ac): ... to here.
6387
6388 2011-05-22  Bruno Haible  <bruno@clisp.org>
6389
6390         wmemset: Move AC_LIBOBJ invocations to module description.
6391         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
6392         here...
6393         * modules/wmemset (configure.ac): ... to here.
6394
6395 2011-05-22  Bruno Haible  <bruno@clisp.org>
6396
6397         wmemmove: Move AC_LIBOBJ invocations to module description.
6398         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
6399         here...
6400         * modules/wmemmove (configure.ac): ... to here.
6401
6402 2011-05-22  Bruno Haible  <bruno@clisp.org>
6403
6404         wmemcpy: Move AC_LIBOBJ invocations to module description.
6405         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
6406         here...
6407         * modules/wmemcpy (configure.ac): ... to here.
6408
6409 2011-05-22  Bruno Haible  <bruno@clisp.org>
6410
6411         wmemcmp: Move AC_LIBOBJ invocations to module description.
6412         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
6413         here...
6414         * modules/wmemcmp (configure.ac): ... to here.
6415
6416 2011-05-22  Bruno Haible  <bruno@clisp.org>
6417
6418         wmemchr: Move AC_LIBOBJ invocations to module description.
6419         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
6420         here...
6421         * modules/wmemchr (configure.ac): ... to here.
6422
6423 2011-05-22  Bruno Haible  <bruno@clisp.org>
6424
6425         wcswidth: Move AC_LIBOBJ invocations to module description.
6426         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
6427         here...
6428         * modules/wcswidth (configure.ac): ... to here.
6429
6430 2011-05-22  Bruno Haible  <bruno@clisp.org>
6431
6432         wcwidth: Respect rules for use of AC_LIBOBJ.
6433         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
6434         invocation from here...
6435         * modules/wcwidth (configure.ac): ... to here.
6436         (Depends-on): Update conditions.
6437
6438 2011-05-22  Bruno Haible  <bruno@clisp.org>
6439
6440         wctype: Move AC_LIBOBJ invocations to module description.
6441         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
6442         invocation from here...
6443         * modules/wctype (configure.ac): ... to here.
6444         (Depends-on): Update conditions.
6445
6446 2011-05-22  Bruno Haible  <bruno@clisp.org>
6447
6448         wctrans: Move AC_LIBOBJ invocations to module description.
6449         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
6450         invocation from here...
6451         * modules/wctrans (configure.ac): ... to here.
6452
6453 2011-05-22  Bruno Haible  <bruno@clisp.org>
6454
6455         wctomb: Move AC_LIBOBJ invocations to module description.
6456         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
6457         invocations from here...
6458         * modules/wctomb (configure.ac): ... to here.
6459
6460 2011-05-22  Bruno Haible  <bruno@clisp.org>
6461
6462         wctob: Move AC_LIBOBJ invocations to module description.
6463         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
6464         gl_PREREQ_WCTOB invocations from here...
6465         * modules/wctob (configure.ac): ... to here.
6466         (Depends-on): Update conditions.
6467
6468 2011-05-22  Bruno Haible  <bruno@clisp.org>
6469
6470         wcsxfrm: Move AC_LIBOBJ invocations to module description.
6471         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
6472         here...
6473         * modules/wcsxfrm (configure.ac): ... to here.
6474
6475 2011-05-22  Bruno Haible  <bruno@clisp.org>
6476
6477         wcstok: Move AC_LIBOBJ invocations to module description.
6478         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
6479         * modules/wcstok (configure.ac): ... to here.
6480
6481 2011-05-22  Bruno Haible  <bruno@clisp.org>
6482
6483         wcsstr: Move AC_LIBOBJ invocations to module description.
6484         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
6485         * modules/wcsstr (configure.ac): ... to here.
6486
6487 2011-05-22  Bruno Haible  <bruno@clisp.org>
6488
6489         wcsspn: Move AC_LIBOBJ invocations to module description.
6490         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
6491         * modules/wcsspn (configure.ac): ... to here.
6492
6493 2011-05-22  Bruno Haible  <bruno@clisp.org>
6494
6495         wcsrtombs: Move AC_LIBOBJ invocations to module description.
6496         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
6497         gl_PREREQ_WCSRTOMBS invocations from here...
6498         * modules/wcsrtombs (configure.ac): ... to here.
6499
6500 2011-05-22  Bruno Haible  <bruno@clisp.org>
6501
6502         wcsrchr: Move AC_LIBOBJ invocations to module description.
6503         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
6504         here...
6505         * modules/wcsrchr (configure.ac): ... to here.
6506
6507 2011-05-22  Bruno Haible  <bruno@clisp.org>
6508
6509         wcspbrk: Move AC_LIBOBJ invocations to module description.
6510         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
6511         here...
6512         * modules/wcspbrk (configure.ac): ... to here.
6513
6514 2011-05-22  Bruno Haible  <bruno@clisp.org>
6515
6516         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
6517         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
6518         gl_PREREQ_WCSNRTOMBS invocations from here...
6519         * modules/wcsnrtombs (configure.ac): ... to here.
6520
6521 2011-05-22  Bruno Haible  <bruno@clisp.org>
6522
6523         wcsnlen: Move AC_LIBOBJ invocations to module description.
6524         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
6525         here...
6526         * modules/wcsnlen (configure.ac): ... to here.
6527
6528 2011-05-22  Bruno Haible  <bruno@clisp.org>
6529
6530         wcsncpy: Move AC_LIBOBJ invocations to module description.
6531         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
6532         here...
6533         * modules/wcsncpy (configure.ac): ... to here.
6534
6535 2011-05-22  Bruno Haible  <bruno@clisp.org>
6536
6537         wcsncmp: Move AC_LIBOBJ invocations to module description.
6538         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
6539         here...
6540         * modules/wcsncmp (configure.ac): ... to here.
6541
6542 2011-05-22  Bruno Haible  <bruno@clisp.org>
6543
6544         wcsncat: Move AC_LIBOBJ invocations to module description.
6545         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
6546         here...
6547         * modules/wcsncat (configure.ac): ... to here.
6548
6549 2011-05-22  Bruno Haible  <bruno@clisp.org>
6550
6551         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
6552         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
6553         from here...
6554         * modules/wcsncasecmp (configure.ac): ... to here.
6555
6556 2011-05-22  Bruno Haible  <bruno@clisp.org>
6557
6558         wcslen: Move AC_LIBOBJ invocations to module description.
6559         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
6560         * modules/wcslen (configure.ac): ... to here.
6561
6562 2011-05-22  Bruno Haible  <bruno@clisp.org>
6563
6564         wcsdup: Move AC_LIBOBJ invocations to module description.
6565         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
6566         * modules/wcsdup (configure.ac): ... to here.
6567
6568 2011-05-22  Bruno Haible  <bruno@clisp.org>
6569
6570         wcscspn: Move AC_LIBOBJ invocations to module description.
6571         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
6572         here...
6573         * modules/wcscspn (configure.ac): ... to here.
6574
6575 2011-05-22  Bruno Haible  <bruno@clisp.org>
6576
6577         wcscpy: Move AC_LIBOBJ invocations to module description.
6578         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
6579         * modules/wcscpy (configure.ac): ... to here.
6580
6581 2011-05-22  Bruno Haible  <bruno@clisp.org>
6582
6583         wcscoll: Move AC_LIBOBJ invocations to module description.
6584         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
6585         here...
6586         * modules/wcscoll (configure.ac): ... to here.
6587
6588 2011-05-22  Bruno Haible  <bruno@clisp.org>
6589
6590         wcscmp: Move AC_LIBOBJ invocations to module description.
6591         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
6592         * modules/wcscmp (configure.ac): ... to here.
6593
6594 2011-05-22  Bruno Haible  <bruno@clisp.org>
6595
6596         wcschr: Move AC_LIBOBJ invocations to module description.
6597         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
6598         * modules/wcschr (configure.ac): ... to here.
6599
6600 2011-05-22  Bruno Haible  <bruno@clisp.org>
6601
6602         wcscat: Move AC_LIBOBJ invocations to module description.
6603         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
6604         * modules/wcscat (configure.ac): ... to here.
6605
6606 2011-05-22  Bruno Haible  <bruno@clisp.org>
6607
6608         wcscasecmp: Move AC_LIBOBJ invocations to module description.
6609         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
6610         here...
6611         * modules/wcscasecmp (configure.ac): ... to here.
6612
6613 2011-05-22  Bruno Haible  <bruno@clisp.org>
6614
6615         wcrtomb: Move AC_LIBOBJ invocations to module description.
6616         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
6617         invocations from here...
6618         * modules/wcrtomb (configure.ac): ... to here.
6619
6620 2011-05-22  Bruno Haible  <bruno@clisp.org>
6621
6622         wcpncpy: Move AC_LIBOBJ invocations to module description.
6623         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
6624         here...
6625         * modules/wcpncpy (configure.ac): ... to here.
6626
6627 2011-05-22  Bruno Haible  <bruno@clisp.org>
6628
6629         wcpcpy: Move AC_LIBOBJ invocations to module description.
6630         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
6631         * modules/wcpcpy (configure.ac): ... to here.
6632
6633 2011-05-22  Bruno Haible  <bruno@clisp.org>
6634
6635         waitpid: Move AC_LIBOBJ invocations to module description.
6636         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
6637         invocation from here...
6638         * modules/waitpid (configure.ac): ... to here.
6639
6640 2011-05-22  Bruno Haible  <bruno@clisp.org>
6641
6642         utimensat: Move AC_LIBOBJ invocations to module description.
6643         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
6644         here...
6645         * modules/utimensat (configure.ac): ... to here.
6646
6647 2011-05-22  Bruno Haible  <bruno@clisp.org>
6648
6649         usleep: Move AC_LIBOBJ invocations to module description.
6650         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
6651         here...
6652         * modules/usleep (configure.ac): ... to here.
6653
6654 2011-05-22  Bruno Haible  <bruno@clisp.org>
6655
6656         unlockpt: Move AC_LIBOBJ invocations to module description.
6657         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
6658         gl_PREREQ_UNLOCKPT invocations from here...
6659         * modules/unlockpt (configure.ac): ... to here.
6660
6661 2011-05-22  Bruno Haible  <bruno@clisp.org>
6662
6663         unlink: Respect rules for use of AC_LIBOBJ.
6664         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
6665         * modules/unlink (configure.ac): ... to here.
6666
6667 2011-05-22  Bruno Haible  <bruno@clisp.org>
6668
6669         uname: Move AC_LIBOBJ invocations to module description.
6670         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
6671         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
6672         here...
6673         * modules/uname (configure.ac): ... to here.
6674
6675 2011-05-22  Bruno Haible  <bruno@clisp.org>
6676
6677         ttyname_r: Move AC_LIBOBJ invocations to module description.
6678         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
6679         gl_PREREQ_TTYNAME_R invocations from here...
6680         * modules/ttyname_r (configure.ac): ... to here.
6681
6682 2011-05-22  Bruno Haible  <bruno@clisp.org>
6683
6684         tsearch: Move AC_LIBOBJ invocations to module description.
6685         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
6686         invocations from here...
6687         * modules/tsearch (configure.ac): ... to here.
6688
6689 2011-05-22  Bruno Haible  <bruno@clisp.org>
6690
6691         towctrans: Move AC_LIBOBJ invocations to module description.
6692         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
6693         AC_LIBOBJ invocation from here...
6694         * modules/towctrans (configure.ac): ... to here.
6695
6696 2011-05-22  Bruno Haible  <bruno@clisp.org>
6697
6698         tmpfile: Move AC_LIBOBJ invocations to module description.
6699         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
6700         invocations from here...
6701         * modules/tmpfile (configure.ac): ... to here.
6702
6703 2011-05-22  Bruno Haible  <bruno@clisp.org>
6704
6705         times: Move AC_LIBOBJ invocations to module description.
6706         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
6707         * modules/times (configure.ac): ... to here.
6708
6709 2011-05-22  Bruno Haible  <bruno@clisp.org>
6710
6711         time_r: Move AC_LIBOBJ invocations to module description.
6712         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
6713         invocations from here...
6714         * modules/time_r (configure.ac): ... to here.
6715
6716 2011-05-22  Bruno Haible  <bruno@clisp.org>
6717
6718         timegm: Move AC_LIBOBJ invocations to module description.
6719         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
6720         invocations from here...
6721         * modules/timegm (configure.ac): ... to here.
6722
6723 2011-05-22  Bruno Haible  <bruno@clisp.org>
6724
6725         tcgetsid: Move AC_LIBOBJ invocations to module description.
6726         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
6727         and gl_PREREQ_TCGETSID invocations from here...
6728         * modules/tcgetsid (configure.ac): ... to here.
6729         (Depends-on): Update conditions.
6730
6731 2011-05-22  Bruno Haible  <bruno@clisp.org>
6732
6733         symlinkat: Move AC_LIBOBJ invocations to module description.
6734         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
6735         here...
6736         * modules/symlinkat (configure.ac): ... to here.
6737
6738 2011-05-22  Bruno Haible  <bruno@clisp.org>
6739
6740         symlink: Move AC_LIBOBJ invocations to module description.
6741         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
6742         here...
6743         * modules/symlink (configure.ac): ... to here.
6744
6745 2011-05-22  Bruno Haible  <bruno@clisp.org>
6746
6747         strverscmp: Move AC_LIBOBJ invocations to module description.
6748         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
6749         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
6750         from here...
6751         * modules/strverscmp (configure.ac): ... to here.
6752
6753 2011-05-22  Bruno Haible  <bruno@clisp.org>
6754
6755         strtok_r: Move AC_LIBOBJ invocations to module description.
6756         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
6757         and gl_PREREQ_STRTOK_R invocations from here...
6758         * modules/strtok_r (configure.ac): ... to here.
6759         (Depends-on): Update conditions.
6760
6761 2011-05-22  Bruno Haible  <bruno@clisp.org>
6762
6763         strtoumax: Move AC_LIBOBJ invocations to module description.
6764         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
6765         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
6766         from here...
6767         * modules/strtoumax (configure.ac): ... to here.
6768
6769 2011-05-22  Bruno Haible  <bruno@clisp.org>
6770
6771         strtoimax: Move AC_LIBOBJ invocations to module description.
6772         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
6773         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
6774         from here...
6775         * modules/strtoimax (configure.ac): ... to here.
6776
6777 2011-05-22  Bruno Haible  <bruno@clisp.org>
6778
6779         strtoull: Move AC_LIBOBJ invocations to module description.
6780         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
6781         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
6782         from here...
6783         * modules/strtoull (configure.ac): ... to here.
6784
6785 2011-05-22  Bruno Haible  <bruno@clisp.org>
6786
6787         strtoll: Move AC_LIBOBJ invocations to module description.
6788         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
6789         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
6790         here...
6791         * modules/strtoll (configure.ac): ... to here.
6792
6793 2011-05-22  Bruno Haible  <bruno@clisp.org>
6794
6795         strtoul: Move AC_LIBOBJ invocations to module description.
6796         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
6797         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
6798         * modules/strtoul (configure.ac): ... to here.
6799
6800 2011-05-22  Bruno Haible  <bruno@clisp.org>
6801
6802         strtol: Move AC_LIBOBJ invocations to module description.
6803         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
6804         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
6805         * modules/strtol (configure.ac): ... to here.
6806
6807 2011-05-22  Bruno Haible  <bruno@clisp.org>
6808
6809         strtod: Move AC_LIBOBJ invocations to module description.
6810         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
6811         invocations from here...
6812         * modules/strtod (configure.ac): ... to here.
6813
6814 2011-05-22  Bruno Haible  <bruno@clisp.org>
6815
6816         strstr*: Move AC_LIBOBJ invocations to module description.
6817         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
6818         invocations from here...
6819         * modules/strstr-simple (configure.ac): ... to here.
6820         * modules/strstr (configure.ac): ... and here.
6821
6822 2011-05-22  Bruno Haible  <bruno@clisp.org>
6823
6824         strsignal: Move AC_LIBOBJ invocations to module description.
6825         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
6826         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
6827         * modules/strsignal (configure.ac): ... to here.
6828         (Depends-on): Update conditions.
6829
6830 2011-05-22  Bruno Haible  <bruno@clisp.org>
6831
6832         strsep: Move AC_LIBOBJ invocations to module description.
6833         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
6834         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
6835         here...
6836         * modules/strsep (configure.ac): ... to here.
6837
6838 2011-05-22  Bruno Haible  <bruno@clisp.org>
6839
6840         strptime: Move AC_LIBOBJ invocations to module description.
6841         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
6842         gl_PREREQ_STRPTIME invocations from here...
6843         * modules/strptime (configure.ac): ... to here.
6844
6845 2011-05-22  Bruno Haible  <bruno@clisp.org>
6846
6847         strpbrk: Move AC_LIBOBJ invocations to module description.
6848         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
6849         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
6850         here...
6851         * modules/strpbrk (configure.ac): ... to here.
6852
6853 2011-05-22  Bruno Haible  <bruno@clisp.org>
6854
6855         strnlen: Move AC_LIBOBJ invocations to module description.
6856         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
6857         invocations from here...
6858         * modules/strnlen (configure.ac): ... to here.
6859
6860 2011-05-22  Bruno Haible  <bruno@clisp.org>
6861
6862         strndup: Move AC_LIBOBJ invocations to module description.
6863         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
6864         invocations from here...
6865         * modules/strndup (configure.ac): ... to here.
6866         (Depends-on): Update conditions.
6867
6868 2011-05-22  Bruno Haible  <bruno@clisp.org>
6869
6870         strncat: Move AC_LIBOBJ invocations to module description.
6871         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
6872         invocations from here...
6873         * modules/strncat (configure.ac): ... to here.
6874
6875 2011-05-22  Bruno Haible  <bruno@clisp.org>
6876
6877         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
6878         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
6879         invocations from here...
6880         * modules/strdup (configure.ac): ... to here.
6881         * modules/strdup-posix (configure.ac): ... and here.
6882
6883 2011-05-22  Bruno Haible  <bruno@clisp.org>
6884
6885         strcspn: Move AC_LIBOBJ invocations to module description.
6886         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
6887         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
6888         here...
6889         * modules/strcspn (configure.ac): ... to here.
6890
6891 2011-05-22  Bruno Haible  <bruno@clisp.org>
6892
6893         strchrnul: Move AC_LIBOBJ invocations to module description.
6894         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
6895         gl_PREREQ_STRCHRNUL invocations from here...
6896         * modules/strchrnul (configure.ac): ... to here.
6897
6898 2011-05-22  Bruno Haible  <bruno@clisp.org>
6899
6900         strcasestr*: Move AC_LIBOBJ invocations to module description.
6901         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
6902         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
6903         * modules/strcasestr-simple (configure.ac): ... to here.
6904         * modules/strcasestr (configure.ac): ... and here.
6905
6906 2011-05-22  Bruno Haible  <bruno@clisp.org>
6907
6908         strcase: Move AC_LIBOBJ invocations to module description.
6909         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
6910         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
6911         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
6912         gl_PREREQ_STRNCASECMP invocations from here...
6913         * modules/strcase (configure.ac): ... to here.
6914
6915 2011-05-22  Bruno Haible  <bruno@clisp.org>
6916
6917         stpncpy: Move AC_LIBOBJ invocations to module description.
6918         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
6919         here...
6920         * modules/stpncpy (configure.ac): ... to here.
6921
6922 2011-05-22  Bruno Haible  <bruno@clisp.org>
6923
6924         stpcpy: Move AC_LIBOBJ invocations to module description.
6925         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
6926         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
6927         here...
6928         * modules/stpcpy (configure.ac): ... to here.
6929
6930 2011-05-21  Bruno Haible  <bruno@clisp.org>
6931
6932         stat: Move AC_LIBOBJ invocations to module description.
6933         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
6934         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
6935         here...
6936         * modules/stat (configure.ac): ... to here.
6937
6938 2011-05-21  Bruno Haible  <bruno@clisp.org>
6939
6940         sleep: Move AC_LIBOBJ invocations to module description.
6941         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
6942         * modules/sleep (configure.ac): ... to here.
6943
6944 2011-05-21  Bruno Haible  <bruno@clisp.org>
6945
6946         signbit: Move AC_LIBOBJ invocations to module description.
6947         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
6948         * modules/signbit (configure.ac): ... to here.
6949
6950 2011-05-21  Bruno Haible  <bruno@clisp.org>
6951
6952         sigprocmask: Move AC_LIBOBJ invocations to module description.
6953         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
6954         gl_PREREQ_SIGPROMASK invocations from here...
6955         * modules/sigprocmask (configure.ac): ... to here.
6956
6957 2011-05-21  Bruno Haible  <bruno@clisp.org>
6958
6959         sigaction: Move AC_LIBOBJ invocations to module description.
6960         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
6961         gl_PREREQ_SIGACTION invocations from here...
6962         * modules/sigaction (configure.ac): ... to here.
6963
6964 2011-05-21  Bruno Haible  <bruno@clisp.org>
6965
6966         sig2str: Move AC_LIBOBJ invocations to module description.
6967         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
6968         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
6969         here...
6970         * modules/sig2str (configure.ac): ... to here.
6971
6972 2011-05-21  Bruno Haible  <bruno@clisp.org>
6973
6974         setlocale: Move AC_LIBOBJ invocations to module description.
6975         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
6976         gl_PREREQ_SETLOCALE invocations from here...
6977         * modules/setlocale (configure.ac): ... to here.
6978
6979 2011-05-21  Bruno Haible  <bruno@clisp.org>
6980
6981         unsetenv: Move AC_LIBOBJ invocations to module description.
6982         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
6983         and gl_PREREQ_UNSETENV invocations from here...
6984         * modules/unsetenv (configure.ac): ... to here.
6985         (Depends-on): Update.
6986
6987 2011-05-21  Bruno Haible  <bruno@clisp.org>
6988
6989         setenv: Move AC_LIBOBJ invocations to module description.
6990         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
6991         here...
6992         * modules/setenv (configure.ac): ... to here.
6993
6994 2011-05-21  Bruno Haible  <bruno@clisp.org>
6995
6996         selinux-h: Move AC_LIBOBJ invocations to module description.
6997         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
6998         AC_LIBOBJ invocation from here...
6999         * modules/selinux-h (configure.ac): ... to here.
7000
7001 2011-05-21  Bruno Haible  <bruno@clisp.org>
7002
7003         select: Respect rules for use of AC_LIBOBJ.
7004         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
7005         here...
7006         * modules/select (configure.ac): ... to here.
7007
7008 2011-05-21  Bruno Haible  <bruno@clisp.org>
7009
7010         scandir: Move AC_LIBOBJ invocations to module description.
7011         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
7012         invocations from here...
7013         * modules/scandir (configure.ac): ... to here.
7014
7015 2011-05-21  Bruno Haible  <bruno@clisp.org>
7016
7017         rpmatch: Move AC_LIBOBJ invocations to module description.
7018         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
7019         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
7020         here...
7021         * modules/rpmatch (configure.ac): ... to here.
7022
7023 2011-05-21  Bruno Haible  <bruno@clisp.org>
7024
7025         rmdir: Respect rules for use of AC_LIBOBJ.
7026         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
7027         * modules/rmdir (configure.ac): ... to here.
7028
7029 2011-05-21  Bruno Haible  <bruno@clisp.org>
7030
7031         renameat: Move AC_LIBOBJ invocations to module description.
7032         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
7033         here...
7034         * modules/renameat (configure.ac): ... to here.
7035
7036 2011-05-21  Bruno Haible  <bruno@clisp.org>
7037
7038         rename: Respect rules for use of AC_LIBOBJ.
7039         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
7040         here...
7041         * modules/rename (configure.ac): ... to here.
7042
7043 2011-05-21  Bruno Haible  <bruno@clisp.org>
7044
7045         remove: Move AC_LIBOBJ invocations to module description.
7046         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
7047         here...
7048         * modules/remove (configure.ac): ... to here.
7049
7050 2011-05-21  Bruno Haible  <bruno@clisp.org>
7051
7052         relocatable-lib: Move AC_LIBOBJ invocations to module description.
7053         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
7054         macro.
7055         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
7056         * modules/relocatable-lib (configure.ac): ... to here.
7057         * modules/relocatable-prog-wrapper (configure.ac): Invoke
7058         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
7059
7060 2011-05-21  Bruno Haible  <bruno@clisp.org>
7061
7062         relocatable-prog: Move AC_LIBOBJ invocations to module description.
7063         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
7064         here...
7065         * modules/relocatable-prog (configure.ac): ... to here.
7066
7067 2011-05-21  Bruno Haible  <bruno@clisp.org>
7068
7069         regex: Move AC_LIBOBJ invocations to module description.
7070         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
7071         invocations from here...
7072         * modules/regex (configure.ac): ... to here.
7073
7074 2011-05-21  Bruno Haible  <bruno@clisp.org>
7075
7076         realloc-*: Move AC_LIBOBJ invocations to module description.
7077         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
7078         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
7079         AC_LIBOBJ invocations from here...
7080         * modules/realloc-gnu (configure.ac): ... to here.
7081         * modules/realloc-posix (configure.ac): ... and here.
7082
7083 2011-05-21  Bruno Haible  <bruno@clisp.org>
7084
7085         readutmp: Move AC_LIBOBJ invocations to module description.
7086         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
7087         * modules/readutmp (configure.ac): ... to here.
7088
7089 2011-05-21  Bruno Haible  <bruno@clisp.org>
7090
7091         readlinkat: Move AC_LIBOBJ invocations to module description.
7092         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
7093         here...
7094         * modules/readlinkat (configure.ac): ... to here.
7095
7096 2011-05-21  Bruno Haible  <bruno@clisp.org>
7097
7098         readlink: Move AC_LIBOBJ invocations to module description.
7099         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
7100         gl_PREREQ_READLINK invocations from here...
7101         * modules/readlink (configure.ac): ... to here.
7102
7103 2011-05-21  Bruno Haible  <bruno@clisp.org>
7104
7105         readline: Move AC_LIBOBJ invocations to module description.
7106         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
7107         gl_PREREQ_READLINE invocations from here...
7108         * modules/readline (configure.ac): ... to here.
7109
7110 2011-05-21  Bruno Haible  <bruno@clisp.org>
7111
7112         read: Move AC_LIBOBJ invocations to module description.
7113         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
7114         * modules/read (configure.ac): ... to here.
7115
7116 2011-05-21  Bruno Haible  <bruno@clisp.org>
7117
7118         rawmemchr: Move AC_LIBOBJ invocations to module description.
7119         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
7120         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
7121         from here...
7122         * modules/rawmemchr (configure.ac): ... to here.
7123
7124 2011-05-21  Bruno Haible  <bruno@clisp.org>
7125
7126         random_r: Move AC_LIBOBJ invocations to module description.
7127         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
7128         gl_PREREQ_RANDOM_R invocations from here...
7129         * modules/random_r (configure.ac): ... to here.
7130
7131 2011-05-21  Bruno Haible  <bruno@clisp.org>
7132
7133         pwrite: Move AC_LIBOBJ invocations to module description.
7134         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
7135         * modules/pwrite (configure.ac): ... to here.
7136
7137 2011-05-21  Bruno Haible  <bruno@clisp.org>
7138
7139         putenv: Move AC_LIBOBJ invocations to module description.
7140         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
7141         * modules/putenv (configure.ac): ... to here.
7142
7143 2011-05-21  Bruno Haible  <bruno@clisp.org>
7144
7145         login_tty: Move AC_LIBOBJ invocations to module description.
7146         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
7147         * modules/login_tty (configure.ac): ... to here.
7148
7149 2011-05-21  Bruno Haible  <bruno@clisp.org>
7150
7151         openpty: Move AC_LIBOBJ invocations to module description.
7152         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
7153         * modules/openpty (configure.ac): ... to here.
7154
7155 2011-05-21  Bruno Haible  <bruno@clisp.org>
7156
7157         forkpty: Move AC_LIBOBJ invocations to module description.
7158         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
7159         * modules/forkpty (configure.ac): ... to here.
7160
7161 2011-05-21  Bruno Haible  <bruno@clisp.org>
7162
7163         ptsname: Move AC_LIBOBJ invocations to module description.
7164         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
7165         invocations from here...
7166         * modules/ptsname (configure.ac): ... to here.
7167
7168 2011-05-21  Bruno Haible  <bruno@clisp.org>
7169
7170         pread: Move AC_LIBOBJ invocations to module description.
7171         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
7172         * modules/pread (configure.ac): ... to here.
7173
7174 2011-05-21  Bruno Haible  <bruno@clisp.org>
7175
7176         posix_spawn*: Move AC_LIBOBJ invocations to module description.
7177         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
7178         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
7179         * modules/posix_spawn (configure.ac): ... to here.
7180         * modules/posix_spawnp (configure.ac): ... and here.
7181
7182 2011-05-21  Bruno Haible  <bruno@clisp.org>
7183
7184         popen: Move AC_LIBOBJ invocations to module description.
7185         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
7186         invocations from here...
7187         * modules/popen (configure.ac): ... to here.
7188
7189 2011-05-21  Bruno Haible  <bruno@clisp.org>
7190
7191         poll: Move AC_LIBOBJ invocations to module description.
7192         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
7193         invocations from here...
7194         * modules/poll (configure.ac): ... to here.
7195
7196 2011-05-21  Bruno Haible  <bruno@clisp.org>
7197
7198         pipe-posix: Move AC_LIBOBJ invocations to module description.
7199         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
7200         * modules/pipe-posix (configure.ac): ... to here.
7201
7202 2011-05-21  Bruno Haible  <bruno@clisp.org>
7203
7204         openat: Respect rules for use of AC_LIBOBJ.
7205         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
7206         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
7207         * modules/openat (configure.ac): ... to here.
7208
7209 2011-05-21  Bruno Haible  <bruno@clisp.org>
7210
7211         obstack-printf*: Move AC_LIBOBJ invocations to module description.
7212         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
7213         invocation from here...
7214         * modules/obstack-printf (configure.ac): ... to here.
7215         * modules/obstack-printf-posix (configure.ac): ... and here.
7216
7217 2011-05-21  Bruno Haible  <bruno@clisp.org>
7218
7219         nl_langinfo: Move AC_LIBOBJ invocations to module description.
7220         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
7221         from here...
7222         * modules/nl_langinfo (configure.ac): ... to here.
7223
7224 2011-05-21  Bruno Haible  <bruno@clisp.org>
7225
7226         nanosleep: Move AC_LIBOBJ invocations to module description.
7227         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
7228         gl_PREREQ_NANOSLEEP invocations from here...
7229         * modules/nanosleep (configure.ac): ... to here.
7230
7231 2011-05-21  Bruno Haible  <bruno@clisp.org>
7232
7233         mountlist: Move AC_LIBOBJ invocations to module description.
7234         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
7235         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
7236         * modules/mountlist (configure.ac): ... to here.
7237
7238 2011-05-21  Bruno Haible  <bruno@clisp.org>
7239
7240         mktime: Respect rules for use of AC_LIBOBJ.
7241         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
7242         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
7243         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
7244         (gl_FUNC_MKTIME_INTERNAL): ... and here...
7245         * modules/mktime (configure.ac): ... to here.
7246         * modules/mktime-internal (configure.ac): ... and here.
7247         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
7248
7249 2011-05-21  Bruno Haible  <bruno@clisp.org>
7250
7251         mkstemps: Move AC_LIBOBJ invocations to module description.
7252         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
7253         here...
7254         * modules/mkstemps (configure.ac): ... to here.
7255
7256 2011-05-21  Bruno Haible  <bruno@clisp.org>
7257
7258         mkstemp: Move AC_LIBOBJ invocations to module description.
7259         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
7260         gl_PREREQ_MKSTEMP invocations from here...
7261         * modules/mkstemp (configure.ac): ... to here.
7262
7263 2011-05-21  Bruno Haible  <bruno@clisp.org>
7264
7265         mkostemps: Move AC_LIBOBJ invocations to module description.
7266         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
7267         here...
7268         * modules/mkostemps (configure.ac): ... to here.
7269
7270 2011-05-21  Bruno Haible  <bruno@clisp.org>
7271
7272         mkostemp: Move AC_LIBOBJ invocations to module description.
7273         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
7274         gl_PREREQ_MKOSTEMP invocations from here...
7275         * modules/mkostemp (configure.ac): ... to here.
7276
7277 2011-05-21  Bruno Haible  <bruno@clisp.org>
7278
7279         mknod: Move AC_LIBOBJ invocations to module description.
7280         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
7281         * modules/mknod (configure.ac): ... to here.
7282
7283 2011-05-21  Bruno Haible  <bruno@clisp.org>
7284
7285         mkfifoat: Move AC_LIBOBJ invocations to module description.
7286         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
7287         here...
7288         * modules/mkfifoat (configure.ac): ... to here.
7289
7290 2011-05-21  Bruno Haible  <bruno@clisp.org>
7291
7292         mkfifo: Respect rules for use of AC_LIBOBJ.
7293         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
7294         here...
7295         * modules/mkfifo (configure.ac): ... to here.
7296
7297 2011-05-21  Bruno Haible  <bruno@clisp.org>
7298
7299         mkdtemp: Move AC_LIBOBJ invocations to module description.
7300         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
7301         invocations from here...
7302         * modules/mkdtemp (configure.ac): ... to here.
7303
7304 2011-05-21  Bruno Haible  <bruno@clisp.org>
7305
7306         mkdir: Move AC_LIBOBJ invocations to module description.
7307         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
7308         * modules/mkdir (configure.ac): ... to here.
7309
7310 2011-05-21  Bruno Haible  <bruno@clisp.org>
7311
7312         memset: Move AC_LIBOBJ invocations to module description.
7313         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
7314         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
7315         here...
7316         * modules/memset (configure.ac): ... to here.
7317
7318 2011-05-21  Bruno Haible  <bruno@clisp.org>
7319
7320         memrchr: Move AC_LIBOBJ invocations to module description.
7321         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
7322         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
7323         here...
7324         * modules/memrchr (configure.ac): ... to here.
7325
7326 2011-05-21  Bruno Haible  <bruno@clisp.org>
7327
7328         mempcpy: Move AC_LIBOBJ invocations to module description.
7329         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
7330         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
7331         here...
7332         * modules/mempcpy (configure.ac): ... to here.
7333
7334 2011-05-21  Bruno Haible  <bruno@clisp.org>
7335
7336         memmove: Move AC_LIBOBJ invocations to module description.
7337         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
7338         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
7339         here...
7340         * modules/memmove (configure.ac): ... to here.
7341
7342 2011-05-21  Bruno Haible  <bruno@clisp.org>
7343
7344         memmem*: Move AC_LIBOBJ invocations to module description.
7345         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
7346         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
7347         here...
7348         (gl_FUNC_MEMMEM): ... and here...
7349         * modules/memmem-simple (configure.ac): ... to here.
7350         * modules/memmem (configure.ac): ... and here.
7351
7352 2011-05-21  Bruno Haible  <bruno@clisp.org>
7353
7354         memcpy: Move AC_LIBOBJ invocations to module description.
7355         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
7356         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
7357         here...
7358         * modules/memcpy (configure.ac): ... to here.
7359
7360 2011-05-21  Bruno Haible  <bruno@clisp.org>
7361
7362         memcmp: Simplify autoconf macro.
7363         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
7364         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
7365         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
7366
7367 2011-05-21  Bruno Haible  <bruno@clisp.org>
7368
7369         memcmp: Move AC_LIBOBJ invocations to module description.
7370         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
7371         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
7372         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
7373         * modules/memcmp (configure.ac): ... to here.
7374         (Depends-on): Update conditions.
7375
7376 2011-05-21  Bruno Haible  <bruno@clisp.org>
7377
7378         memchr: Respect rules for use of AC_LIBOBJ.
7379         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
7380         invocations from here...
7381         * modules/memchr (configure.ac): ... to here.
7382
7383 2011-05-21  Bruno Haible  <bruno@clisp.org>
7384
7385         mbtowc: Move AC_LIBOBJ invocations to module description.
7386         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
7387         invocations from here...
7388         * modules/mbtowc (configure.ac): ... to here.
7389
7390 2011-05-21  Bruno Haible  <bruno@clisp.org>
7391
7392         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
7393         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
7394         gl_PREREQ_MBSRTOWCS invocations from here...
7395         * modules/mbsrtowcs (configure.ac): ... to here.
7396
7397 2011-05-21  Bruno Haible  <bruno@clisp.org>
7398
7399         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
7400         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
7401         gl_PREREQ_MBSNRTOWCS invocations from here...
7402         * modules/mbsnrtowcs (configure.ac): ... to here.
7403
7404 2011-05-21  Bruno Haible  <bruno@clisp.org>
7405
7406         mbsinit: Move AC_LIBOBJ invocations to module description.
7407         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
7408         invocations from here...
7409         * modules/mbsinit (configure.ac): ... to here.
7410
7411 2011-05-21  Bruno Haible  <bruno@clisp.org>
7412
7413         mbrlen: Move AC_LIBOBJ invocations to module description.
7414         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
7415         invocations from here...
7416         * modules/mbrlen (configure.ac): ... to here.
7417
7418 2011-05-21  Bruno Haible  <bruno@clisp.org>
7419
7420         mbrtowc: Respect rules for use of AC_LIBOBJ.
7421         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
7422         invocations from here...
7423         * modules/mbrtowc (configure.ac): ... to here.
7424
7425 2011-05-21  Bruno Haible  <bruno@clisp.org>
7426
7427         malloc-*: Move AC_LIBOBJ invocations to module description.
7428         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
7429         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
7430         AC_LIBOBJ invocations from here...
7431         * modules/malloc-gnu (configure.ac): ... to here.
7432         * modules/malloc-posix (configure.ac): ... and here.
7433
7434 2011-05-21  Bruno Haible  <bruno@clisp.org>
7435
7436         lstat, openat: Respect rules for use of AC_LIBOBJ.
7437         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
7438         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
7439         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
7440         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
7441         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
7442         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
7443         here.
7444         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
7445
7446 2011-05-21  Bruno Haible  <bruno@clisp.org>
7447
7448         lseek: Move AC_LIBOBJ invocations to module description.
7449         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
7450         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
7451         * modules/lseek (configure.ac): ... to here.
7452
7453 2011-05-21  Bruno Haible  <bruno@clisp.org>
7454
7455         linkat: Move AC_LIBOBJ invocations to module description.
7456         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
7457         here...
7458         * modules/linkat (configure.ac): ... to here.
7459
7460 2011-05-21  Bruno Haible  <bruno@clisp.org>
7461
7462         link: Respect rules for use of AC_LIBOBJ.
7463         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
7464         * modules/link (configure.ac): ... to here.
7465
7466 2011-05-21  Bruno Haible  <bruno@clisp.org>
7467
7468         lchown: Move AC_LIBOBJ invocations to module description.
7469         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
7470         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
7471         * modules/lchown (configure.ac): ... to here.
7472
7473 2011-05-21  Bruno Haible  <bruno@clisp.org>
7474
7475         iswctype: Move AC_LIBOBJ invocations to module description.
7476         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
7477         here...
7478         * modules/iswctype (configure.ac): ... to here.
7479
7480 2011-05-21  Bruno Haible  <bruno@clisp.org>
7481
7482         iswblank: Move AC_LIBOBJ invocations to module description.
7483         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
7484         here...
7485         * modules/iswblank (configure.ac): ... to here.
7486
7487 2011-05-21  Bruno Haible  <bruno@clisp.org>
7488
7489         atanl: Move AC_LIBOBJ invocations to module description.
7490         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
7491         * modules/atanl (configure.ac): ... to here.
7492
7493 2011-05-21  Bruno Haible  <bruno@clisp.org>
7494
7495         acosl: Move AC_LIBOBJ invocations to module description.
7496         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
7497         * modules/acosl (configure.ac): ... to here.
7498
7499 2011-05-21  Bruno Haible  <bruno@clisp.org>
7500
7501         asinl: Respect rules for use of AC_LIBOBJ.
7502         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
7503         * modules/asinl (configure.ac): ... to here.
7504
7505 2011-05-21  Bruno Haible  <bruno@clisp.org>
7506
7507         tanl: Move AC_LIBOBJ invocations to module description.
7508         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
7509         * modules/tanl (configure.ac): ... to here.
7510
7511 2011-05-21  Bruno Haible  <bruno@clisp.org>
7512
7513         cosl: Move AC_LIBOBJ invocations to module description.
7514         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
7515         * modules/cosl (configure.ac): ... to here.
7516
7517 2011-05-21  Bruno Haible  <bruno@clisp.org>
7518
7519         sinl: Move AC_LIBOBJ invocations to module description.
7520         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
7521         * modules/sinl (configure.ac): ... to here.
7522
7523 2011-05-21  Bruno Haible  <bruno@clisp.org>
7524
7525         logl: Move AC_LIBOBJ invocations to module description.
7526         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
7527         * modules/logl (configure.ac): ... to here.
7528
7529 2011-05-21  Bruno Haible  <bruno@clisp.org>
7530
7531         expl: Move AC_LIBOBJ invocations to module description.
7532         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
7533         * modules/expl (configure.ac): ... to here.
7534
7535 2011-05-21  Bruno Haible  <bruno@clisp.org>
7536
7537         roundl: Move AC_LIBOBJ invocations to module description.
7538         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
7539         * modules/roundl (configure.ac): ... to here.
7540
7541 2011-05-21  Bruno Haible  <bruno@clisp.org>
7542
7543         round: Move AC_LIBOBJ invocations to module description.
7544         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
7545         * modules/round (configure.ac): ... to here.
7546
7547 2011-05-21  Bruno Haible  <bruno@clisp.org>
7548
7549         roundf: Move AC_LIBOBJ invocations to module description.
7550         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
7551         * modules/roundf (configure.ac): ... to here.
7552
7553 2011-05-21  Bruno Haible  <bruno@clisp.org>
7554
7555         truncl: Move AC_LIBOBJ invocations to module description.
7556         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
7557         * modules/truncl (configure.ac): ... to here.
7558
7559 2011-05-21  Bruno Haible  <bruno@clisp.org>
7560
7561         trunc: Move AC_LIBOBJ invocations to module description.
7562         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
7563         * modules/trunc (configure.ac): ... to here.
7564
7565 2011-05-21  Bruno Haible  <bruno@clisp.org>
7566
7567         truncf: Move AC_LIBOBJ invocations to module description.
7568         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
7569         * modules/truncf (configure.ac): ... to here.
7570
7571 2011-05-21  Bruno Haible  <bruno@clisp.org>
7572
7573         ceill: Move AC_LIBOBJ invocations to module description.
7574         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
7575         * modules/ceill (configure.ac): ... to here.
7576
7577 2011-05-21  Bruno Haible  <bruno@clisp.org>
7578
7579         ceil: Move AC_LIBOBJ invocations to module description.
7580         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
7581         * modules/ceil (configure.ac): ... to here.
7582
7583 2011-05-21  Bruno Haible  <bruno@clisp.org>
7584
7585         ceilf: Move AC_LIBOBJ invocations to module description.
7586         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
7587         * modules/ceilf (configure.ac): ... to here.
7588
7589 2011-05-21  Bruno Haible  <bruno@clisp.org>
7590
7591         floorl: Respect rules for use of AC_LIBOBJ.
7592         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
7593         * modules/floorl (configure.ac): ... to here.
7594
7595 2011-05-21  Bruno Haible  <bruno@clisp.org>
7596
7597         floor: Respect rules for use of AC_LIBOBJ.
7598         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
7599         * modules/floor (configure.ac): ... to here.
7600
7601 2011-05-21  Bruno Haible  <bruno@clisp.org>
7602
7603         floorf: Move AC_LIBOBJ invocations to module description.
7604         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
7605         * modules/floorf (configure.ac): ... to here.
7606
7607 2011-05-20  Bruno Haible  <bruno@clisp.org>
7608
7609         sqrtl: Respect rules for use of AC_LIBOBJ.
7610         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
7611         * modules/sqrtl (configure.ac): ... to here.
7612
7613 2011-05-20  Bruno Haible  <bruno@clisp.org>
7614
7615         ldexpl: Respect rules for use of AC_LIBOBJ.
7616         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
7617         * modules/ldexpl (configure.ac): ... to here.
7618
7619 2011-05-20  Bruno Haible  <bruno@clisp.org>
7620
7621         frexpl*: Respect rules for use of AC_LIBOBJ.
7622         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
7623         invocation from here...
7624         * modules/frexpl (configure.ac): ... to here.
7625         * modules/frexpl-nolibm (configure.ac): ... and here.
7626
7627 2011-05-20  Bruno Haible  <bruno@clisp.org>
7628
7629         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
7630         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
7631         invocation from here...
7632         * modules/frexp (configure.ac): ... to here.
7633         * modules/frexp-nolibm (configure.ac): ... and here.
7634
7635 2011-05-20  Bruno Haible  <bruno@clisp.org>
7636
7637         isnan: Respect rules for use of AC_LIBOBJ.
7638         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
7639         invocations here.
7640         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
7641         REPLACE_ISNAN.
7642         * modules/isnand (configure.ac): Likewise.
7643         * modules/isnanl (configure.ac): Likewise.
7644
7645 2011-05-20  Bruno Haible  <bruno@clisp.org>
7646
7647         isnanl*: Respect rules for use of AC_LIBOBJ.
7648         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
7649         invocation from here...
7650         * modules/isnanl (configure.ac): ... to here.
7651         * modules/isnanl-nolibm (configure.ac): ... and here.
7652
7653 2011-05-20  Bruno Haible  <bruno@clisp.org>
7654
7655         isnand*: Move AC_LIBOBJ invocations to module description.
7656         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
7657         invocation from here...
7658         * modules/isnand (configure.ac): ... to here.
7659         * modules/isnand-nolibm (configure.ac): ... and here.
7660
7661 2011-05-20  Bruno Haible  <bruno@clisp.org>
7662
7663         isnanf*: Move AC_LIBOBJ invocations to module description.
7664         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
7665         invocation from here...
7666         * modules/isnanf (configure.ac): ... to here.
7667         * modules/isnanf-nolibm (configure.ac): ... and here.
7668
7669 2011-05-20  Bruno Haible  <bruno@clisp.org>
7670
7671         isnan*: Separate the AC_LIBOBJ invocations.
7672         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
7673         AC_LIBOBJ invocation.
7674         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
7675         here.
7676         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
7677         AC_LIBOBJ invocation.
7678         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
7679         here.
7680         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
7681         AC_LIBOBJ invocation.
7682         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
7683         here.
7684         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
7685
7686 2011-05-08  Bruno Haible  <bruno@clisp.org>
7687
7688         isinf: Move AC_LIBOBJ invocations to module description.
7689         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
7690         * modules/isinf (configure.ac): ... to here.
7691
7692 2011-05-08  Bruno Haible  <bruno@clisp.org>
7693
7694         isfinite: Move AC_LIBOBJ invocations to module description.
7695         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
7696         * modules/isfinite (configure.ac): ... to here.
7697
7698 2011-05-08  Bruno Haible  <bruno@clisp.org>
7699
7700         isblank: Move AC_LIBOBJ invocations to module description.
7701         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
7702         here...
7703         * modules/isblank (configure.ac): ... to here.
7704
7705 2011-05-08  Bruno Haible  <bruno@clisp.org>
7706
7707         isapipe: Move AC_LIBOBJ invocations to module description.
7708         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
7709         gl_PREREQ_ISAPIPE invocations from here...
7710         * modules/isapipe (configure.ac): ... to here.
7711         (Depends-on): Update condition.
7712
7713 2011-05-08  Bruno Haible  <bruno@clisp.org>
7714
7715         ioctl: Move AC_LIBOBJ invocations to module description.
7716         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
7717         invocations from here...
7718         * modules/ioctl (configure.ac): ... to here.
7719         (Depends-on): Update condition.
7720
7721 2011-05-08  Bruno Haible  <bruno@clisp.org>
7722
7723         imaxdiv: Move AC_LIBOBJ invocations to module description.
7724         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
7725         invocations from here...
7726         * modules/imaxdiv (configure.ac): ... to here.
7727
7728 2011-05-08  Bruno Haible  <bruno@clisp.org>
7729
7730         imaxabs: Move AC_LIBOBJ invocations to module description.
7731         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
7732         invocations from here...
7733         * modules/imaxabs (configure.ac): ... to here.
7734
7735 2011-05-08  Bruno Haible  <bruno@clisp.org>
7736
7737         getaddrinfo: Move AC_LIBOBJ invocations to module description.
7738         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
7739         AC_LIBOBJ invocations from here...
7740         * modules/getaddrinfo (configure.ac): ... to here.
7741         (Depends-on): Add conditions.
7742
7743 2011-05-08  Bruno Haible  <bruno@clisp.org>
7744
7745         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
7746         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
7747         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
7748         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
7749         (gl_PREREQ_INET_PTON): ... from here.
7750         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
7751         gl_PREREQ_INET_PTON here.
7752         (Depends-on): Update condition.
7753
7754 2011-05-08  Bruno Haible  <bruno@clisp.org>
7755
7756         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
7757         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
7758         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
7759         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
7760         (gl_PREREQ_INET_NTOP): ... from here.
7761         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
7762         gl_PREREQ_INET_NTOP here.
7763         (Depends-on): Update condition.
7764
7765 2011-05-08  Bruno Haible  <bruno@clisp.org>
7766
7767         iconv_open: Move AC_LIBOBJ invocations to module description.
7768         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
7769         AC_LIBOBJ invocations from here...
7770         * modules/iconv_open (configure.ac): ... to here.
7771
7772 2011-05-08  Bruno Haible  <bruno@clisp.org>
7773
7774         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
7775         If module 'iconv_open' is among the main modules and module
7776         'iconv_open-utf' is among the tests dependencies, then
7777         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
7778         return the special iconv_t values. Therefore iconv() and iconv_close()
7779         must support these special iconv_t values, already in lib, not only in
7780         tests.
7781         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
7782         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
7783         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
7784         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
7785         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
7786         (Depends-on): Add the dependencies of iconv_open-utf.
7787         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
7788         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
7789         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
7790
7791 2011-05-08  Bruno Haible  <bruno@clisp.org>
7792
7793         group-member: Move AC_LIBOBJ invocations to module description.
7794         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
7795         gl_PREREQ_GROUP_MEMBER invocations from here...
7796         * modules/group-member (configure.ac): ... to here.
7797
7798 2011-05-08  Bruno Haible  <bruno@clisp.org>
7799
7800         grantpt: Move AC_LIBOBJ invocations to module description.
7801         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
7802         invocations from here...
7803         * modules/grantpt (configure.ac): ... to here.
7804
7805 2011-05-08  Bruno Haible  <bruno@clisp.org>
7806
7807         glob: Move AC_LIBOBJ invocations to module description.
7808         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
7809         from here...
7810         * modules/glob (configure.ac): ... to here.
7811
7812 2011-05-08  Bruno Haible  <bruno@clisp.org>
7813
7814         getusershell: Move AC_LIBOBJ invocations to module description.
7815         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
7816         Move AC_LIBOBJ invocation from here...
7817         * modules/getusershell (configure.ac): ... to here.
7818         (Depends-on): Update condition.
7819
7820 2011-05-08  Bruno Haible  <bruno@clisp.org>
7821
7822         gettimeofday: Move AC_LIBOBJ invocations to module description.
7823         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
7824         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
7825         gl_PREREQ_GETTIMEOFDAY invocations from here...
7826         * modules/gettimeofday (configure.ac): ... to here.
7827
7828 2011-05-08  Bruno Haible  <bruno@clisp.org>
7829
7830         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
7831         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
7832         just gl_FUNC_TZSET.
7833         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
7834         (gl_FUNC_TZSET_CLOBBER): Remove actions.
7835         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
7836         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
7837
7838 2011-05-08  Bruno Haible  <bruno@clisp.org>
7839
7840         getsubopt: Move AC_LIBOBJ invocations to module description.
7841         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
7842         gl_PREREQ_GETSUBOPT invocations from here...
7843         * modules/getsubopt (configure.ac): ... to here.
7844
7845 2011-05-08  Bruno Haible  <bruno@clisp.org>
7846
7847         getpass-gnu: Move AC_LIBOBJ invocations to module description.
7848         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
7849         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
7850         * modules/getpass-gnu (configure.ac): ... to here.
7851
7852 2011-05-08  Bruno Haible  <bruno@clisp.org>
7853
7854         getpass: Move AC_LIBOBJ invocations to module description.
7855         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
7856         gl_PREREQ_GETPASS invocations from here...
7857         * modules/getpass (configure.ac): ... to here.
7858
7859 2011-05-08  Bruno Haible  <bruno@clisp.org>
7860
7861         getpagesize: Move AC_LIBOBJ invocations to module description.
7862         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
7863         from here...
7864         * modules/getpagesize (configure.ac): ... to here.
7865
7866 2011-05-08  Bruno Haible  <bruno@clisp.org>
7867
7868         getopt: Move AC_LIBOBJ invocations to module description.
7869         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
7870         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
7871         invocations from here...
7872         * modules/getopt-gnu (configure.ac): ... to here.
7873         * modules/getopt-posix (configure.ac): ... and here.
7874         (Depends-on): Update condition.
7875
7876 2011-05-08  Bruno Haible  <bruno@clisp.org>
7877
7878         getopt, argp: Respect rules for use of AC_LIBOBJ.
7879         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
7880         (gl_REPLACE_GETOPT_ALWAYS): New macro.
7881         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
7882         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
7883
7884 2011-05-08  Bruno Haible  <bruno@clisp.org>
7885
7886         getlogin_r: Move AC_LIBOBJ invocations to module description.
7887         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
7888         gl_PREREQ_GETLOGIN_R invocations from here...
7889         * modules/getlogin_r (configure.ac): ... to here.
7890
7891 2011-05-08  Bruno Haible  <bruno@clisp.org>
7892
7893         getlogin: Move AC_LIBOBJ invocations to module description.
7894         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
7895         here...
7896         * modules/getlogin (configure.ac): ... to here.
7897
7898 2011-05-08  Bruno Haible  <bruno@clisp.org>
7899
7900         getloadavg: Move AC_LIBOBJ invocations to module description.
7901         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
7902         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
7903         * modules/getloadavg (configure.ac): ... to here.
7904
7905 2011-05-08  Bruno Haible  <bruno@clisp.org>
7906
7907         gethrxtime: Move AC_LIBOBJ invocations to module description.
7908         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
7909         LIB_GETHRXTIME from here...
7910         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
7911         invocations from here...
7912         * modules/gethrxtime (configure.ac): ... to here.
7913
7914 2011-05-08  Bruno Haible  <bruno@clisp.org>
7915
7916         gethostname: Move AC_LIBOBJ invocations to module description.
7917         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
7918         gl_PREREQ_GETHOSTNAME invocations from here...
7919         * modules/gethostname (configure.ac): ... to here.
7920
7921 2011-05-08  Bruno Haible  <bruno@clisp.org>
7922
7923         getgroups: Move AC_LIBOBJ invocations to module description.
7924         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
7925         here...
7926         * modules/getgroups (configure.ac): ... to here.
7927
7928 2011-05-08  Bruno Haible  <bruno@clisp.org>
7929
7930         getdtablesize: Move AC_LIBOBJ invocations to module description.
7931         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
7932         invocation from here...
7933         * modules/getdtablesize (configure.ac): ... to here.
7934
7935 2011-05-08  Bruno Haible  <bruno@clisp.org>
7936
7937         getdomainname: Move AC_LIBOBJ invocations to module description.
7938         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
7939         gl_PREREQ_GETDOMAINNAME invocations from here...
7940         * modules/getdomainname (configure.ac): ... to here.
7941
7942 2011-05-08  Bruno Haible  <bruno@clisp.org>
7943
7944         getline: Move AC_LIBOBJ invocations to module description.
7945         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
7946         invocations from here...
7947         * modules/getline (configure.ac): ... to here.
7948
7949 2011-05-08  Bruno Haible  <bruno@clisp.org>
7950
7951         getline: Simplify.
7952         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
7953         It's already handled through the module dependency.
7954
7955 2011-05-08  Bruno Haible  <bruno@clisp.org>
7956
7957         getdelim: Move AC_LIBOBJ invocations to module description.
7958         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
7959         and gl_PREREQ_GETDELIM invocations from here...
7960         * modules/getdelim (configure.ac): ... to here.
7961         (Depends-on): Fix condition.
7962
7963 2011-05-08  Bruno Haible  <bruno@clisp.org>
7964
7965         getcwd: Move AC_LIBOBJ invocations to module description.
7966         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
7967         invocations from here...
7968         * modules/getcwd (configure.ac): ... to here.
7969
7970 2011-05-08  Bruno Haible  <bruno@clisp.org>
7971
7972         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
7973         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
7974         here...
7975         * modules/getcwd-lgpl (configure.ac): ... to here.
7976
7977 2011-05-07  Bruno Haible  <bruno@clisp.org>
7978
7979         crypto/gc: Move AC_LIBOBJ invocations to module description.
7980         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
7981         * modules/crypto/gc (configure.ac): ... to here.
7982
7983 2011-05-07  Bruno Haible  <bruno@clisp.org>
7984
7985         fwriting: Move AC_LIBOBJ invocations to module description.
7986         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
7987         here...
7988         * modules/fwriting (configure.ac): ... to here.
7989
7990 2011-05-07  Bruno Haible  <bruno@clisp.org>
7991
7992         fwritable: Move AC_LIBOBJ invocations to module description.
7993         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
7994         here...
7995         * modules/fwritable (configure.ac): ... to here.
7996
7997 2011-05-07  Bruno Haible  <bruno@clisp.org>
7998
7999         futimens: Move AC_LIBOBJ invocations to module description.
8000         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
8001         here...
8002         * modules/futimens (configure.ac): ... to here.
8003
8004 2011-05-07  Bruno Haible  <bruno@clisp.org>
8005
8006         ftruncate: Move AC_LIBOBJ invocations to module description.
8007         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
8008         gl_PREREQ_FTRUNCATE invocations from here...
8009         * modules/ftruncate (configure.ac): ... to here.
8010
8011 2011-05-07  Bruno Haible  <bruno@clisp.org>
8012
8013         fsync: Move AC_LIBOBJ invocations to module description.
8014         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
8015         invocations from here...
8016         * modules/fsync (configure.ac): ... to here.
8017
8018 2011-05-07  Bruno Haible  <bruno@clisp.org>
8019
8020         fsusage: Move AC_LIBOBJ invocations to module description.
8021         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
8022         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
8023         * modules/fsusage (configure.ac): ... to here.
8024
8025 2011-05-07  Bruno Haible  <bruno@clisp.org>
8026
8027         freopen: Move AC_LIBOBJ invocations to module description.
8028         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
8029         invocations from here...
8030         * modules/freopen (configure.ac): ... to here.
8031
8032 2011-05-07  Bruno Haible  <bruno@clisp.org>
8033
8034         free: Move AC_LIBOBJ invocations to module description.
8035         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
8036         invocations from here...
8037         * modules/free (configure.ac): ... to here.
8038
8039 2011-05-07  Bruno Haible  <bruno@clisp.org>
8040
8041         freadable: Move AC_LIBOBJ invocations to module description.
8042         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
8043         here...
8044         * modules/freadable (configure.ac): ... to here.
8045
8046 2011-05-07  Bruno Haible  <bruno@clisp.org>
8047
8048         fpurge: Move AC_LIBOBJ invocations to module description.
8049         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
8050         invocations from here...
8051         * modules/fpurge (configure.ac): ... to here.
8052
8053 2011-05-07  Bruno Haible  <bruno@clisp.org>
8054
8055         fpending: Move AC_LIBOBJ invocations to module description.
8056         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
8057         gl_FUNC_FPENDING.
8058         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
8059         invocations from here...
8060         * modules/fpending (configure.ac): ... to here.
8061
8062 2011-05-07  Bruno Haible  <bruno@clisp.org>
8063
8064         fopen: Move AC_LIBOBJ invocations to module description.
8065         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
8066         invocations from here...
8067         * modules/fopen (configure.ac): ... to here.
8068
8069 2011-05-07  Bruno Haible  <bruno@clisp.org>
8070
8071         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
8072         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
8073         gl_FUNC_FNMATCH_POSIX.
8074         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
8075         invocations from here...
8076         * modules/fnmatch (configure.ac): ... to here.
8077         * modules/fnmatch-gnu (configure.ac): ... and here.
8078
8079 2011-05-07  Bruno Haible  <bruno@clisp.org>
8080
8081         flock: Move AC_LIBOBJ invocations to module description.
8082         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
8083         invocations from here...
8084         * modules/flock (configure.ac): ... to here.
8085
8086 2011-05-07  Bruno Haible  <bruno@clisp.org>
8087
8088         fileblocks: Move AC_LIBOBJ invocations to module description.
8089         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
8090         gl_PREREQ_FILEBLOCKS invocations from here...
8091         * modules/fileblocks (configure.ac): ... to here.
8092
8093 2011-05-06  Bruno Haible  <bruno@clisp.org>
8094
8095         fflush: Move AC_LIBOBJ invocations to module description.
8096         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
8097         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
8098         invocations from here...
8099         * modules/fflush (configure.ac): ... to here.
8100
8101 2011-05-06  Bruno Haible  <bruno@clisp.org>
8102
8103         fdopendir: Move AC_LIBOBJ invocations to module description.
8104         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
8105         here...
8106         * modules/fdopendir (configure.ac): ... to here.
8107         (Depends-on): Improve conditions.
8108
8109 2011-05-06  Bruno Haible  <bruno@clisp.org>
8110
8111         _Exit: Move AC_LIBOBJ invocations to module description.
8112         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
8113         invocations from here...
8114         * modules/_Exit (configure.ac): ... to here.
8115
8116 2011-05-21  Bruno Haible  <bruno@clisp.org>
8117
8118         euidaccess: Respect rules for use of AC_LIBOBJ.
8119         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
8120         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
8121         from here...
8122         * modules/euidaccess (configure.ac): ... to here.
8123
8124 2011-05-06  Bruno Haible  <bruno@clisp.org>
8125
8126         error: Move AC_LIBOBJ invocations to module description.
8127         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
8128         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
8129         invocations from here...
8130         * modules/error (configure.ac): ... to here.
8131
8132 2011-05-06  Bruno Haible  <bruno@clisp.org>
8133
8134         duplocale: Move AC_LIBOBJ invocations to module description.
8135         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
8136         gl_PREREQ_DUPLOCALE invocations from here...
8137         * modules/duplocale (configure.ac): ... to here.
8138
8139 2011-05-05  Bruno Haible  <bruno@clisp.org>
8140
8141         dirfd: Move AC_LIBOBJ invocations to module description.
8142         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
8143         gl_FUNC_DIRFD.
8144         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
8145         here...
8146         * modules/dirfd (configure.ac): ... to here.
8147         (Depends-on): Fix condition.
8148
8149 2011-05-05  Bruno Haible  <bruno@clisp.org>
8150
8151         chown: Respect rules for use of AC_LIBOBJ.
8152         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
8153         * modules/chown (configure.ac): ... to here.
8154
8155 2011-05-05  Bruno Haible  <bruno@clisp.org>
8156
8157         chdir-long: Move AC_LIBOBJ invocations to module description.
8158         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
8159         gl_PREREQ_CHDIR_LONG invocations from here...
8160         * modules/chdir-long (configure.ac): ... to here.
8161
8162 2011-05-05  Bruno Haible  <bruno@clisp.org>
8163
8164         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
8165         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
8166         from here...
8167         * modules/canonicalize-lgpl (configure.ac): ... to here.
8168
8169 2011-05-05  Bruno Haible  <bruno@clisp.org>
8170
8171         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
8172         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
8173         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
8174         REPLACE_CALLOC.
8175         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
8176         * modules/calloc-gnu (configure.ac): Likewise.
8177
8178 2011-05-05  Bruno Haible  <bruno@clisp.org>
8179
8180         btowc: Move AC_LIBOBJ invocations to module description.
8181         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
8182         invocations from here...
8183         * modules/btowc (configure.ac): ... to here.
8184
8185 2011-05-21  Bruno Haible  <bruno@clisp.org>
8186
8187         atexit: Move AC_LIBOBJ invocations to module description.
8188         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
8189         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
8190         here...
8191         * modules/atexit (configure.ac): ... to here.
8192
8193 2011-05-05  Bruno Haible  <bruno@clisp.org>
8194
8195         atoll: Move AC_LIBOBJ invocations to module description.
8196         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
8197         invocations from here...
8198         * modules/atoll (configure.ac): ... to here.
8199
8200 2011-05-05  Bruno Haible  <bruno@clisp.org>
8201
8202         argz: Move AC_LIBOBJ invocations to module description.
8203         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
8204         * modules/argz (configure.ac): ... to here.
8205
8206 2011-05-05  Bruno Haible  <bruno@clisp.org>
8207
8208         alphasort: Move AC_LIBOBJ invocations to module description.
8209         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
8210         gl_PREREQ_ALPHASORT invocations from here...
8211         * modules/alphasort (configure.ac): ... to here.
8212
8213 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
8214
8215         verify: new macro verify_expr; verify_true deprecated
8216         * NEWS: Mention this.
8217         * doc/verify.texi (Compile-time Assertions): Document this.
8218         * lib/verify.h (verify_true): Deprecate.
8219         (verify_expr): New macro.
8220         * tests/test-verify.c (function): Test verify_expr.
8221
8222 2011-06-14  Jim Meyering  <meyering@redhat.com>
8223
8224         init.sh: give more portable redirection-related advice in a comment
8225         * tests/init.sh (stderr_fileno_): Update the advice in comments.
8226         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
8227         for lots of discussion.  Stefano Lattarini suggested the solution
8228         of putting "9>&2" after the command.  Reported by Bruno Haible.
8229
8230 2011-06-13  Bruno Haible  <bruno@clisp.org>
8231
8232         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
8233         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
8234         'none'.
8235
8236 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
8237
8238         ftoastr: use strtof only if HAVE_STRTOF
8239         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
8240         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
8241         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
8242         * modules/ftoastr (configure.ac): Check for strtof.
8243
8244 2011-06-13  Bruno Haible  <bruno@clisp.org>
8245
8246         gnulib-tool: Addendum to 2011-06-08 commit.
8247         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
8248         and --witness-c-macro have been given, augment AM_CPPFLAGS.
8249
8250 2011-06-13  Bruno Haible  <bruno@clisp.org>
8251
8252         fseeko: Provide a non-inline replacement of fseek().
8253         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
8254         * modules/fseeko (Depends-on): Add fseek.
8255         * modules/fseek (License): Change to LGPLv2+.
8256
8257 2011-06-13  Bruno Haible  <bruno@clisp.org>
8258
8259         ftello: Provide a non-inline replacement of ftell().
8260         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
8261         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
8262         not have ftello() (such as on mingw).
8263         * modules/ftello (Depends-on): Add ftell.
8264         * modules/ftell (License): Change to LGPLv2+.
8265
8266 2011-05-07  Bruno Haible  <bruno@clisp.org>
8267
8268         ftell: Move AC_LIBOBJ invocations to module description.
8269         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
8270         * modules/ftell (configure.ac): ... to here.
8271
8272 2011-05-07  Bruno Haible  <bruno@clisp.org>
8273
8274         ftello: Respect rules for use of AC_LIBOBJ.
8275         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
8276         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
8277         here...
8278         * modules/ftello (configure.ac): ... to here.
8279
8280 2011-05-07  Bruno Haible  <bruno@clisp.org>
8281
8282         fseeko: Simplify.
8283         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
8284         (gl_FUNC_FSEEKO): Inline it here.
8285
8286 2011-05-07  Bruno Haible  <bruno@clisp.org>
8287
8288         fseek: Move AC_LIBOBJ invocations to module description.
8289         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
8290         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
8291         * modules/fseek (configure.ac): ... to here.
8292
8293 2011-05-07  Bruno Haible  <bruno@clisp.org>
8294
8295         fseek: Respect rules for use of AC_LIBOBJ.
8296         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
8297         here...
8298         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
8299
8300 2011-05-07  Bruno Haible  <bruno@clisp.org>
8301
8302         fseeko: Respect rules for use of AC_LIBOBJ.
8303         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
8304         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
8305         here...
8306         * modules/fseeko (configure.ac): ... to here.
8307
8308 2011-06-13  Bruno Haible  <bruno@clisp.org>
8309
8310         gnulib-tool: Allow comments in the 'Depends-on' section.
8311         * doc/gnulib.texi (Module description): Mention comment syntax in the
8312         Depends-on section.
8313         * gnulib-tool (func_get_dependencies): Filter out comment lines.
8314
8315 2011-06-13  Bruno Haible  <bruno@clisp.org>
8316
8317         file-set.h: guard __attibute__ use, now that it's not always defined
8318         * lib/file-set.h (record_file): Use __attribute__ only with compiler
8319         versions that support it.  This fixes a coreutils build failure with
8320         the vendor cc on HP-UX 11.31.
8321
8322 2011-06-12  Bruno Haible  <bruno@clisp.org>
8323
8324         acl: Add support for HP-UX >= 11.11 JFS ACLs.
8325         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
8326         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
8327         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
8328         (acl, aclsort): New declarations.
8329         (aclv_nontrivial): New declaration.
8330         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
8331         (file_has_acl): Read also the second kind of HP-UX ACLs.
8332         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
8333         kind of HP-UX ACLs if the first kind fails.
8334         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
8335         second kind of HP-UX ACLs.
8336         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
8337         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
8338         agree.
8339         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
8340         hpuxjfs.
8341         Handle hpuxjfs.
8342         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
8343         hpuxjfs.
8344         Handle hpuxjfs.
8345         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
8346         (func_test_same_acls): Use both lsacl and getacl.
8347         Handle hpuxjfs.
8348         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
8349         (func_test_same_acls): Use both lsacl and getacl.
8350         Handle hpuxjfs.
8351
8352 2011-06-12  Bruno Haible  <bruno@clisp.org>
8353
8354         acl: Complete the 2010-08-10 fix.
8355         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
8356         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
8357         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
8358         explicitly.
8359         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
8360         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
8361
8362 2011-06-12  Bruno Haible  <bruno@clisp.org>
8363
8364         spawn-pipe tests: Comments.
8365         * tests/test-spawn-pipe-child.c (main): Update comment.
8366         Reported by James Youngman <jay@gnu.org>.
8367
8368 2011-06-11  James Youngman  <jay@gnu.org>
8369
8370         New module 'stat-size'.
8371         * modules/stat-size: New module.  Provides macros for accessing
8372         file size information in instances of struct stat.  Depends on the
8373         fileblocks module because it calls st_blocks.
8374         * lib/stat-size.h: New file, adapted from coreutils' system.h.
8375         * doc/gnulib.texi: Include stat-size.texi.
8376         * doc/stat-size.texi: Documentation for this module.
8377         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
8378         * m4/fileblocks.m4: Mention that stat-size depends on the call to
8379         AC_STRUCT_ST_BLOCKS.
8380
8381 2011-06-09  Bruno Haible  <bruno@clisp.org>
8382
8383         thread: Support pthreads-win32.
8384         * lib/glthread/thread.h (gl_thread_self): Define differently on
8385         pthreads-win32.
8386         (gl_null_thread): New declaration.
8387         (gl_thread_self_pointer): New macro.
8388         * lib/glthread/thread.c (gl_null_thread): New constant.
8389         * tests/test-lock.c: Use gl_thread_self_pointer instead of
8390         gl_thread_self.
8391         * tests/test-tls.c: Likewise.
8392         Suggested by Paul Eggert. Reported by Eric Blake.
8393
8394 2011-06-09  Bruno Haible  <bruno@clisp.org>
8395
8396         thread: Fix confusion between NULL and 0.
8397         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
8398         Reported by Paul Eggert.
8399
8400 2011-06-09  Bruno Haible  <bruno@clisp.org>
8401
8402         spawn-pipe tests: Avoid test failure on HP-UX 11.
8403         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
8404         is closed.
8405
8406 2011-06-09  Bruno Haible  <bruno@clisp.org>
8407
8408         acl tests: Fix compilation error on HP-UX 11.
8409         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
8410
8411 2011-06-09  Bruno Haible  <bruno@clisp.org>
8412
8413         rmdir: Avoid test failure on HP-UX 10.20.
8414         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
8415         EEXIST.
8416
8417 2011-06-08  Eric Blake  <eblake@redhat.com>
8418
8419         perror: fix test on mingw
8420         * modules/perror-tests (Depends-on): Add dup2.
8421
8422         strerror_r-posix: fix on MacOS
8423         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
8424         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
8425         logic bug.
8426         * lib/strerror_r.c (strerror_r): Fix the bug.
8427         * lib/strerror.c (strerror): Likewise.
8428         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
8429         problem.
8430         * doc/posix-functions/strerror.texi (strerror): Likewise.
8431         * doc/posix-functions/perror.texi (perror): Likewise.
8432         * tests/test-strerror.c (main): Enhance test.
8433         * tests/test-strerror_r.c (main): Likewise.
8434
8435 2011-06-08  Bruno Haible  <bruno@clisp.org>
8436
8437         gnulib-tool: Better isolation between different gnulib-tool invocations.
8438         * gnulib-tool: New option --witness-c-macro.
8439         (witness_c_macro): New variable.
8440         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
8441         AM_CPPFLAGS define it as a C macro.
8442         (func_emit_tests_Makefile_am): Likewise.
8443         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
8444         read it from there.
8445         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
8446         m4_define, not AC_DEFUN.
8447         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
8448         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
8449         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
8450         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
8451         s|...|...|, to substitute the values of the GNULIB_* module indicator
8452         variables.
8453         * modules/dirent (Makefile.am): Likewise.
8454         * modules/fcntl-h (Makefile.am): Likewise.
8455         * modules/iconv-h (Makefile.am): Likewise.
8456         * modules/langinfo (Makefile.am): Likewise.
8457         * modules/locale (Makefile.am): Likewise.
8458         * modules/math (Makefile.am): Likewise.
8459         * modules/netdb (Makefile.am): Likewise.
8460         * modules/poll-h (Makefile.am): Likewise.
8461         * modules/pty (Makefile.am): Likewise.
8462         * modules/search (Makefile.am): Likewise.
8463         * modules/signal (Makefile.am): Likewise.
8464         * modules/spawn (Makefile.am): Likewise.
8465         * modules/stdio (Makefile.am): Likewise.
8466         * modules/stdlib (Makefile.am): Likewise.
8467         * modules/string (Makefile.am): Likewise.
8468         * modules/sys_ioctl (Makefile.am): Likewise.
8469         * modules/sys_select (Makefile.am): Likewise.
8470         * modules/sys_socket (Makefile.am): Likewise.
8471         * modules/sys_stat (Makefile.am): Likewise.
8472         * modules/sys_times (Makefile.am): Likewise.
8473         * modules/sys_utsname (Makefile.am): Likewise.
8474         * modules/sys_wait (Makefile.am): Likewise.
8475         * modules/termios (Makefile.am): Likewise.
8476         * modules/time (Makefile.am): Likewise.
8477         * modules/unistd (Makefile.am): Likewise.
8478         * modules/wchar (Makefile.am): Likewise.
8479
8480 2011-06-08  Eric Blake  <eblake@redhat.com>
8481
8482         strerror: simplify replacement
8483         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
8484         * modules/strerror (configure.ac): No prereqs needed here...
8485         * modules/strerror-override (configure.ac): ...but this needs it.
8486         (Files): Add file for needed prereq macro.
8487
8488 2011-06-08  Bruno Haible  <bruno@clisp.org>
8489
8490         strerror_r-posix: Tweaks.
8491         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
8492         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
8493         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
8494         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
8495         (gl_FUNC_STRERROR_R): ... to here.
8496         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
8497
8498 2011-06-07  Eric Blake  <eblake@redhat.com>
8499
8500         perror: document fixed bugs
8501         * doc/posix-functions/perror.texi (perror): Document recent
8502         patches.
8503
8504 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
8505
8506         stat-time: get_stat_birthtime failure is better-defined
8507         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
8508         return a timestamp whose tv_sec and tv_nsec values are both -1.
8509         Previously, the spec said only that the tv_nsec value was negative.
8510         This upward-compatible change simplifies GNU tar a bit.
8511
8512 2011-06-07  Eric Blake  <eblake@redhat.com>
8513
8514         strerror_r-posix: work around cygwin 1.7.9
8515         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
8516         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
8517         bug without replacing strerror_r.
8518         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
8519         strerror_r is buggy, but without requiring strerror_r compilation.
8520         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
8521
8522         test-perror: relax test to ignore cygwin bug
8523         * tests/test-perror2.c (main): Relax test on requiring detection
8524         of stream errors, and use unbuffered stream.
8525         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
8526         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
8527         * doc/posix-functions/fputc.texi (fputc): Likewise.
8528         * doc/posix-functions/fputs.texi (fputs): Likewise.
8529         * doc/posix-functions/fputws.texi (fputws): Likewise.
8530         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
8531         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
8532         * doc/posix-functions/getopt.texi (getopt): Likewise.
8533         * doc/posix-functions/perror.texi (perror): Likewise.
8534         * doc/posix-functions/printf.texi (printf): Likewise.
8535         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
8536         * doc/posix-functions/psignal.texi (psignal): Likewise.
8537         * doc/posix-functions/putc.texi (putc): Likewise.
8538         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
8539         Likewise.
8540         * doc/posix-functions/putchar.texi (putchar): Likewise.
8541         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
8542         Likewise.
8543         * doc/posix-functions/puts.texi (puts): Likewise.
8544         * doc/posix-functions/putwc.texi (putwc): Likewise.
8545         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
8546         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
8547         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
8548         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
8549         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
8550         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
8551         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
8552         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
8553
8554 2011-05-22  Bruno Haible  <bruno@clisp.org>
8555
8556         strerror: Move AC_LIBOBJ invocations to module description.
8557         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
8558         gl_PREREQ_STRERROR invocations from here...
8559         * modules/strerror (configure.ac): ... to here.
8560
8561 2011-05-21  Bruno Haible  <bruno@clisp.org>
8562
8563         perror: Use common idiom.
8564         * modules/perror (configure.ac): Reorder statements.
8565
8566 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
8567
8568         tests: fix usage message in 'mktempd_'
8569         * tests/init.sh (mktempd_): In the usage message, use literal
8570         'mktempd_', not '$ME' (which is even undefined), as the name of
8571         the subroutine.
8572
8573 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
8574
8575         tests init: new function 'fatal_', for hard errors
8576         Before this patch, the only way offered by tests/init.sh to
8577         properly signal a hard error was the `framework_failure_'
8578         function.  But the error message issued by that function,
8579         as its name would suggest, refers to a set-up failure in the
8580         testsuite, while hard errors can obviously also be due to
8581         other reasons.  The best way to fix this inconsistency is to
8582         introduce a new function with a more general error message.
8583         * tests/init.sh (fatal_): New function.
8584
8585 2011-06-06  Eric Blake  <eblake@redhat.com>
8586
8587         canonicalize-lgpl: use common idiom
8588         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
8589         over newer POSIX -Rf.
8590         Reported by Bruno Haible.
8591
8592         canonicalize-lgpl: work around AIX realpath bug
8593         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
8594         * doc/posix-functions/realpath.texi (realpath): Document it.
8595         Reported by Bruno Haible.
8596
8597         strerror: work around FreeBSD bug
8598         * lib/strerror.c (strerror): Special case 0.
8599         Reported by Bruno Haible.
8600
8601         strerror-override: avoid bloating errno module
8602         * modules/errno (Files, configure.ac): Move replacement strings...
8603         * modules/strerror-override: ...to new module.
8604         * modules/strerror (Depends-on): Add strerror-override.
8605         * modules/strerror_r-posix (Depends-on): Likewise.
8606         * MODULES.html.sh: Document new module.
8607         Reported by Bruno Haible.
8608
8609 2011-06-06  Bruno Haible  <bruno@clisp.org>
8610
8611         spawn-pipe tests: Rename program.
8612         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
8613         * tests/test-spawn-pipe-child.c: Update comment.
8614         * tests/test-spawn-pipe.sh: Update.
8615         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
8616
8617         spawn-pipe tests: Link the child program only against libc.
8618         * tests/test-spawn-pipe-child.c: New file, extracted from
8619         tests/test-spawn-pipe.c.
8620         (main): Expect only one argument.
8621         (is_open): New function, copied from tests/test-pipe.c.
8622         * tests/test-spawn-pipe.c: Don't include <errno.h>.
8623         (child_main): Remove function.
8624         (test_pipe): Pass only one argument to the child program.
8625         (main): Remove child process code. Expect the child program's name as
8626         first argument.
8627         * tests/test-spawn-pipe.sh: Pass the child program's name as first
8628         argument.
8629         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
8630         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
8631         test-spawn-pipe-child against no libraries.
8632
8633 2011-06-06  Bruno Haible  <bruno@clisp.org>
8634
8635         careadlinkat: Avoid mismatch between ssize_t and int.
8636         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
8637         * lib/careadlinkat.c (careadlinkatcwd): Define always.
8638
8639 2011-06-06  Jim Meyering  <meyering@redhat.com>
8640
8641         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
8642         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
8643         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
8644
8645 2011-06-05  Bruno Haible  <bruno@clisp.org>
8646
8647         ansi-c++-opt: Interoperability with libtool.
8648         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
8649         set the variable to "no", not to ":".
8650         * NEWS: Mention the change.
8651
8652 2011-06-05  Bruno Haible  <bruno@clisp.org>
8653
8654         acl: Fix test failure on AIX 7.
8655         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
8656         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
8657
8658 2011-06-05  Bruno Haible  <bruno@clisp.org>
8659
8660         pipe-filter-ii: Fix test failure on AIX and IRIX.
8661         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
8662         with EAGAIN, retry with a smaller buffer size.
8663
8664 2011-06-05  Bruno Haible  <bruno@clisp.org>
8665
8666         localename: Fix link dependencies.
8667         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
8668         * modules/localename-tests (Makefile.am): Link test-localename with
8669         $(LIBTHREAD).
8670
8671 2011-06-05  Bruno Haible  <bruno@clisp.org>
8672
8673         error: Avoid gcc warning.
8674         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
8675
8676 2011-06-05  Bruno Haible  <bruno@clisp.org>
8677
8678         unsetenv: Avoid gcc warning.
8679         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
8680
8681 2011-06-05  Bruno Haible  <bruno@clisp.org>
8682
8683         setenv: Avoid gcc warning.
8684         * lib/setenv.c (setenv): Provide declaration if system lacks it.
8685
8686 2011-06-05  Bruno Haible  <bruno@clisp.org>
8687
8688         sys_select: Ensure memset is declared also on AIX 7.
8689         * lib/sys_select.in.h: Include <string.h> also on AIX.
8690         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
8691         self-contained also on AIX 7.1.
8692
8693 2011-06-04  Jim Meyering  <meyering@redhat.com>
8694
8695         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
8696         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
8697         function name, "error".
8698         (_gl_translatable_diag_func_re): New configurable variable.
8699
8700 2011-06-04  Bruno Haible  <bruno@clisp.org>
8701
8702         getopt: Avoid gcc warning.
8703         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
8704
8705 2011-06-04  Bruno Haible  <bruno@clisp.org>
8706
8707         strerror_r: Fix comments.
8708         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
8709         commit.
8710
8711 2011-06-04  Bruno Haible  <bruno@clisp.org>
8712
8713         perror: Fix compilation error.
8714         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
8715         Undefine fprintf, not sprintf.
8716         * modules/perror (Depends-on): Remove intprops, verify.
8717
8718 2011-06-04  Bruno Haible  <bruno@clisp.org>
8719
8720         setlocale: Enable replacement on Cygwin 1.5.
8721         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
8722         Cygwin 1.5.x.
8723         * doc/posix-functions/setlocale.texi: Mention that the problem with the
8724         LC_CTYPE category also exists on Cygwin 1.5.x.
8725
8726 2011-06-04  Bruno Haible  <bruno@clisp.org>
8727
8728         strerror-override: Don't disable symbol renamings.
8729         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
8730         * lib/strerror-override.c: Include config.h.
8731         (strerror_override): Don't undefine.
8732
8733 2011-06-03  Bruno Haible  <bruno@clisp.org>
8734
8735         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
8736         * lib/localename.h: Update copyright header.
8737         * lib/localename.c: Likewise.
8738         * lib/relocatable.h: Likewise.
8739         * lib/relocatable.c: Likewise.
8740
8741 2011-06-02  Bruno Haible  <bruno@clisp.org>
8742
8743         doc: Fix a module name.
8744         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
8745
8746 2011-06-02  Bruno Haible  <bruno@clisp.org>
8747
8748         pipe2: Remove dependency on 'nonblocking' module.
8749         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
8750         O_NONBLOCK is defined by gnulib.
8751         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
8752         is zero.
8753         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
8754         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
8755         defined by gnulib.
8756         (get_nonblocking_flag): New function.
8757         (main): Test O_NONBLOCK flag only if it is nonzero.
8758         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
8759
8760 2011-06-03  Jim Meyering  <meyering@redhat.com>
8761
8762         maint: three new prohibit-header-without-use rules
8763         Prohibit use of cloexec.h, posixver.h, same.h without use.
8764         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
8765         (sc_prohibit_posixver_without_use): Likewise.
8766         (sc_prohibit_same_without_use): Likewise.
8767
8768 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
8769
8770         allocator: 'die' routine is now given requested size
8771         * lib/allocator.h (struct allocator.die): New size arg.
8772         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
8773         If the actual problem is an ssize_t limitation, not a size_t or
8774         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
8775
8776 2011-06-01  Eric Blake  <eblake@redhat.com>
8777
8778         strerror: drop strerror_r dependency
8779         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
8780         * lib/strerror-override.c (strerror_override): ...to new file.
8781         * lib/strerror-override.h: Add prototype.
8782         * lib/strerror-impl.h: Delete.
8783         * lib/strerror.c (strerror): New implementation.
8784         * modules/errno (Files): Add new files.
8785         (configure.ac): Compile new file as appropriate.
8786         * modules/strerror (Files): Drop unused file.
8787         (Depends-on): Drop strerror_r-posix.
8788         * MODULES.html.sh: Document strerror_r-posix.
8789         Requested by Sam Steingold.
8790
8791         perror: call strerror_r directly
8792         * modules/perror (Files): Drop strerror-impl.h.
8793         * lib/perror.c (perror): Use our own stack buffer, rather than
8794         calling a wrapper that uses static storage.
8795         * doc/posix-functions/perror.texi (perror): Document a limitation
8796         of our replacement.
8797
8798         strerror_r: fix includes for FreeBSD
8799         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
8800         since we use abort on some platforms.
8801         Reported by Matthias Bolte.
8802
8803 2011-05-31  Bruno Haible  <bruno@clisp.org>
8804
8805         Fix link errors in tests: openat-die uses gettext-h.
8806         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
8807         against $(LIBINTL).
8808         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
8809         against $(LIBINTL).
8810         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
8811         $(LIBINTL).
8812         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
8813         against $(LIBINTL).
8814         * modules/linkat-tests (Makefile.am): Link test-linkat against
8815         $(LIBINTL).
8816         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
8817         $(LIBINTL).
8818         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
8819         against $(LIBINTL).
8820         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
8821         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
8822         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
8823         $(LIBINTL).
8824         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
8825         $(LIBINTL).
8826         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
8827         $(LIBINTL).
8828         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8829
8830 2011-05-31  Bruno Haible  <bruno@clisp.org>
8831
8832         Fix link errors in tests: wait-process uses gettext-h.
8833         * modules/nonblocking-pipe-tests (Makefile.am): Set
8834         test_nonblocking_pipe_main_LDADD.
8835         * modules/nonblocking-socket-tests (Makefile.am): Link
8836         test-nonblocking-socket-main against $(LIBINTL).
8837         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8838
8839 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
8840
8841         assert-h: work around 'verify' incompatibility
8842         * lib/verify.h: Use @...@ directives, not ifdef.
8843         * modules/assert-h (assert.h): Implement the directives.
8844         (assert.h): Substitute the symbol-prefix more consistently.
8845
8846 2011-05-29  Jim Meyering  <meyering@redhat.com>
8847
8848         trim: remove three superfluous assignments
8849         * lib/trim.c (trim2): Remove three superfluous assignments
8850         and correct brace positioning.
8851
8852 2011-05-29  Bruno Haible  <bruno@clisp.org>
8853
8854         wctype-h: Avoid namespace pollution on Solaris 2.6.
8855         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
8856         identifiers.
8857         * doc/posix-headers/wctype.texi: Mention the problem.
8858         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8859
8860 2011-05-28  Jim Meyering  <meyering@redhat.com>
8861
8862         parse-datetime.y: accommodate -Wstrict-overflow
8863         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
8864         placate -Wstrict-overflow.
8865
8866         trim: avoid a warning from -O2 -Wstrict-overflow
8867         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
8868
8869 2011-05-29  Bruno Haible  <bruno@clisp.org>
8870
8871         gnulib-tool: Fix bug in yesterday's commit.
8872         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
8873         twice.
8874
8875 2011-05-29  Bruno Haible  <bruno@clisp.org>
8876
8877         Allow multiple gnulib generated include files to be combined.
8878         * gnulib-tool (func_compute_include_guard_prefix): New function.
8879         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
8880         ${gl_include_guard_prefix} references.
8881         (func_import, func_create_testdir): Invoke
8882         func_compute_include_guard_prefix.
8883         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
8884         * lib/ctype.in.h: Likewise.
8885         * lib/dirent.in.h: Likewise.
8886         * lib/errno.in.h: Likewise.
8887         * lib/fcntl.in.h: Likewise.
8888         * lib/float.in.h: Likewise.
8889         * lib/getopt.in.h: Likewise.
8890         * lib/iconv.in.h: Likewise.
8891         * lib/langinfo.in.h: Likewise.
8892         * lib/locale.in.h: Likewise.
8893         * lib/math.in.h: Likewise.
8894         * lib/netdb.in.h: Likewise.
8895         * lib/netinet_in.in.h: Likewise.
8896         * lib/poll.in.h: Likewise.
8897         * lib/pthread.in.h: Likewise.
8898         * lib/pty.in.h: Likewise.
8899         * lib/sched.in.h: Likewise.
8900         * lib/se-selinux.in.h: Likewise.
8901         * lib/search.in.h: Likewise.
8902         * lib/signal.in.h: Likewise.
8903         * lib/spawn.in.h: Likewise.
8904         * lib/stdarg.in.h: Likewise.
8905         * lib/stddef.in.h: Likewise.
8906         * lib/stdint.in.h: Likewise.
8907         * lib/stdio.in.h: Likewise.
8908         * lib/stdlib.in.h: Likewise.
8909         * lib/string.in.h: Likewise.
8910         * lib/strings.in.h: Likewise.
8911         * lib/sys_file.in.h: Likewise.
8912         * lib/sys_ioctl.in.h: Likewise.
8913         * lib/sys_select.in.h: Likewise.
8914         * lib/sys_socket.in.h: Likewise.
8915         * lib/sys_stat.in.h: Likewise.
8916         * lib/sys_time.in.h: Likewise.
8917         * lib/sys_times.in.h: Likewise.
8918         * lib/sys_uio.in.h: Likewise.
8919         * lib/sys_utsname.in.h: Likewise.
8920         * lib/sys_wait.in.h: Likewise.
8921         * lib/sysexits.in.h: Likewise.
8922         * lib/termios.in.h: Likewise.
8923         * lib/time.in.h: Likewise.
8924         * lib/unistd.in.h: Likewise.
8925         * lib/wchar.in.h: Likewise.
8926         * lib/wctype.in.h: Likewise.
8927         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
8928         * modules/ctype (Makefile.am): Likewise.
8929         * modules/dirent (Makefile.am): Likewise.
8930         * modules/errno (Makefile.am): Likewise.
8931         * modules/fcntl-h (Makefile.am): Likewise.
8932         * modules/float (Makefile.am): Likewise.
8933         * modules/getopt-posix (Makefile.am): Likewise.
8934         * modules/iconv-h (Makefile.am): Likewise.
8935         * modules/langinfo (Makefile.am): Likewise.
8936         * modules/locale (Makefile.am): Likewise.
8937         * modules/math (Makefile.am): Likewise.
8938         * modules/netdb (Makefile.am): Likewise.
8939         * modules/netinet_in (Makefile.am): Likewise.
8940         * modules/poll-h (Makefile.am): Likewise.
8941         * modules/pthread (Makefile.am): Likewise.
8942         * modules/pty (Makefile.am): Likewise.
8943         * modules/sched (Makefile.am): Likewise.
8944         * modules/search (Makefile.am): Likewise.
8945         * modules/selinux-h (Makefile.am): Likewise.
8946         * modules/signal (Makefile.am): Likewise.
8947         * modules/spawn (Makefile.am): Likewise.
8948         * modules/stdarg (Makefile.am): Likewise.
8949         * modules/stddef (Makefile.am): Likewise.
8950         * modules/stdint (Makefile.am): Likewise.
8951         * modules/stdio (Makefile.am): Likewise.
8952         * modules/stdlib (Makefile.am): Likewise.
8953         * modules/string (Makefile.am): Likewise.
8954         * modules/strings (Makefile.am): Likewise.
8955         * modules/sys_file (Makefile.am): Likewise.
8956         * modules/sys_ioctl (Makefile.am): Likewise.
8957         * modules/sys_select (Makefile.am): Likewise.
8958         * modules/sys_socket (Makefile.am): Likewise.
8959         * modules/sys_stat (Makefile.am): Likewise.
8960         * modules/sys_time (Makefile.am): Likewise.
8961         * modules/sys_times (Makefile.am): Likewise.
8962         * modules/sys_uio (Makefile.am): Likewise.
8963         * modules/sys_utsname (Makefile.am): Likewise.
8964         * modules/sys_wait (Makefile.am): Likewise.
8965         * modules/sysexits (Makefile.am): Likewise.
8966         * modules/termios (Makefile.am): Likewise.
8967         * modules/time (Makefile.am): Likewise.
8968         * modules/unistd (Makefile.am): Likewise.
8969         * modules/wchar (Makefile.am): Likewise.
8970         * modules/wctype-h (Makefile.am): Likewise.
8971         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
8972
8973 2011-05-29  Bruno Haible  <bruno@clisp.org>
8974
8975         assert-h: Allow multiple gnulib generated replacements to coexist.
8976         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
8977
8978 2011-05-29  Bruno Haible  <bruno@clisp.org>
8979
8980         argp: Allow coexistence with strerror_r-posix module.
8981         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
8982         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
8983         by gnulib's <string.h> replacement), assume it has the POSIX signature,
8984         not the glibc signature.
8985
8986 2011-05-28  Bruno Haible  <bruno@clisp.org>
8987
8988         gnulib-tool: Alternative structure of testdirs, similar to --import.
8989         * gnulib-tool: New option --single-configure.
8990         (func_usage): Document it.
8991         (single_configure): New variable.
8992         (func_modules_transitive_closure_separately,
8993         func_modules_transitive_closure_separately,
8994         func_determine_use_libtests, func_modules_add_dummy_separately,
8995         func_modules_to_filelist_separately): New functions, extracted from
8996         func_import.
8997         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
8998         (func_import): Use the new functions.
8999         (func_create_testdir): Set final_modules. Handle $single_configure =
9000         true case.
9001
9002 2011-05-28  Bruno Haible  <bruno@clisp.org>
9003
9004         getloadavg: Remove an unreliable safety check.
9005         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
9006         getloadavg.c is in place.
9007         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
9008         Reported by Sam Steingold <sds@gnu.org>.
9009
9010 2011-05-28  Bruno Haible  <bruno@clisp.org>
9011
9012         doc: Cleanup yet another file produced by texinfo.tex.
9013         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
9014
9015 2011-05-28  Bruno Haible  <bruno@clisp.org>
9016
9017         Finish the conditional dependencies mechanism.
9018         * gnulib-tool: New option --no-conditional-dependencies.
9019         (func_usage): Document it. Don't mark --conditional-dependencies as
9020         experimental.
9021         (cond_dependencies): The possible values can now be true, false, empty.
9022         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
9023         (func_import): Store setting in gnulib-cache.m4 and read it from there.
9024         * doc/gnulib-tool.texi (Conditional dependencies): New section.
9025
9026 2011-05-28  Bruno Haible  <bruno@clisp.org>
9027
9028         doc: Use a recent texinfo.tex.
9029         * doc/Makefile (tex_opts): New variable.
9030         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
9031
9032 2011-05-28  Jim Meyering  <meyering@redhat.com>
9033
9034         intprops.h: adjust comment to match code change
9035         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
9036         only once, it *may* have side effects.  Also fix an unrelated typo.
9037         (_GL_INT_SIGNED): Likewise.
9038
9039 2011-05-26  Simon Josefsson  <simon@josefsson.org>
9040
9041         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
9042
9043 2011-05-26  Bruno Haible  <bruno@clisp.org>
9044
9045         mbsrchr: Avoid collision with system function on Interix.
9046         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
9047         Reported by Markus Duft <mduft@gentoo.org>.
9048
9049 2011-05-15  James Youngman  <jay@gnu.org>
9050
9051         getopt: for ambiguous options, enumerate the possibilities.
9052         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
9053         the ambiguous options when an ambiguous prefix is given. This was
9054         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
9055         glibc change was
9056         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
9057
9058 2011-05-25  Eric Blake  <eblake@redhat.com>
9059
9060         getcwd: work around mingw bug
9061         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
9062         * doc/posix-functions/getcwd.texi (getcwd): Document it.
9063         Reported by Matthias Bolte.
9064
9065 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
9066
9067         test-intprops: disable -Wtype-limits diagnostics
9068         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
9069         diagnostics.  Otherwise, the integer overflow macros generate many
9070         diagnostics.  Reported by Jim Meyering in
9071         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
9072
9073         intprops: shorten, to pacify gcc -Woverlength-strings
9074         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
9075         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
9076         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
9077         likely to run afoul of C compiler limits for string constant lengths.
9078         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
9079
9080 2011-05-24  Eric Blake  <eblake@redhat.com>
9081
9082         docs: document recently fixed glibc printf bug
9083         * doc/posix-functions/fprintf.texi (fprintf): Document it.
9084         * doc/posix-functions/printf.texi (printf): Likewise.
9085         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
9086         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
9087
9088         closein-tests: convert to init.sh
9089         * modules/closein-tests (Files): Add init.sh
9090         * tests/test-closein.sh Use it.
9091
9092         yesno-tests: convert to init.sh
9093         * modules/yesno-tests (Files): Add init.sh.
9094         * tests/test-yesno.sh: Use it.
9095
9096         atexit-tests: ensure reliable exit status
9097         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
9098         Reported by Bruno Haible.
9099
9100 2011-05-24  Bruno Haible  <bruno@clisp.org>
9101
9102         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
9103         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
9104         gl_PREREQ_STRERROR_R invocations from here...
9105         * modules/strerror_r-posix (configure.ac): ... to here.
9106
9107 2011-05-24  Eric Blake  <eblake@redhat.com>
9108
9109         strerror_r: fix missing header
9110         * lib/strerror_r.c: Avoid compiler warning about snprintf.
9111
9112         strerror_r: fix AIX test failures
9113         * lib/strerror_r.c (strerror_r): Convert silent truncation to
9114         ERANGE failure.
9115
9116         strerror_r: fix Solaris test failures
9117         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
9118         failures.
9119         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
9120
9121         strerror_r: enforce POSIX recommendations
9122         * lib/strerror_r.c (safe_copy): New helper method.
9123         (strerror_r): Guarantee a non-empty string.
9124         * tests/test-strerror_r.c (main): Enhance tests to incorporate
9125         recent POSIX rulings and to match our strerror guarantees.
9126         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
9127
9128 2011-05-24  Jim Meyering  <meyering@redhat.com>
9129
9130         test-perror2.c: avoid warning about unused variable
9131         * tests/test-perror2.c (main): Remove declaration of unused "fp".
9132
9133 2011-05-24  Eric Blake  <eblake@redhat.com>
9134
9135         perror: avoid spurious test failure on HP-UX
9136         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
9137
9138         tests: fix logic bug in init.sh
9139         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
9140         shell.
9141
9142 2011-05-24  Jim Meyering  <meyering@redhat.com>
9143
9144         utimensat: do not reference an out-of-scope buffer
9145         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
9146         declared in an inner scope, yet "times" would be dereferenced outside
9147         the scope in which "ts" was valid.
9148         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
9149         of ts[2] "out/up", so that the use of aliased "times" (via
9150         "times = ts;") does not end up referencing an out-of-scope "ts"
9151
9152         opendir-safer.c: don't clobber errno; don't close negative FD
9153         * lib/opendir-safer.c (opendir_safer):
9154         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
9155         file descriptor, and more importantly, don't clobber the
9156         offending errno value with EINVAL.  Before, upon failure
9157         of dup_safer, we would pass the negative file descriptor to
9158         fdopendir, which would clobber errno.
9159
9160 2011-05-23  Bruno Haible  <bruno@clisp.org>
9161
9162         idcache: Fix module description.
9163         * modules/idcache (Include): Set to "idcache.h".
9164
9165 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
9166
9167         gnulib-tool: fix portability problem with MacOS sed
9168         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
9169         before the "}".  Problem reported by Leo in
9170         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
9171         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
9172         sed_extract_condition1, sed_extract_condition2.
9173
9174 2011-05-23  Bruno Haible  <bruno@clisp.org>
9175
9176         hash: Simplify autoconf macro.
9177         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
9178
9179 2011-05-23  Bruno Haible  <bruno@clisp.org>
9180
9181         getugroups: Fix module description.
9182         * modules/getugroups (Include): Set to "getugroups.h".
9183
9184 2011-05-23  Bruno Haible  <bruno@clisp.org>
9185
9186         linkat: Simplify autoconf macro.
9187         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
9188
9189 2011-05-23  Bruno Haible  <bruno@clisp.org>
9190             Eric Blake  <eblake@redhat.com>
9191
9192         linkat, renameat: Update dependencies.
9193         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
9194         * modules/linkat (Depends-on): Likewise. Remove also readlink,
9195         symlinkat.
9196
9197 2011-05-23  Jim Meyering  <meyering@redhat.com>
9198
9199         maint.mk: more tight_scope improvements
9200         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
9201         (_gl_TS_headers): Define only in if-0'd block.
9202         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
9203         sometimes we must *not* use it.  Adjust uses accordingly.
9204         (sc_tight_scope): Use much simpler grep-based test to determine
9205         whether we skip this rule.
9206
9207         maint.mk: generalize/improve the tight-scope rule
9208         * top/maint.mk: Emit a warning when the test is skipped.
9209         (_gl_TS_dir): Add $(srcdir)/ prefix.
9210         (_gl_TS_function_match): Simplify, rather than trying
9211         to enumerate common types.  Otherwise, it would fail to match an
9212         "extern unsigned char const *" declaration in idutils.
9213         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
9214         a way to support use of that type of macro.
9215         (_gl_TS_var_match): Simplify regexp.
9216         (_gl_TS_obj_files): New configurable variable.
9217         (_gl_TS_headers): Likewise.
9218
9219 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
9220
9221         verify: fix bug when gnulib <assert.h> is also included
9222         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
9223         is defined, not if _GL_STATIC_ASSERT_H is not defined.
9224         Perhaps there's a better way, but this fixes the immediate problem.
9225         Problem reported by Bruno Haible in
9226         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
9227
9228 2011-05-22  Bruno Haible  <bruno@clisp.org>
9229
9230         xgetcwd: Simplify autoconf macro.
9231         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
9232
9233 2011-05-22  Bruno Haible  <bruno@clisp.org>
9234
9235         New module 'mktime-internal'.
9236         * modules/mktime-internal: New file.
9237         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
9238         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
9239         mktime_internal as a C macro if libc has __mktime_internal.
9240         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
9241         conditions.
9242         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
9243
9244 2011-05-22  Bruno Haible  <bruno@clisp.org>
9245
9246         timegm: Correct mktime replacement statements.
9247         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
9248         defining mktime as a C macro. This completes a 2009-07-28 commit.
9249
9250 2011-05-22  Bruno Haible  <bruno@clisp.org>
9251
9252         timegm: Simplify autoconf macro.
9253         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
9254
9255 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
9256
9257         clock-time: change to LGPLv2+.
9258         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
9259         BSD-like but we have no mark for that; this is good enough for now.
9260
9261 2011-05-21  Bruno Haible  <bruno@clisp.org>
9262
9263         strerror_r: Fix comments.
9264         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
9265
9266 2011-05-21  Bruno Haible  <bruno@clisp.org>
9267
9268         relocatable-prog-wrapper: Fix possible link error.
9269         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
9270         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
9271         (gl_FUNC_SETENV): ... to here.
9272         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
9273         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
9274
9275 2011-05-21  Bruno Haible  <bruno@clisp.org>
9276
9277         relocatable-prog-wrapper: Assume strerror() exists.
9278         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
9279         m4/strerror.m4.
9280         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
9281         * lib/relocwrapper.c: Remove mention of strerror module.
9282         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
9283         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
9284         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
9285         C macro.
9286
9287 2011-05-21  Bruno Haible  <bruno@clisp.org>
9288
9289         select: Simplify replacement idiom.
9290         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
9291         Win32 platforms.
9292         * lib/sys_select.in.h (select): Simplify accordingly.
9293         * modules/select (Depends-on): Likewise.
9294
9295 2011-05-21  Bruno Haible  <bruno@clisp.org>
9296
9297         mkdir-p: Simplify autoconf macro.
9298         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
9299         gl_FUNC_LCHOWN.
9300
9301 2011-05-21  Eric Blake  <eblake@redhat.com>
9302
9303         strerror_r: avoid clobbering strerror on cygwin
9304         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
9305         fall back instead to sys_errlist.
9306         * modules/strerror (configure.ac): Add witness.
9307         * tests/test-strerror_r.c (main): Enhance test.
9308         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
9309         * tests/test-perror2.c (main): Free memory before exit.
9310
9311 2011-05-21  Bruno Haible  <bruno@clisp.org>
9312
9313         mkdtemp: Use gnulib naming conventions.
9314         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
9315         * modules/mkdtemp (configure.ac): Update.
9316
9317 2011-05-20  Eric Blake  <eblake@redhat.com>
9318
9319         strerror_r: avoid corrupting errno on Solaris
9320         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
9321         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
9322
9323         strerror_r: avoid compiler warning
9324         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
9325
9326         strerror_r: simplify AIX code
9327         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
9328
9329         test-perror: avoid spurious failure on FreeBSD
9330         * modules/perror-tests (Depends-on): Add strerror, now that
9331         strerror_r no longer pulls it in.
9332
9333 2011-05-20  Bruno Haible  <bruno@clisp.org>
9334
9335         strerror_r-posix: Remove unused dependencies.
9336         * modules/strerror_r-posix (Depends-on): Remove strerror.
9337         Reported by Eric Blake.
9338
9339 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
9340
9341         intprops: remove assumption about A|B representation
9342         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
9343         is a valid integer if both A and B are.  Although this is true for
9344         all known practical hosts, the C standard doesn't guarantee it,
9345         and the code need not assume it.  Also, this change may work around
9346         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
9347         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
9348
9349 2011-05-20  Eric Blake  <eblake@redhat.com>
9350
9351         perror: work around FreeBSD bug
9352         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
9353         is broken.  Move AC_LIBOBJ...
9354         * modules/perror (configure.ac): Here.
9355         * doc/posix-functions/perror.texi (perror): Document this.
9356         * tests/test-perror2.c (main): Enhance test.
9357
9358         test-perror: check for strerror interactions
9359         * tests/macros.h (STREQ): Add macro.
9360         * modules/perror-tests (Files): Add second test.
9361         * tests/test-perror2.c (main): New file.
9362         * doc/posix-functions/perror.texi (perror): Document glibc bug.
9363
9364         test-perror: rewrite to use init script
9365         * modules/perror-tests (Files): Add init.sh.
9366         * tests/test-perror.sh: Use temporary directory.
9367
9368 2011-05-20  Jim Meyering  <meyering@redhat.com>
9369
9370         maint: replace misused "a" with "an"
9371         * doc/intprops.texi: "a integer"
9372         * doc/regex.texi: "a explanation"
9373         * lib/alignof.h: "a object"
9374         * lib/argmatch.h: "a explanation"
9375         * lib/argp-help.c: "a option" and "a OPTION_DOC"
9376         * lib/stdint.in.h: "a integer"
9377         * lib/userspec.c: "a owner"
9378         * doc/gnulib.texi: Fix "a idea", and reword.
9379
9380 2011-05-19  Jim Meyering  <meyering@redhat.com>
9381
9382         maint: correct misuse of "a" and "an"
9383         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
9384         * lib/argp-help.c: "an docum...": s/an/a/
9385         * lib/argp-parse.c: "An vector": s/An/A/
9386         * lib/execute.c: "an native": s/an/a/
9387         * lib/spawn-pipe.c: Likewise.
9388         * lib/gc.h: "an Gc_rc": s/an/a/
9389         * lib/unigbrk.in.h: "an grapheme": s/an/a/
9390         * lib/fts.c: "an stat.st_dev": s/an/a/
9391
9392 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
9393
9394         intprops-tests: work around HP-UX 11.23 cc bug with constants
9395         * tests/test-intprops.c (VERIFY): New macro.
9396         (main): Use it, instead of verify, to work around the compiler bug; see
9397         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
9398
9399         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
9400         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
9401         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
9402         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
9403         (_GL_REMAINDER_OVERFLOW): Use it.
9404
9405         intprops-tests: revert unsigned part of previous change
9406         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
9407         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
9408         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
9409         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
9410
9411 2011-05-19  Bruno Haible  <bruno@clisp.org>
9412
9413         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
9414         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
9415         strerror_r() returned without filling the buffer.
9416         Reported by Eric Blake.
9417
9418 2011-05-19  Eric Blake  <eblake@redhat.com>
9419
9420         strerror_r: guarantee unchanged errno
9421         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
9422         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
9423         failure.
9424         * tests/test-strerror_r.c (main): Enhance test.
9425
9426 2011-05-19  Bruno Haible  <bruno@clisp.org>
9427
9428         strerror_r: Reorder #if blocks.
9429         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
9430         for consistency with the previous commit.
9431
9432 2011-05-19  Bruno Haible  <bruno@clisp.org>
9433
9434         perror: Avoid clobbering the strerror buffer when possible.
9435         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
9436         * lib/strerror.c: Include it.
9437         * modules/strerror (Files): Add lib/strerror-impl.h.
9438         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
9439         (my_strerror): New function, defined through lib/strerror-impl.h.
9440         (perror): Use it instead of strerror.
9441         * modules/perror (Files): Add lib/strerror-impl.h.
9442         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
9443
9444 2011-05-19  Eric Blake  <eblake@redhat.com>
9445
9446         strerror_r: fix on newer cygwin
9447         * lib/strerror_r.c (strerror_r): Cygwin now has
9448         __xpg_strerror_r, use it.
9449
9450 2011-05-19  Bruno Haible  <bruno@clisp.org>
9451
9452         strerror_r: Avoid clobbering the strerror buffer when possible.
9453         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
9454         (sys_nerr, sys_errlist): New declarations.
9455         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
9456         HP-UX, native Win32, IRIX, and 32-bit Solaris.
9457         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
9458
9459 2011-05-19  Bruno Haible  <bruno@clisp.org>
9460
9461         strerror_r: Fix test failure on mingw.
9462         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
9463         EXTEND_STRERROR_R.
9464         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
9465         macros from errno.in.h instead.
9466
9467 2011-05-19  Eric Blake  <eblake@redhat.com>
9468
9469         strerror: relax test for Solaris
9470         * tests/test-strerror.c (main): Permit Solaris behavior.
9471         * tests/test-strerror_r.c (main): Likewise.
9472
9473         strerror: enforce POSIX ruling on strerror(0)
9474         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
9475         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
9476         * lib/strerror_r.c (rpl_strerror_r): Work around it.
9477         * doc/posix-functions/strerror.texi (strerror): Document it.
9478         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
9479         * tests/test-strerror.c (main): Strengthen test.
9480         * tests/test-strerror_r.c (main): Likewise.
9481
9482 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
9483
9484         intprop-tests: port to older and more-pedantic compilers
9485         * modules/intprops-tests (Files): Add tests/macros.h.
9486         * tests/test-intprops.c: Include macros.h.
9487         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
9488         it's no longer documented to expand to an integer constant expression.
9489         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
9490         argument is floating point, as it's no longer documented to expand
9491         to an integer constant expression in that case.
9492         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
9493         compiler bugs reported by Bruno Haible.  See
9494         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
9495         (U0, U1): New constants, to work around the same bugs.  Also,
9496         in tests, use e.g., "(unsigned int) 39" rather than "39u".
9497
9498         intprops: work around C compiler bugs
9499         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
9500         bug in Sun C 5.11 2010/08/13 and other compilers; see
9501         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
9502
9503         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
9504         * doc/intprops.texi (Integer Type Determination): Fix
9505         documentation for TYPE_IS_INTEGER: it returns an constant
9506         expression, not an integer constant expression.  Fix doc for
9507         TYPE_SIGNED: it returns an integer constant expression only if its
9508         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
9509         hardly worth documented that way....)
9510
9511 2011-05-18  Bruno Haible  <bruno@clisp.org>
9512
9513         strerror_r: Avoid clobbering the strerror buffer when possible.
9514         * lib/strerror_r.c (strerror_r): Merge the three implementations.
9515         Handle gnulib defined errno values here. When strerror() returns NULL
9516         or an empty string, return EINVAL.
9517         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
9518         gnulib defined errno values here.
9519         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
9520
9521 2011-05-18  Eric Blake  <eblake@redhat.com>
9522
9523         fnmatch: avoid compiler warning
9524         * lib/fnmatch_loop.c (FCT): Use correct type.
9525         Reported by Matthias Bolte.
9526
9527 2011-05-13  Jim Meyering  <meyering@redhat.com>
9528
9529         maint.mk: three new prohibit_<HDR>_without_use rules
9530         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
9531         (sc_prohibit_stdio-safer_without_use): Likewise.
9532         (sc_prohibit_xfreopen_without_use): Likewise.
9533
9534 2011-05-17  Jim Meyering  <meyering@redhat.com>
9535
9536         announce-gen: fail if the NEWS delta is empty
9537         If there's nothing noteworthy in NEWS, then either you forgot
9538         or you shouldn't be releasing.
9539         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
9540
9541 2011-05-17  Pádraig Brady <P@draigBrady.com>
9542
9543         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
9544         reserved symbols starting with double underscore from the check.
9545
9546 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
9547
9548         intprops: add doc
9549         * doc/intprops.texi: New file, documenting intprops.
9550         * doc/gnulib.texi (Particular Modules): Include it.
9551
9552         verify: add doc to gnulib manual and fix example
9553         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
9554         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
9555         (Compile-time Assertions): Fix example so it can't overflow.
9556
9557 2011-05-17  Jim Meyering  <meyering@redhat.com>
9558
9559         warnings.m4: don't usurp save_CPPFLAGS variable name
9560         * m4/warnings.m4: Prefix local temporary variable name with gl_.
9561
9562         doc: fix typo
9563         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
9564
9565 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
9566             Bruno Haible  <bruno@clisp.org>
9567
9568         doc: Tweak recent change.
9569         * README (Portability guidelines): Tweak new text.
9570         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
9571         Interix 6.1.
9572
9573 2011-05-16  Eric Blake  <eblake@redhat.com>
9574
9575         inttypes: avoid autoconf warning
9576         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
9577         * m4/stdint.m4 (gl_STDINT_H): Likewise.
9578
9579 2011-05-16  Sam Steingold <sds@gnu.org>
9580         and Eric Blake  <eblake@redhat.com>
9581
9582         vc-list-files: accept multiple directory operands
9583         * build-aux/vc-list-files: Iterate over all remaining operands.
9584
9585 2011-05-16  Bruno Haible  <bruno@clisp.org>
9586
9587         Fix confusion regarding deprecated modules.
9588         * modules/calloc (Status, Notice): Mark module as deprecated, not
9589         obsolete.
9590         * modules/fnmatch-posix (Status, Notice): Likewise.
9591         * modules/getdate (Status, Notice): Likewise.
9592         * modules/getopt (Status, Notice): Likewise.
9593         * modules/malloc (Status, Notice): Likewise.
9594         * modules/pipe (Status, Notice): Likewise.
9595         * modules/realloc (Status, Notice): Likewise.
9596         * modules/rename-dest-slash (Status, Notice): Likewise.
9597         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
9598         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
9599         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
9600         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
9601         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
9602
9603 2011-05-16  Bruno Haible  <bruno@clisp.org>
9604
9605         doc: List the target platforms.
9606         * doc/gnulib-intro.texi (Target Platforms): New section.
9607         * doc/gnulib.texi (Introduction): Update menu.
9608         * README (Portability guidelines): Refer to the new section. Update
9609         statement about oldest supported environment. Remove rationale why
9610         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
9611         unportable C89 function.
9612         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
9613         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
9614
9615 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
9616
9617         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
9618
9619 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
9620
9621         intprops-tests: new module
9622         * modules/intprops-tests, tests/test-intprops.c: New files.
9623
9624         intprops: add safe, portable integer overflow checking
9625         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
9626         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
9627         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
9628         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
9629         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
9630         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
9631         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
9632         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
9633         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
9634         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
9635         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
9636
9637 2011-05-12  James Youngman  <jay@gnu.org>
9638
9639         Add a test for glibc's Bugzilla bug #12378.
9640         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
9641         doesn't allow the literal matching of a lone "[" (which is
9642         required by POSIX).
9643         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
9644
9645 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
9646
9647         Sync glibc change fixing Bugzilla bug #12378.
9648         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
9649         beginning and fall back to matching as normal character if the
9650         string ends before the matching ']' is found.  This is what POSIX
9651         requires.
9652
9653 2011-05-13  Eric Blake  <eblake@redhat.com>
9654
9655         getcwd-lgpl: relax test for FreeBSD
9656         * doc/posix-functions/getcwd.texi (getcwd): Document portability
9657         issue.
9658         * tests/test-getcwd-lgpl.c (main): Relax test.
9659         Reported by Matthias Bolte.
9660
9661 2011-05-11  Eric Blake  <eblake@redhat.com>
9662
9663         test-fflush: silence compiler warning
9664         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
9665
9666 2011-05-11  Bruno Haible  <bruno@clisp.org>
9667
9668         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
9669         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
9670         * modules/canonicalize (Depends-on): Add 'nocrash'.
9671         * modules/canonicalize-lgpl (Depends-on): Likewise.
9672         * doc/posix-functions/realpath.texi: Update platforms list.
9673         Reported by Ryan Schmidt <ryandesign@macports.org>.
9674
9675 2011-05-11  Bruno Haible  <bruno@clisp.org>
9676
9677         group-member: Declare function in <unistd.h>.
9678         * lib/unistd.in.h (group_member): New declaration.
9679         * lib/group-member.h: Remove file.
9680         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
9681         * tests/test-unistd-c++.cc: Check signature of group_member.
9682         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
9683         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
9684         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
9685         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
9686         HAVE_GROUP_MEMBER.
9687         * modules/group-member (Files): Remove lib/group-member.h.
9688         (Depends-on): Add unistd. Specify conditions.
9689         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
9690         (Include): Change to <unistd.h>.
9691         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
9692         HAVE_GROUP_MEMBER.
9693         * NEWS: Mention the change.
9694         * lib/euidaccess.c: Don't include group-member.h.
9695
9696 2011-05-11  Bruno Haible  <bruno@clisp.org>
9697
9698         group-member: Document module.
9699         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
9700         module.
9701
9702 2011-05-11  Bruno Haible  <bruno@clisp.org>
9703
9704         fclose: Fix mistake earlier today.
9705         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
9706
9707 2011-05-11  Eric Blake  <eblake@redhat.com>
9708
9709         fclose: preserve fflush errors
9710         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
9711         Reported by Jim Meyering.
9712
9713         bootstrap: support a prereq of 'rpcgen -' on RHEL5
9714         * build-aux/bootstrap (check_versions): When no specific version
9715         is required, merely check that the app produces an exit status
9716         that indicates its existence.
9717
9718         maint.mk: drop redundant check
9719         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
9720         the same but better.
9721
9722 2011-05-11  Bruno Haible  <bruno@clisp.org>
9723
9724         fclose: Fix possible link error.
9725         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
9726         unregister_shadow_fd. Improve comments.
9727         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
9728         Eric Blake.
9729
9730 2011-05-11  Jim Meyering  <meyering@redhat.com>
9731
9732         maint.mk: improve "can not" detection and generalize rule name
9733         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
9734         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
9735         Use the same technique as in sc_prohibit_doubled_word, so that
9736         we recognize "can not" also when the words are separated by a newline.
9737         Suggested by Eric Blake.
9738         (perl_filename_lineno_text_): Define.  Factored out of...
9739         (prohibit_doubled_word_): ...here.  Use the new definition.
9740         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
9741         (prohibit_undesirable_word_seq_RE_): New overridable variable.
9742         (ignore_undesirable_word_sequence_RE_): New overridable variable.
9743
9744 2011-05-10  Eric Blake  <eblake@redhat.com>
9745
9746         fclose: avoid double close race when possible
9747         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
9748         all but WINDOWS_SOCKETS.
9749
9750 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
9751
9752         openat: correct new comment
9753         * lib/openat-proc.c (openat_proc_name): Correct the comment.
9754
9755 2011-05-10  Jim Meyering  <meyering@redhat.com>
9756
9757         openat: add comments
9758         * lib/openat-proc.c (openat_proc_name): Add comments,
9759         mostly from Eric Blake.
9760
9761 2011-05-09  Eric Blake  <eblake@redhat.com>
9762
9763         openat: reduce syscalls in first probe of /proc
9764         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
9765         be a directory.  Simplify the probe for .. bugs.
9766         * modules/openat (Depends-on): Drop same-inode.
9767         Reported by Bastien ROUCARIES.
9768
9769 2011-05-09  Jim Meyering  <meyering@redhat.com>
9770
9771         maint.mk: change semantics/name of tight_scope variables
9772         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
9773         Rename variables to align with semantics that make them more useful.
9774
9775         maint.mk: tweak new rule's name not to impinge
9776         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
9777         (sc_tight_scope): Use new rule name rather than $@-0.
9778
9779         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
9780         * top/maint.mk (sc_tight_scope): New rule.
9781         (sc_tight_scope-0): New rule, ifdef'd out.
9782         (_gl_TS_dir): Default.
9783         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
9784         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
9785
9786 2011-05-09  Simon Josefsson  <simon@josefsson.org>
9787
9788         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
9789         Haible <bruno@clisp.org>.
9790
9791 2011-05-08  Bruno Haible  <bruno@clisp.org>
9792
9793         Comments.
9794         * m4/isnanf.m4: Add comment.
9795         * m4/isnanl.m4: Likewise.
9796
9797 2011-05-08  Bruno Haible  <bruno@clisp.org>
9798
9799         glob: Remove obsolete macro.
9800         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
9801
9802 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
9803
9804         intprops: Sun C 5.11 supports __typeof__
9805         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
9806         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
9807         which is new.
9808         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
9809
9810         intprops: switch to usual gnulib indenting and naming
9811         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
9812         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
9813
9814         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
9815
9816 2011-05-08  Jim Meyering  <meyering@redhat.com>
9817
9818         maint.mk: suppress "Entering/Leaving directory" diag in announcement
9819         * top/maint.mk (release-prep): Use make's --no-print-directory
9820         option when generating the announcement.  This eliminates the
9821         pesky "make[2]: Entering/Leaving directory" diagnostics in the
9822         generated announcement template.
9823
9824 2011-05-08  Bruno Haible  <bruno@clisp.org>
9825
9826         tzset: Fix gettimeofday wrapper on Solaris 2.6.
9827         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
9828         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
9829
9830 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
9831
9832         ignore-value, verify: Omit include files from lib_SOURCES.
9833         * modules/ignore-value, modules/verify (Makefile.am):
9834         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
9835         that leads Automake to duplicate use of am__objects_... variables
9836         in Makefile.in.  See
9837         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
9838
9839 2011-05-07  Bruno Haible  <bruno@clisp.org>
9840
9841         fclose: Simplify autoconf macro.
9842         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
9843         defined.
9844
9845 2011-05-07  Bruno Haible  <bruno@clisp.org>
9846
9847         canonicalize-lgpl: Fix autoconf macro ordering bug.
9848         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
9849         gl_STDLIB_H_DEFAULTS.
9850
9851 2011-05-06  Eric Blake  <eblake@redhat.com>
9852
9853         maintainer-makefile: make sc_po_check easier to tune
9854         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
9855         to probe for strings, such as an alternate location for gnulib.
9856
9857         fclose: guarantee behavior on seekable stdin
9858         * modules/fclose (Depends-on): Add fflush.
9859         * doc/posix-functions/fclose.texi (fclose): Document this.
9860         * tests/test-fclose.c (main): Make test for this unconditional.
9861
9862 2011-05-06  Bruno Haible  <bruno@clisp.org>
9863
9864         fflush, fpurge: Relicense under LGPLv2+.
9865         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
9866         * modules/fpurge (License): Likewise.
9867         With permission from Eric Blake and Jim Meyering.
9868         Suggested by Eric Blake.
9869
9870 2011-05-06  Karl Berry  <karl@gnu.org>
9871
9872         * MODULES.html.sh (func_all_modules): remove exit.
9873
9874 2011-05-06  Jim Meyering  <meyering@redhat.com>
9875
9876         maint.mk: use info-gnu@ as the default only for a stable release
9877         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
9878         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
9879         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
9880         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
9881
9882 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
9883
9884         assert-h: new module, which supports C1X-style static_assert
9885         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
9886         * lib/verify.h: Revamp so that this can be copied into assert.h,
9887         while retaining the ability to use it standalone as before.
9888         Rename private identifiers so as not to encroach on the
9889         standard C namespace, since this is now used by assert.h.
9890         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
9891         the old verify_true.
9892         (_GL_VERIFY_TRUE): New macro, with much of the contents of
9893         the old verify_true.  Use _GL_VERIFY_TYPE.
9894         (_GL_VERIFY): New macro, with much of the contents of the old verify.
9895         (static_assert): New macro, if _GL_STATIC_ASSERT_H
9896         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
9897         defined when this file is copied into the replacement assert.h.
9898         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
9899         and _Static_assert is not built in.
9900         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
9901         defined, and use the new macros mentioned above.
9902         * doc/posix-headers/assert.texi: Document this.
9903
9904 2011-05-05  Bruno Haible  <bruno@clisp.org>
9905
9906         fclose, fflush: Respect rules for use of AC_LIBOBJ.
9907         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
9908         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
9909         gl_REPLACE_FCLOSE here.
9910         * modules/fflush (Depends-on): Remove fclose.
9911         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
9912         combination with module 'fclose'.
9913
9914 2011-05-05  Bruno Haible  <bruno@clisp.org>
9915
9916         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
9917         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
9918         gl_FUNC_FFLUSH.
9919         (gl_FUNC_FFLUSH): Use it.
9920         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
9921         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
9922         gl_REPLACE_FSEEKO here.
9923
9924 2011-05-05  Bruno Haible  <bruno@clisp.org>
9925
9926         tzset: Relicense under LGPL.
9927         * modules/tzset (License): Change to LGPL.
9928         No agreement needed; it's a no-op.
9929
9930         strtoimax, strtoumax: Relicense under LGPL.
9931         * modules/strtoimax (License): Change to LGPL.
9932         * modules/strtoumax (License): Likewise.
9933         With permission from Jim Meyering, Paul Eggert:
9934         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
9935         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
9936
9937         getgroups: Relicense under LGPL.
9938         * modules/getgroups (License): Change to LGPL.
9939         With permission from Jim Meyering, Paul Eggert, Eric Blake:
9940         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
9941         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
9942         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
9943
9944         nanosleep: Relicense under LGPL.
9945         * modules/nanosleep (License): Change to LGPL.
9946         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
9947         Haible:
9948         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
9949         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
9950         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
9951         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
9952
9953         futimens: Relicense under LGPL.
9954         * modules/futimens (License): Change to LGPL.
9955         With permission from Eric Blake:
9956         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
9957
9958         fflush: Relicense under LGPL.
9959         * modules/fflush (License): Change to LGPL.
9960         With permission from Eric Blake, Bruno Haible, Jim Meyering:
9961         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
9962         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
9963         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
9964
9965         tmpfile: Relicense under LGPL.
9966         * modules/tmpfile (License): Change to LGPL.
9967         With permission from Ben Pfaff:
9968         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
9969
9970         isfinite: Relicense under LGPL.
9971         * modules/isfinite (License): Change to LGPL.
9972         With permission from Ben Pfaff, Bruno Haible:
9973         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
9974         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
9975
9976         acosl..tanl: Relicense under LGPL.
9977         * modules/acosl (License): Change to LGPL.
9978         * modules/asinl (License): Likewise.
9979         * modules/atanl (License): Likewise.
9980         * modules/cosl (License): Likewise.
9981         * modules/expl (License): Likewise.
9982         * modules/logl (License): Likewise.
9983         * modules/sinl (License): Likewise.
9984         * modules/sqrtl (License): Likewise.
9985         * modules/tanl (License): Likewise.
9986         Source code originally from glibc and Paolo Bonzini. Agreements:
9987         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
9988         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
9989
9990 2011-05-05  Bruno Haible  <bruno@clisp.org>
9991
9992         signal: Define sighandler_t.
9993         * lib/signal.in.h (sighandler_t): New type.
9994         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
9995         whether sighandler_t is defined.
9996         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
9997         * modules/signal (Depends-on): Add extensions.
9998         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
9999         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
10000         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
10001
10002 2011-05-05  Eric Blake  <eblake@redhat.com>
10003
10004         maint: remove useless REPLACE_*_H macros
10005         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
10006         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
10007         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
10008         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
10009         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
10010         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
10011         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
10012         * m4/btowc.m4: Update callers.
10013         * m4/dirfd.m4: Likewise.
10014         * m4/duplocale.m4: Likewise.
10015         * m4/fchdir.m4: Likewise.
10016         * m4/fdopendir.m4: Likewise.
10017         * m4/inet_ntop.m4: Likewise.
10018         * m4/inet_pton.m4: Likewise.
10019         * m4/ioctl.m4: Likewise.
10020         * m4/mbrlen.m4: Likewise.
10021         * m4/mbrtowc.m4: Likewise.
10022         * m4/mbsinit.m4: Likewise.
10023         * m4/mbsnrtowcs.m4: Likewise.
10024         * m4/mbsrtowcs.m4: Likewise.
10025         * m4/poll.m4: Likewise.
10026         * m4/setlocale.m4: Likewise.
10027         * m4/wcrtomb.m4: Likewise.
10028         * m4/wcsnrtombs.m4: Likewise.
10029         * m4/wcsrtombs.m4: Likewise.
10030         * m4/wctob.m4: Likewise.
10031         * m4/wcwidth.m4: Likewise.
10032         * modules/posix_spawn: Likewise.
10033         * modules/posix_spawn_file_actions_addclose: Likewise.
10034         * modules/posix_spawn_file_actions_adddup2: Likewise.
10035         * modules/posix_spawn_file_actions_addopen: Likewise.
10036         * modules/posix_spawn_file_actions_destroy: Likewise.
10037         * modules/posix_spawn_file_actions_init: Likewise.
10038         * modules/posix_spawnattr_destroy: Likewise.
10039         * modules/posix_spawnattr_getflags: Likewise.
10040         * modules/posix_spawnattr_getpgroup: Likewise.
10041         * modules/posix_spawnattr_getschedparam: Likewise.
10042         * modules/posix_spawnattr_getschedpolicy: Likewise.
10043         * modules/posix_spawnattr_getsigdefault: Likewise.
10044         * modules/posix_spawnattr_getsigmask: Likewise.
10045         * modules/posix_spawnattr_init: Likewise.
10046         * modules/posix_spawnattr_setflags: Likewise.
10047         * modules/posix_spawnattr_setpgroup: Likewise.
10048         * modules/posix_spawnattr_setschedparam: Likewise.
10049         * modules/posix_spawnattr_setschedpolicy: Likewise.
10050         * modules/posix_spawnattr_setsigdefault: Likewise.
10051         * modules/posix_spawnattr_setsigmask: Likewise.
10052         * modules/posix_spawnp: Likewise.
10053
10054 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
10055
10056         Add option to do-release-commit-and-tag to specify branch.
10057         * build-aux/do-release-commit-and-tag: Add --branch.
10058
10059 2011-05-03  Bruno Haible  <bruno@clisp.org>
10060
10061         Avoid unnecessary compilation units, through conditional dependencies.
10062         * modules/accept (Depends-on): Add conditions to the dependencies.
10063         * modules/acosl (Depends-on): Likewise.
10064         * modules/argz (Depends-on): Likewise.
10065         * modules/asinl (Depends-on): Likewise.
10066         * modules/atanl (Depends-on): Likewise.
10067         * modules/atoll (Depends-on): Likewise.
10068         * modules/bind (Depends-on): Likewise.
10069         * modules/btowc (Depends-on): Likewise.
10070         * modules/canonicalize-lgpl (Depends-on): Likewise.
10071         * modules/ceil (Depends-on): Likewise.
10072         * modules/ceilf (Depends-on): Likewise.
10073         * modules/ceill (Depends-on): Likewise.
10074         * modules/chdir-long (Depends-on): Likewise.
10075         * modules/chown (Depends-on): Likewise.
10076         * modules/close (Depends-on): Likewise.
10077         * modules/connect (Depends-on): Likewise.
10078         * modules/cosl (Depends-on): Likewise.
10079         * modules/dirfd (Depends-on): Likewise.
10080         * modules/dprintf (Depends-on): Likewise.
10081         * modules/dprintf-posix (Depends-on): Likewise.
10082         * modules/error (Depends-on): Likewise.
10083         * modules/euidaccess (Depends-on): Likewise.
10084         * modules/expl (Depends-on): Likewise.
10085         * modules/faccessat (Depends-on): Likewise.
10086         * modules/fchdir (Depends-on): Likewise.
10087         * modules/fclose (Depends-on): Likewise.
10088         * modules/fcntl (Depends-on): Likewise.
10089         * modules/fdopendir (Depends-on): Likewise.
10090         * modules/fflush (Depends-on): Likewise.
10091         * modules/floor (Depends-on): Likewise.
10092         * modules/floorf (Depends-on): Likewise.
10093         * modules/floorl (Depends-on): Likewise.
10094         * modules/fnmatch (Depends-on): Likewise.
10095         * modules/fopen (Depends-on): Likewise.
10096         * modules/fprintf-posix (Depends-on): Likewise.
10097         * modules/frexp (Depends-on): Likewise.
10098         * modules/frexp-nolibm (Depends-on): Likewise.
10099         * modules/frexpl (Depends-on): Likewise.
10100         * modules/frexpl-nolibm (Depends-on): Likewise.
10101         * modules/fseek (Depends-on): Likewise.
10102         * modules/fsusage (Depends-on): Likewise.
10103         * modules/ftell (Depends-on): Likewise.
10104         * modules/ftello (Depends-on): Likewise.
10105         * modules/futimens (Depends-on): Likewise.
10106         * modules/getcwd (Depends-on): Likewise.
10107         * modules/getcwd-lgpl (Depends-on): Likewise.
10108         * modules/getdelim (Depends-on): Likewise.
10109         * modules/getdomainname (Depends-on): Likewise.
10110         * modules/getgroups (Depends-on): Likewise.
10111         * modules/gethostname (Depends-on): Likewise.
10112         * modules/getline (Depends-on): Likewise.
10113         * modules/getlogin_r (Depends-on): Likewise.
10114         * modules/getopt-posix (Depends-on): Likewise.
10115         * modules/getpeername (Depends-on): Likewise.
10116         * modules/getsockname (Depends-on): Likewise.
10117         * modules/getsockopt (Depends-on): Likewise.
10118         * modules/getsubopt (Depends-on): Likewise.
10119         * modules/getusershell (Depends-on): Likewise.
10120         * modules/glob (Depends-on): Likewise.
10121         * modules/grantpt (Depends-on): Likewise.
10122         * modules/iconv_open (Depends-on): Likewise.
10123         * modules/iconv_open-utf (Depends-on): Likewise.
10124         * modules/inet_ntop (Depends-on): Likewise.
10125         * modules/inet_pton (Depends-on): Likewise.
10126         * modules/ioctl (Depends-on): Likewise.
10127         * modules/isapipe (Depends-on): Likewise.
10128         * modules/isfinite (Depends-on): Likewise.
10129         * modules/isinf (Depends-on): Likewise.
10130         * modules/lchown (Depends-on): Likewise.
10131         * modules/ldexpl (Depends-on): Likewise.
10132         * modules/link (Depends-on): Likewise.
10133         * modules/linkat (Depends-on): Likewise.
10134         * modules/listen (Depends-on): Likewise.
10135         * modules/logl (Depends-on): Likewise.
10136         * modules/lstat (Depends-on): Likewise.
10137         * modules/mbrlen (Depends-on): Likewise.
10138         * modules/mbrtowc (Depends-on): Likewise.
10139         * modules/mbsinit (Depends-on): Likewise.
10140         * modules/mbsnrtowcs (Depends-on): Likewise.
10141         * modules/mbsrtowcs (Depends-on): Likewise.
10142         * modules/mbtowc (Depends-on): Likewise.
10143         * modules/memcmp (Depends-on): Likewise.
10144         * modules/mkdir (Depends-on): Likewise.
10145         * modules/mkdtemp (Depends-on): Likewise.
10146         * modules/mkfifo (Depends-on): Likewise.
10147         * modules/mkfifoat (Depends-on): Likewise.
10148         * modules/mknod (Depends-on): Likewise.
10149         * modules/mkostemp (Depends-on): Likewise.
10150         * modules/mkostemps (Depends-on): Likewise.
10151         * modules/mkstemp (Depends-on): Likewise.
10152         * modules/mkstemps (Depends-on): Likewise.
10153         * modules/mktime (Depends-on): Likewise.
10154         * modules/nanosleep (Depends-on): Likewise.
10155         * modules/open (Depends-on): Likewise.
10156         * modules/openat (Depends-on): Likewise.
10157         * modules/perror (Depends-on): Likewise.
10158         * modules/poll (Depends-on): Likewise.
10159         * modules/popen (Depends-on): Likewise.
10160         * modules/posix_spawn (Depends-on): Likewise.
10161         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
10162         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
10163         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
10164         * modules/posix_spawnp (Depends-on): Likewise.
10165         * modules/pread (Depends-on): Likewise.
10166         * modules/printf-posix (Depends-on): Likewise.
10167         * modules/ptsname (Depends-on): Likewise.
10168         * modules/putenv (Depends-on): Likewise.
10169         * modules/pwrite (Depends-on): Likewise.
10170         * modules/readline (Depends-on): Likewise.
10171         * modules/readlink (Depends-on): Likewise.
10172         * modules/readlinkat (Depends-on): Likewise.
10173         * modules/recv (Depends-on): Likewise.
10174         * modules/recvfrom (Depends-on): Likewise.
10175         * modules/regex (Depends-on): Likewise.
10176         * modules/remove (Depends-on): Likewise.
10177         * modules/rename (Depends-on): Likewise.
10178         * modules/renameat (Depends-on): Likewise.
10179         * modules/rmdir (Depends-on): Likewise.
10180         * modules/round (Depends-on): Likewise.
10181         * modules/roundf (Depends-on): Likewise.
10182         * modules/roundl (Depends-on): Likewise.
10183         * modules/rpmatch (Depends-on): Likewise.
10184         * modules/select (Depends-on): Likewise.
10185         * modules/send (Depends-on): Likewise.
10186         * modules/sendto (Depends-on): Likewise.
10187         * modules/setenv (Depends-on): Likewise.
10188         * modules/setlocale (Depends-on): Likewise.
10189         * modules/setsockopt (Depends-on): Likewise.
10190         * modules/shutdown (Depends-on): Likewise.
10191         * modules/sigaction (Depends-on): Likewise.
10192         * modules/signbit (Depends-on): Likewise.
10193         * modules/sigprocmask (Depends-on): Likewise.
10194         * modules/sinl (Depends-on): Likewise.
10195         * modules/sleep (Depends-on): Likewise.
10196         * modules/snprintf (Depends-on): Likewise.
10197         * modules/snprintf-posix (Depends-on): Likewise.
10198         * modules/socket (Depends-on): Likewise.
10199         * modules/sprintf-posix (Depends-on): Likewise.
10200         * modules/sqrtl (Depends-on): Likewise.
10201         * modules/stat (Depends-on): Likewise.
10202         * modules/strchrnul (Depends-on): Likewise.
10203         * modules/strdup-posix (Depends-on): Likewise.
10204         * modules/strerror (Depends-on): Likewise.
10205         * modules/strerror_r-posix (Depends-on): Likewise.
10206         * modules/strndup (Depends-on): Likewise.
10207         * modules/strnlen (Depends-on): Likewise.
10208         * modules/strptime (Depends-on): Likewise.
10209         * modules/strsep (Depends-on): Likewise.
10210         * modules/strsignal (Depends-on): Likewise.
10211         * modules/strstr-simple (Depends-on): Likewise.
10212         * modules/strtod (Depends-on): Likewise.
10213         * modules/strtoimax (Depends-on): Likewise.
10214         * modules/strtok_r (Depends-on): Likewise.
10215         * modules/strtoumax (Depends-on): Likewise.
10216         * modules/symlink (Depends-on): Likewise.
10217         * modules/symlinkat (Depends-on): Likewise.
10218         * modules/tanl (Depends-on): Likewise.
10219         * modules/tcgetsid (Depends-on): Likewise.
10220         * modules/tmpfile (Depends-on): Likewise.
10221         * modules/trunc (Depends-on): Likewise.
10222         * modules/truncf (Depends-on): Likewise.
10223         * modules/truncl (Depends-on): Likewise.
10224         * modules/uname (Depends-on): Likewise.
10225         * modules/unlink (Depends-on): Likewise.
10226         * modules/unlockpt (Depends-on): Likewise.
10227         * modules/unsetenv (Depends-on): Likewise.
10228         * modules/usleep (Depends-on): Likewise.
10229         * modules/utimensat (Depends-on): Likewise.
10230         * modules/vasprintf (Depends-on): Likewise.
10231         * modules/vdprintf (Depends-on): Likewise.
10232         * modules/vdprintf-posix (Depends-on): Likewise.
10233         * modules/vfprintf-posix (Depends-on): Likewise.
10234         * modules/vprintf-posix (Depends-on): Likewise.
10235         * modules/vsnprintf (Depends-on): Likewise.
10236         * modules/vsnprintf-posix (Depends-on): Likewise.
10237         * modules/vsprintf-posix (Depends-on): Likewise.
10238         * modules/wcrtomb (Depends-on): Likewise.
10239         * modules/wcscasecmp (Depends-on): Likewise.
10240         * modules/wcscspn (Depends-on): Likewise.
10241         * modules/wcsdup (Depends-on): Likewise.
10242         * modules/wcsncasecmp (Depends-on): Likewise.
10243         * modules/wcsnrtombs (Depends-on): Likewise.
10244         * modules/wcspbrk (Depends-on): Likewise.
10245         * modules/wcsrtombs (Depends-on): Likewise.
10246         * modules/wcsspn (Depends-on): Likewise.
10247         * modules/wcsstr (Depends-on): Likewise.
10248         * modules/wcstok (Depends-on): Likewise.
10249         * modules/wcswidth (Depends-on): Likewise.
10250         * modules/wctob (Depends-on): Likewise.
10251         * modules/wctomb (Depends-on): Likewise.
10252         * modules/wctype (Depends-on): Likewise.
10253         * modules/wcwidth (Depends-on): Likewise.
10254         * modules/write (Depends-on): Likewise.
10255
10256 2011-05-03  Bruno Haible  <bruno@clisp.org>
10257
10258         Support for conditional dependencies.
10259         * doc/gnulib.texi (Module description): Document the syntax of
10260         conditional dependencies.
10261         * gnulib-tool: New option --conditional-dependencies.
10262         (func_usage): Document it.
10263         (cond_dependencies): New variable.
10264         (func_get_automake_snippet_conditional,
10265         func_get_automake_snippet_unconditional): New functions, extracted from
10266         func_get_automake_snippet.
10267         (func_get_automake_snippet): Use them.
10268         (sed_first_32_chars): New variable.
10269         (func_module_shellfunc_name): New function.
10270         (func_module_shellvar_name): New function.
10271         (func_module_conditional_name): New function.
10272         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
10273         func_cond_module_condition): New functions.
10274         (func_modules_transitive_closure): Add support for conditional
10275         dependencies.
10276         (func_emit_lib_Makefile_am): For a conditional module, enclose the
10277         conditional automake snippet in an automake conditional.
10278         (func_emit_autoconf_snippets): Emit shell functions that contain the
10279         code for conditional modules.
10280         (func_import, func_create_testdir): Update specification.
10281
10282 2011-05-03  Eric Blake  <eblake@redhat.com>
10283
10284         test-getaddrinfo: report error information
10285         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
10286
10287 2011-05-03  Jim Meyering  <meyering@redhat.com>
10288
10289         bootstrap: avoid build failure when $GZIP is set
10290         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
10291         program name.  If defined at all, it is supposed to list gzip options.
10292         Reported by Alan Curry in http://debbugs.gnu.org/8609
10293
10294 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
10295
10296         readme-release: new module with release instructions
10297         * modules/readme-release: New module.
10298         * top/README-release: New file, from coreutils, grep, diffutils.
10299         * MODULES.html.sh (Support for maintaining and releasing): Add it.
10300
10301 2011-05-02  Eric Blake  <eblake@redhat.com>
10302
10303         fflush: also replace fclose when fixing fflush
10304         * modules/fflush (Depends-on): Add fclose.
10305         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
10306         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
10307         memstreams with no backing fd.
10308         * doc/posix-functions/fclose.texi (fclose): Document the use of
10309         fflush module to fix the bug.
10310         * tests/test-fclose.c (main): Relax test when fclose is used in
10311         isolation.
10312
10313         fclose: add some tests
10314         * modules/fclose-tests: New test module.
10315         * tests/test-fclose.c: New file.
10316         * doc/posix-functions/fclose.texi (fclose): Document the bug.
10317
10318         fclose: reduced dependencies
10319         * modules/fclose (Depends-on): Switch from fflush/fseeko to
10320         simpler lseek.
10321         * lib/fclose.c (rpl_fclose): Likewise.
10322         Reported by Simon Josefsson.
10323
10324         exit: drop remaining clients
10325         * modules/argmatch (Depends-on): Replace exit with stdlib.
10326         * modules/copy-file (Depends-on): Likewise.
10327         * modules/execute (Depends-on): Likewise.
10328         * modules/exitfail (Depends-on): Likewise.
10329         * modules/obstack (Depends-on): Likewise.
10330         * modules/pagealign_alloc (Depends-on): Likewise.
10331         * modules/pipe-filter-gi (Depends-on): Likewise.
10332         * modules/pipe-filter-ii (Depends-on): Likewise.
10333         * modules/savewd (Depends-on): Likewise.
10334         * modules/spawn-pipe (Depends-on): Likewise.
10335         * modules/wait-process (Depends-on): Likewise.
10336         * modules/xsetenv (Depends-on): Likewise.
10337         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
10338         * modules/git-merge-changelog (Depends-on): Likewise.
10339         * modules/long-options (Depends-on): Likewise.
10340         * modules/pt_chown (Depends-on): Likewise.
10341         * modules/sysexits (Depends-on): Likewise.
10342
10343         freading: relax license from LGPLv3+ to LGPLv2+
10344         * modules/freading (License): Relax LGPL version.
10345
10346 2011-05-02  Bruno Haible  <bruno@clisp.org>
10347
10348         fchdir: Remove unused dependencies.
10349         * modules/fchdir (Depends-on): Remove include_next.
10350
10351 2011-05-02  Bruno Haible  <bruno@clisp.org>
10352
10353         gnulib-tool: Refactor.
10354         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
10355         from func_emit_autoconf_snippets.
10356         (func_emit_autoconf_snippets): Use it.
10357
10358 2011-05-02  Simon Josefsson  <simon@josefsson.org>
10359
10360         * NEWS: Document removal of 'exit'.
10361         * modules/exit: Remove file.
10362
10363 2011-05-01  Bruno Haible  <bruno@clisp.org>
10364
10365         Update DEPENDENCIES.
10366         * DEPENDENCIES (gettext): Recommend the newest release.
10367         Reported by Simon Josefsson.
10368
10369 2011-05-01  Bruno Haible  <bruno@clisp.org>
10370
10371         gnulib-tool: Reduce code duplication.
10372         * gnulib-tool (func_emit_autoconf_snippets): New function.
10373         (func_import, func_create_testdir): Use it.
10374
10375 2011-04-30  Eric Blake  <eblake@redhat.com>
10376
10377         fclose: don't fail on non-seekable input stream
10378         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
10379         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
10380         since fflush is allowed to fail in that case.
10381
10382 2011-04-30  Bruno Haible  <bruno@clisp.org>
10383
10384         dup3: cleanup
10385         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
10386
10387 2011-04-30  Bruno Haible  <bruno@clisp.org>
10388
10389         netdb: Make it work in C++ mode.
10390         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
10391         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
10392         module.
10393         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
10394         gl_MODULE_INDICATOR_FOR_TESTS.
10395         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
10396         * modules/netdb-c++-tests: New file.
10397         * tests/test-netdb-c++.cc: New file.
10398
10399 2011-04-30  Bruno Haible  <bruno@clisp.org>
10400
10401         New modules 'vfscanf', 'vscanf'.
10402         * modules/vfscanf: New file.
10403         * modules/vscanf: New file.
10404         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
10405         here.
10406         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
10407         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
10408
10409 2011-04-30  Bruno Haible  <bruno@clisp.org>
10410
10411         passfd: Add comments.
10412         * lib/passfd.c: Add comments about platforms.
10413
10414 2011-04-30  Bruno Haible  <bruno@clisp.org>
10415
10416         sys_uio: Make <sys/uio.h> self-contained.
10417         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
10418         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
10419
10420 2011-04-30  Bruno Haible  <bruno@clisp.org>
10421
10422         sys_socket: Ensure 'struct iovec' definition.
10423         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
10424         <sys/socket.h>.
10425         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
10426
10427 2011-04-30  Bruno Haible  <bruno@clisp.org>
10428
10429         sys_uio: Protect definition of 'struct iovec'.
10430         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
10431         it as a C struct.
10432
10433 2011-04-30  Bruno Haible  <bruno@clisp.org>
10434
10435         manywarnings: fix indentation
10436         * m4/manywarnings.m4: Indent by 2 spaces consistently.
10437
10438 2011-04-30  Pádraig Brady <P@draigBrady.com>
10439
10440         manywarnings: add -Wno-missing-field-initializers if needed.
10441         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
10442         option if it's needed to allow initialization with { 0, }
10443
10444 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
10445
10446         announce-gen: cosmetic improvement
10447         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
10448
10449 2011-04-29  Jim Meyering  <meyering@redhat.com>
10450
10451         vc-list-files: indent with spaces, not TABs
10452         * build-aux/vc-list-files: Convert leading TABs to spaces,
10453         to match the style of most other files in gnulib.
10454
10455         announce-gen: indent with spaces, not TABs
10456         * build-aux/announce-gen: Convert all TABs to spaces, to match
10457         the style of most other files in gnulib.
10458
10459 2011-04-29  Eric Blake  <eblake@redhat.com>
10460
10461         quotearg: avoid uninitialized variable use
10462         * lib/quotearg.c (quoting_options_from_style): Initialize
10463         remaining fields, and ensure that custom styles are only used via
10464         quoting_options rather than quoting_style.
10465
10466 2011-04-29  Jim Meyering  <meyering@redhat.com>
10467
10468         maint.mk: remove unused VC-tag variable
10469         * top/maint.mk (VC-tag): Remove unused variable.
10470
10471 2011-04-29  Bruno Haible  <bruno@clisp.org>
10472
10473         netdb: fix gai_strerror replacements
10474         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
10475         * modules/netdb: Substitute it.
10476
10477 2011-04-29  Jim Meyering  <meyering@redhat.com>
10478
10479         test-getcwd.c: avoid new set-but-not-used warning
10480         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
10481         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
10482         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
10483         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
10484
10485         test-hash.c: avoid a new shadowing warning
10486         * tests/test-hash.c (main): Don't shadow "dup".
10487
10488 2011-04-28  Eric Blake  <eblake@redhat.com>
10489
10490         getaddrinfo: fix gai_strerror signature
10491         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
10492         and work around mingw with UNICODE defined.
10493         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
10494         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
10495         * modules/netdb (Makefile.am): Substitute it.
10496         * lib/netdb.in.h (gai_strerror): Declare replacement.
10497         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
10498         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
10499         the fix.
10500
10501         getsockopt: avoid compiler warning
10502         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
10503         Reported by Matthias Bolte.
10504
10505         tests: drop unused link dependency
10506         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
10507         * modules/dirent-safer-tests (Makefile.am): Likewise.
10508         * modules/fdopendir-tests (Makefile.am): Likewise.
10509         * modules/mkfifoat-tests (Makefile.am): Likewise.
10510         * modules/openat-safer-tests (Makefile.am): Likewise.
10511         * modules/openat-tests (Makefile.am): Likewise.
10512         * modules/readlinkat-tests (Makefile.am): Likewise.
10513         * modules/symlinkat-tests (Makefile.am): Likewise.
10514         * modules/linkat-tests (Makefile.am): Likewise.
10515         (Depends-on): Switch to filenamecat-lgpl.
10516         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
10517         LIBINTL.
10518         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
10519         * tests/test-linkat.c (main): Don't require xalloc.
10520
10521         hash, mgetgroups: drop xalloc dependency
10522         * lib/hash.c (includes): Adjust includes.
10523         * lib/mgetgroups.c (includes): Likewise.
10524         (xgetgroups): Move...
10525         * lib/xgetgroups.c: ...to new file.
10526         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
10527         * modules/xgetgroups: New file, split from...
10528         * modules/mgetgroups: ...here.
10529         (Depends-on): Add xalloc-oversized.
10530         * modules/hash (Depends-on): Likewise.
10531         * modules/hash-tests (Depends-on): Drop xalloc.
10532         (test_hash_LDADD): Drop unused library.
10533         * tests/test-hash.c (main): Break xalloc dependency.
10534         (includes): Drop unused include.
10535
10536         xalloc-oversized: new module
10537         * modules/xalloc-oversized: New module.
10538         * modules/xalloc (Depends-on): Add it.
10539         * lib/xalloc.h (xalloc_oversized): Move...
10540         * lib/xalloc-oversized.h: ...into new file.
10541
10542         utimecmp: drop dependency on xmalloc
10543         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
10544         due to memory pressure.
10545         * modules/utimecmp (Depends-on): Drop xalloc.
10546
10547 2011-04-27  Eric Blake  <eblake@redhat.com>
10548
10549         getcwd: fix mingw bugs
10550         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
10551         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
10552         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
10553
10554 2011-04-27  Bruno Haible  <bruno@clisp.org>
10555
10556         mkstemps: Ensure declaration on MacOS X 10.5.
10557         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
10558         * doc/glibc-functions/mkstemps.texi: Document header file problem on
10559         MacOS X.
10560
10561 2011-04-27  Bruno Haible  <bruno@clisp.org>
10562
10563         mkstemp: More documentation.
10564         * doc/posix-functions/mkstemp.texi: Document header file problem on
10565         MacOS X.
10566
10567 2011-04-27  Bruno Haible  <bruno@clisp.org>
10568
10569         mkstemp: Tweak configure message when cross-compiling.
10570         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
10571         result as a guess.
10572
10573 2011-04-27  Bruno Haible  <bruno@clisp.org>
10574
10575         clean-temp: Clarify what it does.
10576         * lib/clean-temp.h: Add more comments.
10577         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
10578         module.
10579         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
10580         * doc/glibc-functions/mkstemps.texi: Likewise.
10581         * doc/glibc-functions/mkostemps.texi: Likewise.
10582
10583 2011-04-27  Eric Blake  <eblake@redhat.com>
10584
10585         fchdir: avoid extra chdir and fix test
10586         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
10587         getcwd-lgpl.
10588         * lib/fchdir.c (get_name): Any absolute name will do; it does not
10589         have to be canonical.
10590         (canonicalize_file_name): Drop unused macro.
10591         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
10592
10593         filenamecat-lgpl: fix licence
10594         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
10595         when it was first created.
10596
10597         linkat, renameat: add missing dependency
10598         * modules/linkat (Depends-on): Require getcwd-lgpl.
10599         * modules/renameat (Depends-on): Likewise.
10600
10601         tests: reduce dependencies
10602         * tests/test-linkat.c (main): Use lighter-weight getcwd.
10603         * tests/test-renameat.c (main): Likewise.
10604         * modules/linkat-tests (Depends-on): Relax dependency.
10605         * modules/renameat-tests (Depends-on): Likewise.
10606         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
10607         dependency explicit.
10608
10609         save-cwd: reduce default dependency
10610         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
10611         * lib/save-cwd.c: Update comments.
10612         * NEWS: Document the semantic change.
10613
10614         getcwd: enhance tests
10615         * tests/test-getcwd-lgpl.c: New file, taken from...
10616         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
10617         repeat long path stress tests from m4 probe.
10618         * modules/getcwd-lgpl-tests: New module.
10619         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
10620         * m4/getcwd-abort-bug.m4: Update comment.
10621         * m4/getcwd-path-max.m4: Likewise.
10622
10623         getcwd-lgpl: new module
10624         * modules/getcwd-lgpl: New module.
10625         * lib/getcwd-lgpl.c: New file.
10626         * doc/posix-functions/getcwd.texi (getcwd): Document it.
10627         * MODULES.html.sh (lacking POSIX:2008): Likewise.
10628         * modules/getcwd (configure.ac): Set C witness.
10629         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
10630
10631         getcwd: tweak comments
10632         * m4/getcwd-abort-bug.m4: Fix comments.
10633         * m4/getcwd-path-max.m4: Likewise.
10634         * m4/getcwd.m4: Likewise.
10635
10636 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
10637         and Eric Blake  <eblake@redhat.com>
10638
10639         mkstemp: replace if system version uses wrong permissions
10640         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
10641         read/write mode bits set in file created by mkstemp.
10642         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
10643
10644 2011-04-27  Eric Blake  <eblake@redhat.com>
10645
10646         passfd: avoid compiler warning
10647         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
10648         Reported by Laine Stump.
10649
10650 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
10651
10652         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
10653         required by the NetBSD (and perhaps other 4.4BSD derived) join.
10654
10655 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
10656         and Eric Blake  <eblake@redhat.com>
10657
10658         mkstemp: mention clean-temp module
10659         * lib/mkstemp.c: Add comment.
10660         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
10661
10662 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
10663
10664         inttypes: also provide default values for 32-bit tests
10665         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
10666         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
10667
10668 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
10669
10670         strtoumax: remove dependency on strtoimax
10671         This is like the strtoull change of yesterday.
10672         * modules/strtoumax (Files): Add lib/strtoimax.c.
10673         (Depends-on): Remove strtoimax and add verify.
10674
10675         inttypes-incomplete: new module
10676         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
10677         all but the PRI* and SCN* parts of gl_INTTYPES_H.
10678         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
10679         of gl_INTTYPES_H.
10680         (gl_INTTYPES_H): Rewrite in terms of these new macros.
10681         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
10682         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
10683         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
10684         * modules/strtoumax, modules/xstrtol (Depends-on):
10685         Depend on inttypes-incomplete, not inttypes.
10686         * modules/inttypes-incomplete: New module, containing the contents
10687         of the old modules/inttypes module, except that the Files: section
10688         omits m4/inttypes-pri.m4, and the configure.ac section invokes
10689         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
10690         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
10691         (Depends-on): Depend only on inttypes-incomplete.
10692         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
10693
10694         inttypes: omit now-redundant strtoimax and strtoumax work
10695         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
10696         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
10697
10698         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
10699         This supports apps that need pointers to strtoimax and strtoumax,
10700         and ports to HP-UX 11.00 64.bit, which has macros that expand to
10701         nonexistent functions.  See
10702         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
10703         et seq.
10704         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
10705         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
10706         a macro.
10707         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
10708
10709 2011-04-25  Simon Josefsson  <simon@josefsson.org>
10710
10711         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
10712
10713 2011-04-25  Bruno Haible  <bruno@clisp.org>
10714
10715         strtol, strtoul: Mark modules as obsolete.
10716         * modules/strtol (Status, Notice): New sections.
10717         * modules/strtoul (Status, Notice): New sections.
10718
10719 2011-04-25  Bruno Haible  <bruno@clisp.org>
10720
10721         strtod: Remove check for strtod, unless supporting old platforms.
10722         * modules/strtod-obsolete: New file.
10723         * m4/strtod-obsolete.m4: New file.
10724         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
10725         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
10726         * modules/strtod (Depends-on): Add strtod-obsolete.
10727         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
10728
10729 2011-04-25  Bruno Haible  <bruno@clisp.org>
10730
10731         strcase: Make module obsolete.
10732         * modules/strcase (Status, Notice): New sections.
10733
10734 2011-04-25  Bruno Haible  <bruno@clisp.org>
10735
10736         dup2: Remove check for dup2, unless supporting old obsolete platforms.
10737         * modules/dup2-obsolete: New file.
10738         * m4/dup2-obsolete.m4: New file.
10739         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
10740         gl_FUNC_DUP2_OBSOLETE is not also defined.
10741         * modules/dup2 (Depends-on): Add dup2-obsolete.
10742         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
10743
10744 2011-04-25  Bruno Haible  <bruno@clisp.org>
10745
10746         strnlen: Avoid memchr related link error on old obsolete platforms.
10747         * modules/memchr-obsolete: New file.
10748         * m4/memchr-obsolete.m4: New file.
10749         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
10750         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
10751         * modules/memchr (Depends-on): Add memchr-obsolete.
10752         * modules/strnlen (Depends-on): Likewise.
10753         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
10754
10755 2011-04-25  Jim Meyering  <meyering@redhat.com>
10756
10757         maint.mk: makefile_at_at_check extend and clean up
10758         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
10759         in addition to */Makefile.am.
10760         Exempt legitimate uses of @VAR@ notation, e.g.,
10761         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
10762         Remove obsolete coreutils-specific comment.
10763         Prompted by discussion here:
10764         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
10765
10766 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
10767
10768         strtoul: remove dependency on strtol
10769         This is so that 'configure' need not check for strtol merely because
10770         the application needs strtoul.
10771         * modules/strtoul (Files): Add lib/strtol.c.
10772         (Depends-on): Remove strtol.
10773
10774         strtoull: remove dependency on strtoul
10775         This is like the strtoll change.
10776         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
10777         (Depends-on): Remove strtoul.
10778
10779         strtoll: remove dependency on strtol
10780         This is so that 'configure' need not check for strtol merely because
10781         the application needs strtoll.
10782         * modules/strtoll (Files): Add lib/strtol.c.
10783         (Depends-on): Remove strtol.
10784
10785 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
10786
10787         inttypes: Move some configure check to module 'imaxdiv'.
10788         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
10789         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
10790         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
10791
10792 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
10793
10794         inttypes: Move some configure check to module 'imaxabs'.
10795         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
10796         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
10797         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
10798
10799 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
10800
10801         inttypes: Remove configure tests that are not needed since 2009-12-31.
10802         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
10803         gl_cv_header_working_inttypes_h.
10804
10805 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
10806
10807         * modules/strnlen (Depends-on): Remove memchr.
10808         The strnlen implementation doesn't need the memchr module's fixes; see
10809         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
10810
10811         strtol: remove dependency on wchar
10812         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
10813         * modules/strtol (Depends-on): Remove wchar.
10814
10815 2011-04-21  Eric Blake  <eblake@redhat.com>
10816
10817         passfd: fix test regression on Linux
10818         * modules/passfd-tests (configure.ac): Correct socketpair check.
10819
10820         passfd: speed up configure and drop unused code
10821         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
10822         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
10823         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
10824         Instead of probing at configure for unix_scm_rights_bsd44_way,
10825         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
10826         check to a struct member probe.
10827         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
10828         (sendfd, recvfd): Update preprocessor checks.
10829         * modules/passfd (Files): Reflect rename, and drop unused file.
10830         (Depends-on): Drop unused dependency.
10831
10832         passfd: allow compilation on mingw
10833         * modules/sys_socket (Depends-on): Add sys_uio.
10834         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
10835         iovec and a minimal struct msghdr.
10836         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
10837         * tests/test-sys_socket.c (main): Enhance test.
10838         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
10839         guaranteed to provide what we need.
10840         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
10841         * modules/passfd-tests (Depends-on): Add sys_wait.
10842         * tests/test-passfd.c (main): Skip test on mingw, for now.
10843         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
10844         partial 'struct msghdr' implementation.
10845
10846         sys_uio: new module
10847         * modules/sys_uio: New module.
10848         * modules/sys_uio-tests: Likewise.
10849         * lib/sys_uio.in.h: New file.
10850         * m4/sys_uio_h.m4: Likewise.
10851         * tests/test-sys_uio.c: Likewise.
10852         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
10853         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
10854
10855 2011-04-20  Jim Meyering  <meyering@redhat.com>
10856
10857         useless-if-before-free: avoid false-positive
10858         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
10859         disjunct so that it too requires a terminating ";".  Without that,
10860         this script would identify as useless one statement from gcc that
10861         was not:
10862           if (aligned_ptr)
10863             free (((void **) aligned_ptr) [-1]);
10864
10865 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
10866
10867         doc: update users.txt.
10868         * users.txt: Add barcode.
10869
10870 2011-04-19  Bruno Haible  <bruno@clisp.org>
10871
10872         ioctl: Remove link dependency on native Windows.
10873         * lib/fd-hook.h: Renamed from lib/close-hook.h.
10874         (gl_close_fn, gl_ioctl_fn): New types.
10875         (struct fd_hook): Renamed from struct close_hook. Change type of
10876         private_close_fn field. Add private_ioctl_fn field.
10877         (close_hook_fn): Add parameter for primary close method.
10878         (execute_close_hooks, execute_all_close_hooks): Likewise.
10879         (ioctl_hook_fn): New type.
10880         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
10881         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
10882         argument.
10883         (unregister_fd_hook): Renamed from unregister_close_hook.
10884         * lib/fd-hook.c: Renamed from lib/close-hook.c.
10885         Don't include <unistd.h>.
10886         (close): Remove undef.
10887         (anchor): Update.
10888         (execute_close_hooks): Add argument for primary close method.
10889         (execute_all_close_hooks): Likewise.
10890         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
10891         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
10892         argument. Allow each argument to be NULL.
10893         (unregister_fd_hook): Renamed from unregister_close_hook.
10894         * lib/close.c (rpl_close): Pass 'close' function pointer to
10895         execute_all_close_hooks.
10896         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
10897         (primary_ioctl): New function.
10898         (ioctl): Don't call ioctlsocket here. Instead, call
10899         execute_all_ioctl_hooks.
10900         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
10901         close method.
10902         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
10903         (fd_sockets_hook): Renamed from close_sockets_hook.
10904         (gl_sockets_startup, gl_sockets_cleanup): Update.
10905         * modules/fd-hook: Renamed from modules/close-hook. Update.
10906         * modules/close (Depends-on): Add fd-hook, remove close-hook.
10907         * modules/sockets (Depends-on): Likewise.
10908         * modules/ioctl (Depends-on): Add fd-hook.
10909         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
10910         GNULIB_SOCKET.
10911
10912 2011-04-19  Bruno Haible  <bruno@clisp.org>
10913
10914         Move the support of O_NONBLOCK in open() to the 'open' module.
10915         * modules/nonblocking (Depends-on): Remove 'open'.
10916         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
10917         gl_cv_have_open_O_NONBLOCK.
10918         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
10919         O_NONBLOCK support.
10920         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
10921
10922 2011-04-17  Bruno Haible  <bruno@clisp.org>
10923
10924         pipe2: Simplify code.
10925         * lib/pipe2.c (pipe2): Reduce code duplication.
10926
10927 2011-04-17  Bruno Haible  <bruno@clisp.org>
10928
10929         nonblocking: Add comment.
10930         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
10931
10932 2011-04-17  Bruno Haible  <bruno@clisp.org>
10933
10934         nonblocking: Add tests for sockets.
10935         * tests/test-nonblocking-socket.sh: New file.
10936         * tests/test-nonblocking-socket-main.c: New file.
10937         * tests/test-nonblocking-socket-child.c: New file.
10938         * tests/test-nonblocking-socket.h: New file.
10939         * tests/socket-server.h: New file.
10940         * tests/socket-client.h: New file.
10941         * modules/nonblocking-socket-tests: New file.
10942         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
10943
10944 2011-04-17  Bruno Haible  <bruno@clisp.org>
10945
10946         nonblocking: Add tests for pipes.
10947         * tests/test-nonblocking-pipe.sh: New file.
10948         * tests/test-nonblocking-pipe-main.c: New file.
10949         * tests/test-nonblocking-pipe-child.c: New file.
10950         * tests/test-nonblocking-pipe.h: New file.
10951         * tests/test-nonblocking-writer.h: New file.
10952         * tests/test-nonblocking-reader.h: New file.
10953         * tests/test-nonblocking-misc.h: New file.
10954         * modules/nonblocking-pipe-tests: New file.
10955         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
10956
10957 2011-04-16  Bruno Haible  <bruno@clisp.org>
10958
10959         gettext: Clarify the needed programmer actions.
10960         * modules/gettext (Notice): New field.
10961         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
10962
10963 2011-04-16  Bruno Haible  <bruno@clisp.org>
10964
10965         strchrnul: Tweak last commit.
10966         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
10967         bug.
10968         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
10969         as in _GL_FUNCDECL_SYS.
10970         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
10971         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
10972
10973 2011-04-15  Eric Blake  <eblake@redhat.com>
10974
10975         strchrnul: work around cygwin bug
10976         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
10977         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
10978         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
10979         * modules/string (Makefile.am): Substitute it.
10980         * lib/string.in.h (strchrnul): Use it.
10981
10982 2011-04-15  Bruno Haible  <bruno@clisp.org>
10983
10984         Don't require lib/stdio-write.c when only module 'stdio' is used.
10985         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
10986         invocation.
10987         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
10988
10989 2011-04-14  Bruno Haible  <bruno@clisp.org>
10990
10991         Support non-blocking pipe I/O in read() on native Windows.
10992         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
10993         (read): New declaration.
10994         * lib/read.c: New file.
10995         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
10996         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
10997         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
10998         vscanf): New declarations.
10999         * lib/stdio-read.c: New file.
11000         * m4/read.m4: New file.
11001         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
11002         REPLACE_READ.
11003         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
11004         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
11005         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
11006         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
11007         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
11008         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
11009         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
11010         * modules/read: New file.
11011         * modules/nonblocking (Files): Add lib/stdio-read.c.
11012         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
11013         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
11014         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
11015         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
11016         * modules/pread (Depends-on): Add read.
11017         * modules/safe-read (Depends-on): Likewise.
11018         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
11019         gets, scanf, vfscanf, vscanf): Verify signatures.
11020         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
11021         problem with non-blocking pipes.
11022         * doc/posix-functions/fgetc.texi: Likewise.
11023         * doc/posix-functions/fgets.texi: Likewise.
11024         * doc/posix-functions/fread.texi: Likewise.
11025         * doc/posix-functions/fscanf.texi: Likewise.
11026         * doc/posix-functions/getc.texi: Likewise.
11027         * doc/posix-functions/getchar.texi: Likewise.
11028         * doc/posix-functions/gets.texi: Likewise.
11029         * doc/posix-functions/scanf.texi: Likewise.
11030         * doc/posix-functions/vfscanf.texi: Likewise.
11031         * doc/posix-functions/vscanf.texi: Likewise.
11032
11033 2011-04-14  Bruno Haible  <bruno@clisp.org>
11034
11035         Support non-blocking pipe I/O in write() on native Windows.
11036         * lib/write.c (rpl_write): Split a write request that failed merely
11037         because the byte count was larger than the pipe buffer's size.
11038         * doc/posix-functions/write.texi: Mention the problem with large byte
11039         counts.
11040
11041 2011-04-14  Bruno Haible  <bruno@clisp.org>
11042
11043         wchar: Ensure that wchar_t gets defined on uClibc.
11044         * lib/wchar.in.h: On uClibc, include <stddef.h>.
11045         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
11046
11047 2011-04-13  Bruno Haible  <bruno@clisp.org>
11048
11049         safe-write, full-read: Avoid unnecessary compilation units.
11050         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
11051         (Depends-on): Remove safe-read. Add ssize_t.
11052         * modules/full-read (Files): Add lib/full-write.c.
11053         (Depends-on): Add full-write.
11054
11055 2011-04-13  Bruno Haible  <bruno@clisp.org>
11056
11057         Support non-blocking pipe I/O and SIGPIPE in pwrite().
11058         * modules/pwrite (Depends-on): Add 'write'.
11059
11060 2011-04-13  Bruno Haible  <bruno@clisp.org>
11061
11062         Support non-blocking pipe I/O in write() on native Windows.
11063         * lib/unistd.in.h (write): Enable replacement also if
11064         GNULIB_UNISTD_H_NONBLOCKING is 1.
11065         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
11066         (rpl_write): When failing to write on a non-blocking pipe, change
11067         errno from ENOSPC to EAGAIN.
11068         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
11069         putchar, puts, vfprintf, vprintf): Enable replacement also if
11070         GNULIB_STDIO_H_NONBLOCKING is 1.
11071         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
11072         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
11073         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
11074         CALL_WITH_SIGPIPE_EMULATION.
11075         (CALL_WITH_SIGPIPE_EMULATION): Use them.
11076         * m4/nonblocking.m4: New file.
11077         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
11078         for non-blocking I/O support.
11079         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
11080         GNULIB_UNISTD_H_NONBLOCKING.
11081         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
11082         required for non-blocking I/O support.
11083         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
11084         * modules/nonblocking (Files): Add m4/nonblocking.m4,
11085         lib/stdio-write.c, m4/asm-underscore.m4.
11086         (Depends-on): Add stdio, unistd.
11087         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
11088         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
11089         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
11090         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
11091         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
11092         problem with non-blocking pipes.
11093         * doc/posix-functions/fputc.texi: Likewise.
11094         * doc/posix-functions/fputs.texi: Likewise.
11095         * doc/posix-functions/fwrite.texi: Likewise.
11096         * doc/posix-functions/printf.texi: Likewise.
11097         * doc/posix-functions/putc.texi: Likewise.
11098         * doc/posix-functions/putchar.texi: Likewise.
11099         * doc/posix-functions/puts.texi: Likewise.
11100         * doc/posix-functions/vfprintf.texi: Likewise.
11101         * doc/posix-functions/vprintf.texi: Likewise.
11102         * doc/posix-functions/write.texi: Likewise.
11103
11104 2011-04-10  Jim Meyering  <meyering@redhat.com>
11105
11106         maint.mk: prohibit doubled words
11107         Detect them also when they're separated by a newline.
11108         There are 3 ways to customize it:
11109           - disable the test on a per file basis, as usual with rules using
11110             $(VC_LIST_EXCEPT)
11111           - replace the default doubled-word-selecting regexp (affects all files)
11112           - ignore a particular file-vs-doubled-word match
11113         I nearly used that last one to ignore the "is is" match in
11114         coreutils' NEWS file, since the text was "ls -is is ..."
11115         To do that, I would have added this line to cfg.mk:
11116           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
11117         but it would have ignored any "is is" match in NEWS.
11118         Low probability, but still...
11119         Instead, I changed the text, slightly:
11120           -  ls -is is now consistent with ls -lis in ignoring values returned
11121           +  "ls -is" is now consistent with ls -lis in ignoring values returned
11122         * top/maint.mk (prohibit_double_word_RE_): Provide default.
11123         (prohibit_doubled_word_): Define.
11124         (sc_prohibit_doubled_word): New rule.
11125         (sc_prohibit_the_the): Remove.  Subsumed by the above.
11126
11127 2011-04-10  Jim Meyering  <meyering@redhat.com>
11128
11129         maint: fix doubled-word typo in comment
11130         * m4/gethostname.m4: s/is is/it is/
11131         * m4/getdomainname.m4: Likewise.
11132
11133 2011-04-10  Jim Meyering  <meyering@redhat.com>
11134
11135         maint: remove doubled word: s/it it/it/
11136         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
11137
11138 2011-04-10  Jim Meyering  <meyering@redhat.com>
11139
11140         maint.mk: remove useless semicolon and backslash
11141         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
11142         semicolon and backslash.
11143
11144 2011-04-10  Bruno Haible  <bruno@clisp.org>
11145
11146         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
11147         * modules/stdint-tests (Depends-on): Add wchar.
11148
11149 2011-04-10  Jim Meyering  <meyering@redhat.com>
11150
11151         maint: remove doubled words in comments, e.g., s/a a/a/
11152         * lib/strptime.c (day_of_the_week): s/the the/the/
11153         * tests/test-chown.h (test_chown): s/a a/a/
11154
11155         test-chown.h: correct a cast
11156         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
11157         when the destination is a stat.st_gid.
11158
11159 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
11160
11161         getaddrinfo: Fix test for sa_len member.
11162         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
11163         include <sys/types.h> before <sys/socket.h>.
11164
11165 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
11166
11167         maint: change "can not" to "cannot"
11168         * doc/posix-functions/iconv.texi (iconv): This one crossed line
11169         boundaries.
11170
11171 2011-04-09  Jim Meyering  <meyering@redhat.com>
11172
11173         maint: change "a a" to "a"
11174         * tests/test-lchown.h (test_lchown): s/a a/a/
11175
11176         maint.mk: prohibit \<the the\>
11177         * top/maint.mk (sc_prohibit_the_the): New rule.
11178
11179         maint: fix "the the" in comment
11180         * lib/count-one-bits.h: s/the the/the/
11181
11182         maint: change "can not" to "cannot"
11183         But do not change the occurrences in maintain.texi or in
11184         build-aux/po/Makefile.in.in, which I presume comes from gettext.
11185         * doc/gnulib-tool.texi: s/can not/cannot/
11186         * doc/posix-functions/accept.texi (accept): Likewise.
11187         * doc/posix-functions/socket.texi (socket): Likewise.
11188         * lib/mbrtowc.c: Likewise.
11189
11190         maint.mk: prohibit use of "can not"
11191         * top/maint.mk (sc_prohibit_can_not): New rule.
11192         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
11193
11194 2011-04-09  Bruno Haible  <bruno@clisp.org>
11195
11196         careadlinkat: Guard against misuse of careadlinkatcwd.
11197         * lib/careadlinkat.c: Include <stdlib.h>.
11198         (careadlinkatcwd): Check that the fd argument is as expected.
11199
11200 2011-04-09  Bruno Haible  <bruno@clisp.org>
11201
11202         careadlinkat: Use common coding style.
11203         * lib/careadlinkat.c: Move gnulib includes after system includes.
11204
11205 2011-04-09  Bruno Haible  <bruno@clisp.org>
11206
11207         careadlinkat: Clarify specification.
11208         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
11209         (careadlinkatcwd): Add comment.
11210         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
11211
11212 2011-04-09  Bruno Haible  <bruno@clisp.org>
11213
11214         areadlinkat: Avoid link error on many platforms.
11215         * modules/areadlinkat (Depends-on): Add areadlink.
11216
11217 2011-04-09  Bruno Haible  <bruno@clisp.org>
11218
11219         allocator, careadlinkat: Fix double-inclusion guard.
11220         * lib/allocator.h: Fix double-inclusion guard.
11221         * lib/careadlinkat.h: Likewise.
11222
11223 2011-04-09  Bruno Haible  <bruno@clisp.org>
11224
11225         relocatable-prog-wrapper: Update after module 'areadlink' changed.
11226         * lib/relocwrapper.c: Update dependencies hierarchy.
11227         * build-aux/install-reloc: Update list of files to be compiled.
11228         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
11229         lib/allocator.[hc].
11230
11231 2011-04-08  Eric Blake  <eblake@redhat.com>
11232
11233         strftime: silence gnulib-tool warning
11234         * modules/strftime-tests (Depends-on): Drop automatic dependency.
11235
11236 2011-04-08  Bruno Haible  <bruno@clisp.org>
11237
11238         verify: Fix syntax error with GCC 4.6 in C++ mode.
11239         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
11240         (HAVE_STATIC_ASSERT): New macro.
11241         (verify_true, verify): Use 'static_assert' if it is supported and
11242         '_Static_assert' is not supported.
11243
11244 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
11245
11246         allocator: New module.
11247         * modules/allocator, lib/allocator.c: New files.
11248         * lib/allocator.h (stdlib_allocator): New decl.
11249         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
11250         Remove.  Do not include <stdlib.h>.
11251         (careadlinkat): Use stdlib_allocator instead of rolling our own.
11252         * modules/careadlinkat (Files): Remove lib/allocator.h.
11253         (Depends-on): Add allocator.
11254
11255         stdlib: let modules use system malloc, realloc
11256         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
11257         if !_GL_USE_STDLIB_ALLOC.
11258         (malloc, realloc): Limit this change to a smaller scope.
11259
11260         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
11261         (malloc, realloc): Don't #undef; no longer needed.
11262         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11263         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11264         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
11265         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11266         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11267         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11268         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11269         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
11270
11271         careadlinkat: rename members to avoid problem
11272         * lib/allocator.h (struct allocator): Rename members from
11273         malloc/realloc to allocate/reallocate, to avoid problems if malloc
11274         and realloc are #define'd.  Reported by Eric Blake in
11275         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
11276         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
11277
11278 2011-04-08  Eric Blake  <eblake@redhat.com>
11279
11280         nonblocking: reduce dependency
11281         * tests/test-nonblocking.c: Only test sockets when in use.
11282         * modules/nonblocking-tests (Depends-on): Drop socket.
11283         (Makefile.am): Link even if sockets are not present.
11284         * modules/pipe2-tests (Makefile.am): Likewise.
11285         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
11286
11287         pipe2: fix O_NONBLOCK support on mingw
11288         * modules/pipe2 (Depends-on): Add nonblocking.
11289         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
11290         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
11291         * tests/test-nonblocking.c (main): Likewise.
11292         * modules/pipe2-tests (Makefile.am): Avoid link failure.
11293
11294         fcntl-h: fix O_ACCMODE on cygwin
11295         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
11296         * lib/fcntl.in.h (O_ACCMODE): Fix it.
11297
11298         pipe-filter: drop O_NONBLOCK workarounds
11299         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
11300         * modules/pipe-filter-ii (Depends-on): Likewise.
11301         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
11302
11303         nonblocking: provide O_NONBLOCK for mingw
11304         * modules/nonblocking (Depends-on): Add open.
11305         (configure.ac): Set new witness macro.
11306         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
11307         * modules/fcntl-h (Makefile.am): Substitute it.
11308         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
11309         nonblocking module is in use.
11310         * lib/nonblocking.c: Adjust portability test.
11311         * lib/open.c (open): Don't let native open see gnulib flag.
11312         * tests/test-fcntl-h.c (main): Enhance test.
11313         * tests/test-open.h (test_open): Likewise.
11314         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
11315
11316         careadlinkat: fix compilation error on mingw
11317         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
11318         within struct allocator.
11319
11320 2011-04-06  Eric Blake  <eblake@redhat.com>
11321
11322         binary-io: relicense under LGPLv2+
11323         * modules/binary-io (License): Relax to LGPLv2+.
11324         Requested for libvirt, and required by pipe2.
11325
11326 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
11327
11328         verify: use _Static_assert if available
11329         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
11330         (verify_true, verify): Use it if available.  This generates better
11331         diagnostics with GCC 4.6.0 and later.
11332
11333 2011-04-05  Bruno Haible  <bruno@clisp.org>
11334
11335         Remove leftover generated .h files after config.status changed.
11336
11337         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
11338         GL_GENERATE_ALLOCA_H.
11339         * modules/alloca-opt (Makefile.am): Remove alloca.h if
11340         GL_GENERATE_ALLOCA_H evaluates to false.
11341
11342         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
11343         GL_GENERATE_ARGZ_H.
11344         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
11345         evaluates to false.
11346
11347         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
11348         GL_GENERATE_BYTESWAP_H.
11349         * modules/byteswap (Makefile.am): Remove byteswap.h if
11350         GL_GENERATE_BYTESWAP_H evaluates to false.
11351
11352         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
11353         GL_GENERATE_ERRNO_H.
11354         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
11355         evaluates to false.
11356
11357         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
11358         GL_GENERATE_FLOAT_H.
11359         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
11360         evaluates to false.
11361
11362         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
11363         GL_GENERATE_FNMATCH_H.
11364         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
11365         GL_GENERATE_FNMATCH_H evaluates to false.
11366
11367         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
11368         GL_GENERATE_GLOB_H.
11369         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
11370         evaluates to false.
11371
11372         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
11373         automake conditional GL_GENERATE_ICONV_H.
11374         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
11375         evaluates to false.
11376
11377         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
11378         GL_GENERATE_NETINET_IN_H.
11379         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
11380         GL_GENERATE_NETINET_IN_H evaluates to false.
11381
11382         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
11383         conditional GL_GENERATE_PTHREAD_H.
11384         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
11385         * modules/pthread (Makefile.am): Remove pthread.h if
11386         GL_GENERATE_PTHREAD_H evaluates to false.
11387
11388         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
11389         GL_GENERATE_SCHED_H.
11390         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
11391         evaluates to false.
11392
11393         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
11394         conditional GL_GENERATE_SELINUX_CONTEXT_H.
11395         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
11396         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
11397
11398         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
11399         GL_GENERATE_STDARG_H.
11400         * modules/stdarg (Makefile.am): Remove stdarg.h if
11401         GL_GENERATE_STDARG_H evaluates to false.
11402
11403         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
11404         GL_GENERATE_STDBOOL_H.
11405         * modules/stdbool (Makefile.am): Remove stdbool.h if
11406         GL_GENERATE_STDBOOL_H evaluates to false.
11407
11408         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
11409         conditional GL_GENERATE_STDDEF_H.
11410         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
11411         * modules/stddef (Makefile.am): Remove stddef.h if
11412         GL_GENERATE_STDDEF_H evaluates to false.
11413
11414         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
11415         GL_GENERATE_STDINT_H.
11416         * modules/stdint (Makefile.am): Remove stdint.h if
11417         GL_GENERATE_STDINT_H evaluates to false.
11418
11419         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
11420         GL_GENERATE_SYSEXITS_H.
11421         * modules/sysexits (Makefile.am): Remove sysexits.h if
11422         GL_GENERATE_SYSEXITS_H evaluates to false.
11423
11424         Reported by Karl Berry and Ralf Wildenhues.
11425
11426 2011-04-05  Bruno Haible  <bruno@clisp.org>
11427
11428         Ensure to rebuild generated .h files when config.status has changed.
11429         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
11430         config.status.
11431         * modules/ctype (Makefile.am): Likewise.
11432         * modules/dirent (Makefile.am): Likewise.
11433         * modules/errno (Makefile.am): Likewise.
11434         * modules/fcntl-h (Makefile.am): Likewise.
11435         * modules/float (Makefile.am): Likewise.
11436         * modules/getopt-posix (Makefile.am): Likewise.
11437         * modules/glob (Makefile.am): Likewise.
11438         * modules/iconv-h (Makefile.am): Likewise.
11439         * modules/inttypes (Makefile.am): Likewise.
11440         * modules/langinfo (Makefile.am): Likewise.
11441         * modules/locale (Makefile.am): Likewise.
11442         * modules/math (Makefile.am): Likewise.
11443         * modules/netdb (Makefile.am): Likewise.
11444         * modules/netinet_in (Makefile.am): Likewise.
11445         * modules/poll-h (Makefile.am): Likewise.
11446         * modules/pthread (Makefile.am): Likewise.
11447         * modules/pty (Makefile.am): Likewise.
11448         * modules/sched (Makefile.am): Likewise.
11449         * modules/search (Makefile.am): Likewise.
11450         * modules/selinux-h (Makefile.am): Likewise.
11451         * modules/signal (Makefile.am): Likewise.
11452         * modules/spawn (Makefile.am): Likewise.
11453         * modules/stdarg (Makefile.am): Likewise.
11454         * modules/stdbool (Makefile.am): Likewise.
11455         * modules/stddef (Makefile.am): Likewise.
11456         * modules/stdint (Makefile.am): Likewise.
11457         * modules/stdio (Makefile.am): Likewise.
11458         * modules/stdlib (Makefile.am): Likewise.
11459         * modules/string (Makefile.am): Likewise.
11460         * modules/strings (Makefile.am): Likewise.
11461         * modules/sys_file (Makefile.am): Likewise.
11462         * modules/sys_ioctl (Makefile.am): Likewise.
11463         * modules/sys_select (Makefile.am): Likewise.
11464         * modules/sys_socket (Makefile.am): Likewise.
11465         * modules/sys_stat (Makefile.am): Likewise.
11466         * modules/sys_time (Makefile.am): Likewise.
11467         * modules/sys_times (Makefile.am): Likewise.
11468         * modules/sys_utsname (Makefile.am): Likewise.
11469         * modules/sys_wait (Makefile.am): Likewise.
11470         * modules/sysexits (Makefile.am): Likewise.
11471         * modules/termios (Makefile.am): Likewise.
11472         * modules/time (Makefile.am): Likewise.
11473         * modules/unistd (Makefile.am): Likewise.
11474         * modules/wchar (Makefile.am): Likewise.
11475         * modules/wctype-h (Makefile.am): Likewise.
11476         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
11477
11478 2011-04-05  Bruno Haible  <bruno@clisp.org>
11479
11480         pipe2: Relicense under LGPLv2+.
11481         * modules/pipe2 (License): Change to LGPLv2+.
11482         Requested by Eric Blake, for libvirt.
11483
11484 2011-04-05  Bruce Korb  <bkorb@gnu.org>
11485
11486         bootstrap: compute gnulib_extra_files after updating build_aux
11487         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
11488         change build_aux or also supply gnulib_extra_files.  Handle correctly.
11489
11490 2011-04-05  Eric Blake  <eblake@redhat.com>
11491
11492         bootstrap: preserve git whitelist item sorting
11493         * build-aux/bootstrap (sort_patterns): New function.
11494         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
11495
11496 2011-04-05  Simon Josefsson  <simon@josefsson.org>
11497
11498         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
11499         sc_space_tab check.
11500
11501 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
11502
11503         areadlink, areadlinkat: rewrite in terms of careadlinkat
11504         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
11505         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
11506         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
11507         (malloc, realloc): Remove #undefs.
11508         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
11509         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
11510         readlink, ssize_t, stdint, unistd.
11511         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
11512         areadlink, stdint.
11513
11514         careadlinkat: new module
11515         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
11516         * modules/careadlinkat: New files, written by me with
11517         a review and feedback from Ben Pfaff in
11518         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
11519
11520 2011-04-01  Bruno Haible  <bruno@clisp.org>
11521
11522         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
11523         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
11524         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
11525         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
11526         Reported by Bruce Korb <bruce.korb@gmail.com>.
11527
11528 2011-04-01  Bruno Haible  <bruno@clisp.org>
11529
11530         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
11531         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
11532         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
11533         * modules/wcpcpy (Depends-on): Add extensions.
11534         * modules/wcpncpy (Depends-on): Likewise.
11535         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
11536         systems.
11537         * doc/posix-functions/wcpncpy.texi: Likewise.
11538         * doc/posix-functions/wcwidth.texi: Likewise.
11539
11540 2011-03-31  Eric Blake  <eblake@redhat.com>
11541
11542         nonblocking: fix mingw test failures
11543         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
11544         non-blocking flag on regular file.
11545         (get_nonblocking_flag): Set errno on invalid fd.
11546         * tests/test-nonblocking.c (main): Avoid test failure on
11547         directories if fchdir is not active.
11548         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
11549
11550 2011-03-31  Bruno Haible  <bruno@clisp.org>
11551
11552         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
11553         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
11554         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
11555         Reported by Simon Josefsson <simon@josefsson.org>.
11556
11557 2011-03-31  Bruno Haible  <bruno@clisp.org>
11558         and Eric Blake  <eblake@redhat.com>
11559
11560         nonblocking: new module
11561         * modules/nonblocking: New module.
11562         * modules/nonblocking-tests: Likewise.
11563         * lib/nonblocking.h: New file.
11564         * lib/nonblocking.c: Likewise.
11565         * tests/test-nonblocking.c: New test.
11566         * lib/ioctl.c (ioctl) [mingw]: Update comment.
11567
11568 2011-03-30  Bruno Haible  <bruno@clisp.org>
11569
11570         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
11571         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
11572         instead of 'printf' format for GCC >= 4.4.
11573         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
11574         (fprintf, printf, vfprintf, vprintf): Declare with
11575         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
11576         the system's vfprintf() function.
11577         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
11578
11579 2011-03-30  Eric Blake  <eblake@redhat.com>
11580
11581         passfd: fix scoping bug
11582         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
11583         before sendmsg/recvmsg.
11584
11585         passfd: standardize coding conventions
11586         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
11587         can be learned at compile time.
11588         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
11589         ifdefs.
11590         (sendfd, recvfd): Follow gnulib code conventions.
11591
11592         passfd: fix incorrect sendmsg arguments
11593         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
11594         incorrect msg_controllen value.
11595         * modules/passfd-tests (Depends-on): Check for alarm.
11596         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
11597         Reported by Bastien ROUCARIES.
11598
11599 2011-03-30  Bruno Haible  <bruno@clisp.org>
11600
11601         c-strcasestr: Relicense under LGPLv2+.
11602         * modules/c-strcasestr (License): Change to LGPLv2+.
11603         Requested by Eric Blake, for libvirt.
11604
11605 2011-03-30  Simon Josefsson  <simon@josefsson.org>
11606
11607         * users.txt: Add libidn2.  Fix libtasn1 link.
11608
11609 2011-03-30  Jim Meyering  <meyering@redhat.com>
11610
11611         tests: readlink* ("",... fails with EINVAL on newer kernels
11612         readlink and readlinkat have typically failed with ENOENT for
11613         the invalid, empty file name,  "".  However, with the advent
11614         of linux-2.6.39, they fail with EINVAL.
11615         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
11616         when operating on the empty file name.
11617         * tests/test-readlink.h (test_readlink): Likewise.
11618
11619 2011-03-29  Bruno Haible  <bruno@clisp.org>
11620
11621         Relicense some modules under LGPLv2+, for libidn2.
11622         * modules/array-mergesort (License): Change to LGPLv2+.
11623         * modules/c-strcaseeq (License): Likewise.
11624         * modules/striconveh (License): Likewise.
11625         * modules/striconveha (License): Likewise.
11626         * modules/uniconv/base (License): Likewise.
11627         * modules/uniconv/u8-conv-from-enc (License): Likewise.
11628         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
11629         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
11630         * modules/unictype/base (License): Likewise.
11631         * modules/unictype/bidiclass-of (License): Likewise.
11632         * modules/unictype/category-M (License): Likewise.
11633         * modules/unictype/category-none (License): Likewise.
11634         * modules/unictype/category-of (License): Likewise.
11635         * modules/unictype/category-test (License): Likewise.
11636         * modules/unictype/category-test-withtable (License): Likewise.
11637         * modules/unictype/combining-class (License): Likewise.
11638         * modules/unictype/joiningtype-of (License): Likewise.
11639         * modules/unictype/scripts (License): Likewise.
11640         * modules/uninorm/base (License): Likewise.
11641         * modules/uninorm/canonical-decomposition (License): Likewise.
11642         * modules/uninorm/composition (License): Likewise.
11643         * modules/uninorm/decompose-internal (License): Likewise.
11644         * modules/uninorm/decomposition-table (License): Likewise.
11645         * modules/uninorm/nfc (License): Likewise.
11646         * modules/uninorm/nfd (License): Likewise.
11647         * modules/uninorm/u32-normalize (License): Likewise.
11648         * modules/unistr/base (License): Likewise.
11649         * modules/unistr/u32-cpy (License): Likewise.
11650         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
11651         * modules/unistr/u32-to-u8 (License): Likewise.
11652         * modules/unistr/u32-uctomb (License): Likewise.
11653         * modules/unistr/u8-check (License): Likewise.
11654         * modules/unistr/u8-mblen (License): Likewise.
11655         * modules/unistr/u8-mbtouc (License): Likewise.
11656         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
11657         * modules/unistr/u8-mbtoucr (License): Likewise.
11658         * modules/unistr/u8-prev (License): Likewise.
11659         * modules/unistr/u8-strlen (License): Likewise.
11660         * modules/unistr/u8-to-u32 (License): Likewise.
11661         * modules/unistr/u8-uctomb (License): Likewise.
11662         * modules/unitypes (License): Likewise.
11663         Requested by Simon Josefsson.
11664
11665 2011-03-29  Simon Josefsson  <simon@josefsson.org>
11666
11667         lib-symbol-visibility: Add a notice.
11668         * modules/lib-symbol-visibility (Notice): New field.
11669
11670 2011-03-29  Bruno Haible  <bruno@clisp.org>
11671
11672         getaddrinfo: Doc fix.
11673         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
11674         section "fixed in Gnulib".
11675
11676 2011-03-28  Simon Josefsson  <simon@josefsson.org>
11677
11678         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
11679         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
11680
11681 2011-03-26  Bruno Haible  <bruno@clisp.org>
11682
11683         unictype/property-byname: Reduce the number of load-time relocations.
11684         * lib/unictype/pr_byname.c: Include <stdlib.h>.
11685         (UC_PROPERTY_INDEX_*): New enumeration values.
11686         (uc_property_byname): Convert an index from the lookup table to an
11687         uc_property_t.
11688         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
11689         values.
11690
11691 2011-03-26  Bruno Haible  <bruno@clisp.org>
11692
11693         unictype/property-byname: Allow omitted word separators and aliases.
11694         * lib/unictype/pr_byname.gperf: Add property names without word
11695         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
11696         for 'space'.
11697
11698 2011-03-26  Bruno Haible  <bruno@clisp.org>
11699
11700         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
11701         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
11702         also hyphens to space.
11703         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
11704         without spaces.
11705         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
11706
11707 2011-03-26  Bruno Haible  <bruno@clisp.org>
11708
11709         unictype/joiningtype-byname: Recognize long names as well.
11710         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
11711         a long name.
11712         * lib/unictype/joiningtype_byname.c: Include <string.h>,
11713         unictype/joiningtype_byname.h.
11714         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
11715         * lib/unictype/joiningtype_byname.gperf: New file.
11716         * modules/unictype/joiningtype-byname (Files): Add
11717         lib/unictype/joiningtype_byname.gperf.
11718         (Depends-on): Add gperf.
11719         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
11720         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
11721         long names.
11722
11723         Tests for module 'unictype/joiningtype-longname'.
11724         * modules/unictype/joiningtype-longname-tests: New file.
11725         * tests/unictype/test-joiningtype_longname.c: New file.
11726
11727         New module 'unictype/joiningtype-longname'.
11728         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
11729         * lib/unictype/joiningtype_longname.c: New file.
11730         * modules/unictype/joiningtype-longname: New file.
11731         * modules/unictype/joiningtype-all (Depends-on): Add
11732         unictype/joiningtype-longname.
11733
11734 2011-03-26  Bruno Haible  <bruno@clisp.org>
11735
11736         unictype/bidiclass-byname: Recognize long names as well.
11737         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
11738         name.
11739         * lib/unictype/bidi_byname.c: Include <string.h>,
11740         unictype/bidi_byname.h.
11741         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
11742         * lib/unictype/bidi_byname.gperf: New file.
11743         * modules/unictype/bidiclass-byname (Files): Add
11744         lib/unictype/bidi_byname.gperf.
11745         (Depends-on): Add gperf.
11746         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
11747         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
11748         long names.
11749
11750         Tests for module 'unictype/bidiclass-longname'.
11751         * modules/unictype/bidiclass-longname-tests: New file.
11752         * tests/unictype/test-bidi_longname.c: New file.
11753
11754         New module 'unictype/bidiclass-longname'.
11755         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
11756         * lib/unictype/bidi_longname.c: New file.
11757         * modules/unictype/bidiclass-longname: New file.
11758         * modules/unictype/bidiclass-all (Depends-on): Add
11759         unictype/bidiclass-longname.
11760
11761 2011-03-26  Bruno Haible  <bruno@clisp.org>
11762
11763         unictype/bidi*: Rename modules.
11764         * modules/unictype/bidiclass-all: Renamed from
11765         modules/unictype/bidicategory-all.
11766         * modules/unictype/bidiclass-name: Renamed from
11767         modules/unictype/bidiclass-name.
11768         (Description): Update.
11769         * modules/unictype/bidiclass-name-tests: Renamed from
11770         modules/unictype/bidicategory-name-tests.
11771         * modules/unictype/bidiclass-byname: Renamed from
11772         modules/unictype/bidicategory-byname.
11773         (Description): Update.
11774         * modules/unictype/bidiclass-byname-tests: Renamed from
11775         modules/unictype/bidicategory-byname-tests.
11776         * modules/unictype/bidiclass-of: Renamed from
11777         modules/unictype/bidicategory-of.
11778         (Description): Update.
11779         * modules/unictype/bidiclass-of-tests: Renamed from
11780         modules/unictype/bidicategory-of-tests.
11781         * modules/unictype/bidiclass-test: Renamed from
11782         modules/unictype/bidicategory-test.
11783         (Description): Update.
11784         * modules/unictype/bidiclass-test-tests: Renamed from
11785         modules/unictype/bidicategory-test-tests.
11786         * modules/unictype/bidicategory-all: New file, a simple redirection.
11787         * modules/unictype/bidicategory-name: Likewise.
11788         * modules/unictype/bidicategory-byname: Likewise.
11789         * modules/unictype/bidicategory-of: Likewise.
11790         * modules/unictype/bidicategory-test: Likewise.
11791         * modules/unictype/property-bidi-* (Dependencies): Update.
11792         * lib/unictype/bidi_*.c: Update comment.
11793
11794 2011-03-26  Bruno Haible  <bruno@clisp.org>
11795
11796         unictype/bidi*: Rename functions, part 2.
11797         * modules/unictype/bidicategory-name (configure.ac): Update required
11798         libunistring version.
11799         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
11800
11801 2011-03-25  Bruno Haible  <bruno@clisp.org>
11802
11803         New module 'unictype/combining-class-all'.
11804         * modules/unictype/combining-class-all: New file.
11805
11806         Tests for module 'unictype/combining-class-byname'.
11807         * modules/unictype/combining-class-byname-tests: New file.
11808         * tests/unictype/test-combiningclass_byname.c: New file.
11809
11810         New module 'unictype/combining-class-byname'.
11811         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
11812         * lib/unictype/combiningclass_byname.c: New file.
11813         * lib/unictype/combiningclass_byname.gperf: New file.
11814         * modules/unictype/combining-class-byname: New file.
11815
11816         Tests for module 'unictype/combining-class-longname'.
11817         * modules/unictype/combining-class-longname-tests: New file.
11818         * tests/unictype/test-combiningclass_longname.c: New file.
11819
11820         New module 'unictype/combining-class-longname'.
11821         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
11822         * lib/unictype/combiningclass_longname.c: New file.
11823         * modules/unictype/combining-class-longname: New file.
11824
11825         Tests for module 'unictype/combining-class-name'.
11826         * modules/unictype/combining-class-name-tests: New file.
11827         * tests/unictype/test-combiningclass_name.c: New file.
11828
11829         New module 'unictype/combining-class-name'.
11830         * lib/unictype.in.h (uc_combining_class_name): New declaration.
11831         * lib/unictype/combiningclass_name.c: New file.
11832         * modules/unictype/combining-class-name: New file.
11833
11834 2011-03-25  Bruno Haible  <bruno@clisp.org>
11835
11836         unictype/combining-class: Rename source files.
11837         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
11838         of unictype/combining.h.
11839         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
11840         Update.
11841         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
11842         * modules/unictype/combining-class (Description): Fix.
11843         (Files, Makefile.am): Update.
11844         * tests/unictype/test-combiningclass.c: Renamed from
11845         tests/unictype/test-combining.c.
11846         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
11847
11848 2011-03-25  Bruno Haible  <bruno@clisp.org>
11849
11850         unictype: Update list of canonical combining classes.
11851         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
11852
11853 2011-03-25  Bruno Haible  <bruno@clisp.org>
11854
11855         unictype/category-byname: Recognize long names as well.
11856         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
11857         a long name.
11858         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
11859         unictype/categ_byname.h.
11860         (UC_CATEGORY_INDEX_*): New enumeration values.
11861         (uc_general_category_byname): Use uc_general_category_lookup and
11862         convert from index to value.
11863         * lib/unictype/categ_byname.gperf: New file.
11864         * modules/unictype/category-byname (Files): Add
11865         lib/unictype/categ_byname.gperf.
11866         (Depends-on): Add gperf.
11867         (Makefile.am): Add rule for generating unictype/categ_byname.h.
11868         * tests/unictype/test-categ_byname.c (main): Test the recognition of
11869         long names.
11870
11871         Tests for module 'unictype/category-longname'.
11872         * modules/unictype/category-longname-tests: New file.
11873         * tests/unictype/test-categ_longname.c: New file.
11874
11875         New module 'unictype/category-longname'.
11876         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
11877         * lib/unictype/categ_longname.c: New file.
11878         * modules/unictype/category-longname: New file.
11879         * modules/unictype/category-all (Depends-on): Add it.
11880
11881 2011-03-25  Bruno Haible  <bruno@clisp.org>
11882
11883         Tests for module 'unictype/category-LC'.
11884         * modules/unictype/category-LC-tests: New file.
11885         * tests/unictype/test-categ_LC.c: New file, automatically generated.
11886
11887         New module 'unictype/category-LC'.
11888         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
11889         (UC_CATEGORY_LC): New declaration.
11890         (UC_CASED_LETTER): New macro.
11891         * lib/gen-uni-tables.c (is_category_LC): New function.
11892         (output_categories): Also handle category LC.
11893         (UC_CATEGORY_MASK_LC): New enumeration value.
11894         (general_category_byname): Also handle category LC.
11895         * lib/unictype/categ_LC.c: New file.
11896         * lib/unictype/categ_LC.h: New file, automatically generated.
11897         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
11898         category LC.
11899         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
11900         * modules/unictype/category-LC: New file.
11901         * modules/unictype/category-byname (Depends-on): Add
11902         unictype/category-LC.
11903         * modules/unictype/category-all (Depends-on): Likewise.
11904
11905 2011-03-25  Eric Blake  <eblake@redhat.com>
11906
11907         xmalloc: revert yesterday's regression
11908         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
11909         realloc's underlying behavior (allowing allocation of zero-size
11910         objects, especially if malloc-gnu is also in use).
11911
11912 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
11913
11914         maint.mk: add missing version to VC-tag
11915         * top/maint.mk: git tag was missing actual tag name; add it.
11916
11917         valgrind: do leak checking, and exit with code 1 on error (not 0)
11918         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
11919         to VALGRIND.
11920
11921 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
11922
11923         posix-modules: say what it does.
11924         * posix-modules: Add a line to the --help output saying what it does.
11925
11926 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
11927
11928         xmalloc: Do not leak if underlying realloc is C99 compatible.
11929         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
11930         This avoids a leak on C99-based systems.  See
11931         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
11932
11933 2011-03-24  Eric Blake  <eblake@redhat.com>
11934
11935         realloc: document portability problem
11936         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
11937         passing 0 size to realloc.
11938
11939 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
11940
11941         doc: update users.txt
11942         * users.txt: Add cvsps, tmpwatch
11943
11944 2011-03-23  Matt Rice  <ratmice@gmail.com>
11945
11946         doc: update users.txt
11947         * users.txt: Add gdb.
11948
11949 2011-03-23  Jim Meyering  <meyering@redhat.com>
11950
11951         doc: update users.txt
11952         Looking through matches up to the following URL (there are still
11953         several more pages), I found several projects that use gnulib:
11954         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
11955         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
11956         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
11957
11958 2011-03-22  Bruno Haible  <bruno@clisp.org>
11959
11960         unictype/bidi*: Rename functions.
11961         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
11962         uc_bidi_class, uc_is_bidi_class): New declarations.
11963         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
11964         uc_bidi_category_byname.
11965         (uc_bidi_category_byname): New function.
11966         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
11967         u_bidi_category_name.
11968         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
11969         (uc_bidi_category_name): New function.
11970         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
11971         uc_bidi_category.
11972         (uc_bidi_category): New function.
11973         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
11974         uc_is_bidi_category. Invoke uc_bidi_class.
11975         (uc_is_bidi_category): New function.
11976         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
11977         instead of uc_bidi_category_byname.
11978         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
11979         instead of uc_bidi_category_name.
11980         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
11981         uc_bidi_category.
11982         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
11983         instead of uc_is_bidi_category.
11984
11985 2011-03-21  Bruno Haible  <bruno@clisp.org>
11986
11987         New module 'unictype/joininggroup-all'.
11988         * modules/unictype/joininggroup-all: New file.
11989
11990         Tests for module 'unictype/joininggroup-of'.
11991         * modules/unictype/joininggroup-of-tests: New file.
11992         * tests/unictype/test-joininggroup_of.c: New file.
11993         * tests/unictype/test-joininggroup_of.h: New file, automatically
11994         generated by gen-uni-tables.
11995
11996         New module 'unictype/joininggroup-of'.
11997         * modules/unictype/joininggroup-of: New file.
11998         * lib/unictype/joininggroup_of.c: New file.
11999         * lib/unictype/joininggroup_of.h: New file, automatically generated by
12000         gen-uni-tables.
12001
12002         Tests for module 'unictype/joininggroup-byname'.
12003         * modules/unictype/joininggroup-byname-tests: New file.
12004         * tests/unictype/test-joininggroup_byname.c: New file.
12005
12006         New module 'unictype/joininggroup-byname'.
12007         * modules/unictype/joininggroup-byname: New file.
12008         * lib/unictype/joininggroup_byname.c: New file.
12009         * lib/unictype/joininggroup_byname.gperf: New file.
12010
12011         Tests for module 'unictype/joininggroup-name'.
12012         * modules/unictype/joininggroup-name-tests: New file.
12013         * tests/unictype/test-joininggroup_name.c: New file.
12014
12015         New module 'unictype/joininggroup-name'.
12016         * modules/unictype/joininggroup-name: New file.
12017         * lib/unictype/joininggroup_name.c: New file.
12018         * lib/unictype/joininggroup_name.h: New file.
12019
12020         New module 'unictype/joiningtype-all'.
12021         * modules/unictype/joiningtype-all: New file.
12022
12023         Tests for module 'unictype/joiningtype-of'.
12024         * modules/unictype/joiningtype-of-tests: New file.
12025         * tests/unictype/test-joiningtype_of.c: New file.
12026         * tests/unictype/test-joiningtype_of.h: New file, automatically
12027         generated by gen-uni-tables.
12028
12029         New module 'unictype/joiningtype-of'.
12030         * modules/unictype/joiningtype-of: New file.
12031         * lib/unictype/joiningtype_of.c: New file.
12032         * lib/unictype/joiningtype_of.h: New file, automatically generated by
12033         gen-uni-tables.
12034
12035         Tests for module 'unictype/joiningtype-byname'.
12036         * modules/unictype/joiningtype-byname-tests: New file.
12037         * tests/unictype/test-joiningtype_byname.c: New file.
12038
12039         New module 'unictype/joiningtype-byname'.
12040         * modules/unictype/joiningtype-byname: New file.
12041         * lib/unictype/joiningtype_byname.c: New file.
12042
12043         Tests for module 'unictype/joiningtype-name'.
12044         * modules/unictype/joiningtype-name-tests: New file.
12045         * tests/unictype/test-joiningtype_name.c: New file.
12046
12047         New module 'unictype/joiningtype-name'.
12048         * modules/unictype/joiningtype-name: New file.
12049         * lib/unictype/joiningtype_name.c: New file.
12050
12051         unictype: Add support for Arabic shaping properties.
12052         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
12053         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
12054         declarations.
12055         (UC_JOINING_GROUP_*): New enumeration values.
12056         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
12057         declarations.
12058         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
12059         (unicode_joining_type): New variable.
12060         (UC_JOINING_GROUP_*): New enumeration values.
12061         (unicode_joining_group): New variable.
12062         (fill_arabicshaping, joining_type_as_c_identifier,
12063         output_joining_type_test, output_joining_type,
12064         joining_group_as_c_identifier, output_joining_group_test,
12065         output_joining_group): New functions.
12066         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
12067         fill_arabicshaping and output_joining_type_test, output_joining_type,
12068         output_joining_group_test, output_joining_group.
12069         Reported by Simon Josefsson.
12070
12071 2011-03-21  Jim Meyering  <meyering@redhat.com>
12072
12073         strftime: fix a bug in yesterday's change
12074         * lib/strftime.c (add): Accommodate width's initial value of -1.
12075         Otherwise, nstrftime would copy uninitialized data into
12076         the result buffer.
12077
12078 2011-03-21  Jim Meyering  <meyering@redhat.com>
12079
12080         tests: add strftime-tests module
12081         * tests/test-strftime.c: New file.
12082         * modules/strftime-tests: New module.
12083
12084 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
12085
12086         strftime: don't assume a byte count fits in 'int'
12087         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
12088         found this problem by static analysis, using gcc -Wstrict-overflow
12089         (GCC 4.5.2, x86-64).  This reported an optimization that depended
12090         on an integer overflow having undefined behavior, but it turns out
12091         that the argument is a size, which might not fit in 'int' anyway,
12092
12093 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
12094
12095         stdio: don't require ignore_value around fwrite
12096
12097         This patch works around libc bug 11959
12098         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
12099         Without this patch, applications must often write
12100         ignore_value (fwrite (...)) even though the ignore_value is
12101         not helpful here.  It's common to write many objects, using
12102         fwrite/printf/etc., and then use ferror to detect output error.
12103
12104         I considered making this patch optional, but decided against it,
12105         because libc is obviously being inconsistent here: there is no
12106         reason libc should insist that user code must inspect fwrite
12107         return's value without also insisting that it inspect printf's,
12108         putchar's, etc.  If user code wants to have a strict style where
12109         all these functions' values are checked (so that ferror need not
12110         be checked), we could add support for that style in a new gnulib
12111         module, but in the meantime it's better to be consistent and to
12112         support common usage.
12113
12114         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
12115         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
12116         that we are compiling in checking mode, and if not C++, and
12117         if not already wrapping fwrite for some other reason.
12118         (fwrite): #define to rpl_fwrite if the latter is defined.
12119
12120 2011-03-20  Bruno Haible  <bruno@clisp.org>
12121
12122         verror: Fix compilation error introduced on 2011-02-13.
12123         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
12124         instead of __attribute__.
12125         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12126
12127 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
12128             Bruno Haible  <bruno@clisp.org>
12129
12130         socklen: do not depend on sys_socket
12131         While trying to modify Emacs to use gnulib's socklen module,
12132         I discovered a circular dependency: socklen depends on sys_socket
12133         and vice versa.  Emacs can use socklen, but it does not need
12134         sys_socket because it has its own substitute for sys/socket.h.
12135         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
12136         gl_TYPE_SOCKLEN_T.
12137         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
12138         gl_PREREQ_SYS_H_SOCKET.
12139         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
12140         gl_PREREQ_SYS_H_SOCKET.
12141         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
12142         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
12143         * modules/socklen (Depends-on): Do not depend on sys_socket.
12144         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
12145
12146 2011-03-20  Jim Meyering  <meyering@redhat.com>
12147
12148         maint.mk: sort file names *after* new transformation
12149         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
12150         prefix would have led to an unwarranted failure in GNU parted.
12151         Sort after that transformation.
12152
12153 2011-03-19  Jim Meyering  <meyering@redhat.com>
12154
12155         maint.mk: fix po-file syntax-check rule
12156         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
12157         Patch by Bruno Haible.
12158
12159 2011-03-19  Bruno Haible  <bruno@clisp.org>
12160
12161         socklen: Update comment.
12162         * m4/socklen.m4: Update comment about platforms.
12163
12164 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
12165             Bruno Haible  <bruno@clisp.org>
12166
12167         inet_ntop, inet_pton: Simplify.
12168         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
12169         documented to provide socklen_t and we already depend on sys_socket.
12170         * modules/inet_pton (Depends-on): Likewise.
12171         * lib/arpa_inet.in.h: Adjust comment.
12172
12173 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
12174             Bruno Haible  <bruno@clisp.org>
12175
12176         netdb: Simplify.
12177         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
12178         documented to provide socklen_t and we already depend on sys_socket.
12179         * lib/netdb.in.h: Adjust comment.
12180
12181 2011-03-19  Bruno Haible  <bruno@clisp.org>
12182
12183         sys_socket, netdb: Document problem with socklen_t.
12184         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
12185         platforms.
12186         * doc/posix-headers/netdb.texi: Likewise.
12187
12188 2011-03-18  Eric Blake  <eblake@redhat.com>
12189
12190         maint.mk: let po check work in VPATH build
12191         * top/maint.mk (po_file): Allow cfg.mk override.
12192         (sc_po_check): Allow VPATH use.
12193         Reported by Jiri Denemark.
12194
12195 2011-03-16  Jim Meyering  <meyering@redhat.com>
12196
12197         maint.mk: allow fine-grained syntax-check exclusion via Make variables
12198         Before, you would have had to create one .x-sc_ file per rule in order
12199         to exempt offending files.  Now, you may instead use a Make variable --
12200         usually defined in cfg.mk -- whose name identifies the affected rule.
12201         * top/maint.mk (_sc_excl): Define.
12202         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
12203         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
12204
12205 2011-03-13  Bruno Haible  <bruno@clisp.org>
12206
12207         ignore-value tests: Avoid warnings.
12208         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
12209         empty for gcc < 3.4.
12210
12211 2011-03-13  Bruno Haible  <bruno@clisp.org>
12212
12213         passfd: Fix link error on Solaris.
12214         * modules/passfd (Description): Correct.
12215         (Depends-on): Add socketlib.
12216         (Link): New section.
12217         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
12218
12219 2011-03-13  Bruno Haible  <bruno@clisp.org>
12220
12221         passfd: Fix link error on AIX 5.2.
12222         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
12223
12224 2011-03-13  Bruno Haible  <bruno@clisp.org>
12225
12226         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
12227         * lib/sys_socket.in.h: Include <stddef.h>.
12228         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
12229         CMSG_FIRSTHDR. Remove unused variable.
12230
12231 2011-03-13  Bruno Haible  <bruno@clisp.org>
12232
12233         passfd: Fix compilation error on OpenBSD.
12234         * lib/passfd.c: Include <sys/uio.h>.
12235
12236 2011-03-13  Bruno Haible  <bruno@clisp.org>
12237
12238         passfd test: Fix warnings.
12239         * tests/test-passfd.c: Include <sys/wait.h>.
12240         (main): Fix typo.
12241
12242 2011-03-13  Bruno Haible  <bruno@clisp.org>
12243
12244         passfd module, part 4, tweaks.
12245         * tests/test-passfd.c: Reorder includes.
12246         (main): Fix perror and printf calls.
12247
12248 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
12249
12250         passfd module, part 4.
12251         * modules/passfd-tests: New file.
12252         * tests/test-passfd.c: New file.
12253
12254 2011-03-13  Jim Meyering  <meyering@redhat.com>
12255
12256         Makefile: rely on GNU make; derive syntax-check rule names
12257         Rather than requiring that each sc_ rule be listed as a dependent
12258         of "check", use features of GNU make to derive the list.
12259         * Makefile (syntax-check-rules): Define.
12260         (check): Depend on the new variable, not the hard-coded list.
12261
12262 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
12263             Bruno Haible  <bruno@clisp.org>
12264
12265         passfd module, part 3.
12266         * lib/passfd.h (recvfd): Add a flags argument.
12267         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
12268         (recvfd): Add a flags argument.
12269         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
12270         exists.
12271         * modules/passfd (Depends-on): Add cloexec.
12272         Suggested by Eric Blake.
12273
12274 2011-03-13  Bruno Haible  <bruno@clisp.org>
12275
12276         passfd module, part 2, tweaks.
12277         * modules/passfd (Files): Reorder.
12278         (Depends-on): Remove errno.
12279         (Include): Remove <sys/socket.h>, <sys/un.h>.
12280         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
12281         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
12282         specification header. Include <sys/socket.h> always. Don't include
12283         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
12284         (sendfd): Clarify that it sets errno when it fails.
12285         (recvfd): Fix specification.
12286
12287 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
12288
12289         passfd module, part 2.
12290         * modules/passfd: New file.
12291         * lib/passfd.h: New file.
12292         * lib/passfd.c: New file.
12293
12294 2011-03-12  Bruno Haible  <bruno@clisp.org>
12295
12296         wcswidth, mbswidth: Avoid integer overflow.
12297         * lib/wcswidth.c: Include <limits.h>.
12298         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
12299         * lib/mbswidth.c: Include <limits.h>.
12300         (mbsnwidth): Avoid 'int' overflow.
12301         Reported by Jim Meyering.
12302
12303 2011-03-12  Bruno Haible  <bruno@clisp.org>
12304
12305         futimens, utimensat: Avoid endless recursion on Solaris 10.
12306         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
12307         Solaris.
12308         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
12309         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
12310
12311 2011-03-11  Jim Meyering  <meyering@redhat.com>
12312
12313         maint.mk: relax a regexp to accommodate other formatting styles
12314         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
12315         between "ngettext" and the following "(".
12316
12317 2011-03-11  Pádraig Brady <P@draigBrady.com>
12318
12319         maint.mk: suppress a false positive warning
12320         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
12321         diagnostics are marked with ngettext.
12322
12323 2011-03-10  Eric Blake  <eblake@redhat.com>
12324
12325         wchar: add explicit dependencies, for Tru64
12326         * modules/mbmemcasecoll (Depends-on): Add wchar.
12327         * modules/mbtowc (Depends-on): Likewise.
12328         * modules/vasnprintf (Depends-on): Likewise.
12329         * modules/unistdio/u-printf-args (Depends-on): Likewise.
12330         * modules/wctomb (Depends-on): Likewise.
12331         Reported by Peter O'Gorman.
12332
12333 2011-03-08  Bruno Haible  <bruno@clisp.org>
12334
12335         passfd module, part 1, tweaks.
12336         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
12337         Improve indentation. Improve AC_MSG_CHECKING messages.
12338         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
12339         gl_SOCKET_FAMILIES.
12340
12341 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
12342
12343         passfd module, part 1.
12344         * m4/afunix.m4: New file.
12345         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
12346         sockets.
12347
12348 2011-03-08  Bruno Haible  <bruno@clisp.org>
12349
12350         regex-quote: New API.
12351         * lib/regex-quote.h: Include <stdbool.h>.
12352         (struct regex_quote_spec): New type.
12353         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
12354         New declarations.
12355         (regex_quote_length, regex_quote_copy, regex_quote): Take a
12356         'const struct regex_quote_spec *' argument.
12357         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
12358         (pcre_special): New constant.
12359         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
12360         New functions.
12361         (regex_quote_length, regex_quote_copy, regex_quote): Take a
12362         'const struct regex_quote_spec *' argument.
12363         * modules/regex-quote (Depends-on): Add stdbool.
12364         * tests/test-regex-quote.c (check): Update for new API. Add test for
12365         anchored results.
12366         * NEWS: Mention the API change.
12367         Reported by Reuben Thomas and Eric Blake.
12368
12369 2011-03-06  Bruno Haible  <bruno@clisp.org>
12370
12371         regex-quote: Fix creation of POSIX extended regular expressions.
12372         * lib/regex-quote.c (ere_special): Add grouping and alternation
12373         operators.
12374
12375 2011-03-05  Bruno Haible  <bruno@clisp.org>
12376
12377         doc: Improve doc regarding autopoint vs. gnulib.
12378         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
12379         disable autopoint while running autoreconf.
12380         Suggested by Ralf Wildenhues.
12381
12382 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12383
12384         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
12385         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
12386
12387 2011-03-03  Bruce Korb  <bkorb@gnu.org>
12388
12389         parse-duration: remove xalloc.h dependency
12390         * lib/parse-duration.c (parse_period): handle NULL return from
12391         strdup instead of calling xstrdup().
12392         * modules/parse-duration: remove "xalloc" dependency
12393
12394 2011-03-03  Matthew Booth  <mbooth@redhat.com>
12395
12396         bootstrap: honor m4_base when running aclocal
12397         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
12398
12399 2011-03-02  Jim Meyering  <meyering@redhat.com>
12400
12401         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
12402         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
12403         on request from Matt Booth.
12404
12405 2011-03-01  Eric Blake  <eblake@redhat.com>
12406
12407         test-link: work on Hurd
12408         * tests/test-link.h (test_link): Hurd rejects linking directories
12409         with EISDIR instead of the POSIX-mandated EPERM.
12410
12411 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
12412
12413         stdio: simplify by moving files to printf-posix, sigpipe
12414         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
12415         since this symbol is needed only if printf is replaced.
12416         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
12417         Require gl_ASM_SYMBOL_PREFIX.
12418         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
12419         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
12420         (Depends-on): Add 'raise'.
12421         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
12422         * modules/stdio (Files): Remove lib/stdio-write.c,
12423         m4/asm-underscore.m4.
12424         (Depends-on): Remove 'raise'.
12425
12426         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
12427         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
12428         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
12429         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
12430
12431 2011-02-28  Bruno Haible  <bruno@clisp.org>
12432
12433         localcharset: Assume ANSI C behaviour of free().
12434         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
12435         calling free().
12436         Suggested by Simon Josefsson <simon@josefsson.org>.
12437
12438 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
12439             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
12440             Bruno Haible  <bruno@clisp.org>  (tiny change)
12441
12442         On Cygwin, use /proc file system instead of win32 API.
12443         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
12444         Win32 file names.
12445         (DllMain): Simplify by removing Cygwin specific code.
12446         (find_shared_library_fullname): Use Linux specific implementation also
12447         for Cygwin.
12448         (get_shared_library_fullname): Update accordingly.
12449         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
12450         Win32 file names.
12451         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
12452         Cygwin specific code.
12453
12454 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
12455             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
12456
12457         Fix OpenMP flag detection for various Fortran compilers.
12458         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
12459         OpenMP-conditional compilation construct, to force compile
12460         failure with missing OpenMP flag.
12461         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
12462
12463 2011-02-25  Eric Blake  <eblake@redhat.com>
12464
12465         strstr: expand test coverage
12466         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
12467         compilation.
12468         * tests/test-memmem.c (main): Duplicate tests.
12469         * tests/test-strcasestr.c (main): Likewise.
12470         * tests/test-c-strcasestr.c (main): Likewise.
12471
12472 2011-02-25  Jim Meyering  <meyering@redhat.com>
12473
12474         maint.mk: detect missing-NL-at-EOF, too
12475         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
12476         it also detects when a file lacks a newline at EOF.
12477         (require_exactly_one_NL_at_EOF_): Renamed from
12478         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
12479         since people may well have .x-sc_... file names tied to the
12480         existing name.  Suggested by Eric Blake.
12481
12482 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
12483
12484         dirname: move m4/dos.m4 functionality into lib/dosname.h
12485
12486         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
12487         extracts symbols from it, puts them into config.h; but it's much
12488         easier to use the symbols directly.  filename.h already does this,
12489         but it disagrees with dos.m4 in some respects.  This patch
12490         introduces a different include file dosname.h that packages up
12491         dos.m4, and then later we can work on merging filename.h and
12492         dosname.h.  Applications that need only the easy-to-configure
12493         symbols should consider including dosname.h rather than dirname.h.
12494         * NEWS: Mention incompatible changes.
12495         * m4/dos.m4: Remove.
12496         * lib/dosname.h, modules/dosname: New files.
12497         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
12498         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
12499         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
12500         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
12501         Include dosname.h, not dirname.h.
12502         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
12503         Include dosname.h, for definitions of symbols like ISSLASH
12504         that used to be in config.h.
12505         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
12506         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
12507         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
12508         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
12509         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
12510         * modules/rmdir (Files): Likewise.
12511         * modules/stat (Files): Likewise.
12512         * modules/unlink (Files): Likewise.
12513         * modules/dirname-lgpl (Depends-on): Add dosname.
12514         * modules/lstat (Depends-on): Likewise.
12515         * modules/openat (Depends-on): Likewise.
12516         * modules/rmdir (Depends-on): Likewise.
12517         * modules/savewd (Depends-on): Likewise.
12518         * modules/stat (Depends-on): Likewise.
12519         * modules/unlink (Depends-on): Likewise.
12520         * modules/openat (Depends-on): Remove dirname-lgpl.
12521         * modules/savewd (Depends-on): Likewise.
12522         * tests/test-dirname.c: Do not use removed symbols like
12523         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
12524         the remaining symbols, e.g., ISSLASH ('\\').
12525
12526 2011-02-25  Eric Blake  <eblake@redhat.com>
12527
12528         strstr: revert patches that introduced bug and pessimization
12529         * lib/str-two-way.h: Add another reference.
12530         (two_way_short_needle, two_way_long_needle): Revert changes from
12531         2011-02-24; they pessimize search speed.
12532         (critical_factorization): Partially revert changes from
12533         2010-06-22; they violate the requirement that the left half of the
12534         needle be smaller than the period of the needle.
12535
12536 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
12537
12538         filenamecat: remove unnecessary dependency on dirname-lgpl
12539         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
12540         is no direct dependency, just an indirect one via filenamecat-lgpl.
12541
12542         remove: remove unnecessary use of m4/dos.m4
12543         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
12544         * modules/remove (FILES): Remove m4/dos.m4.
12545
12546         * lib/openat-proc.c: Don't include dirname.h; not needed.
12547
12548         backupfile: remove unnecessary use of m4/dos.m4
12549         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
12550         of its symbols are used by the backupfile code.  backupfile.c does
12551         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
12552         for the rare case of programs that want all their backup file
12553         names to live within 8+3 limits, and dos.m4 doesn't address that.
12554         * modules/backupfile (Files): Remove m4/dos.m4.
12555
12556 2011-02-24  Jim Meyering  <meyering@redhat.com>
12557
12558         strstr: fix a bug whereby strstr would mistakenly return NULL
12559         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
12560         in period calculation.
12561         (two_way_long_needle): Likewise.
12562         The original problem was reported by Mike Stump in
12563         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
12564         Ralf Wildenhues provided the short needle and haystack.
12565         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
12566         Add a more involved test to trigger the bug in two_way_long_needle.
12567
12568 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
12569
12570         gnulib-tool: remove use of bold display in help screen
12571         * gnulib-tool (func_usage): Do not use bold display anymore in the
12572         help screen.  That was just meant to be a temporary emphasis for a
12573         backward-incompatible change.
12574
12575 2011-02-23  Bruno Haible  <bruno@clisp.org>
12576
12577         Fix misindentation of preprocessor directives.
12578         * lib/argp-namefrob.h: Reindent preprocessor directives.
12579         * lib/getopt_int.h (struct _getopt_data): Likewise.
12580         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
12581         * lib/vasnprintf.c (decode_long_double): Likewise.
12582         * tests/test-argmatch.c: Insert blank lines, for clarity.
12583         * tests/test-exclude.c: Likewise.
12584
12585 2011-02-22  Bruno Haible  <bruno@clisp.org>
12586
12587         ioctl: Fix for MacOS X in 64-bit mode.
12588         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
12589         value.
12590         Suggested by Eric Blake.
12591         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
12592
12593 2011-02-22  Jim Meyering  <meyering@redhat.com>
12594
12595         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
12596         * Makefile (sc_cpp_indent_check): Don't limit the check to files
12597         in lib/.
12598
12599 2011-02-22  Eric Blake  <eblake@redhat.com>
12600
12601         maint: avoid any CDPATH issue
12602         * Makefile (sc_cpp_indent_check): Anchor cd argument.
12603
12604         maint: adjust cpp indentation for my modules, as well
12605         * Makefile (sc_cpp_indent_check): Add my name.
12606         * lib/fbufmode.c: Filter through cppi.
12607         * lib/fpurge.c: Likewise.
12608         * lib/freadable.c: Likewise.
12609         * lib/freading.c: Likewise.
12610         * lib/fwritable.c: Likewise.
12611         * lib/fwriting.c: Likewise.
12612         * lib/sigaction.c: Likewise.
12613
12614 2011-02-22  Jim Meyering  <meyering@redhat.com>
12615
12616         maint: adjust cpp indentation to reflect nesting depth
12617         I.e., in a block of code that begins with an unnested "#if",
12618         put one space between the "#" in column 1 and following token.
12619         For example,
12620         -#include <sys/vfs.h>
12621         +# include <sys/vfs.h>
12622         Do this only in .c files that are part of a module I maintain.
12623         * lib/linkat.c: Filter through cppi.
12624         * lib/nanosleep.c: Likewise.
12625         * lib/openat.c: Likewise.
12626         * lib/openat-die.c: Likewise.
12627         * lib/dup3.c: Likewise.
12628         * lib/fchownat.c: Likewise.
12629         * lib/flock.c: Likewise.
12630         * lib/fsync.c: Likewise.
12631         * lib/fts.c: Likewise.
12632         * lib/getpass.c: Likewise.
12633         * lib/gettimeofday.c: Likewise.
12634         * lib/userspec.c: Likewise.
12635         * Makefile (sc_cpp_indent_check): New rule, to check this.
12636
12637 2011-02-22  Bruno Haible  <bruno@clisp.org>
12638
12639         New module 'wctomb'.
12640         * lib/stdlib.in.h (wctomb): New declaration.
12641         * lib/wctomb.c: New file.
12642         * lib/wctomb-impl.h: New file.
12643         * m4/wctomb.m4: New file.
12644         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
12645         REPLACE_WCTOMB.
12646         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
12647         REPLACE_WCTOMB.
12648         * modules/wctomb: New file.
12649         * tests/test-stdlib-c++.cc: Test signature of wctomb.
12650         * doc/posix-functions/wctomb.texi: Mention the new module.
12651         * modules/wctob (Depends-on): Add wctomb.
12652
12653 2011-02-22  Bruno Haible  <bruno@clisp.org>
12654
12655         New module 'mbtowc'.
12656         * lib/stdlib.in.h (mbtowc): New declaration.
12657         * lib/mbtowc.c: New file.
12658         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
12659         * m4/mbtowc.m4: New file.
12660         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
12661         REPLACE_MBTOWC.
12662         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
12663         REPLACE_MBTOWC.
12664         * modules/mbtowc: New file.
12665         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
12666         * doc/posix-functions/mbtowc.texi: Mention the new module.
12667         * modules/btowc (Depends-on): Add mbtowc.
12668
12669 2011-02-22  Bruno Haible  <bruno@clisp.org>
12670
12671         wcrtomb: Add more tests for native Windows platforms.
12672         * tests/test-wcrtomb-w32-1.sh: New file.
12673         * tests/test-wcrtomb-w32-2.sh: New file.
12674         * tests/test-wcrtomb-w32-3.sh: New file.
12675         * tests/test-wcrtomb-w32-4.sh: New file.
12676         * tests/test-wcrtomb-w32-5.sh: New file.
12677         * tests/test-wcrtomb-w32.c: New file.
12678         * modules/wcrtomb-tests (Files): Add them.
12679         (Makefile.am): Arrange to run these tests.
12680         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
12681         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
12682
12683 2011-02-20  Bruno Haible  <bruno@clisp.org>
12684
12685         wcrtomb: Enhance test.
12686         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
12687
12688 2011-02-20  Bruno Haible  <bruno@clisp.org>
12689
12690         mbrtowc: Tiny optimization.
12691         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
12692
12693 2011-02-20  Jim Meyering  <meyering@redhat.com>
12694
12695         test-exclude.c: remove unmatched #endif
12696         * tests/test-exclude.c: Remove stray #endif, left over from
12697         the change of a week ago.
12698
12699 2011-02-19  Jim Meyering  <meyering@redhat.com>
12700
12701         git-version-gen: skip "-dirty" check when appropriate
12702         * build-aux/git-version-gen: Don't run any git commands when the
12703         version string comes from .tarball-version.  Prior to this, we
12704         would run git update-index --refresh even from a just-unpacked
12705         tarball directory, and that could affect a .git/ directory in a
12706         parent of the build directory.  Reported by Mike Frysinger.
12707
12708 2011-02-19  Bruno Haible  <bruno@clisp.org>
12709
12710         unictype/property-byname: Reduce the size of the 'data' segment.
12711         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
12712
12713 2011-02-19  Bruno Haible  <bruno@clisp.org>
12714
12715         unictype/scripts: Reduce the size of the 'data' segment.
12716         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
12717         '%pic'.
12718         * lib/unictype/scripts_byname.gperf: Regenerated.
12719
12720 2011-02-19  Bruno Haible  <bruno@clisp.org>
12721
12722         stdint: Update documentation.
12723         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
12724
12725 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
12726
12727         stdint: omit redundant check for wchar.h
12728         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
12729         always tests whether wchar.h exists, so remove the now-redundant test.
12730
12731 2011-02-18  Bruno Haible  <bruno@clisp.org>
12732
12733         stdint: Cut dependency to module 'wchar'.
12734         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
12735         include the necessary prerequisites.
12736         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
12737         * modules/stdint (Depends-on): Remove wchar.
12738         (Makefile.am): Substitute HAVE_WCHAR_H.
12739         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
12740
12741 2011-02-18  Eric Blake  <eblake@redhat.com>
12742
12743         longlong: skip, rather than fail, on cross-compilation
12744         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
12745         when cross-compiling; regression from 2011-02-16.
12746
12747 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
12748
12749         * NEWS: Mention 2011-02-08 change to stdlib.
12750
12751 2011-02-17  Bruno Haible  <bruno@clisp.org>
12752
12753         getloadavg: Add comments about platforms.
12754         * m4/getloadavg.m4: Add comment.
12755         * lib/getloadavg.c: Likewise.
12756
12757 2011-02-17  Bruno Haible  <bruno@clisp.org>
12758
12759         getloadavg: Fix link error on Solaris 2.6.
12760         * modules/getloadavg (Link): New section.
12761         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
12762         linking test-getloadavg.
12763         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
12764         getloadavg.
12765
12766 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
12767
12768         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
12769         It was 'int', but this doesn't match the IRIX 6.5 manual.
12770         Suggested by Bruno Haible in
12771         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
12772
12773 2011-02-17  Bruno Haible  <bruno@clisp.org>
12774
12775         havelib: Fix comments.
12776         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
12777         change.
12778
12779 2011-02-17  Bruno Haible  <bruno@clisp.org>
12780
12781         havelib: Update config.rpath.
12782         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
12783
12784 2011-02-17  Bruno Haible  <bruno@clisp.org>
12785
12786         getloadavg test: Add some plausibility checks.
12787         * tests/test-getloadavg.c (check_avg): Print a warning when the value
12788         is improbable.
12789
12790 2011-02-16  Eric Blake  <eblake@redhat.com>
12791
12792         maintainer-makefile: make syntax-check a no-op from tarballs
12793         * top/maint.mk (no-vc-detected): New rule.
12794         (local-checks-available): Use it to avoid hanging if someone tries
12795         'make syntax-check' from a tarball.  Also append to any non-syntax
12796         checks already defined in cfg.mk.
12797
12798 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
12799
12800         longlong: tune, particularly for common case of c99
12801
12802         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
12803         or running anything if c99, or if unsigned long long int does not
12804         work.  In either case, we know the answer without further tests.
12805         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
12806         it at most once, and use its results for both long long int and
12807         unsigned long long int.  This is more likely to be efficient in
12808         the common case where the program wants to check for both long
12809         long int and unsigned long long int.
12810         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
12811         since the answer is already known.
12812
12813 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
12814
12815         getloadavg: set errno
12816         * lib/getloadavg.c: Set errno when returning -1.  If no other
12817         error number looks appropriate, set it to ENOSYS if the getloadavg
12818         looks like it can't possibly ever work, ENOTSUP otherwise.
12819         Suggested by Bruno Haible in
12820         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
12821
12822         getloadavg: trim unused parts and speed up 'configure'
12823         * NEWS: Document this.
12824         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
12825         always compiled if getloadavg is absent.
12826         Move test code to ...
12827         * tests/test-getloadavg.c: New file, containing previous
12828         contents of test from lib/getloadavg.c.  It also contains
12829         suggestions by Bruno Haible in
12830         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
12831         * modules/getloadavg-tests: New file.
12832         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
12833         Do tests in the same order as they're needed for getloadavg.c.
12834         Omit setgid-related tests that generate symbols KMEM_GROUP,
12835         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
12836         Do only the tests that are needed to see whether the system has
12837         getloadavg, moving the other tests into ...
12838         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
12839         NLIST_NAME_UNION; nobody should be using it.  Do not define
12840         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
12841         relevant, as the user of this module shouldn't care how getloadavg
12842         is implemented.
12843
12844         getloadavg: omit unused var
12845         * lib/getloadavg.c (getloadavg): Omit unused local variable.
12846
12847 2011-02-15  Jim Meyering  <meyering@redhat.com>
12848
12849         doc: update users.txt
12850         * users.txt: Update iwhd's URL.
12851
12852 2011-02-13  Bruno Haible  <bruno@clisp.org>
12853
12854         Consistent macro naming for macros that use GCC __attribute__.
12855         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
12856         _ATTRIBUTE_NONNULL_.
12857         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
12858         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
12859         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
12860         ATTRIBUTE_DEPRECATED.
12861         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
12862         ATTRIBUTE_NORETURN.
12863         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
12864         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
12865         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
12866         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
12867         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
12868         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
12869         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
12870         ATTRIBUTE_SENTINEL.
12871         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
12872         ATTRIBUTE_RETURN_CHECK.
12873         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
12874         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
12875         ATTRIBUTE_NORETURN.
12876         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
12877         Reported by Paul Eggert.
12878
12879 2011-02-13  Bruno Haible  <bruno@clisp.org>
12880
12881         Don't interfere with a program's definition of __attribute__.
12882         * lib/argp.h (__attribute__): Remove definition.
12883         (_GL_ATTRIBUTE_FORMAT): New macro.
12884         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
12885         * lib/argp-fmtstream.h (__attribute__): Remove definition.
12886         (_GL_ATTRIBUTE_FORMAT): New macro.
12887         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
12888         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
12889         GCC 3 or newer.
12890         * lib/error.h (__attribute__): Remove definition.
12891         (_GL_ATTRIBUTE_FORMAT): New macro.
12892         (error, error_at_line): Use it.
12893         * lib/hash.h (__attribute__): Remove definition.
12894         (ATTRIBUTE_WUR): Update definition. Define always.
12895         * lib/openat.h (__attribute__): Remove definition.
12896         (ATTRIBUTE_NORETURN): Update definition. Define always.
12897         * lib/sigpipe-die.h (__attribute__): Remove definition.
12898         (ATTRIBUTE_NORETURN): Update definition. Define always.
12899         * lib/vasnprintf.h (__attribute__): Remove definition.
12900         (_GL_ATTRIBUTE_FORMAT): New macro.
12901         (asnprintf, vasnprintf): Use it.
12902         * lib/xalloc.h (__attribute__): Remove definition.
12903         (ATTRIBUTE_NORETURN): Update definition. Define always.
12904         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
12905         * lib/xmemdup0.h (__attribute__): Remove definition.
12906         (ATTRIBUTE_NORETURN): Update definition. Define always.
12907         * lib/xprintf.h (__attribute__): Remove definition.
12908         (_GL_ATTRIBUTE_FORMAT): New macro.
12909         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
12910         * lib/xstrtol.h (__attribute__): Remove definition.
12911         (ATTRIBUTE_NORETURN): Update definition. Define always.
12912         * lib/xvasprintf.h (__attribute__): Remove definition.
12913         (_GL_ATTRIBUTE_FORMAT): New macro.
12914         (xasprintf, xvasprintf): Use it.
12915         * tests/test-argmatch.c (__attribute__): Remove definition.
12916         (ATTRIBUTE_NORETURN): Update definition. Define always.
12917         * tests/test-exclude.c (__attribute__): Remove definition.
12918         (ATTRIBUTE_NORETURN): Update definition. Define always.
12919         Reported by Paul Eggert.
12920
12921 2011-02-13  Bruno Haible  <bruno@clisp.org>
12922
12923         mbrtowc: Add more tests for native Windows platforms.
12924         * tests/test-mbrtowc-w32-1.sh: New file.
12925         * tests/test-mbrtowc-w32-2.sh: New file.
12926         * tests/test-mbrtowc-w32-3.sh: New file.
12927         * tests/test-mbrtowc-w32-4.sh: New file.
12928         * tests/test-mbrtowc-w32-5.sh: New file.
12929         * tests/test-mbrtowc-w32.c: New file.
12930         * modules/mbrtowc-tests (Files): Add them.
12931         (Makefile.am): Arrange to run these tests.
12932         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
12933         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
12934
12935 2011-02-13  Bruno Haible  <bruno@clisp.org>
12936
12937         mbrtowc: Work around native Windows bug.
12938         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
12939         guess when no suitable locale for testing was found.
12940         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
12941
12942 2011-02-13  Bruno Haible  <bruno@clisp.org>
12943
12944         mbsinit: Work around mingw bug.
12945         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
12946         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
12947         Windows.
12948         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
12949
12950 2011-02-13  Bruno Haible  <bruno@clisp.org>
12951
12952         mbsinit: Don't crash for a NULL argument.
12953         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
12954         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
12955
12956 2011-02-13  Bruno Haible  <bruno@clisp.org>
12957
12958         Don't interfere with a program's definition of __attribute__.
12959         * lib/stdio.in.h (__attribute__): Remove definition.
12960         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
12961         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
12962         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
12963         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
12964         * lib/string.in.h (__attribute__): Remove definition.
12965         Reported by Paul Eggert.
12966
12967 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
12968
12969         stdlib: don't get in the way of non-GCC __attribute__
12970         See thread starting at
12971         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
12972         Revert previous stdlib change, installing the following instead:
12973         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
12974         to get in the way of a non-GCC compiler that supports __attribute__.
12975         (_GL_ATTRIBUTE_RETURN): New macro.
12976         (_Exit): Use it instead of __attribute__.
12977
12978 2011-02-12  Bruno Haible  <bruno@clisp.org>
12979
12980         quotearg test: Avoid test failure on mingw.
12981         * tests/test-quotearg.sh: Convert the locale identifier from native
12982         Windows syntax to Unix syntax.
12983
12984 2011-02-12  Bruno Haible  <bruno@clisp.org>
12985
12986         setlocale: Prefer gnulib's override over libintl's override.
12987         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
12988         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
12989         GNULIB_defined_setlocale is set.
12990
12991 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
12992
12993         stdlib: support non-GCC __attribute__
12994
12995         Fix a serious and tricky problem encountered when attempting to
12996         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
12997         5.5, but it crashed due to memory corruption on Solaris 10 with
12998         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
12999         bits that are otherwise zero.  This tagging is optional inside
13000         Emacs but is preferred and is used when __attribute__ ((__aligned
13001         (8))) works, as it does with both recent-enough GCC and with Sun C
13002         5.11.  However, Sun C 5.11 is not GCC and does not #define
13003         __GNUC__ and __GNUC_MINOR__.
13004
13005         When I added the getloadavg module to Emacs, it brought in
13006         stdlib.in.h, which contained this fragment:
13007
13008            #ifndef __attribute__
13009            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
13010            #  define __attribute__(Spec)   /* empty */
13011            # endif
13012            #endif
13013
13014         When files that include <stdlib.h> were compiled with Sun C 5.11,
13015         the above code disabled __attribute__ ((__aligned (8))), which
13016         caused variables to not be properly aligned, which eventually led
13017         to the pointer corruption mentioned above.  (This was a bit hard
13018         to diagnose, unfortunately.)
13019
13020         Several "#define __attribute__(X) /* empty */" code snippets need
13021         to be eradicated from Gnulib to work with non-GCC compilers that
13022         support __attribute__.  The Autoconf way to do this is to test for
13023         each kind of attribute that we want support for, and selectively
13024         enable that in source code.
13025
13026         Fix this problem just for stdlib.h, by adding a test for the
13027         __noreturn__ attribute, and change stdlib.in.h to use that test
13028         when needed.  This technique can be easily generalized to the
13029         other *.in.h files and attributes, and a similar technique can be
13030         used for *.h and *.c files.  This patch is enough to solve the
13031         problem for Emacs + getloadavg, and I thought I'd publish it for
13032         feedback before undertaking further, similar fixes in other
13033         modules.
13034
13035         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
13036         because it's not needed for stdlib.h.  It merely substitutes the
13037         value directly into stdlib.h.  We may well need to #define it, or
13038         similar symbols, for other modules, but it's nice to also have an
13039         option to not #define it for applications like Emacs that do not
13040         need it.
13041
13042         * lib/stdlib.in.h (__attribute__): Do not #define.
13043         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
13044         be defined only if the _Exit module is also used.
13045         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
13046         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
13047         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
13048         platforms.
13049         * modules/_Exit (Files): Add m4/attribute.m4.
13050         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
13051         * m4/attribute.m4: New file.
13052
13053 2011-02-12  Bruno Haible  <bruno@clisp.org>
13054
13055         wcsrtombs: Work around bug on native Windows.
13056         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
13057         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
13058         instead of len.
13059         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
13060
13061 2011-02-12  Bruno Haible  <bruno@clisp.org>
13062
13063         mbsrtowcs: Work around bug on native Windows.
13064         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
13065         against mingw bug.
13066         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
13067
13068 2011-02-12  Bruno Haible  <bruno@clisp.org>
13069
13070         Avoid setlocale bugs in tests.
13071         * modules/btowc (Dependencies): Add setlocale.
13072         * modules/c-strcase (Dependencies): Likewise.
13073         * modules/mbmemcasecmp (Dependencies): Likewise.
13074         * modules/mbmemcasecoll (Dependencies): Likewise.
13075         * modules/mbrtowc (Dependencies): Likewise.
13076         * modules/mbscasecmp (Dependencies): Likewise.
13077         * modules/mbscasestr (Dependencies): Likewise.
13078         * modules/mbschr (Dependencies): Likewise.
13079         * modules/mbscspn (Dependencies): Likewise.
13080         * modules/mbsinit (Dependencies): Likewise.
13081         * modules/mbsncasecmp (Dependencies): Likewise.
13082         * modules/mbsnrtowcs (Dependencies): Likewise.
13083         * modules/mbspbrk (Dependencies): Likewise.
13084         * modules/mbspcasecmp (Dependencies): Likewise.
13085         * modules/mbsrchr (Dependencies): Likewise.
13086         * modules/mbsrtowcs (Dependencies): Likewise.
13087         * modules/mbsspn (Dependencies): Likewise.
13088         * modules/mbsstr (Dependencies): Likewise.
13089         * modules/nl_langinfo (Dependencies): Likewise.
13090         * modules/quotearg (Dependencies): Likewise.
13091         * modules/unicase/locale-language (Dependencies): Likewise.
13092         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
13093         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
13094         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
13095         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
13096         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
13097         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
13098         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
13099         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
13100         * modules/vasnprintf-posix (Dependencies): Likewise.
13101         * modules/wcrtomb (Dependencies): Likewise.
13102         * modules/wcsnrtombs (Dependencies): Likewise.
13103         * modules/wcsrtombs (Dependencies): Likewise.
13104
13105 2011-02-12  Bruno Haible  <bruno@clisp.org>
13106
13107         setlocale: Workaround native Windows bug.
13108         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
13109         succeeds but sets LC_CTYPE to "C", report a failure.
13110         * tests/test-setlocale2.sh: New file.
13111         * tests/test-setlocale2.c: New file.
13112         * modules/setlocale-tests (Files): Add the new files.
13113         (Makefile.am): Enable test-setlocale2.sh test.
13114         * doc/posix-functions/setlocale.texi: Mention workaround.
13115
13116 2011-02-11  Bruno Haible  <bruno@clisp.org>
13117
13118         Tests for module 'setlocale'.
13119         * modules/setlocale-tests: New file.
13120         * tests/test-setlocale1.sh: New file.
13121         * tests/test-setlocale1.c: New file.
13122
13123         New module 'setlocale'.
13124         * lib/locale.in.h (setlocale): New declaration.
13125         * lib/setlocale.c: New file, based on
13126         gettext/gettext-runtime/intl/setlocale.c.
13127         * m4/setlocale.m4: New file.
13128         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
13129         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
13130         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
13131         REPLACE_SETLOCALE.
13132         * modules/setlocale: New file.
13133         * tests/test-locale-c++.cc: Test the declaration of setlocale.
13134         * doc/posix-functions/setlocale.texi: Mention the new module.
13135
13136 2011-02-11  Bruno Haible  <bruno@clisp.org>
13137
13138         Prepare for locale dependent tests on mingw.
13139         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
13140         because it has the wrong locale encoding.
13141         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
13142         French_France.1252 instead of "fr".
13143         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
13144         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
13145         because it has the wrong locale encoding.
13146         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
13147         native Windows, try Turkish_Turkey.65001.
13148         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
13149         Chinese_China.54936.
13150
13151         Prepare for locale dependent tests on mingw.
13152         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
13153         differently.
13154         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
13155         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
13156         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
13157         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
13158
13159 2011-02-11  Eric Blake  <eblake@redhat.com>
13160
13161         strptime: avoid compiler warnings
13162         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
13163         compiler warnings about dead code.
13164         Reported by Daniel P. Berrange.
13165
13166 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
13167
13168         doc: update users.txt
13169         * users.txt: Add rcs.
13170
13171 2011-02-10  John W. Eaton  <jwe@gnu.org>
13172
13173         doc: update users.txt
13174         * users.txt: Add octave.
13175
13176 2011-02-10  Jim Meyering  <meyering@redhat.com>
13177
13178         doc: update users.txt
13179         * users.txt: Add iwhd.
13180
13181 2011-02-09  Bruno Haible  <bruno@clisp.org>
13182
13183         gnulib-tool: Make copyright notice adjustment more robust.
13184         * gnulib-tool (func_import): In sed_transform_main_lib_file,
13185         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
13186         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
13187         License".
13188         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
13189
13190 2011-02-06  Bruno Haible  <bruno@clisp.org>
13191
13192         New module 'towctrans'.
13193         * modules/towctrans: New file.
13194         * lib/wctype.in.h (towctrans): New declaration.
13195         * lib/towctrans.c: New file.
13196         * lib/towctrans-impl.h: New file.
13197         * m4/towctrans.m4: New file.
13198         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
13199         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
13200         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
13201         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
13202         * doc/posix-functions/towctrans.texi: Mention the new module.
13203
13204 2011-02-06  Bruno Haible  <bruno@clisp.org>
13205
13206         New module 'wctrans'.
13207         * modules/wctrans: New file.
13208         * lib/wctype.in.h (wctrans): New declaration.
13209         * lib/wctrans.c: New file.
13210         * lib/wctrans-impl.h: New file.
13211         * m4/wctrans.m4: New file.
13212         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
13213         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
13214         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
13215         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
13216         * doc/posix-functions/wctrans.texi: Mention the new module.
13217
13218 2011-02-06  Bruno Haible  <bruno@clisp.org>
13219
13220         New module 'iswctype'.
13221         * modules/iswctype: New file.
13222         * lib/wctype.in.h (iswctype): New declaration.
13223         * lib/iswctype.c: New file.
13224         * lib/iswctype-impl.h: New file.
13225         * m4/iswctype.m4: New file.
13226         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
13227         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
13228         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
13229         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
13230         * doc/posix-functions/iswctype.texi: Mention the new module and the
13231         HP-UX 11.00 problem.
13232
13233 2011-02-06  Bruno Haible  <bruno@clisp.org>
13234
13235         New module 'wctype'.
13236         * modules/wctype: Change to represent the wctype() substitute.
13237         * lib/wctype.in.h (wctype): New declaration.
13238         * lib/wctype.c: New file.
13239         * lib/wctype-impl.h: New file.
13240         * m4/wctype.m4: New file.
13241         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
13242         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
13243         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
13244         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
13245         * doc/posix-functions/wctype.texi: Mention the new module and the
13246         HP-UX 11.00 problem.
13247
13248 2011-02-06  Bruno Haible  <bruno@clisp.org>
13249
13250         wctype-h: Ensure wctype_t and wctrans_t are defined.
13251         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
13252         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
13253         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
13254         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
13255         HAVE_WCTRANS_T.
13256         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
13257
13258 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
13259
13260         flock: fix license typo
13261
13262         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
13263         omitted.
13264
13265 2011-02-08  Bruno Haible  <bruno@clisp.org>
13266
13267         Split large sed scripts, for HP-UX sed.
13268         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
13269         to avoid HP-UX limit of 99 commands, in the near future.
13270         * modules/stdlib (Makefile.am): Likewise.
13271         * modules/unistd (Makefile.am): Likewise.
13272         * modules/wchar (Makefile.am): Likewise.
13273         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
13274         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
13275         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
13276
13277 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
13278             Bruno Haible  <bruno@clisp.org>
13279
13280         stdlib: improve random_r modularization
13281         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
13282         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
13283         you also need the random_r module to get this material right.
13284         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
13285         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
13286         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
13287
13288 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
13289
13290         stdlib: don't depend on stdint
13291         * lib/stdlib.in.h: Don't include <stdint.h> merely because
13292         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
13293         be independent of whether stdint.h is needed.
13294         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
13295         here, instead of ...
13296         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
13297         struct random_data should be using the random_r module, not just
13298         the stdlib module (which wouldn't make sense: what package needs
13299         just struct random_data without also needing random_r?).
13300         * modules/stdlib (Depends-on): Remove stdint.
13301
13302         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
13303         See the thread rooted at
13304         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
13305         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
13306         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
13307         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
13308         __VMS)); previously it was always included (via fcntl--.h).
13309         (getloadavg): Do not use c_strtod.  Instead, approximate it by
13310         hand; this is good enough for load averages.  Also, do not use
13311         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
13312         flags directly if available and don't bother otherwise.  (Packages
13313         that need the extra reliability should use the modules that define
13314         these flags on older platforms that lack them.)
13315         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
13316         fcntl-safer.
13317
13318 2011-02-08  Jim Meyering  <meyering@redhat.com>
13319
13320         di-set.h, ino-map.h: add multiple-inclusion guard
13321         Technically, the guard is required only for ino-map.h, due to its
13322         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
13323         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
13324         * lib/ino-map.h: Likewise.
13325
13326 2011-02-06  Bruno Haible  <bruno@clisp.org>
13327
13328         iswblank: Ensure declaration on glibc systems.
13329         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
13330         * modules/iswblank (Dependencies): Add 'extensions'.
13331         * doc/posix-functions/iswblank.texi: Document the glibc problem.
13332
13333 2011-02-06  Bruno Haible  <bruno@clisp.org>
13334
13335         New module 'iswblank'.
13336         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
13337         * modules/iswblank: New file.
13338         * modules/wctype-h (Files): Remove lib/iswblank.c.
13339         (Makefile.am): Substitute GNULIB_ISWBLANK.
13340         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
13341         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
13342         (gl_WCTYPE_H_DEFAULTS): New macro.
13343         (gl_WCTYPE_H): Require it. Remove iswblank related code.
13344         * modules/iswblank-tests: New file.
13345         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
13346         * tests/test-wctype-h.c (main): Remove iswblank tests.
13347         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
13348         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
13349         of 'wctype-h'.
13350         * NEWS: Mention the change.
13351         * modules/mbchar (Depends-on): Add iswblank.
13352
13353 2011-02-08  Bruno Haible  <bruno@clisp.org>
13354
13355         di-set tests: Refactor.
13356         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
13357         unnecessary includes.
13358         (ASSERT): Remove macro.
13359         (main): Make C90 compliant by avoiding variable declaration after
13360         statement.
13361         * modules/di-set-tests (Files): Add tests/macros.h.
13362
13363 2011-02-08  Bruno Haible  <bruno@clisp.org>
13364
13365         ino-map tests: Refactor.
13366         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
13367         unnecessary includes.
13368         (ASSERT): Remove macro.
13369         (main): Make C90 compliant by avoiding variable declaration after
13370         statement.
13371         * modules/ino-map-tests (Files): Add tests/macros.h.
13372
13373 2011-02-08  Jim Meyering  <meyering@redhat.com>
13374
13375         di-set: add "const" to a cast
13376         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
13377         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
13378
13379 2011-02-06  Bruno Haible  <bruno@clisp.org>
13380
13381         Rename module 'wctype' to 'wctype-h'.
13382         * modules/wctype-h: Renamed from modules/wctype.
13383         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
13384         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
13385         (Files, Depends-on, Makefile.am): Update.
13386         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
13387         (Files, Makefile.am): Update.
13388         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
13389         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
13390         * doc/posix-headers/wctype.texi: Update.
13391         * doc/posix-functions/iswalnum.texi: Update.
13392         * doc/posix-functions/iswalpha.texi: Update.
13393         * doc/posix-functions/iswblank.texi: Update.
13394         * doc/posix-functions/iswcntrl.texi: Update.
13395         * doc/posix-functions/iswdigit.texi: Update.
13396         * doc/posix-functions/iswgraph.texi: Update.
13397         * doc/posix-functions/iswlower.texi: Update.
13398         * doc/posix-functions/iswprint.texi: Update.
13399         * doc/posix-functions/iswpunct.texi: Update.
13400         * doc/posix-functions/iswspace.texi: Update.
13401         * doc/posix-functions/iswupper.texi: Update.
13402         * doc/posix-functions/iswxdigit.texi: Update.
13403         * doc/posix-functions/towlower.texi: Update.
13404         * doc/posix-functions/towupper.texi: Update.
13405         * NEWS: Mention the change.
13406         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
13407         * modules/mbchar (Dependencies): Likewise.
13408         * modules/mbswidth (Dependencies): Likewise.
13409         * modules/quotearg (Dependencies): Likewise.
13410         * modules/regex (Dependencies): Likewise.
13411         * modules/wcscasecmp (Dependencies): Likewise.
13412         * modules/wcsncasecmp (Dependencies): Likewise.
13413         * modules/wcwidth (Dependencies): Likewise.
13414
13415 2011-02-06  Bruno Haible  <bruno@clisp.org>
13416
13417         New module 'wcswidth'.
13418         * modules/wcswidth: New file.
13419         * lib/wchar.in.h (wcswidth): New declaration.
13420         * lib/wcswidth.c: New file.
13421         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
13422         * m4/wcswidth.m4: New file.
13423         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
13424         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
13425         REPLACE_WCSWIDTH.
13426         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
13427         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
13428         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
13429         * doc/posix-functions/wcswidth.texi: Mention the new module.
13430
13431 2011-02-06  Bruno Haible  <bruno@clisp.org>
13432
13433         New module 'wcstok'.
13434         * modules/wcstok: New file.
13435         * lib/wchar.in.h (wcstok): New declaration.
13436         * lib/wcstok.c: New file.
13437         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
13438         * m4/wcstok.m4: New file.
13439         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
13440         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
13441         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
13442         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
13443         * doc/posix-functions/wcstok.texi: Mention the new module.
13444
13445 2011-02-06  Bruno Haible  <bruno@clisp.org>
13446
13447         New module 'wcsstr'.
13448         * modules/wcsstr: New file.
13449         * lib/wchar.in.h (wcsstr): New declaration.
13450         * lib/wcsstr.c: New file.
13451         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
13452         * m4/wcsstr.m4: New file.
13453         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
13454         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
13455         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
13456         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
13457         * doc/posix-functions/wcsstr.texi: Mention the new module.
13458
13459 2011-02-06  Bruno Haible  <bruno@clisp.org>
13460
13461         New module 'wcspbrk'.
13462         * modules/wcspbrk: New file.
13463         * lib/wchar.in.h (wcspbrk): New declaration.
13464         * lib/wcspbrk.c: New file.
13465         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
13466         * m4/wcspbrk.m4: New file.
13467         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
13468         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
13469         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
13470         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
13471         * doc/posix-functions/wcspbrk.texi: Mention the new module.
13472
13473 2011-02-06  Bruno Haible  <bruno@clisp.org>
13474
13475         New module 'wcsspn'.
13476         * modules/wcsspn: New file.
13477         * lib/wchar.in.h (wcsspn): New declaration.
13478         * lib/wcsspn.c: New file.
13479         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
13480         * m4/wcsspn.m4: New file.
13481         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
13482         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
13483         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
13484         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
13485         * doc/posix-functions/wcsspn.texi: Mention the new module.
13486
13487 2011-02-06  Bruno Haible  <bruno@clisp.org>
13488
13489         New module 'wcscspn'.
13490         * modules/wcscspn: New file.
13491         * lib/wchar.in.h (wcscspn): New declaration.
13492         * lib/wcscspn.c: New file.
13493         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
13494         * m4/wcscspn.m4: New file.
13495         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
13496         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
13497         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
13498         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
13499         * doc/posix-functions/wcscspn.texi: Mention the new module.
13500
13501 2011-02-06  Bruno Haible  <bruno@clisp.org>
13502
13503         New module 'wcsrchr'.
13504         * modules/wcsrchr: New file.
13505         * lib/wchar.in.h (wcsrchr): New declaration.
13506         * lib/wcsrchr.c: New file.
13507         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
13508         * m4/wcsrchr.m4: New file.
13509         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
13510         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
13511         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
13512         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
13513         * doc/posix-functions/wcsrchr.texi: Mention the new module.
13514
13515 2011-02-06  Bruno Haible  <bruno@clisp.org>
13516
13517         New module 'wcschr'.
13518         * modules/wcschr: New file.
13519         * lib/wchar.in.h (wcschr): New declaration.
13520         * lib/wcschr.c: New file.
13521         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
13522         * m4/wcschr.m4: New file.
13523         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
13524         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
13525         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
13526         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
13527         * doc/posix-functions/wcschr.texi: Mention the new module.
13528
13529 2011-02-06  Bruno Haible  <bruno@clisp.org>
13530
13531         New module 'wcsdup'.
13532         * modules/wcsdup: New file.
13533         * lib/wchar.in.h (wcsdup): New declaration.
13534         * lib/wcsdup.c: New file.
13535         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
13536         * m4/wcsdup.m4: New file.
13537         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
13538         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
13539         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
13540         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
13541         * doc/posix-functions/wcsdup.texi: Mention the new module.
13542
13543 2011-02-06  Bruno Haible  <bruno@clisp.org>
13544
13545         New module 'wcsxfrm'.
13546         * modules/wcsxfrm: New file.
13547         * lib/wchar.in.h (wcsxfrm): New declaration.
13548         * lib/wcsxfrm.c: New file.
13549         * lib/wcsxfrm-impl.h: New file.
13550         * m4/wcsxfrm.m4: New file.
13551         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
13552         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
13553         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
13554         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
13555         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
13556
13557 2011-02-06  Bruno Haible  <bruno@clisp.org>
13558
13559         New module 'wcscoll'.
13560         * modules/wcscoll: New file.
13561         * lib/wchar.in.h (wcscoll): New declaration.
13562         * lib/wcscoll.c: New file.
13563         * lib/wcscoll-impl.h: New file.
13564         * m4/wcscoll.m4: New file.
13565         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
13566         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
13567         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
13568         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
13569         * doc/posix-functions/wcscoll.texi: Mention the new module.
13570
13571 2011-02-06  Bruno Haible  <bruno@clisp.org>
13572
13573         New module 'wcsncasecmp'.
13574         * modules/wcsncasecmp: New file.
13575         * lib/wchar.in.h (wcsncasecmp): New declaration.
13576         * lib/wcsncasecmp.c: New file.
13577         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
13578         * m4/wcsncasecmp.m4: New file.
13579         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
13580         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
13581         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
13582         HAVE_WCSNCASECMP.
13583         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
13584         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
13585
13586 2011-02-06  Bruno Haible  <bruno@clisp.org>
13587
13588         New module 'wcscasecmp'.
13589         * modules/wcscasecmp: New file.
13590         * lib/wchar.in.h (wcscasecmp): New declaration.
13591         * lib/wcscasecmp.c: New file.
13592         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
13593         * m4/wcscasecmp.m4: New file.
13594         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
13595         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
13596         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
13597         HAVE_WCSCASECMP.
13598         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
13599         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
13600
13601 2011-02-05  Bruno Haible  <bruno@clisp.org>
13602
13603         New module 'wcsncmp'.
13604         * modules/wcsncmp: New file.
13605         * lib/wchar.in.h (wcsncmp): New declaration.
13606         * lib/wcsncmp.c: New file.
13607         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
13608         * m4/wcsncmp.m4: New file.
13609         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
13610         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
13611         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
13612         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
13613         * doc/posix-functions/wcsncmp.texi: Mention the new module.
13614
13615 2011-02-05  Bruno Haible  <bruno@clisp.org>
13616
13617         New module 'wcscmp'.
13618         * modules/wcscmp: New file.
13619         * lib/wchar.in.h (wcscmp): New declaration.
13620         * lib/wcscmp.c: New file.
13621         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
13622         * m4/wcscmp.m4: New file.
13623         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
13624         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
13625         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
13626         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
13627         * doc/posix-functions/wcscmp.texi: Mention the new module.
13628
13629 2011-02-05  Bruno Haible  <bruno@clisp.org>
13630
13631         New module 'wcsncat'.
13632         * modules/wcsncat: New file.
13633         * lib/wchar.in.h (wcsncat): New declaration.
13634         * lib/wcsncat.c: New file.
13635         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
13636         * m4/wcsncat.m4: New file.
13637         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
13638         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
13639         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
13640         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
13641         * doc/posix-functions/wcsncat.texi: Mention the new module.
13642
13643 2011-02-05  Bruno Haible  <bruno@clisp.org>
13644
13645         New module 'wcscat'.
13646         * modules/wcscat: New file.
13647         * lib/wchar.in.h (wcscat): New declaration.
13648         * lib/wcscat.c: New file.
13649         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
13650         * m4/wcscat.m4: New file.
13651         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
13652         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
13653         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
13654         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
13655         * doc/posix-functions/wcscat.texi: Mention the new module.
13656
13657 2011-02-05  Bruno Haible  <bruno@clisp.org>
13658
13659         New module 'wcpncpy'.
13660         * modules/wcpncpy: New file.
13661         * lib/wchar.in.h (wcpncpy): New declaration.
13662         * lib/wcpncpy.c: New file.
13663         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
13664         * m4/wcpncpy.m4: New file.
13665         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
13666         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
13667         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
13668         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
13669         * doc/posix-functions/wcpncpy.texi: Mention the new module.
13670
13671 2011-02-05  Bruno Haible  <bruno@clisp.org>
13672
13673         New module 'wcsncpy'.
13674         * modules/wcsncpy: New file.
13675         * lib/wchar.in.h (wcsncpy): New declaration.
13676         * lib/wcsncpy.c: New file.
13677         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
13678         * m4/wcsncpy.m4: New file.
13679         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
13680         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
13681         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
13682         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
13683         * doc/posix-functions/wcsncpy.texi: Mention the new module.
13684
13685 2011-02-05  Bruno Haible  <bruno@clisp.org>
13686
13687         New module 'wcpcpy'.
13688         * modules/wcpcpy: New file.
13689         * lib/wchar.in.h (wcpcpy): New declaration.
13690         * lib/wcpcpy.c: New file.
13691         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
13692         * m4/wcpcpy.m4: New file.
13693         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
13694         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
13695         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
13696         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
13697         * doc/posix-functions/wcpcpy.texi: Mention the new module.
13698
13699 2011-02-05  Bruno Haible  <bruno@clisp.org>
13700
13701         New module 'wcscpy'.
13702         * modules/wcscpy: New file.
13703         * lib/wchar.in.h (wcscpy): New declaration.
13704         * lib/wcscpy.c: New file.
13705         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
13706         * m4/wcscpy.m4: New file.
13707         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
13708         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
13709         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
13710         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
13711         * doc/posix-functions/wcscpy.texi: Mention the new module.
13712
13713 2011-02-05  Bruno Haible  <bruno@clisp.org>
13714
13715         New module 'wcsnlen'.
13716         * modules/wcsnlen: New file.
13717         * lib/wchar.in.h (wcsnlen): New declaration.
13718         * lib/wcsnlen.c: New file.
13719         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
13720         * m4/wcsnlen.m4: New file.
13721         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
13722         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
13723         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
13724         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
13725         * doc/posix-functions/wcsnlen.texi: Mention the new module.
13726
13727 2011-02-05  Bruno Haible  <bruno@clisp.org>
13728
13729         New module 'wcslen'.
13730         * modules/wcslen: New file.
13731         * lib/wchar.in.h (wcslen): New declaration.
13732         * lib/wcslen.c: New file.
13733         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
13734         * m4/wcslen.m4: New file.
13735         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
13736         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
13737         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
13738         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
13739         * doc/posix-functions/wcslen.texi: Mention the new module.
13740
13741 2011-02-05  Bruno Haible  <bruno@clisp.org>
13742
13743         New module 'wmemset'.
13744         * modules/wmemset: New file.
13745         * lib/wchar.in.h (wmemset): New declaration.
13746         * lib/wmemset.c: New file.
13747         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
13748         * m4/wmemset.m4: New file.
13749         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
13750         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
13751         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
13752         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
13753         * doc/posix-functions/wmemset.texi: Mention the new module.
13754
13755 2011-02-05  Bruno Haible  <bruno@clisp.org>
13756
13757         New module 'wmemmove'.
13758         * modules/wmemmove: New file.
13759         * lib/wchar.in.h (wmemmove): New declaration.
13760         * lib/wmemmove.c: New file.
13761         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
13762         * m4/wmemmove.m4: New file.
13763         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
13764         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
13765         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
13766         HAVE_WMEMMOVE.
13767         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
13768         * doc/posix-functions/wmemmove.texi: Mention the new module.
13769
13770 2011-02-05  Bruno Haible  <bruno@clisp.org>
13771
13772         New module 'wmemcpy'.
13773         * modules/wmemcpy: New file.
13774         * lib/wchar.in.h (wmemcpy): New declaration.
13775         * lib/wmemcpy.c: New file.
13776         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
13777         * m4/wmemcpy.m4: New file.
13778         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
13779         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
13780         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
13781         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
13782         * doc/posix-functions/wmemcpy.texi: Mention the new module.
13783
13784 2011-02-05  Bruno Haible  <bruno@clisp.org>
13785
13786         New module 'wmemcmp'.
13787         * modules/wmemcmp: New file.
13788         * lib/wchar.in.h (wmemcmp): New declaration.
13789         * lib/wmemcmp.c: New file.
13790         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
13791         * m4/wmemcmp.m4: New file.
13792         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
13793         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
13794         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
13795         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
13796         * doc/posix-functions/wmemcmp.texi: Mention the new module.
13797
13798 2011-02-07  Jim Meyering  <meyering@redhat.com>
13799
13800         di-set, ino-map: new modules, from coreutils
13801         * lib/di-set.c: New file.
13802         * lib/di-set.h: Likewise.
13803         * lib/ino-map.c: Likewise.
13804         * lib/ino-map.h: Likewise.
13805         * modules/di-set: Likewise.
13806         * modules/di-set-tests: Likewise.
13807         * modules/ino-map: Likewise.
13808         * modules/ino-map-tests: Likewise.
13809         * tests/test-di-set.c: Likewise.
13810         * tests/test-ino-map.c: Likewise.
13811
13812 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
13813
13814         getloadavg: merge minor changes from Emacs
13815
13816         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
13817         (getloadavg): Use memset, not bzero.
13818
13819         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
13820         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
13821         clash (bug#86).
13822
13823 2010-11-14  Bruno Haible  <bruno@clisp.org>
13824
13825         Allow multiple gnulib generated replacements to coexist.
13826         * lib/getopt.in.h (struct option): Avoid identical redefinition.
13827         * lib/inttypes.in.h (imaxdiv_t): Likewise.
13828         * lib/langinfo.in.h (nl_item): Likewise.
13829         * lib/math.in.h (_NaN, NAN): Likewise.
13830         * lib/netdb.in.h (struct addrinfo): Likewise.
13831         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
13832         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
13833         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
13834         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
13835         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
13836         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
13837         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
13838         pthread_mutexattr_init, pthread_mutexattr_settype,
13839         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
13840         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
13841         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
13842         pthread_spin_trylock, pthread_spin_unlock): Likewise.
13843         * lib/sched.in.h (struct sched_param): Likewise.
13844         * lib/se-selinux.in.h (security_class_t, security_context_t,
13845         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
13846         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
13847         lsetfilecon, fsetfilecon, security_check_context,
13848         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
13849         Likewise.
13850         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
13851         Likewise.
13852         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
13853         _gl_function_taking_int_returning_void_t, union sigval,
13854         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
13855         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
13856         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
13857         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
13858         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
13859         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
13860         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
13861         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
13862         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
13863         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
13864         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
13865         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
13866         socklen_t, rpl_fd_isset): Likewise.
13867         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
13868         * lib/sys_time.in.h (struct timeval): Likewise.
13869         * lib/sys_times.in.h (struct tms): Likewise.
13870         * lib/sys_utsname.in.h (struct utsname):
13871         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
13872         * lib/unistd.in.h (getpagesize): Likewise.
13873         * lib/wchar.in.h (mbstate_t): Likewise.
13874         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
13875         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
13876         towlower, towupper): Likewise.
13877         Reported by Sam Steingold <sds@gnu.org>.
13878
13879 2011-02-05  Eric Blake  <eblake@redhat.com>
13880
13881         unsetenv: work around Haiku issues
13882         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
13883         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
13884
13885 2010-12-30  Bruce Korb  <bkorb@gnu.org>
13886
13887         libposix: avoid calling error() within libposix
13888         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
13889         is defined.
13890
13891 2011-02-05  Eric Blake  <eblake@redhat.com>
13892
13893         strerror_r-posix: port to cygwin
13894         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
13895         implementation.
13896         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
13897         * tests/test-strerror_r.c (main): Fix test.
13898         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
13899         issue.
13900
13901 2011-02-05  Bruno Haible  <bruno@clisp.org>
13902
13903         New module 'wmemchr'.
13904         * modules/wmemchr: New file.
13905         * lib/wchar.in.h (wmemchr): New declaration.
13906         * lib/wmemchr.c: New file.
13907         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
13908         * m4/wmemchr.m4: New file.
13909         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
13910         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
13911         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
13912         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
13913         * doc/posix-functions/wmemchr.texi: Mention the new module.
13914
13915 2011-02-04  Eric Blake  <eblake@redhat.com>
13916
13917         fdopendir: detect FreeBSD bug
13918         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
13919         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
13920
13921 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
13922
13923         stdbool: do not define HAVE_STDBOOL_H
13924         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
13925         AC_HEADER_STDBOOL.  All uses changed.  Do not define
13926         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
13927         imported from the latest Autoconf git.  It was motivated by Emacs,
13928         which uses gnulib but does not need HAVE_STDBOOL_H.
13929
13930 2011-02-04  Bruno Haible  <bruno@clisp.org>
13931
13932         wcsnrtombs: Prepare for new module wwcsnrtombs.
13933         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
13934         * lib/wcsnrtombs.c: Include it.
13935         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
13936
13937         wcsrtombs: Prepare for new module wwcsrtombs.
13938         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
13939         * lib/wcsrtombs.c: Include it.
13940         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
13941
13942         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
13943         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
13944         * lib/mbsnrtowcs.c: Include it.
13945         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
13946
13947         mbsrtowcs: Prepare for new module mbsrtowwcs.
13948         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
13949         * lib/mbsrtowcs.c: Include it.
13950         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
13951
13952 2011-02-04  Bruno Haible  <bruno@clisp.org>
13953
13954         vasnprintf: Reduce use of malloc for small format strings.
13955         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
13956         (arguments): Add room for the first 7 arguments.
13957         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
13958         (char_directives, u8_directives, u16_directives, u32_directives): Add
13959         room for the first 7 directives.
13960         * lib/printf-parse.c: Include <string.h>.
13961         (PRINTF_PARSE): Change memory handling code so that it uses the first
13962         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
13963         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
13964         Reported by Pádraig Brady <P@draigbrady.com>.
13965
13966 2011-01-31  Eric Blake  <eblake@redhat.com>
13967
13968         dup2: work around Haiku bug
13969         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
13970         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
13971         * doc/posix-functions/dup2.texi (dup2): Document the bug.
13972         * tests/test-dup2.c (main): Enhance test.
13973
13974 2011-01-31  Simon Josefsson  <simon@josefsson.org>
13975
13976         doc: off_t is not available in eglibc 2.11.2 stdio.h.
13977         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
13978         declared by eglibc 2.11.2.
13979         * lib/stdio.in.h: Likewise.
13980
13981 2011-01-31  Eric Blake  <eblake@redhat.com>
13982
13983         ignore-value: add missing test dependency
13984         * tests/test-ignore-value.c: Revert previous change; stdio.h
13985         provides off_t.
13986         * modules/ignore-value-tests (Depends-on): Add missing dependency.
13987
13988 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
13989
13990         mktime: clarify long_int width checking
13991         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
13992         the top level, to make it clearer that the assumption about
13993         long_int width is being checked.  See
13994         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
13995
13996 2011-01-30  Simon Josefsson  <simon@josefsson.org>
13997
13998         ignore-value: Fix self-test.
13999         * tests/test-ignore-value.c: Include sys/types.h for off_t.
14000
14001 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
14002
14003         TYPE_MAXIMUM: avoid theoretically undefined behavior
14004         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
14005         negative number, which the C Standard says has undefined behavior.
14006         In practice this is not a problem, but might as well do it by the book.
14007         Reported by Rich Felker and Eric Blake; see
14008         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
14009         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
14010         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
14011         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
14012         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
14013         * m4/stdint.m4 (gl_STDINT_H): Likewise.
14014         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
14015
14016         mktime: #undef mktime before #defining it
14017         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
14018
14019         mktime: systematically normalize tm_isdst comparisons
14020         * lib/mktime.c (isdst_differ): New function.
14021         (__mktime_internal): Use it systematically for all isdst comparisons.
14022         This completes the fix for libc BZ #6723, and removes the need for
14023         normalizing tm_isdst.  See
14024         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
14025         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
14026
14027         mktime: fix some integer overflow issues and sidestep the rest
14028
14029         This was prompted by a bug report by Benjamin Lindner for MinGW
14030         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
14031         His bug is due to signed integer overflow (0 - INT_MIN), and I
14032         I scanned through mktime.c looking for other integer overflow
14033         problems, fixing all the bugs I found.
14034
14035         Although the C Standard says the resulting code is still not safe
14036         in the presence of integer overflow, in practice it should be good
14037         enough for all real-world two's-complement implementations, except
14038         for debugging environments that deliberately trap on integer
14039         overflow (e.g., gcc -ftrapv).
14040
14041         * lib/mktime.c (WRAPV): New macro.
14042         (SHR): Also check that long_int and time_t shift right in the
14043         usual way, before using the fast-but-unportable method.
14044         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
14045         used.  The code already assumed two's complement, so there's
14046         no need to test for alternatives.  All uses removed.
14047         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
14048         the C standard.  Problem reported by Rich Felker in
14049         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
14050         (twos_complement_arithmetic): Also check long_int and time_t.
14051         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
14052         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
14053         (__mktime_internal): Avoid integer overflow with unary subtraction
14054         in two instances where -1 - X is an adequate replacement for -X,
14055         since the calculations are approximate.
14056
14057 2011-01-29  Eric Blake  <eblake@redhat.com>
14058
14059         mktime: avoid infinite loop
14060         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
14061         type; behavior is still undefined but portable to all known targets.
14062         Reported by Rich Felker.
14063
14064 2011-01-29  Simon Josefsson  <simon@josefsson.org>
14065
14066         rename, unlink, same-inode: Relicense.
14067         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
14068         * modules/unlink (License): Likewise.
14069         * modules/same-inode (License): Likewise.
14070
14071 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
14072
14073         mktime: avoid problems on NetBSD 5 / i386
14074         * lib/mktime.c (long_int): New type.  This works around a problem
14075         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
14076         but time_t is 64 bits, and where I expect the existing code is
14077         wrong in some cases.
14078         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
14079         (ydhms_diff): Bring back the compile-time check for wide-enough
14080         year and yday.
14081
14082         mktime: fix misspelling in comment
14083         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
14084         This merges all recent glibc changes of importance.
14085
14086 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14087
14088         move-if-change: cope with concurrent mv of identical file.
14089         * build-aux/move-if-change (CMPPROG): Accept environment
14090         variable as an override for `cmp'.
14091         (usage): Document CMPPROG.
14092         Adjust comparison to drop stdout.  Cope with failure of mv if
14093         the target file exists and is identical to the source, for
14094         parallel builds.
14095         Report from H.J. Lu against binutils in PR binutils/12283.
14096
14097 2011-01-28  Bruce Korb  <bkorb@gnu.org>
14098
14099         * users.txt: Mention sharutils.
14100
14101 2011-01-28  Simon Josefsson  <simon@josefsson.org>
14102
14103         * users.txt: Mention OATH Toolkit.
14104
14105 2011-01-27  Bruno Haible  <bruno@clisp.org>
14106
14107         Prepare for supporting FreeBSD 10.
14108         * build-aux/config.libpath: Remove handling of freebsd1*.
14109
14110 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
14111
14112         Prepare for supporting FreeBSD 10.
14113         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
14114         match FreeBSD 10.0.
14115
14116 2011-01-27  Bruno Haible  <bruno@clisp.org>
14117
14118         vma-iter, get-rusage-as: Add OpenBSD support.
14119         * modules/vma-iter (configure.ac): Test for mquery.
14120         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
14121         * lib/vma-iter.c: Include <sys/mman.h>.
14122         (vma_iterate): Add an implementation based on mquery().
14123         * lib/resource-ext.h (get_rusage_as): Update comments.
14124         * lib/get-rusage-as.c: Likewise.
14125         * lib/get-rusage-data.c: Likewise.
14126
14127 2011-01-26  Karl Berry  <karl@gnu.org>
14128
14129         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
14130         variables to make it easier to override the makeinfo program used.
14131
14132 2011-01-26  Eric Blake  <eblake@redhat.com>
14133
14134         fcntl: work around Haiku F_DUPFD bugs
14135         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
14136         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
14137         cloexec bit on duplication.
14138         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
14139
14140 2011-01-26  Bruno Haible  <bruno@clisp.org>
14141
14142         Enable memory leak tests on AIX.
14143         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
14144         * tests/test-fprintf-posix3.c (main): Likewise.
14145
14146 2011-01-26  Bruno Haible  <bruno@clisp.org>
14147
14148         Tests for module 'get-rusage-data'.
14149         * modules/get-rusage-data-tests: New file.
14150         * tests/test-get-rusage-data.c: New file.
14151
14152         New module 'get-rusage-data'.
14153         * lib/resource-ext.h (get_rusage_data): New declaration.
14154         * lib/get-rusage-data.c: New file.
14155         * modules/get-rusage-data: New file.
14156
14157 2011-01-25  Bruno Haible  <bruno@clisp.org>
14158
14159         get-rusage-as: Allow for easier testing.
14160         * lib/resource-ext.h (get_rusage_as): Add comment.
14161         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
14162         (main): New function for interactive testing.
14163
14164 2011-01-25  Bruno Haible  <bruno@clisp.org>
14165
14166         vma-iter: Treat Haiku like BeOS.
14167         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
14168         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
14169
14170 2011-01-25  Eric Blake  <eblake@redhat.com>
14171
14172         c-stack: fix regression on cygwin when libsigsegv is present
14173         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
14174
14175 2011-01-24  Bruno Haible  <bruno@clisp.org>
14176
14177         vma-iter: Avoid empty intervals.
14178         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
14179         on an empty interval.
14180
14181 2011-01-24  Jim Meyering  <meyering@redhat.com>
14182
14183         u64: remove unnecessary #include
14184         * lib/u64.h: Don't include <stddef.h>.  It was not used.
14185
14186 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
14187
14188         Allow the user to avoid the HAVE_RAW_DECL_* macros.
14189         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
14190
14191 2011-01-23  Bruno Haible  <bruno@clisp.org>
14192
14193         New module 'vma-iter'.
14194         * lib/vma-iter.h: New file.
14195         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
14196         * modules/vma-iter: New file.
14197         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
14198         for get_rusage_as_via_iterator.
14199         (vma_iterate_callback): New function.
14200         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
14201         * modules/get-rusage-as (Depends-on): Add vma-iter.
14202
14203 2011-01-23  Bruno Haible  <bruno@clisp.org>
14204
14205         uninorm: Tweak includes.
14206         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
14207         Reported by Jim Meyering.
14208
14209 2011-01-23  Bruno Haible  <bruno@clisp.org>
14210
14211         get-rusage-as: Improve on NetBSD.
14212         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
14213         /proc, like on FreeBSD.
14214
14215 2011-01-23  Jim Meyering  <meyering@redhat.com>
14216
14217         xreadlink.h: remove unnecessary #include
14218         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
14219
14220         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
14221         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
14222
14223 2011-01-23  Bruno Haible  <bruno@clisp.org>
14224
14225         get-rusage-as: Fix bug.
14226         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
14227         original limit when aborting the first loop.
14228
14229 2011-01-23  Bruno Haible  <bruno@clisp.org>
14230
14231         wctype: Ensure valid C syntax.
14232         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
14233         unconditionally, instead of gl_NEXT_HEADERS conditionally.
14234
14235 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
14236
14237         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
14238         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
14239         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
14240         as they are needed only for configure's test case.
14241         This removes two unnecessary symbols from config.h.
14242
14243         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
14244         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
14245         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
14246         AC_CHECK_HEADERS_ONCE on a header that we also invoke
14247         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
14248         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
14249         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
14250         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
14251         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
14252         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
14253         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
14254         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
14255         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
14256         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
14257         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
14258         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
14259         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
14260         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
14261
14262 2011-01-21  Eric Blake  <eblake@redhat.com>
14263
14264         maintainer-makefile: work with older git for submodule check
14265         * top/maint.mk (public-submodule-commit): Rewrite to avoid
14266         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
14267         Reported by Matthias Bolte.
14268
14269         bootstrap: minor portability fixes
14270         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
14271         (usage): Omit leading capital and trailing . on help phrases, per
14272         GNU Coding Standards.
14273         (check_versions, top level): Prefix messages with script name.
14274
14275 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
14276
14277         bootstrap: support --no-git option
14278         * build-aux/bootstrap: Add --no-git option, to be used when
14279         --gnulib-srcdir points to the exact desired checkout.
14280
14281 2011-01-21  Eric Blake  <eblake@redhat.com>
14282
14283         strerror_r-posix: work with glibc 2.13
14284         * lib/strerror_r.c (strerror_r): Fix return type.
14285
14286 2011-01-21  Pádraig Brady  <P@draigBrady.com>
14287             Bruno Haible  <bruno@clisp.org>
14288
14289         uN_strstr: New unit tests.
14290         * modules/unistr/u8-strstr-tests: New file.
14291         * modules/unistr/u16-strstr-tests: New file.
14292         * modules/unistr/u32-strstr-tests: New file.
14293         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
14294         * tests/unistr/test-u8-strstr.c: New file.
14295         * tests/unistr/test-u16-strstr.c: New file.
14296         * tests/unistr/test-u32-strstr.c: New file.
14297
14298 2011-01-21  Pádraig Brady  <P@draigBrady.com>
14299             Bruno Haible  <bruno@clisp.org>
14300
14301         Make uN_strstr functions O(n) worst-case.
14302         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
14303         16-bit and 32-bit unit cases, use the unibyte algorithm from
14304         lib/mbsstr.c.
14305         * lib/unistr/u8-strstr.c: Include <string.h>.
14306         (UNIT_IS_UINT8_T): New macro.
14307         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
14308         (U_STRLEN, U_STRNLEN): New macros.
14309         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
14310         (U_STRLEN, U_STRNLEN): New macros.
14311         * modules/unistr/u8-strstr (Depends-on): Add strstr.
14312         (configure.ac): Update required libunistring version.
14313         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
14314         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
14315         malloca.
14316         (configure.ac): Update required libunistring version.
14317         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
14318         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
14319         malloca.
14320         (configure.ac): Update required libunistring version.
14321
14322 2011-01-21  Pádraig Brady  <P@draigBrady.com>
14323             Bruno Haible  <bruno@clisp.org>
14324
14325         Prepare for faster uN_strstr functions.
14326         * lib/str-kmp.h: Support definable UNITs.
14327         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
14328         needle_len argument.
14329         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
14330         * lib/mbscasestr.c (mbscasestr): Likewise.
14331
14332 2011-01-21  Pádraig Brady <P@draigBrady.com>
14333
14334         malloca-tests: make faster by unsetting MALLOC_PERTURB_
14335         * tests/test-malloca.c (main): Unset the environment variable
14336         to greatly speed up the test.
14337         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
14338         * modules/malloca-tests: Depend on unsetenv.
14339
14340 2011-01-21  Pádraig Brady <P@draigBrady.com>
14341
14342         ignore-value: remove stdint dependency
14343         * lib/ignore-value.h: Remove <stdint.h>
14344         * modules/ignore-value: Remove stdint dependency.
14345
14346 2011-01-21  Jim Meyering  <meyering@redhat.com>
14347
14348         maint.mk: adjust variable name to be consistent with other gl_ vars
14349         * top/maint.mk (gl_public_submodule_commit): Rename the variable
14350         to be lower case.
14351
14352 2011-01-20  Jim Meyering  <meyering@redhat.com>
14353
14354         maint.mk: make "check" depend on public-submodule-commit by default
14355         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
14356
14357 2011-01-20  Bruno Haible  <bruno@clisp.org>
14358
14359         mbfile, mbiter: Complete change from 2008-12-21.
14360         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
14361         * m4/mbiter.m4 (gl_MBITER): Likewise.
14362
14363 2011-01-20  Jim Meyering  <meyering@redhat.com>
14364
14365         init.sh: insert space between each function name and "()"
14366         * tests/init.sh: Make it a little easier to see that a function's
14367         name is "warn_", and not "warn" when looking at the first part of
14368         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
14369
14370 2011-01-20  Jim Meyering  <meyering@redhat.com>
14371
14372         mountlist: clean up code formatting
14373         * lib/mountlist.c (read_file_system_list): Split a long line,
14374         correct bracing style, use NULL in place of "(struct statfs *)0",
14375         don't parenthesize return value, add spaces around "=" and after
14376         ";-in-for-stmt".
14377
14378 2011-01-14  Markus Duft <mduft@gentoo.org>
14379
14380         mountlist: add support for Interix
14381         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
14382         Apply statvfs to all entries of /dev/fs.
14383         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
14384         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
14385
14386 2011-01-20  Jim Meyering  <meyering@redhat.com>
14387
14388         maint.mk: improve the public-submodule-commit rule
14389         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
14390         to suppress printing of its commands... unless V=1.
14391         Add git submodule's --quiet option to suppress printing of e.g.,
14392         "Entering gnulib" output.
14393         "cd" into $(srcdir) before running git submodule.
14394
14395 2011-01-20  Bruno Haible  <bruno@clisp.org>
14396
14397         include_next: Fix bug introduced on 2011-01-18.
14398         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
14399         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
14400         ac_cv_header_... variable if the second argument is not 'check'.
14401         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
14402         gl_NEXT_HEADERS_INTERNAL.
14403
14404 2011-01-20  Bruno Haible  <bruno@clisp.org>
14405
14406         Allow the user to avoid the GNULIB_TEST_* macros.
14407         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
14408         Suggested by Paul Eggert.
14409
14410 2011-01-14  Jim Meyering  <meyering@redhat.com>
14411
14412         bootstrap: avoid failure when there is no .gitmodules file
14413         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
14414         has been assigned to, even when its value is the empty string.
14415         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
14416         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
14417         Reported by John W. Eaton <jwe@gnu.org>.
14418
14419 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
14420
14421         assume <ctype.h>, ..., <time.h> exist
14422         For years gnulib has been assuming the existence of the headers
14423         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
14424         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
14425         them, since they don't appear to be needed.
14426         * README (Portability guidelines): Document this.
14427         * lib/flock.c: Assume <fcntl.h> exists.
14428         * lib/regex_internal.h: Assume <locale.h> exists.
14429         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
14430         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
14431         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
14432         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
14433         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
14434         * m4/regex.m4 (gl_REGEX): Likewise.
14435         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
14436         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
14437         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
14438         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
14439         * tests/test-argp.c: Likewise.
14440         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
14441
14442         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
14443         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
14444         AA_APPLE_UNIVERSAL_BUILD.  See
14445         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
14446         * NEWS: Document this.
14447
14448 2011-01-19  Eric Blake  <eblake@redhat.com>
14449
14450         c-stack: assume stack overflow if SA_SIGINFO unsupported
14451         * lib/c-stack.c (SIGACTION_WORKS): Rename...
14452         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
14453         sigaction will work.
14454         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
14455         behavior match Linux.
14456         * tests/test-c-stack.c (main): Prefer NULL for pointers.
14457
14458         stdbool-tests: accomodate Haiku
14459         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
14460
14461         binary-io: fix O_TEXT on Haiku
14462         * modules/binary-io (Depends-on): Add fcntl-h.
14463         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
14464         than blindly undefining O_TEXT.
14465         Reported by Scott McCreary.
14466
14467 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
14468
14469         include_next: do not check for standard headers like stddef.h
14470
14471         I found this problem when modifying Emacs to use gnulib.
14472         I noticed that it added HAVE_STDDEF_H to config.h, even though
14473         gnulib always assumes <stddef.h> exists as per README and this
14474         symbol is unnecessary.
14475         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
14476         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
14477         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
14478         faster for headers like stddef.h that are known to exist.
14479         (gl_CHECK_NEXT_HEADERS): Use it.
14480         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
14481         rather than gl_CHECK_NEXT_HEADERS.
14482         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
14483         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
14484
14485 2011-01-18  Eric Blake  <eblake@redhat.com>
14486
14487         ansi-c++-opt: skip C++ dependency style if C++ is unused
14488         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
14489         tests when we know C++ compilation is not desired.
14490         Reported by Scott McCreary.
14491
14492 2011-01-18  Bruno Haible  <bruno@clisp.org>
14493
14494         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
14495         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
14496         (main): Perform test also when getrlimit and setrlimit don't exist or
14497         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
14498         limiting the address space size using setrlimit, compare the address
14499         space size before and after the the test.
14500         * tests/test-dprintf-posix2.c: Likewise.
14501         * tests/test-fprintf-posix3.sh: Update skip messages.
14502         * tests/test-dprintf-posix2.sh: Likewise.
14503         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
14504         * modules/dprintf-posix-tests (Depends-on): Likewise.
14505         Reported by Bruce Korb <bkorb@gnu.org> and
14506         Gary V. Vaughan <gary@gnu.org>.
14507
14508 2011-01-18  Bruno Haible  <bruno@clisp.org>
14509
14510         get-rusage-as: Improvement for Cygwin.
14511         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
14512         areas that are merely reserved.
14513
14514 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
14515
14516         strftime: remove dependencies on multibyte modules
14517
14518         strftime depended on mbrlen, mbsinit, and wchar, but these modules
14519         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
14520         only if __osf__ is defined, and I suspect OSF doesn't need these
14521         other modules.  If my guess is wrong, we'll need to come up with a
14522         variant of strftime that doesn't need the multibyte modules.
14523
14524         I discovered this problem when attempting modify Emacs to use the
14525         strftime module.  With the previous gnulib, this caused Emacs to
14526         need 31 new files, ranging from lib/config.charset to
14527         m4/wint_t.m4.  This was overkill and I expect would be offputting
14528         to the Emacs maintainers.  After this change, only 6 new files are
14529         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
14530         stdbool.m4, and tm_gmtoff.m4.
14531
14532         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
14533         Suggested by Bruno Haible in
14534         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
14535         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
14536         and do not check for wchar.h.
14537         * modules/strftime (Files): Remove m4/mbstate_t.m4.
14538         (Depends-on): Remove mbrlen, mbsinit, wchar.
14539
14540 2011-01-18  Bruno Haible  <bruno@clisp.org>
14541
14542         Tests for module 'get-rusage-as'.
14543         * modules/get-rusage-as-tests: New file.
14544         * tests/test-get-rusage-as.c: New file.
14545
14546         New module 'get-rusage-as'.
14547         * modules/get-rusage-as: New file.
14548         * lib/resource-ext.h: New file.
14549         * lib/get-rusage-as.c: New file.
14550
14551 2011-01-17  Eric Blake  <eblake@redhat.com>
14552
14553         sigaction: relax license from LGPLv3+ to LGPLv2+
14554         * modules/sigaction (License): Relax to LGPLv2+.
14555
14556 2011-01-14  Bruno Haible  <bruno@clisp.org>
14557
14558         filemode: Make function declarations usable in C++ mode.
14559         * lib/filemode.h: Enclose function declarations in extern "C" block.
14560         Reported by John W. Eaton <jwe@gnu.org>.
14561
14562 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
14563
14564         save-cwd: no longer include "xgetcwd.h"
14565         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
14566         This avoids a compilation failure in projects that use save-cwd
14567         without also using the xgetcwd module.
14568
14569 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
14570
14571         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
14572         This is so that a program like Emacs, which needs only dtoastr,
14573         does not have to bother with distributing and compiling ftoastr
14574         and ldtoastr.
14575         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
14576         * modules/dtoastr, modules/ldtoastr: New files.
14577         * modules/ftoastr: Now works just for 'float'.
14578         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
14579         (Makefile.am): Remove ftoastr.h (not needed and no effect),
14580         dtoastr.c, ldtoastr.c.
14581
14582 2011-01-11  Jim Meyering  <meyering@redhat.com>
14583
14584         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
14585         There is no need to work around the lack of the fchdir function,
14586         since gnulib can now provide a replacement when required.
14587         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
14588         * modules/save-cwd (Depends-on): Add fchdir.
14589
14590 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
14591
14592         openat, save-cwd: avoid xmalloc
14593
14594         This removes a direct (but undocumented) dependency of openat on
14595         xalloc, along with an indirect dependency via save-cwd.  It also
14596         removes a dependency of save-cwd on xgetcwd, and thereby
14597         indirectly on xalloc.  This change causes the openat substitute
14598         to fall back on save_cwd when memory is tight, and for save_cwd to
14599         fail instead of dying when memory is tight, but that's good enough.
14600         Problem and initial idea for fix reported by Bastien Roucaries in
14601         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
14602
14603         * lib/openat-proc.c: Include stdlib.h (for malloc), not
14604         xalloc.h (for xmalloc).
14605         (openat_proc_name): Use malloc, not xmalloc.
14606         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
14607         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
14608
14609         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
14610         This avoids heap allocation for file names whose lengths are in
14611         the range 512..1023, with the upper bound increasing to at most
14612         4031 depending on the platform's PATH_MAX.  (We do not want
14613         pathmax.h here as it might supply a non-constant PATH_MAX.)
14614         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
14615         Perhaps they should be moved to malloca.h?
14616         (OPENAT_BUFFER_SIZE): Use them.
14617
14618 2011-01-10  Bruno Haible  <bruno@clisp.org>
14619
14620         doc: Update users.txt.
14621         * users.txt: Add recutils.
14622
14623 2011-01-09  Karl Berry  <karl@gnu.org>
14624
14625         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
14626
14627         * doc/configmake.texi: New file.
14628         * doc/gnulib.texi: Include it.
14629         * modules/configmake: Move documentation from here.
14630
14631 2011-01-09  Bruno Haible  <bruno@clisp.org>
14632
14633         Update to Unicode 6.0.0.
14634         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
14635         (get_lbp): Update for Unicode 6.0.0.
14636         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
14637         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
14638         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
14639         U+11001, U+11038..U+11046. Remove U+06DE.
14640         (uc_width): Fix bounds of planes.
14641         * tests/uniwidth/test-uc_width2.sh: Same updates as in
14642         lib/uniwidth/width.c.
14643         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
14644         trailing whitespace removed.
14645         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
14646         without comments, but with the original copyright notice.
14647         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
14648         * lib/unicase/ignorable.h: Likewise.
14649         * lib/unicase/tocasefold.h: Likewise.
14650         * lib/unicase/tolower.h: Likewise.
14651         * lib/unicase/totitle.h: Likewise.
14652         * lib/unicase/toupper.h: Likewise.
14653         * lib/unictype/bidi_of.h: Likewise.
14654         * lib/unictype/blocks.h: Likewise.
14655         * lib/unictype/categ_C.h: Likewise.
14656         * lib/unictype/categ_Cn.h: Likewise.
14657         * lib/unictype/categ_L.h: Likewise.
14658         * lib/unictype/categ_Ll.h: Likewise.
14659         * lib/unictype/categ_Lm.h: Likewise.
14660         * lib/unictype/categ_Lo.h: Likewise.
14661         * lib/unictype/categ_Lu.h: Likewise.
14662         * lib/unictype/categ_M.h: Likewise.
14663         * lib/unictype/categ_Mc.h: Likewise.
14664         * lib/unictype/categ_Me.h: Likewise.
14665         * lib/unictype/categ_Mn.h: Likewise.
14666         * lib/unictype/categ_N.h: Likewise.
14667         * lib/unictype/categ_Nd.h: Likewise.
14668         * lib/unictype/categ_No.h: Likewise.
14669         * lib/unictype/categ_P.h: Likewise.
14670         * lib/unictype/categ_Po.h: Likewise.
14671         * lib/unictype/categ_S.h: Likewise.
14672         * lib/unictype/categ_Sc.h: Likewise.
14673         * lib/unictype/categ_Sk.h: Likewise.
14674         * lib/unictype/categ_Sm.h: Likewise.
14675         * lib/unictype/categ_So.h: Likewise.
14676         * lib/unictype/categ_of.h: Likewise.
14677         * lib/unictype/combining.h: Likewise.
14678         * lib/unictype/ctype_alnum.h: Likewise.
14679         * lib/unictype/ctype_alpha.h: Likewise.
14680         * lib/unictype/ctype_graph.h: Likewise.
14681         * lib/unictype/ctype_lower.h: Likewise.
14682         * lib/unictype/ctype_print.h: Likewise.
14683         * lib/unictype/ctype_punct.h: Likewise.
14684         * lib/unictype/ctype_upper.h: Likewise.
14685         * lib/unictype/decdigit.h: Likewise.
14686         * lib/unictype/digit.h: Likewise.
14687         * lib/unictype/numeric.h: Likewise.
14688         * lib/unictype/pr_alphabetic.h: Likewise.
14689         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
14690         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
14691         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
14692         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
14693         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
14694         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
14695         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
14696         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
14697         * lib/unictype/pr_case_ignorable.h: Likewise.
14698         * lib/unictype/pr_cased.h: Likewise.
14699         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
14700         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
14701         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
14702         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
14703         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
14704         * lib/unictype/pr_combining.h: Likewise.
14705         * lib/unictype/pr_composite.h: Likewise.
14706         * lib/unictype/pr_currency_symbol.h: Likewise.
14707         * lib/unictype/pr_decimal_digit.h: Likewise.
14708         * lib/unictype/pr_deprecated.h: Likewise.
14709         * lib/unictype/pr_format_control.h: Likewise.
14710         * lib/unictype/pr_grapheme_base.h: Likewise.
14711         * lib/unictype/pr_grapheme_extend.h: Likewise.
14712         * lib/unictype/pr_grapheme_link.h: Likewise.
14713         * lib/unictype/pr_id_continue.h: Likewise.
14714         * lib/unictype/pr_id_start.h: Likewise.
14715         * lib/unictype/pr_ideographic.h: Likewise.
14716         * lib/unictype/pr_lowercase.h: Likewise.
14717         * lib/unictype/pr_math.h: Likewise.
14718         * lib/unictype/pr_numeric.h: Likewise.
14719         * lib/unictype/pr_other_alphabetic.h: Likewise.
14720         * lib/unictype/pr_other_id_continue.h: Likewise.
14721         * lib/unictype/pr_other_math.h: Likewise.
14722         * lib/unictype/pr_punctuation.h: Likewise.
14723         * lib/unictype/pr_sentence_terminal.h: Likewise.
14724         * lib/unictype/pr_terminal_punctuation.h: Likewise.
14725         * lib/unictype/pr_unassigned_code_value.h: Likewise.
14726         * lib/unictype/pr_unified_ideograph.h: Likewise.
14727         * lib/unictype/pr_uppercase.h: Likewise.
14728         * lib/unictype/pr_xid_continue.h: Likewise.
14729         * lib/unictype/pr_xid_start.h: Likewise.
14730         * lib/unictype/scripts.h: Likewise.
14731         * lib/unictype/scripts_byname.gperf: Likewise.
14732         * lib/unictype/sy_java_ident.h: Likewise.
14733         * lib/unigbrk/gbrkprop.h: Likewise.
14734         * lib/unilbrk/lbrkprop1.h: Likewise.
14735         * lib/unilbrk/lbrkprop2.h: Likewise.
14736         * lib/uninorm/decomposition-table2.h: Likewise.
14737         * lib/uniwbrk/wbrkprop.h: Likewise.
14738         * tests/unicase/test-cased.c: Likewise.
14739         * tests/unicase/test-ignorable.c: Likewise.
14740         * tests/unicase/test-uc_tolower.c: Likewise.
14741         * tests/unicase/test-uc_totitle.c: Likewise.
14742         * tests/unicase/test-uc_toupper.c: Likewise.
14743         * tests/unictype/test-categ_C.c: Likewise.
14744         * tests/unictype/test-categ_Cn.c: Likewise.
14745         * tests/unictype/test-categ_L.c: Likewise.
14746         * tests/unictype/test-categ_Ll.c: Likewise.
14747         * tests/unictype/test-categ_Lm.c: Likewise.
14748         * tests/unictype/test-categ_Lo.c: Likewise.
14749         * tests/unictype/test-categ_Lu.c: Likewise.
14750         * tests/unictype/test-categ_M.c: Likewise.
14751         * tests/unictype/test-categ_Mc.c: Likewise.
14752         * tests/unictype/test-categ_Me.c: Likewise.
14753         * tests/unictype/test-categ_Mn.c: Likewise.
14754         * tests/unictype/test-categ_N.c: Likewise.
14755         * tests/unictype/test-categ_Nd.c: Likewise.
14756         * tests/unictype/test-categ_No.c: Likewise.
14757         * tests/unictype/test-categ_P.c: Likewise.
14758         * tests/unictype/test-categ_Po.c: Likewise.
14759         * tests/unictype/test-categ_S.c: Likewise.
14760         * tests/unictype/test-categ_Sc.c: Likewise.
14761         * tests/unictype/test-categ_Sk.c: Likewise.
14762         * tests/unictype/test-categ_Sm.c: Likewise.
14763         * tests/unictype/test-categ_So.c: Likewise.
14764         * tests/unictype/test-ctype_alnum.c: Likewise.
14765         * tests/unictype/test-ctype_alpha.c: Likewise.
14766         * tests/unictype/test-ctype_graph.c: Likewise.
14767         * tests/unictype/test-ctype_lower.c: Likewise.
14768         * tests/unictype/test-ctype_print.c: Likewise.
14769         * tests/unictype/test-ctype_punct.c: Likewise.
14770         * tests/unictype/test-ctype_upper.c: Likewise.
14771         * tests/unictype/test-decdigit.h: Likewise.
14772         * tests/unictype/test-digit.h: Likewise.
14773         * tests/unictype/test-numeric.h: Likewise.
14774         * tests/unictype/test-pr_alphabetic.c: Likewise.
14775         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
14776         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
14777         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
14778         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
14779         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
14780         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
14781         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
14782         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
14783         * tests/unictype/test-pr_case_ignorable.c: Likewise.
14784         * tests/unictype/test-pr_cased.c: Likewise.
14785         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
14786         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
14787         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
14788         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
14789         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
14790         * tests/unictype/test-pr_combining.c: Likewise.
14791         * tests/unictype/test-pr_composite.c: Likewise.
14792         * tests/unictype/test-pr_currency_symbol.c: Likewise.
14793         * tests/unictype/test-pr_decimal_digit.c: Likewise.
14794         * tests/unictype/test-pr_deprecated.c: Likewise.
14795         * tests/unictype/test-pr_format_control.c: Likewise.
14796         * tests/unictype/test-pr_grapheme_base.c: Likewise.
14797         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
14798         * tests/unictype/test-pr_grapheme_link.c: Likewise.
14799         * tests/unictype/test-pr_id_continue.c: Likewise.
14800         * tests/unictype/test-pr_id_start.c: Likewise.
14801         * tests/unictype/test-pr_ideographic.c: Likewise.
14802         * tests/unictype/test-pr_lowercase.c: Likewise.
14803         * tests/unictype/test-pr_math.c: Likewise.
14804         * tests/unictype/test-pr_numeric.c: Likewise.
14805         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
14806         * tests/unictype/test-pr_other_id_continue.c: Likewise.
14807         * tests/unictype/test-pr_other_math.c: Likewise.
14808         * tests/unictype/test-pr_punctuation.c: Likewise.
14809         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
14810         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
14811         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
14812         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
14813         * tests/unictype/test-pr_uppercase.c: Likewise.
14814         * tests/unictype/test-pr_xid_continue.c: Likewise.
14815         * tests/unictype/test-pr_xid_start.c: Likewise.
14816         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
14817         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
14818         changes.
14819         * lib/unictype/categ_Cc.h: Likewise.
14820         * lib/unictype/categ_Cf.h: Likewise.
14821         * lib/unictype/categ_Co.h: Likewise.
14822         * lib/unictype/categ_Cs.h: Likewise.
14823         * lib/unictype/categ_Lt.h: Likewise.
14824         * lib/unictype/categ_Nl.h: Likewise.
14825         * lib/unictype/categ_Pc.h: Likewise.
14826         * lib/unictype/categ_Pd.h: Likewise.
14827         * lib/unictype/categ_Pe.h: Likewise.
14828         * lib/unictype/categ_Pf.h: Likewise.
14829         * lib/unictype/categ_Pi.h: Likewise.
14830         * lib/unictype/categ_Ps.h: Likewise.
14831         * lib/unictype/categ_Z.h: Likewise.
14832         * lib/unictype/categ_Zl.h: Likewise.
14833         * lib/unictype/categ_Zp.h: Likewise.
14834         * lib/unictype/categ_Zs.h: Likewise.
14835         * lib/unictype/ctype_blank.h: Likewise.
14836         * lib/unictype/ctype_cntrl.h: Likewise.
14837         * lib/unictype/ctype_digit.h: Likewise.
14838         * lib/unictype/ctype_space.h: Likewise.
14839         * lib/unictype/ctype_xdigit.h: Likewise.
14840         * lib/unictype/mirror.h: Likewise.
14841         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
14842         * lib/unictype/pr_bidi_block_separator.h: Likewise.
14843         * lib/unictype/pr_bidi_common_separator.h: Likewise.
14844         * lib/unictype/pr_bidi_control.h: Likewise.
14845         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
14846         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
14847         * lib/unictype/pr_bidi_european_digit.h: Likewise.
14848         * lib/unictype/pr_bidi_pdf.h: Likewise.
14849         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
14850         * lib/unictype/pr_bidi_whitespace.h: Likewise.
14851         * lib/unictype/pr_dash.h: Likewise.
14852         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
14853         * lib/unictype/pr_diacritic.h: Likewise.
14854         * lib/unictype/pr_extender.h: Likewise.
14855         * lib/unictype/pr_hex_digit.h: Likewise.
14856         * lib/unictype/pr_hyphen.h: Likewise.
14857         * lib/unictype/pr_ids_binary_operator.h: Likewise.
14858         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
14859         * lib/unictype/pr_ignorable_control.h: Likewise.
14860         * lib/unictype/pr_iso_control.h: Likewise.
14861         * lib/unictype/pr_join_control.h: Likewise.
14862         * lib/unictype/pr_left_of_pair.h: Likewise.
14863         * lib/unictype/pr_line_separator.h: Likewise.
14864         * lib/unictype/pr_logical_order_exception.h: Likewise.
14865         * lib/unictype/pr_non_break.h: Likewise.
14866         * lib/unictype/pr_not_a_character.h: Likewise.
14867         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
14868         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
14869         * lib/unictype/pr_other_id_start.h: Likewise.
14870         * lib/unictype/pr_other_lowercase.h: Likewise.
14871         * lib/unictype/pr_other_uppercase.h: Likewise.
14872         * lib/unictype/pr_paired_punctuation.h: Likewise.
14873         * lib/unictype/pr_paragraph_separator.h: Likewise.
14874         * lib/unictype/pr_pattern_syntax.h: Likewise.
14875         * lib/unictype/pr_pattern_white_space.h: Likewise.
14876         * lib/unictype/pr_private_use.h: Likewise.
14877         * lib/unictype/pr_quotation_mark.h: Likewise.
14878         * lib/unictype/pr_radical.h: Likewise.
14879         * lib/unictype/pr_soft_dotted.h: Likewise.
14880         * lib/unictype/pr_space.h: Likewise.
14881         * lib/unictype/pr_titlecase.h: Likewise.
14882         * lib/unictype/pr_variation_selector.h: Likewise.
14883         * lib/unictype/pr_white_space.h: Likewise.
14884         * lib/unictype/pr_zero_width.h: Likewise.
14885         * lib/unictype/sy_c_ident.h: Likewise.
14886         * lib/unictype/sy_c_whitespace.h: Likewise.
14887         * lib/unictype/sy_java_whitespace.h: Likewise.
14888         * lib/uninorm/composition-table.gperf: Likewise.
14889         * lib/uninorm/decomposition-table1.h: Likewise.
14890         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
14891         LB8.
14892         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
14893         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
14894         * modules/unictype/*: Bump version number of expected libunistring
14895         version.
14896
14897 2011-01-09  Bruno Haible  <bruno@clisp.org>
14898
14899         Update to Unicode 5.2.0.
14900         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
14901         trailing whitespace removed.
14902
14903 2011-01-09  Bruno Haible  <bruno@clisp.org>
14904
14905         New Unicode character properties, from Unicode 5.2.0.
14906         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
14907         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
14908         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
14909         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
14910         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
14911         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
14912         uc_is_property_cased, uc_is_property_case_ignorable,
14913         uc_is_property_changes_when_lowercased,
14914         uc_is_property_changes_when_uppercased,
14915         uc_is_property_changes_when_titlecased,
14916         uc_is_property_changes_when_casefolded,
14917         uc_is_property_changes_when_casemapped): New declarations.
14918         * lib/unictype/pr_byname.gperf: Add the new properties.
14919         * modules/unictype/property-byname (Depends-on): Depend on the new
14920         properties modules.
14921         * modules/unictype/property-all (Depends-on): Likewise.
14922         * MODULES.html.sh (Unicode string functions): Add
14923         unictype/property-case-ignorable, unictype/property-cased,
14924         unictype/property-changes-when-casefolded,
14925         unictype/property-changes-when-casemapped,
14926         unictype/property-changes-when-lowercased,
14927         unictype/property-changes-when-titlecased,
14928         unictype/property-changes-when-uppercased.
14929
14930         New module 'unictype/property-changes-when-casemapped'.
14931         * modules/unictype/property-changes-when-casemapped: New file.
14932         * lib/unictype/pr_changes_when_casemapped.c: New file.
14933         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
14934         generated by gen-uni-tables.
14935         * modules/unictype/property-changes-when-casemapped-tests: New file.
14936         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
14937         automatically generated by gen-uni-tables.
14938
14939         New module 'unictype/property-changes-when-casefolded'.
14940         * modules/unictype/property-changes-when-casefolded: New file.
14941         * lib/unictype/pr_changes_when_casefolded.c: New file.
14942         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
14943         generated by gen-uni-tables.
14944         * modules/unictype/property-changes-when-casefolded-tests: New file.
14945         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
14946         automatically generated by gen-uni-tables.
14947
14948         New module 'unictype/property-changes-when-titlecased'.
14949         * modules/unictype/property-changes-when-titlecased: New file.
14950         * lib/unictype/pr_changes_when_titlecased.c: New file.
14951         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
14952         generated by gen-uni-tables.
14953         * modules/unictype/property-changes-when-titlecased-tests: New file.
14954         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
14955         automatically generated by gen-uni-tables.
14956
14957         New module 'unictype/property-changes-when-uppercased'.
14958         * modules/unictype/property-changes-when-uppercased: New file.
14959         * lib/unictype/pr_changes_when_uppercased.c: New file.
14960         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
14961         generated by gen-uni-tables.
14962         * modules/unictype/property-changes-when-uppercased-tests: New file.
14963         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
14964         automatically generated by gen-uni-tables.
14965
14966         New module 'unictype/property-changes-when-lowercased'.
14967         * modules/unictype/property-changes-when-lowercased: New file.
14968         * lib/unictype/pr_changes_when_lowercased.c: New file.
14969         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
14970         generated by gen-uni-tables.
14971         * modules/unictype/property-changes-when-lowercased-tests: New file.
14972         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
14973         automatically generated by gen-uni-tables.
14974
14975         New module 'unictype/property-case-ignorable'.
14976         * modules/unictype/property-case-ignorable: New file.
14977         * lib/unictype/pr_case_ignorable.c: New file.
14978         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
14979         by gen-uni-tables.
14980         * modules/unictype/property-case-ignorable-tests: New file.
14981         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
14982         generated by gen-uni-tables.
14983
14984         New module 'unictype/property-cased'.
14985         * modules/unictype/property-cased: New file.
14986         * lib/unictype/pr_cased.c: New file.
14987         * lib/unictype/pr_cased.h: New file, automatically generated by
14988         gen-uni-tables.
14989         * modules/unictype/property-cased-tests: New file.
14990         * tests/unictype/test-pr_cased.c: New file, automatically generated by
14991         gen-uni-tables.
14992
14993 2011-01-09  Bruno Haible  <bruno@clisp.org>
14994
14995         Update to Unicode 5.2.0.
14996         * lib/gen-uni-tables.c (output_predicate, output_category,
14997         output_combclass, output_bidi_category, output_decimal_digit_test,
14998         output_decimal_digit, output_digit_test, output_digit,
14999         output_numeric_test, output_numeric, output_mirror, output_scripts,
15000         output_scripts_byname, output_blocks, output_ident_category): Fix
15001         comment header.
15002         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
15003         get_wbp.
15004         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
15005         items.
15006         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
15007         Changes_When_Lowercased, Changes_When_Uppercased,
15008         Changes_When_Titlecased, Changes_When_Casefolded,
15009         Changes_When_Casemapped.
15010         (is_property_alphabetic, is_property_default_ignorable_code_point):
15011         Update for Unicode 5.2.0.
15012         (is_property_cased, is_property_case_ignorable,
15013         is_property_changes_when_lowercased,
15014         is_property_changes_when_uppercased,
15015         is_property_changes_when_titlecased,
15016         is_property_changes_when_casefolded,
15017         is_property_changes_when_casemapped): New functions.
15018         (output_properties): Output also the properties cased, case_ignorable,
15019         changes_when_lowercased, changes_when_uppercased,
15020         changes_when_titlecased, changes_when_casefolded,
15021         changes_when_casemapped.
15022         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
15023         Unicode TR#11 revision 17 -> 19.
15024         (LBP_CP): New enumeration value.
15025         (LBP_*): Adjust values accordingly.
15026         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
15027         TR#14 revision 22 -> 24.
15028         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
15029         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
15030         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
15031         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
15032         is_WBP_MIDLETTER.
15033         (output_composition_tables): Allow for 24 bits instead of 16 bits in
15034         the code1 and code2 of each composition rule.
15035         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
15036         * lib/unicase/ignorable.h: Likewise.
15037         * lib/unicase/tocasefold.h: Likewise.
15038         * lib/unicase/tolower.h: Likewise.
15039         * lib/unicase/totitle.h: Likewise.
15040         * lib/unicase/toupper.h: Likewise.
15041         * lib/unictype/bidi_of.h: Likewise.
15042         * lib/unictype/blocks.h: Likewise.
15043         * lib/unictype/categ_C.h: Likewise.
15044         * lib/unictype/categ_Cf.h: Likewise.
15045         * lib/unictype/categ_Cn.h: Likewise.
15046         * lib/unictype/categ_L.h: Likewise.
15047         * lib/unictype/categ_Ll.h: Likewise.
15048         * lib/unictype/categ_Lm.h: Likewise.
15049         * lib/unictype/categ_Lo.h: Likewise.
15050         * lib/unictype/categ_Lu.h: Likewise.
15051         * lib/unictype/categ_M.h: Likewise.
15052         * lib/unictype/categ_Mc.h: Likewise.
15053         * lib/unictype/categ_Mn.h: Likewise.
15054         * lib/unictype/categ_N.h: Likewise.
15055         * lib/unictype/categ_Nd.h: Likewise.
15056         * lib/unictype/categ_Nl.h: Likewise.
15057         * lib/unictype/categ_No.h: Likewise.
15058         * lib/unictype/categ_P.h: Likewise.
15059         * lib/unictype/categ_Pd.h: Likewise.
15060         * lib/unictype/categ_Po.h: Likewise.
15061         * lib/unictype/categ_S.h: Likewise.
15062         * lib/unictype/categ_Sc.h: Likewise.
15063         * lib/unictype/categ_So.h: Likewise.
15064         * lib/unictype/categ_of.h: Likewise.
15065         * lib/unictype/combining.h: Likewise.
15066         * lib/unictype/ctype_alnum.h: Likewise.
15067         * lib/unictype/ctype_alpha.h: Likewise.
15068         * lib/unictype/ctype_graph.h: Likewise.
15069         * lib/unictype/ctype_lower.h: Likewise.
15070         * lib/unictype/ctype_print.h: Likewise.
15071         * lib/unictype/ctype_punct.h: Likewise.
15072         * lib/unictype/ctype_upper.h: Likewise.
15073         * lib/unictype/decdigit.h: Likewise.
15074         * lib/unictype/digit.h: Likewise.
15075         * lib/unictype/numeric.h: Likewise.
15076         * lib/unictype/pr_alphabetic.h: Likewise.
15077         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
15078         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
15079         * lib/unictype/pr_bidi_european_digit.h: Likewise.
15080         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
15081         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
15082         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
15083         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
15084         * lib/unictype/pr_combining.h: Likewise.
15085         * lib/unictype/pr_composite.h: Likewise.
15086         * lib/unictype/pr_currency_symbol.h: Likewise.
15087         * lib/unictype/pr_dash.h: Likewise.
15088         * lib/unictype/pr_decimal_digit.h: Likewise.
15089         * lib/unictype/pr_deprecated.h: Likewise.
15090         * lib/unictype/pr_diacritic.h: Likewise.
15091         * lib/unictype/pr_extender.h: Likewise.
15092         * lib/unictype/pr_grapheme_base.h: Likewise.
15093         * lib/unictype/pr_grapheme_extend.h: Likewise.
15094         * lib/unictype/pr_grapheme_link.h: Likewise.
15095         * lib/unictype/pr_id_continue.h: Likewise.
15096         * lib/unictype/pr_id_start.h: Likewise.
15097         * lib/unictype/pr_ideographic.h: Likewise.
15098         * lib/unictype/pr_ignorable_control.h: Likewise.
15099         * lib/unictype/pr_logical_order_exception.h: Likewise.
15100         * lib/unictype/pr_lowercase.h: Likewise.
15101         * lib/unictype/pr_numeric.h: Likewise.
15102         * lib/unictype/pr_other_alphabetic.h: Likewise.
15103         * lib/unictype/pr_punctuation.h: Likewise.
15104         * lib/unictype/pr_sentence_terminal.h: Likewise.
15105         * lib/unictype/pr_terminal_punctuation.h: Likewise.
15106         * lib/unictype/pr_unassigned_code_value.h: Likewise.
15107         * lib/unictype/pr_unified_ideograph.h: Likewise.
15108         * lib/unictype/pr_uppercase.h: Likewise.
15109         * lib/unictype/pr_xid_continue.h: Likewise.
15110         * lib/unictype/pr_xid_start.h: Likewise.
15111         * lib/unictype/pr_zero_width.h: Likewise.
15112         * lib/unictype/scripts.h: Likewise.
15113         * lib/unictype/scripts_byname.gperf: Likewise.
15114         * lib/unictype/sy_java_ident.h: Likewise.
15115         * lib/unigbrk/gbrkprop.h: Likewise.
15116         * lib/unilbrk/lbrkprop1.h: Likewise.
15117         * lib/unilbrk/lbrkprop2.h: Likewise.
15118         * lib/unilbrk/lbrktables.h: Likewise.
15119         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
15120         LBP_CP. Implement rule LB30.
15121         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
15122         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
15123         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
15124         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
15125         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
15126         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
15127         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
15128         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
15129         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
15130         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
15131         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
15132         bits instead of 16 bits in the code1 and code2 of each composition
15133         rule.
15134         (uc_composition): Update for Unicode 5.2.0.
15135         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
15136         * lib/uninorm/decomposition-table2.h: Likewise.
15137         * lib/uniwbrk/wbrkprop.h: Likewise.
15138         * tests/unicase/test-cased.c: Likewise.
15139         * tests/unicase/test-ignorable.c: Likewise.
15140         * tests/unicase/test-uc_tolower.c: Likewise.
15141         * tests/unicase/test-uc_totitle.c: Likewise.
15142         * tests/unicase/test-uc_toupper.c: Likewise.
15143         * tests/unictype/test-categ_C.c: Likewise.
15144         * tests/unictype/test-categ_Cf.c: Likewise.
15145         * tests/unictype/test-categ_Cn.c: Likewise.
15146         * tests/unictype/test-categ_L.c: Likewise.
15147         * tests/unictype/test-categ_Ll.c: Likewise.
15148         * tests/unictype/test-categ_Lm.c: Likewise.
15149         * tests/unictype/test-categ_Lo.c: Likewise.
15150         * tests/unictype/test-categ_Lu.c: Likewise.
15151         * tests/unictype/test-categ_M.c: Likewise.
15152         * tests/unictype/test-categ_Mc.c: Likewise.
15153         * tests/unictype/test-categ_Mn.c: Likewise.
15154         * tests/unictype/test-categ_N.c: Likewise.
15155         * tests/unictype/test-categ_Nd.c: Likewise.
15156         * tests/unictype/test-categ_Nl.c: Likewise.
15157         * tests/unictype/test-categ_No.c: Likewise.
15158         * tests/unictype/test-categ_P.c: Likewise.
15159         * tests/unictype/test-categ_Pd.c: Likewise.
15160         * tests/unictype/test-categ_Po.c: Likewise.
15161         * tests/unictype/test-categ_S.c: Likewise.
15162         * tests/unictype/test-categ_Sc.c: Likewise.
15163         * tests/unictype/test-categ_So.c: Likewise.
15164         * tests/unictype/test-ctype_alnum.c: Likewise.
15165         * tests/unictype/test-ctype_alpha.c: Likewise.
15166         * tests/unictype/test-ctype_graph.c: Likewise.
15167         * tests/unictype/test-ctype_lower.c: Likewise.
15168         * tests/unictype/test-ctype_print.c: Likewise.
15169         * tests/unictype/test-ctype_punct.c: Likewise.
15170         * tests/unictype/test-ctype_upper.c: Likewise.
15171         * tests/unictype/test-decdigit.h: Likewise.
15172         * tests/unictype/test-digit.h: Likewise.
15173         * tests/unictype/test-numeric.h: Likewise.
15174         * tests/unictype/test-pr_alphabetic.c: Likewise.
15175         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
15176         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
15177         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
15178         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
15179         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
15180         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
15181         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
15182         * tests/unictype/test-pr_combining.c: Likewise.
15183         * tests/unictype/test-pr_composite.c: Likewise.
15184         * tests/unictype/test-pr_currency_symbol.c: Likewise.
15185         * tests/unictype/test-pr_dash.c: Likewise.
15186         * tests/unictype/test-pr_decimal_digit.c: Likewise.
15187         * tests/unictype/test-pr_deprecated.c: Likewise.
15188         * tests/unictype/test-pr_diacritic.c: Likewise.
15189         * tests/unictype/test-pr_extender.c: Likewise.
15190         * tests/unictype/test-pr_grapheme_base.c: Likewise.
15191         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
15192         * tests/unictype/test-pr_grapheme_link.c: Likewise.
15193         * tests/unictype/test-pr_id_continue.c: Likewise.
15194         * tests/unictype/test-pr_id_start.c: Likewise.
15195         * tests/unictype/test-pr_ideographic.c: Likewise.
15196         * tests/unictype/test-pr_ignorable_control.c: Likewise.
15197         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
15198         * tests/unictype/test-pr_lowercase.c: Likewise.
15199         * tests/unictype/test-pr_numeric.c: Likewise.
15200         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
15201         * tests/unictype/test-pr_punctuation.c: Likewise.
15202         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
15203         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
15204         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
15205         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
15206         * tests/unictype/test-pr_uppercase.c: Likewise.
15207         * tests/unictype/test-pr_xid_continue.c: Likewise.
15208         * tests/unictype/test-pr_xid_start.c: Likewise.
15209         * tests/unictype/test-pr_zero_width.c: Likewise.
15210         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
15211         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
15212         changed behaviour: line breaking is now disallowed between a letter
15213         or '=' and '('.
15214         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
15215         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
15216         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
15217         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
15218         * tests/uniwidth/test-uc_width2.sh: Same updates as in
15219         lib/uniwidth/width.c.
15220         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
15221         without comments, but with the original copyright notice.
15222         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
15223         changes.
15224         * lib/unictype/categ_Cc.h: Likewise.
15225         * lib/unictype/categ_Co.h: Likewise.
15226         * lib/unictype/categ_Cs.h: Likewise.
15227         * lib/unictype/categ_Lt.h: Likewise.
15228         * lib/unictype/categ_Me.h: Likewise.
15229         * lib/unictype/categ_Pc.h: Likewise.
15230         * lib/unictype/categ_Pe.h: Likewise.
15231         * lib/unictype/categ_Pf.h: Likewise.
15232         * lib/unictype/categ_Pi.h: Likewise.
15233         * lib/unictype/categ_Ps.h: Likewise.
15234         * lib/unictype/categ_Sk.h: Likewise.
15235         * lib/unictype/categ_Sm.h: Likewise.
15236         * lib/unictype/categ_Z.h: Likewise.
15237         * lib/unictype/categ_Zl.h: Likewise.
15238         * lib/unictype/categ_Zp.h: Likewise.
15239         * lib/unictype/categ_Zs.h: Likewise.
15240         * lib/unictype/ctype_blank.h: Likewise.
15241         * lib/unictype/ctype_cntrl.h: Likewise.
15242         * lib/unictype/ctype_digit.h: Likewise.
15243         * lib/unictype/ctype_space.h: Likewise.
15244         * lib/unictype/ctype_xdigit.h: Likewise.
15245         * lib/unictype/mirror.h: Likewise.
15246         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
15247         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
15248         * lib/unictype/pr_bidi_block_separator.h: Likewise.
15249         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
15250         * lib/unictype/pr_bidi_common_separator.h: Likewise.
15251         * lib/unictype/pr_bidi_control.h: Likewise.
15252         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
15253         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
15254         * lib/unictype/pr_bidi_pdf.h: Likewise.
15255         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
15256         * lib/unictype/pr_bidi_whitespace.h: Likewise.
15257         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
15258         * lib/unictype/pr_format_control.h: Likewise.
15259         * lib/unictype/pr_hex_digit.h: Likewise.
15260         * lib/unictype/pr_hyphen.h: Likewise.
15261         * lib/unictype/pr_ids_binary_operator.h: Likewise.
15262         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
15263         * lib/unictype/pr_iso_control.h: Likewise.
15264         * lib/unictype/pr_join_control.h: Likewise.
15265         * lib/unictype/pr_left_of_pair.h: Likewise.
15266         * lib/unictype/pr_line_separator.h: Likewise.
15267         * lib/unictype/pr_math.h: Likewise.
15268         * lib/unictype/pr_non_break.h: Likewise.
15269         * lib/unictype/pr_not_a_character.h: Likewise.
15270         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
15271         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
15272         * lib/unictype/pr_other_id_continue.h: Likewise.
15273         * lib/unictype/pr_other_id_start.h: Likewise.
15274         * lib/unictype/pr_other_lowercase.h: Likewise.
15275         * lib/unictype/pr_other_math.h: Likewise.
15276         * lib/unictype/pr_other_uppercase.h: Likewise.
15277         * lib/unictype/pr_paired_punctuation.h: Likewise.
15278         * lib/unictype/pr_paragraph_separator.h: Likewise.
15279         * lib/unictype/pr_pattern_syntax.h: Likewise.
15280         * lib/unictype/pr_pattern_white_space.h: Likewise.
15281         * lib/unictype/pr_private_use.h: Likewise.
15282         * lib/unictype/pr_quotation_mark.h: Likewise.
15283         * lib/unictype/pr_radical.h: Likewise.
15284         * lib/unictype/pr_soft_dotted.h: Likewise.
15285         * lib/unictype/pr_space.h: Likewise.
15286         * lib/unictype/pr_titlecase.h: Likewise.
15287         * lib/unictype/pr_variation_selector.h: Likewise.
15288         * lib/unictype/pr_white_space.h: Likewise.
15289         * lib/unictype/sy_c_ident.h: Likewise.
15290         * lib/unictype/sy_c_whitespace.h: Likewise.
15291         * lib/unictype/sy_java_whitespace.h: Likewise.
15292         * modules/uni*/*: Bump version number of expected libunistring version.
15293         Reported by Simon Josefsson.
15294
15295 2011-01-09  Karl Heuer  <kwzh@gnu.org>
15296
15297         useless-if-before-free: fix typo in --help and make the internal,
15298         automatic version date update process work once again.
15299         --help output contained a NUL character instead of the
15300         backslash-zero that was intended.  Also, the "must lie within
15301         the first 8 lines" line is on line 9, and hence not getting
15302         automatically updated.
15303         * build-aux/useless-if-before-free: Fix the former by adding a
15304         backslash, and the latter by condensing the three lines of what-it-does
15305         to a single line, leaving one line of slack for the future.
15306
15307 2011-01-09  Bruno Haible  <bruno@clisp.org>
15308
15309         uniwidth/width: Fix width of U+1D173..U+1D17A.
15310         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
15311         symbolic_width, output_width_property_test): New functions.
15312         (main): Invoke output_nonspacing_property, output_width_property_test.
15313         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
15314         U+1D173..U+1D17A.
15315         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
15316         1.
15317         * modules/uniwidth/*: Bump version number of expected libunistring
15318         version.
15319         * modules/unilbrk/*: Likewise.
15320
15321 2011-01-08  Bruno Haible  <bruno@clisp.org>
15322
15323         uninorm tests: Preserve copyright of Unicode data file.
15324         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
15325         Mention modifications.
15326
15327 2011-01-08  Bruno Haible  <bruno@clisp.org>
15328
15329         gen-uni-tables: Prepare for Unicode 5.2.0.
15330         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
15331         (debug_output_lbp, output_lbp): Update.
15332
15333 2011-01-08  Bruno Haible  <bruno@clisp.org>
15334
15335         unilbrk: Clarify gen-uni-tables.c code.
15336         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
15337         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
15338         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
15339
15340 2011-01-07  Bruno Haible  <bruno@clisp.org>
15341
15342         strtod: Restore errno when successfully parsing Infinity or NaN.
15343         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
15344         restore the original errno.
15345
15346 2011-01-07  Bruno Haible  <bruno@clisp.org>
15347
15348         remove test: Avoid failure on HP-UX 11.
15349         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
15350
15351 2011-01-07  Bruno Haible  <bruno@clisp.org>
15352
15353         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
15354         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
15355         error code.
15356
15357 2011-01-07  Pádraig Brady <P@draigBrady.com>
15358
15359         ignore-value: fixup comments, and add Eric Blake
15360         as an author since he rewrote the macros.
15361         * lib/ignore-value.h (ignore_value):  State that
15362         we now support aggregates.  Also specify exactly
15363         when the GCC warn_unused_result feature was added.
15364
15365 2011-01-06  Eric Blake  <eblake@redhat.com>
15366
15367         ignore-value: support aggregate types
15368         * lib/ignore-value.h (ignore_value): Provide separate gcc
15369         definition.
15370         * modules/ignore-value-tests: New test module.
15371         * tests/test-ignore-value.c: New test.
15372
15373         maint.mk: improve sc_prohibit_strcmp regex
15374         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
15375         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
15376         definition of STRNEQ.
15377
15378         signal: work around Haiku issue with SIGBUS
15379         * lib/siglist.h: Add comment.
15380         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
15381         strsignal's favoring of SIGSEGV.
15382         * tests/test-signal.c (main): Avoid test failure.
15383         * doc/posix-headers/signal.texi (signal.h): Document the issue.
15384         Reported by Scott McCreary.
15385
15386         maint.mk: add pre-release check to ensure submodule commits are public
15387         * top/maint.mk (public-submodule-commit): New rule.
15388         (submodule-checks): New variable.
15389         (alpha beta stable): Depend on the variable.
15390
15391 2011-01-05  Pádraig Brady <P@draigBrady.com>
15392         and Jim Meyering  <meyering@redhat.com>
15393
15394         ignore-value: make ignore_value more generic; deprecate ignore_ptr
15395         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
15396         (ATTRIBUTE_DEPRECATED): Define.
15397         (_ignore_case): New function.
15398         (ignore_value): New macro, to replace the old function.
15399         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
15400         * modules/ignore-value (Depends-on): Add stdint.
15401
15402 2011-01-04  Eric Blake  <eblake@redhat.com>
15403
15404         doc: regenerate INSTALL
15405         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
15406         @firstparagraphindent support, now that autoconf dropped it.
15407         (INSTALL_PRELUDE): Reinstate old macro.
15408         * doc/install.texi: Resync from autoconf.
15409         * doc/INSTALL: Reflect recent autoconf update.
15410         * doc/INSTALL.ISO: Likewise.
15411         * doc/INSTALL.UTF-8: Likewise.
15412         Reported by Karl Berry.
15413
15414 2011-01-04  Bruce Korb  <address@hidden>
15415
15416         git-version-gen: avoid a sub-shell
15417         * build-aux/git-version-gen: Redirect stderr in `...` via
15418         "exec 2>...", rather than via an added sub-shell.
15419
15420 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
15421
15422         git-version-gen: use (...) rather than sh -c '...'
15423         * build-aux/git-version-gen: Rather than hard-coding a shell's name
15424         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
15425
15426 2011-01-03  Jim Meyering  <meyering@redhat.com>
15427
15428         git-version-gen: convert leading TABs to spaces
15429         * build-aux/git-version-gen: Expand leading TABs.
15430
15431         git-version-gen: handle failed "git rev-list"
15432         * build-aux/git-version-gen: Rather than leaking a "fatal" error
15433         from git and proceeding as if it had succeeded but printed no SHA1
15434         checksums, suppress the diagnostic and handle the failure.
15435         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
15436
15437         git-version-gen: include command name in one more diagnostic
15438         * build-aux/git-version-gen: When the required .tarball-version file
15439         was missing or unreadable, you might see the diagnostic from "cat",
15440         but no trace of the name of the invoking script.  Now, you still see
15441         the diagnostic from cat, but also get one from "git-version-gen: ".
15442         Inspired by a patch from Bruce Korb.
15443
15444         update-copyright: adjust test to match changed code
15445         * tests/test-update-copyright.sh: Change test's expected output
15446         to match new actual output.
15447
15448 2011-01-02  Bruno Haible  <bruno@clisp.org>
15449
15450         getlogin_r: Avoid test failure on HP-UX 11.
15451         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
15452         ERANGE when the second argument is zero.
15453         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
15454         portability problem.
15455
15456 2011-01-02  Bruce Korb  <bkorb@gnu.org>
15457
15458         * build-aux/update-copyright: doc Simon's changes
15459
15460 2011-01-02  Simon Josefsson  <simon@josefsson.org>
15461
15462         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
15463         environment variable.
15464
15465 2011-01-02  Bruno Haible  <bruno@clisp.org>
15466
15467         unigbrk: Avoid gcc warnings.
15468         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
15469         unused variable.
15470         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
15471         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
15472         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
15473         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
15474         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
15475         Change type of first argument to 'const char *'.
15476         (main): Remove unused variable.
15477         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
15478         type of first argument to 'const char *'.
15479         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
15480         Likewise.
15481         (main): Change type of variable 's'.
15482         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
15483         to 'int'.
15484
15485 2011-01-02  Bruno Haible  <bruno@clisp.org>
15486
15487         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
15488         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
15489         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
15490         bug.
15491         * lib/pwrite.c: Undo 2010-12-31 patch.
15492         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
15493
15494 2011-01-02  Bruno Haible  <bruno@clisp.org>
15495
15496         pread: Fix test whether it works.
15497         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
15498
15499 2011-01-02  Bruno Haible  <bruno@clisp.org>
15500
15501         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
15502         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
15503         ends in "6". Don't require a specific month name. Try also the locale
15504         names found on HP-UX 11 and Solaris 7.
15505
15506 2011-01-02  Bruno Haible  <bruno@clisp.org>
15507
15508         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
15509         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
15510         C linkage.
15511         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
15512
15513 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
15514
15515         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
15516         for consistency, since the "cluster" term is not used elsewhere.
15517         * lib/unigbrk.in.h: Update name.
15518         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
15519         * lib/unigbrk/u16-grapheme-next.c: Update name.
15520         * lib/unigbrk/u16-grapheme-prev.c: Update name.
15521         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
15522         * lib/unigbrk/u32-grapheme-next.c: Update name.
15523         * lib/unigbrk/u32-grapheme-prev.c: Update name.
15524         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
15525         * lib/unigbrk/u8-grapheme-next.c: Update name.
15526         * lib/unigbrk/u8-grapheme-prev.c: Update name.
15527         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
15528         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
15529         Suggested by Bruno Haible.
15530
15531 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
15532
15533         Remove module 'u8-grapheme-len' as too redundant with
15534         'u8-grapheme-next'.
15535         * modules/unigbrk/u8-grapheme-len: Delete file.
15536         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
15537         * lib/unigbrk.in.h: Remove prototype for deleted function.
15538         * lib/unigbrk/u8-grapheme-len.c: Delete file.
15539         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
15540
15541         Remove module 'u16-grapheme-len' as too redundant with
15542         'u16-grapheme-next'.
15543         * modules/unigbrk/u16-grapheme-len: Delete file.
15544         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
15545         * lib/unigbrk.in.h: Remove prototype for deleted function.
15546         * lib/unigbrk/u16-grapheme-len.c: Delete file.
15547         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
15548
15549         Remove module 'u32-grapheme-len' as too redundant with
15550         'u32-grapheme-next'.
15551         * modules/unigbrk/u32-grapheme-len: Delete file.
15552         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
15553         * lib/unigbrk.in.h: Remove prototype for deleted function.
15554         * lib/unigbrk/u32-grapheme-len.c: Delete file.
15555         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
15556
15557         Suggested by Bruno Haible.
15558
15559 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
15560
15561         * unigbrk.in.h: Fix typo: "ben" => "been".
15562         Reported by Bruno Haible.
15563
15564 2011-01-01  Jim Meyering  <meyering@redhat.com>
15565
15566         maint: update almost all copyright ranges to include 2011
15567         Run the new "make update-copyright" rule.
15568
15569 2011-01-01  Jim Meyering  <meyering@redhat.com>
15570
15571         maint: update-copyright: exempt doc/INSTALL*
15572         * Makefile (update-copyright): Also exclude doc/INSTALL*,
15573         since they are generated.  Suggested by Bruno Haible.
15574
15575 2011-01-01  Jim Meyering  <meyering@redhat.com>
15576
15577         maint: refine the update-copyright rule
15578         * Makefile (update-copyright): Also exclude any file that includes
15579         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
15580         code that merely generates the comment.
15581
15582 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
15583
15584         New module 'u8-grapheme-len'.
15585         * modules/unigbrk/u8-grapheme-len: New file.
15586         * modules/unigbrk/u8-grapheme-len-tests: New file.
15587         * lib/unigbrk.in.h: Add prototype for new function.
15588         * lib/unigbrk/u8-grapheme-len.c: New file.
15589         * tests/unigbrk/test-u8-grapheme-len.c: New file.
15590
15591         New module 'u16-grapheme-len'.
15592         * modules/unigbrk/u16-grapheme-len: New file.
15593         * modules/unigbrk/u16-grapheme-len-tests: New file.
15594         * lib/unigbrk.in.h: Add prototype for new function.
15595         * lib/unigbrk/u16-grapheme-len.c: New file.
15596         * tests/unigbrk/test-u16-grapheme-len.c: New file.
15597
15598         New module 'u32-grapheme-len'.
15599         * modules/unigbrk/u32-grapheme-len: New file.
15600         * modules/unigbrk/u32-grapheme-len-tests: New file.
15601         * lib/unigbrk.in.h: Add prototype for new function.
15602         * lib/unigbrk/u32-grapheme-len.c: New file.
15603         * tests/unigbrk/test-u32-grapheme-len.c: New file.
15604
15605         New module 'u8-grapheme-next'.
15606         * modules/unigbrk/u8-grapheme-next: New file.
15607         * modules/unigbrk/u8-grapheme-next-tests: New file.
15608         * lib/unigbrk.in.h: Add prototype for new function.
15609         * lib/unigbrk/u8-grapheme-next.c: New file.
15610         * tests/unigbrk/test-u8-grapheme-next.c: New file.
15611
15612         New module 'u16-grapheme-next'.
15613         * modules/unigbrk/u16-grapheme-next: New file.
15614         * modules/unigbrk/u16-grapheme-next-tests: New file.
15615         * lib/unigbrk.in.h: Add prototype for new function.
15616         * lib/unigbrk/u16-grapheme-next.c: New file.
15617         * tests/unigbrk/test-u16-grapheme-next.c: New file.
15618
15619         New module 'u32-grapheme-next'.
15620         * modules/unigbrk/u32-grapheme-next: New file.
15621         * modules/unigbrk/u32-grapheme-next-tests: New file.
15622         * lib/unigbrk.in.h: Add prototype for new function.
15623         * lib/unigbrk/u32-grapheme-next.c: New file.
15624         * tests/unigbrk/test-u32-grapheme-next.c: New file.
15625
15626         New module 'u8-grapheme-prev'.
15627         * modules/unigbrk/u8-grapheme-prev: New file.
15628         * modules/unigbrk/u8-grapheme-prev-tests: New file.
15629         * lib/unigbrk.in.h: Add prototype for new function.
15630         * lib/unigbrk/u8-grapheme-prev.c: New file.
15631         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
15632
15633         New module 'u16-grapheme-prev'.
15634         * modules/unigbrk/u16-grapheme-prev: New file.
15635         * modules/unigbrk/u16-grapheme-prev-tests: New file.
15636         * lib/unigbrk.in.h: Add prototype for new function.
15637         * lib/unigbrk/u16-grapheme-prev.c: New file.
15638         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
15639
15640         New module 'u32-grapheme-prev'.
15641         * modules/unigbrk/u32-grapheme-prev: New file.
15642         * modules/unigbrk/u32-grapheme-prev-tests: New file.
15643         * lib/unigbrk.in.h: Add prototype for new function.
15644         * lib/unigbrk/u32-grapheme-prev.c: New file.
15645         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
15646
15647         New module 'u8-grapheme-breaks'.
15648         * modules/unigbrk/u8-grapheme-breaks: New file.
15649         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
15650         * lib/unigbrk.in.h: Add prototype for new function.
15651         * lib/unigbrk/u8-grapheme-breaks.c: New file.
15652         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
15653
15654         New module 'u16-grapheme-breaks'.
15655         * modules/unigbrk/u16-grapheme-breaks: New file.
15656         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
15657         * lib/unigbrk.in.h: Add prototype for new function.
15658         * lib/unigbrk/u16-grapheme-breaks.c: New file.
15659         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
15660
15661         New module 'u32-grapheme-breaks'.
15662         * modules/unigbrk/u32-grapheme-breaks: New file.
15663         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
15664         * lib/unigbrk.in.h: Add prototype for new function.
15665         * lib/unigbrk/u32-grapheme-breaks.c: New file.
15666         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
15667
15668         New module 'ulc-grapheme-breaks'.
15669         * modules/unigbrk/ulc-grapheme-breaks: New file.
15670         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
15671         * m4/locale-ar.m4: New file.
15672         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
15673         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
15674         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
15675
15676 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
15677
15678         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
15679         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
15680         modified how this file was generated before I initially submitted
15681         the module, but failed to regenerate it.  This meant that several
15682         of the level2 entries were wrong.
15683         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
15684         Remove the division-by-2 that is folded into the table now that
15685         gbrkprop.h has been regenerated properly.  Now -1 entries are
15686         handled correctly.
15687
15688         New module 'unigbrk/uc-gbrk-prop-tests'.
15689         * modules/unigbrk/uc-gbrk-prop-tests: New file.
15690         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
15691         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
15692         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
15693
15694 2011-01-01  Bruno Haible  <bruno@clisp.org>
15695
15696         Avoid use of hexadecimal escapes.
15697         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
15698         instead of hexadecimal escapes.
15699
15700 2011-01-01  Jim Meyering  <meyering@redhat.com>
15701
15702         maint: new rule to update copyright year ranges
15703         * Makefile (update-copyright): New rule.
15704
15705         maint: indent with TABs in Makefile
15706         * Makefile: Expand leading sequences of spaces to TABs
15707
15708         version-etc: update the copyright year it reports
15709         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
15710
15711 2010-12-31  Bruno Haible  <bruno@clisp.org>
15712
15713         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
15714         * lib/isfinite.c (zerof, zerod, zerol): New variables.
15715         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
15716         zero.
15717
15718 2010-12-31  Bruno Haible  <bruno@clisp.org>
15719
15720         pwrite: Work around HP-UX 11.11 bug.
15721         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
15722         works and set REPLACE_PWRITE if not.
15723         * lib/pwrite.c (pwrite): Add an implementation that uses the system
15724         function.
15725         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
15726
15727 2010-12-31  Bruno Haible  <bruno@clisp.org>
15728
15729         pread: Work around HP-UX 11 bugs.
15730         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
15731         and set REPLACE_PREAD if not.
15732         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
15733
15734 2010-12-31  Eric Blake  <eblake@redhat.com>
15735
15736         nl_langinfo: fix YESEXPR on Irix 6.5
15737         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
15738         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
15739         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
15740         it.
15741
15742 2010-12-31  Bruno Haible  <bruno@clisp.org>
15743
15744         iconv: Document HP-UX 11 bug.
15745         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
15746
15747 2010-12-31  Bruno Haible  <bruno@clisp.org>
15748
15749         ldexpl: Fix link error on HP-UX 11.
15750         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
15751         LDEXPL_LIBM, using $ISNANL_LIBM.
15752
15753 2010-12-31  Eric Blake  <eblake@redhat.com>
15754
15755         ftello: avoid compilation failure with SunStudio c89
15756         * lib/ftello.c (ftello): Use lseek, not llseek.
15757
15758         tests: avoid failing coreutils tests on cygwin
15759         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
15760         (create_exe_shims_): Return 0 when skipping.
15761
15762 2010-12-31  Bruno Haible  <bruno@clisp.org>
15763
15764         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
15765         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
15766
15767 2010-12-31  Bruno Haible  <bruno@clisp.org>
15768
15769         waitpid: Fix link error in C++ mode.
15770         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
15771
15772 2010-12-31  Bruno Haible  <bruno@clisp.org>
15773
15774         isnan: Use GCC built-ins when possible.
15775         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
15776         __builtin_isnan.
15777         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
15778         (isnan): Define using GCC built-ins for GCC >= 4.0.
15779
15780 2010-12-31  Bruno Haible  <bruno@clisp.org>
15781
15782         isnand: Fix mistake.
15783         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
15784         __builtin_isnand.
15785
15786 2010-12-31  Bruno Haible  <bruno@clisp.org>
15787
15788         open: Avoid C++ error on HP-UX 11.
15789         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
15790
15791 2010-12-31  Bruno Haible  <bruno@clisp.org>
15792
15793         time_r: Add missing declarations on HP-UX 11.
15794         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
15795         instead of HAVE_LOCALTIME_R.
15796         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
15797         HAVE_LOCALTIME_R always.
15798         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
15799         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
15800         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
15801         HAVE_LOCALTIME_R.
15802         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
15803         * doc/posix-functions/localtime_r.texi: Likewise.
15804
15805 2010-12-29  Eric Blake  <eblake@redhat.com>
15806
15807         mountlist: tweak previous commit
15808         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
15809         Reported by Paul Eggert.
15810
15811         mountlist: fix local drive detection on cygwin
15812         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
15813         that works for cygwin.
15814
15815 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
15816
15817         ftoastr, snprintf: ftoastr + snprintf module
15818         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
15819         since the snprintf module now should be good enough here.
15820         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
15821         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
15822         and gl_MODULE_INDICATOR([snprintf]), but the former enables
15823         GNULIB_SNPRINTF only for the test directory, and the latter
15824         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
15825         seems to suffice by itself.
15826
15827 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
15828
15829         alloca: one step towards thread-safety
15830         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
15831         need for a static variable.  All callers changed.  This does not
15832         make the alloca replacement thread-safe, but it's one step.
15833
15834         tests: minor indenting change
15835         * tests/init.sh: Sync from coreutils housekeeping patch
15836         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
15837         to keep lines within 80 columns.
15838
15839 2010-12-28  Jim Meyering  <meyering@redhat.com>
15840
15841         regex: don't infloop on persistent failing calloc
15842         * lib/regexec.c (build_trtable): Return failure indication upon
15843         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
15844         In glibc, this was fixed for version 2.13:
15845         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
15846
15847 2010-12-28  Bruno Haible  <bruno@clisp.org>
15848             Paul Eggert <eggert@cs.ucla.edu>
15849
15850         linkat: Make implementation robust against system behaviour variations.
15851         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
15852         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
15853         way, and to -2 if it needs a generic runtime test.
15854         * lib/linkat.c (solaris_optimized_link_immediate,
15855         solaris_optimized_link_follow): New functions.
15856         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
15857         (check_same_link): Use it.
15858
15859 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
15860
15861         New module 'unigbrk/base'.
15862         * modules/unigbrk/base: New file.
15863         * lib/unigbrk.in.h: New file.
15864
15865         New module 'unigbrk/uc-gbrk-prop'.
15866         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
15867         * modules/unigbrk/uc-gbrk-prop: New file.
15868         * lib/unigbrk/gbrkprop.h: New file.
15869         * lib/unigbrk/uc-gbrk-prop.c: New file.
15870
15871         New module 'unigbrk/uc-is-grapheme-break'.
15872         * modules/unigbrk/uc-is-grapheme-break: New file.
15873         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
15874         * lib/unigbrk/uc-is-grapheme-break.c: New file.
15875         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
15876         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
15877         * tests/unigbrk/GraphemeBreakTest.txt: New file.
15878
15879         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
15880
15881 2010-12-27  Bruno Haible  <bruno@clisp.org>
15882
15883         linkat test: Avoid failure on Solaris 11 2010-11.
15884         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
15885
15886 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
15887
15888         utimens: work around glibc rounding bug on more platforms
15889         * lib/utimens.c (fdutimens): Work around rounding bug even if
15890         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
15891         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
15892
15893 2010-12-27  Bruno Haible  <bruno@clisp.org>
15894
15895         select tests: Improve comments.
15896         * tests/test-select.c (do_select): Add comments.
15897
15898 2010-12-27  Bruno Haible  <bruno@clisp.org>
15899
15900         select tests: Safer way of handling timeout.
15901         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
15902         at every invocation.
15903
15904 2010-12-27  Bruno Haible  <bruno@clisp.org>
15905
15906         select tests: Use 'bool' where appropriate.
15907         * tests/test-select.c (connect_to_socket): Change argument type to
15908         'bool'.
15909
15910 2010-12-27  Bruno Haible  <bruno@clisp.org>
15911
15912         select tests: Use existing modules.
15913         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
15914         (configure.ac): Don't test for unistd.h.
15915         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
15916         declared in <unistd.h>.
15917
15918 2010-12-27  Bruno Haible  <bruno@clisp.org>
15919
15920         mbrtowc: Work around a Solaris 7 bug.
15921         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
15922         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
15923         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
15924         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
15925         MBRTOWC_NULL_ARG1_BUG.
15926         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
15927         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
15928         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
15929         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
15930
15931 2010-12-27  Jim Meyering  <meyering@redhat.com>
15932
15933         read-file.c: tweak syntax
15934         * lib/read-file.c (fread_file): Remove space after "*" in function
15935         definitions.
15936
15937 2010-12-27  Bruno Haible  <bruno@clisp.org>
15938
15939         times test: Avoid gcc warnings on OSF/1.
15940         * tests/test-times.c (main): Cast printf arguments from clock_t to
15941         'long int'.
15942
15943 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
15944
15945         utimens: work around glibc rounding bug on older Linux kernels
15946         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
15947         on Linux with a glibc whose utimes might not work, then work
15948         around a longstanding glibc bug involving rounding rather than
15949         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
15950         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
15951
15952 2010-12-26  Bruno Haible  <bruno@clisp.org>
15953
15954         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
15955         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
15956         _GL_CXXALIAS_SYS.
15957         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
15958
15959 2010-12-26  Bruno Haible  <bruno@clisp.org>
15960
15961         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
15962         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
15963         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
15964         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
15965         looking for the declaration.
15966         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
15967         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
15968         problem.
15969         * doc/posix-functions/inet_pton.texi: Likewise.
15970
15971 2010-12-26  Bruno Haible  <bruno@clisp.org>
15972
15973         arpa_inet: Use the common idioms with C++ support.
15974         * lib/arpa_inet.in.h: Include c++defs.h.
15975         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
15976         support.
15977         * modules/arpa_inet (Depends-on): Add c++defs.
15978         (Makefile.am): Substitute the contents of c++defs.h.
15979         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
15980         * modules/arpa_inet-c++-tests: New file.
15981         * tests/test-arpa_inet-c++.cc: New file.
15982
15983 2010-12-25  Bruno Haible  <bruno@clisp.org>
15984
15985         Fix more C++ link errors on Solaris 8.
15986         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
15987         $(LIB_EACCESS).
15988         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
15989         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
15990         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
15991         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
15992         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
15993
15994 2010-12-25  Bruno Haible  <bruno@clisp.org>
15995
15996         printf-posix: Fix link error when a non-GCC compiler is used.
15997         * lib/stdio.in.h (printf): When not using GCC, override printf
15998         correctly.
15999         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16000
16001 2010-12-25  Bruno Haible  <bruno@clisp.org>
16002
16003         strerror_r-posix: Update doc.
16004         * doc/posix-functions/strerror_r.texi: Update doc about the return
16005         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
16006
16007 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
16008
16009         utimens: simplify the logic of the previous change
16010         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
16011         This should not affect whether the test succeeds or fails.
16012
16013         utimens: configure better on hosts with NFS clock skew
16014         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
16015         uses the clock of the local host.  It might use the clock of the
16016         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
16017         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
16018
16019 2010-12-25  Bruno Haible  <bruno@clisp.org>
16020
16021         ptsname test: Avoid failure on Solaris.
16022         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
16023         open a pseudo-terminal; don't use BSD-style ptys.
16024         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
16025
16026 2010-12-25  Bruno Haible  <bruno@clisp.org>
16027
16028         ptsname: Avoid ERANGE failure on some systems.
16029         * lib/ptsname.c (buffer): Increase size.
16030
16031 2010-12-25  Bruno Haible  <bruno@clisp.org>
16032
16033         rename, renameat: Avoid test failures at NFS mounted locations.
16034         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
16035         so that subsequent mkdir calls succeed.
16036
16037 2010-12-25  Bruno Haible  <bruno@clisp.org>
16038
16039         iswblank: Fix C++ link error on Solaris 8.
16040         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
16041         _GL_FUNCDECL_SYS.
16042
16043 2010-12-25  Bruno Haible  <bruno@clisp.org>
16044
16045         unistd: Fix C++ link error on Solaris 8.
16046         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
16047
16048 2010-12-25  Bruno Haible  <bruno@clisp.org>
16049
16050         readlink doc: Mention an old glibc bug.
16051         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
16052
16053 2010-12-25  Bruno Haible  <bruno@clisp.org>
16054
16055         fcntl-h: Fix for use of C++ on glibc systems.
16056         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
16057         also on glibc systems in C++ mode.
16058         Reported by Gary V. Vaughan <gary@gnu.org>.
16059
16060 2010-12-25  Bruno Haible  <bruno@clisp.org>
16061
16062         roundl-ieee: Make it work on OSF/1 5.1 with cc.
16063         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
16064
16065 2010-12-25  Bruno Haible  <bruno@clisp.org>
16066
16067         truncl-ieee: Make it work on OSF/1 5.1 with cc.
16068         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
16069         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
16070         test whether truncl works according to ISO C 99 with IEC 60559.
16071         * m4/truncl-ieee.m4: New file.
16072         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
16073         m4/signbit.m4.
16074         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
16075
16076 2010-12-25  Bruno Haible  <bruno@clisp.org>
16077
16078         ceill-ieee: Make it work on OSF/1 5.1 with cc.
16079         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
16080         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
16081         test whether ceill works according to ISO C 99 with IEC 60559.
16082         * m4/ceill-ieee.m4: New file.
16083         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
16084         m4/signbit.m4.
16085         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
16086
16087 2010-12-25  Bruno Haible  <bruno@clisp.org>
16088
16089         Ensure all prerequisites of <wchar.h> are included.
16090         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
16091         before <wchar.h>.
16092         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
16093         gl_MBRLEN_NUL_RETVAL): Likewise.
16094         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
16095         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
16096         AC_FUNC_MBRTOWC): Likewise.
16097         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
16098         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
16099         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
16100         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
16101         Likewise.
16102         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
16103         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
16104         (gl_WCHAR_H): Improve comments.
16105         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
16106
16107 2010-12-25  Bruno Haible  <bruno@clisp.org>
16108
16109         strtok_r: Fix C syntax error in autoconf macro.
16110         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
16111         characters in test program.
16112
16113 2010-12-24  Bruno Haible  <bruno@clisp.org>
16114
16115         ceil, trunc, round: Fix gcc warnings.
16116         * lib/ceil.c (MIN): Undefine before redefining.
16117         * lib/trunc.c (MIN): Likewise.
16118         * lib/round.c (MIN): Likewise.
16119         Include <math.h> first.
16120
16121 2010-12-24  Bruno Haible  <bruno@clisp.org>
16122
16123         select tests: Avoid failures on OSF/1 5.1.
16124         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
16125         failure of closing the last socket; it may fail with ECONNRESET.
16126
16127 2010-12-24  Eric Blake  <eblake@redhat.com>
16128
16129         stdint: avoid HP-UX 10.20 preprocessor bug
16130         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
16131         than #if.
16132         * tests/test-floor2.c (main): Likewise.
16133         Reported by Peter O'Gorman.
16134
16135         pipe: make obsoletion transition easier
16136         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
16137         * modules/pipe (Files): Include revived file.
16138         (Include): Drop reference, to mirror getdate's behavior.
16139
16140 2010-12-24  Bruno Haible  <bruno@clisp.org>
16141
16142         sys_socket: Hide mismatch of declarations on NonStop Kernel.
16143         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
16144         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
16145         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16146
16147 2010-12-24  Bruno Haible  <bruno@clisp.org>
16148
16149         gethostname: Ensure declaration on NonStop Kernel.
16150         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
16151         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16152
16153 2010-12-24  Bruno Haible  <bruno@clisp.org>
16154
16155         sys_select: Ensure all necessary types on NonStop Kernel.
16156         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
16157         include <sys/time.h>.
16158         * doc/posix-headers/sys_select.texi: Mention that it's missing on
16159         NonStop Kernel.
16160         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16161
16162 2010-12-24  Bruno Haible  <bruno@clisp.org>
16163
16164         sys_select: Remove unneeded include.
16165         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
16166         have <sys/select.h>.
16167
16168 2010-12-24  Bruno Haible  <bruno@clisp.org>
16169
16170         gethostname: Provide a fallback for HOST_NAME_MAX.
16171         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
16172         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
16173         instead.
16174         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16175
16176 2010-12-24  Bruno Haible  <bruno@clisp.org>
16177
16178         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
16179         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
16180         (SA_RESTART): Likewise.
16181         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16182
16183 2010-12-24  Bruno Haible  <bruno@clisp.org>
16184
16185         signal: Define NSIG.
16186         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
16187         * tests/test-signal.c (nsig): New variable.
16188         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16189
16190 2010-12-24  Bruno Haible  <bruno@clisp.org>
16191
16192         rename, renameat: Avoid test failures on OSF/1 5.1.
16193         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
16194         alternative error codes.
16195         * tests/test-renameat.c (main): Likewise.
16196
16197 2010-12-24  Bruno Haible  <bruno@clisp.org>
16198
16199         *printf: Detect large precisions bug on Solaris 10/SPARC.
16200         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
16201         by Paul Eggert.
16202         * tests/test-snprintf-posix.h (test_function): Add this test code here
16203         too.
16204         * tests/test-sprintf-posix.h (test_function): Likewise.
16205         * tests/test-vasnprintf-posix.c (test_function): Likewise.
16206         * tests/test-vasprintf-posix.c (test_function): Likewise.
16207         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
16208         around by gnulib.
16209         * doc/posix-functions/printf.texi: Likewise.
16210         * doc/posix-functions/snprintf.texi: Likewise.
16211         * doc/posix-functions/sprintf.texi: Likewise.
16212         * doc/posix-functions/vfprintf.texi: Likewise.
16213         * doc/posix-functions/vprintf.texi: Likewise.
16214         * doc/posix-functions/vsnprintf.texi: Likewise.
16215         * doc/posix-functions/vsprintf.texi: Likewise.
16216         * doc/posix-functions/dprintf.texi: Undo last commit.
16217         * doc/posix-functions/vdprintf.texi: Likewise.
16218
16219 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
16220
16221         tests: port test-fdutimensat.c to Solaris 8
16222         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
16223         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
16224         On Solaris 8, it fails with errno == ENOSYS, because there is no
16225         futimens (so it can't use the fd), and there is no lutimens (so it
16226         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
16227
16228         vsnprintf: make more consistent with snprintf; doc fixes
16229
16230         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
16231         the byte count return problem was promoted from the snprintf-posix
16232         to the snprintf module.
16233         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
16234         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
16235         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
16236         * tests/test-snprintf.c (main): Check the byte count returned.
16237         * tests/test-vsnprintf.c (main): Likewise.
16238
16239 2010-12-23  Eric Blake  <eblake@redhat.com>
16240
16241         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
16242         * modules/sigpipe (License): Relax license.
16243
16244 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
16245
16246         doc: document Solaris printf bug with large float precisions
16247         * doc/posix-functions/dprintf.texi (dprintf):
16248         * doc/posix-functions/fprintf.texi (fprintf):
16249         * doc/posix-functions/printf.texi (printf):
16250         * doc/posix-functions/snprintf.texi (snprintf):
16251         * doc/posix-functions/sprintf.texi (sprintf):
16252         * doc/posix-functions/vdprintf.texi (vdprintf):
16253         * doc/posix-functions/vfprintf.texi (vfprintf):
16254         * doc/posix-functions/vprintf.texi (vprintf):
16255         * doc/posix-functions/vsnprintf.texi (vsnprintf):
16256         * doc/posix-functions/vsprintf.texi (vsprintf):
16257         Mention that these functions mishandle large floating point
16258         precisions on Solaris 10.  The same bug is also present in Solaris
16259         8, and I assume earlier.  This causes "cd gnulib-tests; make
16260         check" to fail on Solaris 8 (and I assume, later) when building
16261         the latest coreutils, in test-vasprintf-posix's call to
16262         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
16263         the wide flavors (e.g., wprintf) so this patch just updates the
16264         documentation for the narrow ones.
16265
16266         test-posixtm.c: add two tests
16267         * tests/test-posixtm.c: Add two tests, to highlight the
16268         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
16269         around this bug; this is merely to document it.
16270
16271 2010-12-22  Bruno Haible  <bruno@clisp.org>
16272
16273         getlogin_r: Work around portability problem on OSF/1.
16274         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
16275         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
16276         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
16277         test for a truncated result.
16278         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
16279         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
16280         * modules/getlogin_r (Depends-on): Add memchr.
16281         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
16282
16283 2010-12-22  Bruno Haible  <bruno@clisp.org>
16284
16285         ptsname: Avoid test failure on OSF/1 5.1.
16286         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
16287         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
16288         (same_slave): New function.
16289         (main): Use it to compare ptsname's result with the expected file name.
16290
16291 2010-12-22  Bruno Haible  <bruno@clisp.org>
16292
16293         Port extended stdio modules to HP NonStop Kernel.
16294         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
16295         macros.
16296         * lib/fbufmode.c: Update comments.
16297         * lib/fflush.c: Likewise.
16298         * lib/fpurge.c: Likewise.
16299         * lib/freadable.c: Likewise.
16300         * lib/freadahead.c: Likewise.
16301         * lib/freading.c: Likewise.
16302         * lib/freadptr.c: Likewise.
16303         * lib/freadseek.c: Likewise.
16304         * lib/fseeko.c: Likewise.
16305         * lib/fseterr.c: Likewise.
16306         * lib/fwritable.c: Likewise.
16307         * lib/fwriting.c: Likewise.
16308         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16309
16310 2010-12-22  Bruno Haible  <bruno@clisp.org>
16311
16312         ttyname_r: Work around bug on OSF/1 5.1.
16313         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
16314         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
16315         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
16316         present.
16317         * lib/ttyname_r.c (ttyname_r): Update comments.
16318
16319 2010-12-22  Bruno Haible  <bruno@clisp.org>
16320
16321         round: Implement result sign according to IEEE 754.
16322         * lib/round.c (MIN, MINUS_ZERO): New macros.
16323         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
16324         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
16325         * tests/test-round-ieee.c (main): Likewise.
16326         * tests/test-roundl-ieee.c (main): Likewise.
16327
16328         trunc: Implement result sign according to IEEE 754.
16329         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
16330         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
16331         * tests/test-trunc2.c: Include minus-zero.h.
16332         (MINUS_ZERO): New macro.
16333         (trunc_reference): Keep in sync with lib/trunc.c.
16334         * tests/test-truncf2.c: Include minus-zero.h.
16335         (MINUS_ZERO): New macro.
16336         (truncf_reference): Keep in sync with lib/trunc.c.
16337         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
16338         * tests/test-trunc-ieee.c (main): Likewise.
16339         * tests/test-truncl-ieee.c (main): Likewise.
16340
16341         ceil: Implement result sign according to IEEE 754.
16342         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
16343         (FUNC): Return -0.0 for -1 < x < 0.
16344         * tests/test-ceil2.c: Include minus-zero.h.
16345         (MINUS_ZERO): New macro.
16346         (ceil_reference): Keep in sync with lib/ceil.c.
16347         * tests/test-ceilf2.c: Include minus-zero.h.
16348         (MINUS_ZERO): New macro.
16349         (ceilf_reference): Keep in sync with lib/ceil.c.
16350         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
16351         * tests/test-ceil-ieee.c (main): Likewise.
16352         * tests/test-ceill-ieee.c (main): Likewise.
16353
16354         floor: Implement result sign according to IEEE 754.
16355         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
16356         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
16357         * tests/test-floorf2.c (floorf_reference): Likewise.
16358         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
16359         * tests/test-floor-ieee.c (main): Likewise.
16360         * tests/test-floorl-ieee.c (main): Likewise.
16361
16362 2010-12-22  Bruno Haible  <bruno@clisp.org>
16363
16364         getaddrinfo: Update doc.
16365         * doc/posix-functions/gai_strerror.texi: Return type is also different
16366         on AIX and HP-UX.
16367
16368 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
16369
16370         getaddrinfo, inet_ntop: Update doc for Solaris.
16371         * doc/posix-functions/gai_strerror.texi: Return type is also an
16372         issue on Solaris 9 and earlier.
16373         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
16374         on Solaris 10 and earlier.
16375
16376 2010-12-21  Bruno Haible  <bruno@clisp.org>
16377
16378         New module 'roundl-ieee'.
16379         * modules/roundl-ieee: New file.
16380         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
16381         test whether roundl works according to ISO C 99 with IEC 60559.
16382         * m4/roundl-ieee.m4: New file.
16383         * modules/roundl-ieee-tests: New file.
16384         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
16385         * tests/test-roundl.c (main): Remove signbit tests.
16386         * modules/roundl-tests (Depends-on): Remove signbit.
16387         * doc/posix-functions/roundl.texi: Mention the new module.
16388
16389 2010-12-21  Bruno Haible  <bruno@clisp.org>
16390
16391         New module 'truncl-ieee'.
16392         * modules/truncl-ieee: New file.
16393         * modules/truncl-ieee-tests: New file.
16394         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
16395         * tests/test-truncl.c (main): Remove signbit tests.
16396         * modules/truncl-tests (Depends-on): Remove signbit.
16397         * doc/posix-functions/truncl.texi: Mention the new module.
16398
16399 2010-12-21  Bruno Haible  <bruno@clisp.org>
16400
16401         New module 'ceill-ieee'.
16402         * modules/ceill-ieee: New file.
16403         * modules/ceill-ieee-tests: New file.
16404         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
16405         * tests/test-ceill.c (main): Remove signbit tests.
16406         * modules/ceill-tests (Depends-on): Remove signbit.
16407         * doc/posix-functions/ceill.texi: Mention the new module.
16408
16409 2010-12-21  Bruno Haible  <bruno@clisp.org>
16410
16411         New module 'floorl-ieee'.
16412         * modules/floorl-ieee: New file.
16413         * modules/floorl-ieee-tests: New file.
16414         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
16415         * tests/test-floorl.c (main): Remove signbit tests.
16416         * modules/floorl-tests (Depends-on): Remove signbit.
16417         * doc/posix-functions/floorl.texi: Mention the new module.
16418
16419 2010-12-21  Bruno Haible  <bruno@clisp.org>
16420
16421         New module 'round-ieee'.
16422         * modules/round-ieee: New file.
16423         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
16424         whether round works according to ISO C 99 with IEC 60559.
16425         * m4/round-ieee.m4: New file.
16426         * modules/round-ieee-tests: New file.
16427         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
16428         * tests/test-round1.c (main): Remove signbit tests.
16429         * modules/round-tests (Depends-on): Remove 'signbit'.
16430         * doc/posix-functions/round.texi: Mention the new module.
16431
16432 2010-12-21  Bruno Haible  <bruno@clisp.org>
16433
16434         New module 'trunc-ieee'.
16435         * modules/trunc-ieee: New file.
16436         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
16437         whether trunc works according to ISO C 99 with IEC 60559.
16438         * m4/trunc-ieee.m4: New file.
16439         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
16440         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
16441         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
16442         * modules/trunc-ieee-tests: New file.
16443         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
16444         * tests/test-trunc1.c (main): Remove signbit tests.
16445         * modules/trunc-tests (Depends-on): Remove 'signbit'.
16446         * doc/posix-functions/trunc.texi: Mention the new module.
16447
16448 2010-12-21  Bruno Haible  <bruno@clisp.org>
16449
16450         New module 'ceil-ieee'.
16451         * modules/ceil-ieee: New file.
16452         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
16453         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
16454         ISO C 99 with IEC 60559.
16455         * m4/ceil-ieee.m4: New file.
16456         * modules/ceil (Files): Add lib/ceil.c.
16457         (Depends-on): Add 'float'.
16458         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
16459         * lib/math.in.h (ceil): New declaration.
16460         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
16461         REPLACE_CEIL.
16462         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
16463         * modules/ceil-ieee-tests: New file.
16464         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
16465         * tests/test-math-c++.cc: Check the signature of 'ceil'.
16466         * doc/posix-functions/ceil.texi: Mention the new module.
16467
16468 2010-12-21  Bruno Haible  <bruno@clisp.org>
16469
16470         New module 'floor-ieee'.
16471         * modules/floor-ieee: New file.
16472         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
16473         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
16474         ISO C 99 with IEC 60559.
16475         * m4/floor-ieee.m4: New file.
16476         * modules/floor (Files): Add lib/floor.c.
16477         (Depends-on): Add 'float'.
16478         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
16479         * lib/math.in.h (floor): New declaration.
16480         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
16481         REPLACE_FLOOR.
16482         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
16483         * modules/floor-ieee-tests: New file.
16484         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
16485         * tests/test-math-c++.cc: Check the signature of 'floor'.
16486         * doc/posix-functions/floor.texi: Mention the new module.
16487
16488 2010-12-21  Bruno Haible  <bruno@clisp.org>
16489
16490         New module 'roundf-ieee'.
16491         * modules/roundf-ieee: New file.
16492         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
16493         test whether roundf works according to ISO C 99 with IEC 60559.
16494         * m4/roundf-ieee.m4: New file.
16495         * modules/roundf-ieee-tests: New file.
16496         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
16497         * tests/test-roundf1.c (main): Remove signbit tests.
16498         * modules/roundf-tests (Depends-on): Remove 'signbit'.
16499         * doc/posix-functions/roundf.texi: Mention the new module.
16500
16501 2010-12-21  Bruno Haible  <bruno@clisp.org>
16502
16503         New module 'truncf-ieee'.
16504         * modules/truncf-ieee: New file.
16505         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
16506         test whether truncf works according to ISO C 99 with IEC 60559.
16507         * m4/truncf-ieee.m4: New file.
16508         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
16509         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
16510         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
16511         * modules/truncf-ieee-tests: New file.
16512         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
16513         * tests/test-truncf1.c (main): Remove signbit tests.
16514         * modules/truncf-tests (Depends-on): Remove 'signbit'.
16515         * doc/posix-functions/truncf.texi: Mention the new module.
16516
16517 2010-12-21  Bruno Haible  <bruno@clisp.org>
16518
16519         New module 'ceilf-ieee'.
16520         * modules/ceilf-ieee: New file.
16521         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
16522         test whether ceilf works according to ISO C 99 with IEC 60559.
16523         * m4/ceilf-ieee.m4: New file.
16524         * modules/ceilf-ieee-tests: New file.
16525         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
16526         * tests/test-ceilf1.c (main): Remove signbit tests.
16527         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
16528         * doc/posix-functions/ceilf.texi: Mention the new module.
16529
16530 2010-12-21  Bruno Haible  <bruno@clisp.org>
16531
16532         New module 'floorf-ieee'.
16533         * modules/floorf-ieee: New file.
16534         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
16535         test whether floorf works according to ISO C 99 with IEC 60559.
16536         * m4/floorf-ieee.m4: New file.
16537         * modules/floorf-ieee-tests: New file.
16538         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
16539         * tests/test-floorf1.c (main): Remove signbit tests.
16540         * modules/floorf-tests (Depends-on): Remove 'signbit'.
16541         * doc/posix-functions/floorf.texi: Mention the new module.
16542
16543 2010-12-21  Bruno Haible  <bruno@clisp.org>
16544
16545         Support for minus zero in autoconf macros.
16546         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
16547         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
16548         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
16549         * tests/minus-zero.h: Update comments.
16550
16551 2010-12-21  Bruno Haible  <bruno@clisp.org>
16552
16553         Tests for module 'ceil'.
16554         * modules/ceil-tests: New file.
16555         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
16556         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
16557
16558 2010-12-21  Bruno Haible  <bruno@clisp.org>
16559
16560         Tests for module 'floor'.
16561         * modules/floor-tests: New file.
16562         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
16563         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
16564
16565 2010-12-21  Bruno Haible  <bruno@clisp.org>
16566
16567         math: Fix indentation.
16568         * lib/math.in.h (floorf): Fix indentation.
16569
16570 2010-12-21  Bruno Haible  <bruno@clisp.org>
16571
16572         Fix cross-compilation guesses on Solaris.
16573         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
16574         not match "solaris2.10".
16575         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
16576         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
16577         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
16578
16579 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
16580
16581         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
16582         This fixes a problem observed with the latest coreutils snapshot
16583         that caused a test to fail on Solaris 8.  src/csplit.c's call
16584         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
16585         earlier, instead of returning the number of bytes that would have
16586         been generated; this causes csplit to incorrectly report memory
16587         exhaustion.
16588         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
16589         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
16590         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
16591         comments to match.
16592         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
16593         Fix typo in matching older versions of Solaris: "solaris2.10"
16594         is matched by the shell pattern "solaris2.[0-9]*".  This matters
16595         only for guessing while cross-compiling.
16596         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
16597
16598 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
16599
16600         ftoastr: fix comment again
16601         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
16602         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
16603         Also, simplify example a bit by using flags = 0.
16604
16605 2010-12-20  Bruno Haible  <bruno@clisp.org>
16606
16607         round*, trunc*: Update documentation regarding glibc.
16608         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
16609         * doc/posix-functions/round.texi: Likewise.
16610         * doc/posix-functions/roundl.texi: Likewise.
16611         * doc/posix-functions/truncf.texi: Likewise.
16612         * doc/posix-functions/trunc.texi: Likewise.
16613         * doc/posix-functions/truncl.texi: Likewise.
16614
16615 2010-12-20  Bruno Haible  <bruno@clisp.org>
16616
16617         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
16618         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
16619         * doc/posix-functions/round.texi: Likewise.
16620         * doc/posix-functions/roundl.texi: Likewise.
16621
16622 2010-12-20  Bruno Haible  <bruno@clisp.org>
16623
16624         ttyname_r: Add missing declaration on HP-UX 11.
16625         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
16626         HAVE_TTYNAME_R.
16627         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
16628         declared. Set HAVE_TTYNAME_R always.
16629         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
16630         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
16631         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
16632         HAVE_TTYNAME_R.
16633         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
16634
16635 2010-12-20  Bruno Haible  <bruno@clisp.org>
16636
16637         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
16638         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
16639         * doc/posix-functions/getlogin_r.texi: Likewise.
16640         * tests/test-getlogin.c: Include <errno.h>.
16641         (main): Avoid test failure on HP-UX 11.11.
16642         * tests/test-getlogin_r.c (main): Likewise.
16643
16644 2010-12-20  Bruno Haible  <bruno@clisp.org>
16645
16646         getlogin_r: Add missing declaration on HP-UX 11.
16647         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
16648         declared also when it exists as a function.
16649         * doc/posix-functions/getlogin_r.texi: Document this workaround.
16650
16651 2010-12-20  Bruno Haible  <bruno@clisp.org>
16652
16653         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
16654         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
16655         through wcrtomb.
16656
16657 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
16658
16659         ftoastr: fix comment
16660         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
16661         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
16662
16663 2010-12-19  Bruno Haible  <bruno@clisp.org>
16664
16665         isnan: Ensure it is a macro.
16666         * lib/math.in.h (isnan): Define as a macro if not already a macro.
16667         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
16668         Solaris.
16669
16670 2010-12-19  Bruno Haible  <bruno@clisp.org>
16671
16672         ldexpl test: Fix link error on OSF/1 5.1.
16673         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
16674
16675 2010-12-19  Bruno Haible  <bruno@clisp.org>
16676
16677         wctype: Make it work in C++ mode on OSF/1 5.1.
16678         * lib/wctype.in.h (iswblank): Declare but not define here.
16679         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
16680         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
16681         * modules/wctype (Files): Add lib/iswblank.c.
16682
16683 2010-12-19  Bruno Haible  <bruno@clisp.org>
16684
16685         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
16686         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
16687         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
16688
16689 2010-12-19  Bruno Haible  <bruno@clisp.org>
16690
16691         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
16692         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
16693         _POSIX_PII_SOCKET.
16694         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
16695         * doc/posix-functions/recvfrom.texi: Likewise.
16696         * doc/posix-functions/send.texi: Likewise.
16697         * doc/posix-functions/sendto.texi: Likewise.
16698
16699 2010-12-19  Bruno Haible  <bruno@clisp.org>
16700
16701         tcgetsid: Add missing declaration on OSF/1 5.1.
16702         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
16703         HAVE_TCGETSID.
16704         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
16705         Don't set HAVE_TCGETSID.
16706         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
16707         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
16708         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
16709         HAVE_TCGETSID.
16710         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
16711
16712 2010-12-19  Bruno Haible  <bruno@clisp.org>
16713
16714         stdio: Fix problem with popen() declaration on OSF/1 5.1.
16715         * lib/stdio.in.h: During the include_next statement, let recursive
16716         includes of this file include only the system header file.
16717
16718 2010-12-19  Bruno Haible  <bruno@clisp.org>
16719
16720         iconv_open: Fix regression from 2010-12-04.
16721         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
16722         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
16723
16724 2010-12-19  Bruno Haible  <bruno@clisp.org>
16725
16726         stdbool test: Avoid a gcc warning.
16727         * tests/test-stdbool.c (main): Fail if e1 is false.
16728         Reported by Jim Meyering.
16729
16730 2010-12-19  Jim Meyering  <meyering@redhat.com>
16731
16732         setenv: restore to working order
16733         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
16734         mistakenly removed.
16735         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
16736         HAVE_SETENV.
16737         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
16738         HAVE_SETENV.
16739
16740 2010-12-19  Bruno Haible  <bruno@clisp.org>
16741
16742         Document some different function declarations on OSF/1 5.1.
16743         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
16744         * doc/posix-functions/inet_ntop.texi: Likewise.
16745         * doc/posix-functions/gethostname.texi: Likewise.
16746         * lib/unistd.in.h (gethostname): Update comment.
16747
16748 2010-12-19  Bruno Haible  <bruno@clisp.org>
16749
16750         doc: Mention vasprintf-posix module.
16751         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
16752         the 'vasprintf-posix' module.
16753         * doc/glibc-functions/vasprintf.texi: Likewise.
16754
16755 2010-12-19  Bruno Haible  <bruno@clisp.org>
16756
16757         unsetenv: Add missing declaration on OSF/1 5.1.
16758         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
16759         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
16760         Don't set HAVE_UNSETENV. In the test program, set _BSD.
16761         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
16762         not HAVE_UNSETENV.
16763         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
16764         HAVE_UNSETENV.
16765         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
16766
16767 2010-12-19  Bruno Haible  <bruno@clisp.org>
16768
16769         setenv: Add missing declaration on OSF/1 5.1.
16770         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
16771         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
16772         declared. Don't set HAVE_SETENV.
16773         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
16774         not HAVE_SETENV.
16775         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
16776         HAVE_SETENV.
16777         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
16778
16779 2010-12-19  Bruno Haible  <bruno@clisp.org>
16780
16781         nl_langinfo tests: Avoid gcc warning.
16782         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
16783
16784 2010-12-19  Bruno Haible  <bruno@clisp.org>
16785
16786         mknod: Avoid error in C++ mode on OSF/1 with GCC.
16787         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
16788         _GL_CXXALIAS_SYS.
16789
16790 2010-12-19  Bruno Haible  <bruno@clisp.org>
16791
16792         stdbool: Relax test.
16793         * tests/test-stdbool.c (e): Don't require that casts from a variable's
16794         address to 'bool' work in static initializer, for compilers other than
16795         GCC.
16796
16797 2010-12-19  Bruno Haible  <bruno@clisp.org>
16798
16799         ftello: Add missing declaration on OSF/1 5.1.
16800         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
16801         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
16802         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
16803         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
16804         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
16805
16806 2010-12-19  Bruno Haible  <bruno@clisp.org>
16807
16808         fseeko: Add missing declaration on OSF/1 5.1.
16809         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
16810         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
16811         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
16812         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
16813         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
16814
16815 2010-12-19  Bruno Haible  <bruno@clisp.org>
16816
16817         fchdir: Add missing declaration on OSF/1 5.1.
16818         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
16819         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
16820         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
16821         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
16822         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
16823
16824 2010-12-19  Bruno Haible  <bruno@clisp.org>
16825
16826         relocatable-prog-wrapper: Separate from relocatable-prog.
16827         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
16828         uninstall-relocwrapper rule here.
16829         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
16830         Reported by Ian Beckwith <ianb@erislabs.net>.
16831
16832 2010-12-19  Bruno Haible  <bruno@clisp.org>
16833
16834         unistr/u8-mbsnlen: Add missing dependency.
16835         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
16836         Reported by Ian Beckwith <ianb@erislabs.net>.
16837
16838 2010-12-19  Bruno Haible  <bruno@clisp.org>
16839
16840         iconv: Make it possible again to use this module without 'iconv-h'.
16841         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
16842         if it is not defined.
16843         Reported by Ian Beckwith <ianb@erislabs.net>.
16844
16845 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
16846
16847         acl: port to Solaris 8 when copying from tmpfs to ufs
16848         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
16849         error number.  Problem observed on Solaris 8 with latest
16850         coreutils, with "mv A B", where A is on a tmpfs file system and B
16851         is on a ufs file system.  This caused coreutils' mv/part-symlink
16852         test to fail.
16853
16854         tests: set fail=0 at start
16855         * tests/init.sh (setup_): Move fail=0 initialization here ...
16856         (mktempd_): ... from here, so that tests can rely on fail being
16857         set to 0 initially.  This fixes a problem in coreutils; see:
16858         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
16859
16860 2010-12-18  Bruno Haible  <bruno@clisp.org>
16861
16862         memmem-simple: Stylistic changes.
16863         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
16864         Fix preprocessor directive indentation.
16865
16866 2010-12-15  Pádraig Brady <P@draigBrady.com>
16867
16868         memmem, memmem-simple: reorganize and expand empty needle check
16869         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
16870         functional checks to memmem-simple so that one has a fully functional
16871         memmem by using just this module.
16872         Restrict the performance only check to the memmem module.
16873         Also expand the empty needle check to ensure the correct
16874         pointer is returned, not just a non NULL pointer.
16875         * doc/glibc-functions/memmem.texi: Rearrange the portability
16876         documentation to correlate with the rearranged checks.
16877         Clarify exactly how the memmem and memmem-simple modules
16878         relate to each other.
16879
16880 2010-12-15  Pádraig Brady <P@draigBrady.com>
16881             Bruno Haible  <bruno@clisp.org>
16882
16883         Improve cross-compilation guesses for uClibc.
16884         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
16885         that uClibc does not have the glibc bug.
16886         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
16887         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
16888
16889 2010-12-14  Eric Blake  <eblake@redhat.com>
16890
16891         configmake: provide fallbacks for oldest supported autotools
16892         * m4/configmake.m4: New file.
16893         * modules/configmake (Files): Ship it.
16894         (configure.ac): Use it to guarantee fallbacks.
16895
16896 2010-12-13  Pádraig Brady <P@draigBrady.com>
16897
16898         read-file: Improve handling of large files
16899         * lib/read-file.c (fread_file): Minimize realloc()s
16900         for regular files, and better manage sizes around SIZE_MAX.
16901
16902 2010-12-13  Eric Blake  <eblake@redhat.com>
16903
16904         cloexec, fcntl: relax license
16905         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
16906         consent from all contributors.
16907         * modules/fcntl (License): Likewise.
16908
16909 2010-12-10  Bruno Haible  <bruno@clisp.org>
16910
16911         Tests for module 'pipe-posix'.
16912         * modules/pipe-posix-tests: New file.
16913         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
16914
16915 2010-12-10  Bruno Haible  <bruno@clisp.org>
16916
16917         pipe-posix: Make it work in C++ mode.
16918         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
16919         (pipe): Use common idiom, not a macro definition.
16920         * lib/pipe.c: New file.
16921         * m4/pipe.m4: New file.
16922         * modules/pipe-posix (Description): Enhance.
16923         (Files): Add lib/pipe.c, m4/pipe.m4.
16924         (configure.ac): Invoke gl_FUNC_PIPE.
16925         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
16926         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
16927         * tests/test-unistd-c++.cc: Check the signature of pipe.
16928
16929 2010-12-10  Bruno Haible  <bruno@clisp.org>
16930
16931         Rename module 'pipe' to 'spawn-pipe'.
16932         * modules/spawn-pipe: New file, renamed from modules/pipe.
16933         (Files, configure.ac, Makefile.am): Update.
16934         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
16935         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
16936         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
16937         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
16938         "spawn-pipe.h" instead of "pipe.h".
16939         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
16940         to gl_SPAWN_PIPE.
16941         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
16942         (Files, Makefile.am): Update.
16943         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
16944         Update.
16945         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
16946         Include "spawn-pipe.h" instead of "pipe.h".
16947         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
16948         * lib/javacomp.c: Likewise.
16949         * lib/javaversion.c: Likewise.
16950         * lib/pipe-filter-gi.c: Likewise.
16951         * lib/pipe-filter-ii.c: Likewise.
16952         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
16953         * modules/javacomp (Depends-on): Likewise.
16954         * modules/javaversion (Depends-on): Likewise.
16955         * modules/pipe-filter-gi (Depends-on): Likewise.
16956         * modules/pipe-filter-ii (Depends-on): Likewise.
16957         * MODULES.html.sh (Executing programs): Update.
16958         * NEWS: Mention the change.
16959
16960 2010-12-10  Eric Blake  <eblake@redhat.com>
16961
16962         pipe-posix: new module
16963         * modules/pipe-posix: New file.
16964         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
16965         (gl_UNISTD_H): Check for declaration.
16966         * modules/unistd (Makefile.am): Substitute it.
16967         * lib/unistd.in.h (pipe): Provide it for mingw.
16968         * doc/posix-functions/pipe.texi (pipe): Update documentation.
16969         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
16970
16971 2010-12-07  Bruno Haible  <bruno@clisp.org>
16972
16973         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
16974         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
16975         u8_strcmp_gnu.
16976         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
16977
16978 2010-12-06  Bruno Haible  <bruno@clisp.org>
16979
16980         Update internal documentation.
16981         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
16982
16983 2010-12-04  Bruno Haible  <bruno@clisp.org>
16984
16985         Put more information about failed tests into the test return codes.
16986         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
16987         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
16988         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
16989         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
16990         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
16991         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
16992         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
16993         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
16994         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
16995         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
16996         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
16997         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
16998         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
16999         * m4/stdint.m4 (gl_STDINT_H): Likewise.
17000         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
17001         returns a bit mask.
17002         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
17003         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
17004         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
17005         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
17006         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
17007         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
17008         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
17009         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
17010         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
17011         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
17012         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
17013         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
17014         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
17015         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
17016         * m4/link.m4 (gl_FUNC_LINK): Likewise.
17017         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
17018         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
17019         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
17020         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
17021         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
17022         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
17023         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
17024         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
17025         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
17026         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
17027         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
17028         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
17029         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
17030         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
17031         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
17032         gl_PRINTF_PRECISION): Likewise.
17033         * m4/regex.m4 (gl_REGEX): Likewise.
17034         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
17035         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
17036         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
17037         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
17038         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
17039         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
17040         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
17041         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
17042         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
17043         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
17044         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
17045         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
17046         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
17047         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
17048         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
17049         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
17050         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
17051         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
17052         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
17053         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
17054         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
17055         enumerated value.
17056         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
17057
17058 2010-12-04  Bruno Haible  <bruno@clisp.org>
17059
17060         Update for Solaris 11 2010-11.
17061         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
17062         Express, released in November 2010.
17063
17064 2010-12-04  Bruno Haible  <bruno@clisp.org>
17065
17066         nproc: Relax license.
17067         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
17068         and Paul Eggert.
17069         Requested by Ludovic Courtès <ludo@gnu.org>.
17070
17071 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
17072
17073         utimecmp: fine-grained src to nearby coarse-grained dest
17074
17075         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
17076         and the source is on a file system with higher-resolution time
17077         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
17078         not work, and the time stamps are close together, the algorithm to
17079         determine the exact resolution from the read-back mtime was buggy:
17080         it had a "!=" where it should have had an "==".  This bug has been
17081         in the code ever since it was introduced to gnulib.
17082         Problem reported by Dan Jacobson in
17083         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
17084
17085 2010-11-30  Bruno Haible  <bruno@clisp.org>
17086
17087         strerror_r-posix: Fix autoconf test.
17088         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
17089
17090 2010-11-28  Bruno Haible  <bruno@clisp.org>
17091             Paul Eggert  <eggert@cs.ucla.edu>
17092
17093         Tests for module 'getdomainname'.
17094         * modules/getdomainname-tests: New file.
17095         * tests/test-getdomainname.c: New file, based on
17096         tests/test-gethostname.c.
17097
17098 2010-11-28  Bruno Haible  <bruno@clisp.org>
17099             Paul Eggert  <eggert@cs.ucla.edu>
17100
17101         getdomainname: Use the system function when possible.
17102         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
17103         (getdomainname): Replace if needed. Provide the declaration if it is
17104         missing. Don't use _GL_CXXALIAS_SYS_CAST.
17105         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
17106         (getdomainname): When the system has getdomainname, call the system
17107         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
17108         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
17109         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
17110         found in libnsl. Look for the declaration also in <netdb.h>. Replace
17111         the function if its second argument is of type 'int' or if it is found
17112         in libnsl.
17113         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
17114         <sys/systeminfo.h> and sysinfo().
17115         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
17116         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
17117         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
17118         HAVE_GETDOMAINNAME.
17119         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
17120         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
17121         * doc/glibc-functions/getdomainname.texi: Document the problems with
17122         the getdomainname declaration.
17123
17124 2010-11-28  Bruno Haible  <bruno@clisp.org>
17125
17126         sys_socket: Ensure ss_family field on AIX.
17127         * lib/sys_socket.in.h (ss_family): New macro definition.
17128         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
17129         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
17130         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
17131         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
17132         * modules/sys_socket (Makefile.am): Substitute
17133         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
17134         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
17135
17136 2010-11-27  Bruno Haible  <bruno@clisp.org>
17137
17138         readline: Improve configure output.
17139         * m4/readline.m4 (gl_FUNC_READLINE): Make the
17140         "checking for readline..." result understandable.
17141
17142 2010-11-27  Bruno Haible  <bruno@clisp.org>
17143
17144         *printf-posix: Detect a bug on Solaris 10/x86.
17145         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
17146         for floating-point output.
17147         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
17148         directive.
17149         * tests/test-snprintf-posix.h (test_function): Likewise.
17150         * tests/test-sprintf-posix.h (test_function): Likewise.
17151         * tests/test-vasprintf-posix.c (test_function): Likewise.
17152         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
17153         * doc/posix-functions/printf.texi: Likewise.
17154         * doc/posix-functions/snprintf.texi: Likewise.
17155         * doc/posix-functions/sprintf.texi: Likewise.
17156         * doc/posix-functions/vfprintf.texi: Likewise.
17157         * doc/posix-functions/vprintf.texi: Likewise.
17158         * doc/posix-functions/vsnprintf.texi: Likewise.
17159         * doc/posix-functions/vsprintf.texi: Likewise.
17160         * doc/glibc-functions/obstack_printf.texi: Likewise.
17161         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
17162
17163 2010-11-27  Bruno Haible  <bruno@clisp.org>
17164
17165         Fix link error when module libunistring-optional is in use.
17166         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
17167         * modules/striconveha-tests (Makefile.am): Likewise.
17168
17169 2010-11-27  Bruno Haible  <bruno@clisp.org>
17170
17171         regex: Mention link dependencies.
17172         * modules/regex (Link): New section.
17173         * modules/rpmatch (Link): Likewise.
17174         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
17175
17176 2010-11-27  Bruno Haible  <bruno@clisp.org>
17177
17178         ftoastr: Fix compilation error on Solaris.
17179         * lib/ftoastr.c: Include <config.h>.
17180
17181 2010-11-27  Bruno Haible  <bruno@clisp.org>
17182
17183         getloadavg: Update documentation.
17184         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
17185
17186 2010-11-27  Bruno Haible  <bruno@clisp.org>
17187
17188         sys_socket: Fix test whether the functions are declared.
17189         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
17190         not <sys/select.h>.
17191
17192 2010-11-27  Bruno Haible  <bruno@clisp.org>
17193
17194         getpass: Make sure to get system declaration on some platforms.
17195         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
17196         gl_USE_SYSTEM_EXTENSIONS.
17197         * modules/getpass (Depends-on): Add extensions.
17198
17199 2010-11-26  Bruno Haible  <bruno@clisp.org>
17200
17201         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
17202         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
17203         'iconv' module is present.
17204         (ICONV_CONST): New macro.
17205         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
17206         ICONV_CONST.
17207         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
17208         set ICONV_CONST.
17209         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
17210         here.
17211         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
17212         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
17213         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
17214         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
17215         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
17216         present.
17217
17218 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
17219
17220         ftoastr: comment fix
17221         * lib/ftoastr.c: "little" -> "little or no" in comment
17222
17223 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
17224
17225         stdint: port to GCC 4.3 + OSX + Octave
17226         On this platform, stdint.h is buggy and defines int64_t to long
17227         long int.  The replacement defined it to long int, causing
17228         problems with C++ style name mangling.  Instead, trust the system
17229         definition if INT64_MAX is defined, and likewise for the unsigned
17230         variant.   Problem reported by Jarno Rajahalme in
17231         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
17232         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
17233         and don't mess with int64_t and INT64_MAX in this case.
17234         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
17235
17236 2010-11-24  Bruno Haible  <bruno@clisp.org>
17237
17238         doc: Corrections regarding MacOS X 10.4 and 10.5.
17239         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
17240         MacOS X.
17241         Reported by Simon Josefsson.
17242
17243 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
17244
17245         Uninstall ".bin" files installed by relocwrapper.
17246         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
17247         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
17248         unless it is already there.
17249
17250 2010-11-21  Bruno Haible  <bruno@clisp.org>
17251
17252         Update for NetBSD 5.0.
17253         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
17254         NetBSD; the test fails on NetBSD 5.0.
17255         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
17256         about NetBSD.
17257
17258 2010-11-21  Bruno Haible  <bruno@clisp.org>
17259
17260         Update for HP-UX 11.23 and HP-UX 11.31.
17261         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
17262         HP-UX.
17263
17264 2010-11-21  Bruno Haible  <bruno@clisp.org>
17265
17266         Update for MacOS X 10.5.
17267         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
17268         MacOS X; the test fails on MacOS X 10.5.8.
17269         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
17270         about MacOS X.
17271
17272 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
17273
17274         bootstrap: add bootstrap_sync option.
17275         See discussion at
17276         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
17277         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
17278         * build-aux/bootstrap: Accept --bootstrap-sync to update
17279         bootstrap if it is not identical to the local gnulib's
17280         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
17281         enable this by default.  Accept --no-bootstrap-sync to disable
17282         it.
17283
17284 2010-11-20  Bruno Haible  <bruno@clisp.org>
17285
17286         Ensure that <features.h> is included before __GLIBC__ is tested.
17287         * lib/printf-parse.h: Include <features.h>.
17288         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
17289         Reported by Mike Frysinger <vapier@gentoo.org>.
17290
17291         Ensure that <features.h> is included before __GLIBC__ is tested.
17292         * lib/wchar.in.h: Include <features.h>.
17293         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
17294         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
17295         Reported by Mike Frysinger <vapier@gentoo.org>.
17296
17297         Ensure that <features.h> is included before __GLIBC__ is tested.
17298         * lib/arpa_inet.in.h: Include <features.h>.
17299         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
17300         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
17301         Reported by Mike Frysinger <vapier@gentoo.org>.
17302
17303         Ensure that <features.h> is included before __GLIBC__ is tested.
17304         * build-aux/link-warning.h: Include <features.h>.
17305         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
17306         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
17307         Reported by Mike Frysinger <vapier@gentoo.org>.
17308
17309         Ensure that <features.h> is included before __GLIBC__ is tested.
17310         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
17311         Reported by Mike Frysinger <vapier@gentoo.org>.
17312
17313 2010-11-20  Bruno Haible  <bruno@clisp.org>
17314
17315         memmem: Fix autoconf test.
17316         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
17317
17318 2010-11-20  Bruno Haible  <bruno@clisp.org>
17319
17320         Port to uClibc.
17321         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
17322         * lib/fcntl.in.h: Likewise.
17323         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
17324         * lib/mbrtowc.c (mbrtowc): Likewise.
17325         * lib/relocatable.c (find_shared_library_fullname): Likewise.
17326         * lib/strerror_r.c: Likewise.
17327         * lib/unistr/u8-strnlen.c: Likewise.
17328         * lib/vasnprintf.c (decimal_point_char): Likewise.
17329         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
17330         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
17331         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
17332         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
17333         * tests/test-sigaction.c (handler, main): Likewise.
17334         * lib/freading.h: Treat uClibc like a non-glibc platform.
17335         * lib/freading.c: Likewise.
17336         * lib/gettext.h: Likewise.
17337         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
17338         Likewise.
17339         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
17340         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
17341         * lib/propername.c (proper_name_utf8): Likewise.
17342         * lib/spawn.in.h: Likewise.
17343         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
17344         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
17345         mem_cd_iconveh_internal): Likewise.
17346         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
17347         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
17348         strstr, strcasestr): Likewise.
17349         * lib/unicodeio.c (unicode_to_mb): Likewise.
17350         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
17351         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
17352         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
17353         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
17354         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
17355         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
17356         * lib/unistr/u8-stpncpy.c: Likewise.
17357         * lib/vasnprintf.c (VASNPRINTF): Likewise.
17358         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
17359         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
17360         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
17361         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
17362         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
17363         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
17364         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
17365         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
17366         Likewise.
17367         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
17368         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
17369         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
17370         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
17371         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
17372         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
17373         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
17374         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
17375         * tests/test-getopt.h (OPTIND_MIN): Likewise.
17376         * tests/test-striconveha.c (main): Likewise.
17377         * tests/test-vasnprintf-posix.c (test_function): Likewise.
17378         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
17379         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
17380         * doc/posix-functions/getline.texi: Likewise.
17381         Reported by Mike Frysinger <vapier@gentoo.org>.
17382
17383 2010-11-20  Bruno Haible  <bruno@clisp.org>
17384
17385         nproc: Fix condition.
17386         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
17387         HAVE_PTHREAD_AFFINITY_NP.
17388
17389 2010-11-20  Bruno Haible  <bruno@clisp.org>
17390
17391         Fix a comment.
17392         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
17393
17394 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
17395
17396         ftoastr: don't assume snprintf
17397         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
17398         Implement a subset of snprintf here, by using sprintf safely.
17399         * modules/ftoastr (Depends-on): Remove snprintf.
17400
17401 2010-11-19  Jim Meyering  <meyering@redhat.com>
17402
17403         test-rename.h: fix compilation failure
17404         * tests/test-rename.h (test_rename): Add omitted "}".
17405
17406 2010-11-17  Jim Meyering  <meyering@redhat.com>
17407
17408         maint.mk: add a URL discussing the no-@acronym policy
17409         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
17410
17411 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
17412
17413         ftoastr: depend on snprintf, improve comments
17414         * lib/ftoastr.c: Also mention Loitsch's draft.
17415         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
17416         needed in the current implementation, but it might simplify
17417         speeding up the code later.
17418         * modules/ftoastr: Depend on snprintf; this improves portability.
17419         Suggested by Bruno Haible in the same email.
17420
17421         ftoastr: port to hosts lacking strtof and strtold
17422         Problem reported by Bruno Haible in
17423         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
17424         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
17425         environment and strtold (and presumably strtof) are not available.
17426         * modules/ftoastr (Files): Add m4/c-strtod.m4.
17427         (configure.ac): Require gl_C99_STRTOLD.
17428
17429 2010-11-18  Bruno Haible  <bruno@clisp.org>
17430
17431         c-strtold: Avoid link error on AIX 7.
17432         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
17433         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
17434         (gl_C_STRTOLD): Test whether strtold_l exists.
17435         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
17436
17437 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
17438
17439         intprops: new macro INT_BITS_STRLEN_BOUND
17440         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
17441         ftoastr.h.  This exposes an internal of intprops.h that was formerly
17442         not exposed.  Also, it uses a slightly tighter bound than before;
17443         though this makes no practical difference, we might as well be as
17444         tight as we easily can.
17445
17446         ftoastr: new module, for lossless conversion of floats to short strings
17447         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
17448         * modules/ftoastr: New files.
17449
17450 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
17451
17452         bootstrap: port to Solaris sed
17453         * build-aux/bootstrap (get_version): Port to Solaris sed.
17454         See Ralf Wildenhues's note in
17455         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
17456
17457 2010-11-14  Jim Meyering  <meyering@redhat.com>
17458
17459         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
17460         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
17461         and move definition closer to sole use.
17462
17463 2010-11-13  Jim Meyering  <meyering@redhat.com>
17464
17465         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
17466         Now we require at least autoconf-2.59, which means the work-around
17467         is no longer needed.
17468         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
17469         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
17470         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
17471         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
17472         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
17473
17474 2010-11-13  Bruno Haible  <bruno@clisp.org>
17475
17476         rename, renameat: Avoid test failures at NFS mounted locations.
17477         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
17478         functions.
17479         (test_rename): Use assert_nonexistent.
17480         * tests/test-rename.c: Include <dirent.h>.
17481         * tests/test-renameat.c: Likewise.
17482         Reported by Gary V. Vaughan <gary@gnu.org>.
17483
17484         rename, renameat: Document Linux bug with NFS
17485         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
17486         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
17487         * doc/posix-functions/renameat.texi: Likewise.
17488         Suggested by Eric Blake.
17489
17490 2010-11-13  Bruno Haible  <bruno@clisp.org>
17491
17492         rename test: Add comments.
17493         * tests/test-rename.h (test_rename): Add structure and comments.
17494
17495 2010-11-13  Eric Blake  <eblake@redhat.com>
17496
17497         maintainer-makefile: cover a few more files
17498         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
17499         scripts generated within C files, for libvirt.
17500
17501 2010-11-13  Bruno Haible  <bruno@clisp.org>
17502
17503         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
17504         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
17505         character, return the number of bytes that belong together, not always
17506         1.
17507         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
17508         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
17509         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
17510         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
17511         number of bytes of an invalid character.
17512         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
17513         (main): Invoke it.
17514         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
17515         results.
17516         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
17517         malformed byte sequences.
17518         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
17519         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
17520         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
17521         Reported by Ben Pfaff and Paolo Bonzini.
17522
17523 2010-11-13  Bruno Haible  <bruno@clisp.org>
17524
17525         openat: Work around glibc bug with fchownat() and empty file names.
17526         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
17527         (gl_FUNC_FCHOWNAT): Invoke it.
17528         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
17529         * doc/posix-functions/fchownat.texi: Document the glibc bug.
17530         Reported by Gary V. Vaughan <gary@gnu.org>.
17531
17532 2010-11-13  Bruno Haible  <bruno@clisp.org>
17533
17534         openat: Ensure autoconf macro ordering.
17535         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
17536         gl_USE_SYSTEM_EXTENSIONS.
17537         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
17538
17539 2010-11-13  Bruno Haible  <bruno@clisp.org>
17540
17541         Update comments.
17542         * lib/unistr/u8-check.c: Update file name in comments.
17543         * lib/unistr/u8-mblen.c: Likewise.
17544         * lib/unistr/u8-prev.c: Likewise.
17545         * lib/unistr/u8-strmblen.c: Likewise.
17546         * lib/unistr/u8-strmbtouc.c: Likewise.
17547
17548 2010-11-13  Jim Meyering  <meyering@redhat.com>
17549
17550         tests: avoid test failure on Solaris 10 due to lack of PATH export
17551         * tests/test-update-copyright.sh: Don't forget to export PATH.
17552
17553         init.sh: ensure that IFS is defined, just in case...
17554         * tests/init.sh (setup_): Ensure that IFS is defined,
17555         so that saving and restoring it works as expected.  This
17556         appears to be useful at least for an old version of dash
17557         from a long time ago (RH 6).  See here for details:
17558         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
17559
17560         maint.mk: tighten "test a == b" check
17561         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
17562         test to files that contain something like #!/bin/sh.
17563         Without this, coreutils would get two false positives in
17564         the comments of C source files.
17565
17566 2010-11-12  Eric Blake  <eblake@redhat.com>
17567
17568         bootstrap: fix typo in previous attempt
17569         * build-aux/bootstrap (buildreq): Correct the grouping.
17570         Reported by Paul Eggert.
17571
17572         maintainer-makefile: prohibit test x == x
17573         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
17574         Based on a report by Matthias Bolte.
17575
17576         bootstrap: allow FreeBSD gzip
17577         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
17578         which has no '.' and goes to stderr.
17579         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
17580         Reported by Matthias Bolte.
17581
17582         maintainer-makefile: check for i18n setup
17583         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
17584         will likely work.
17585
17586 2010-11-12  Bruno Haible  <bruno@clisp.org>
17587
17588         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
17589         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
17590         * lib/nanosleep.c (nanosleep): Likewise.
17591
17592 2010-11-11  Bruno Haible  <bruno@clisp.org>
17593
17594         fcntl-h: Fix for use of C++ on glibc systems.
17595         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
17596         also on glibc systems in C++ mode.
17597         Reported by Gary V. Vaughan <gary@gnu.org>.
17598
17599 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
17600
17601         mknod: avoid false failure with dash
17602         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
17603
17604 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
17605
17606         unlink: Fix "is it should" typo in diagnostic.
17607         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
17608         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
17609
17610 2010-11-11  Bruno Haible  <bruno@clisp.org>
17611
17612         Tests for module 'strerror_r-posix'.
17613         * modules/strerror_r-posix-tests: New file.
17614         * tests/test-strerror_r.c: New file.
17615         * tests/test-string-c++.cc: Check the signature of strerror_r.
17616
17617         New module 'strerror_r-posix'.
17618         * lib/string.in.h (strerror_r): New declaration.
17619         * lib/strerror_r.c: New file.
17620         * m4/strerror_r.m4: New file.
17621         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
17622         of strerror_r.
17623         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
17624         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
17625         * modules/strerror_r-posix: New file.
17626         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
17627         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
17628         * doc/posix-functions/strerror_r.texi: Mention the new module and the
17629         portability problems.
17630
17631 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
17632
17633         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
17634         line is also considered for output. Quoted function name in shell
17635         command, so temporary files for functions like MyClass::operator()
17636         are removed correctly without errors.
17637
17638 2010-11-09  Bruno Haible  <bruno@clisp.org>
17639
17640         * doc/posix-functions/strerror.texi: List more failing platforms.
17641
17642         * doc/posix-functions/strerror.texi: Add a comment.
17643
17644 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
17645
17646         fdopendir: fix bug on MacOS X when low on file descriptors
17647
17648         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
17649         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
17650         All callers changed.
17651         (fdopendir): Invoke save_cwd at the top level, not after using
17652         multiple dup() calls to use up file descriptors.  Then retry
17653         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
17654         less than the maximum number of open file descriptors, because
17655         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
17656         on Mac OS X 10.6.4 for tar 1.24
17657         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
17658         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
17659         and for tar 1.25
17660         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
17661
17662 2010-11-07  Bruno Haible  <bruno@clisp.org>
17663
17664         vasnprintf: Support I flag on glibc systems.
17665         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
17666         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
17667         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
17668         snprintf function.
17669         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
17670         glibc systems.
17671         * tests/test-vasnprintf-posix3.c: New file.
17672         * modules/vasnprintf-posix-tests (Files): Add it.
17673         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
17674
17675 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
17676
17677         [html] Fix copy/paste bug: Use unique name for compiler warnings.
17678         * MODULES.html.sh: For compiler warnings, use name
17679         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
17680
17681 2010-11-05  Eric Blake  <eblake@redhat.com>
17682
17683         ceil, floor: avoid spurious failure with icc
17684         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
17685         [denormals-as-zero] when optimizing without -mieee-fp option.
17686         * tests/test-floorf2.c (floorf_reference): Likewise.
17687         * tests/test-ceilf1.c (dummy): New function.
17688         (main): Use it to outsmart icc's optimization.
17689         * tests/test-floorf1.c (dummy, main): Likewise.
17690
17691         tests: require working signbit
17692         * modules/ceilf-tests (Depends-on): Add signbit.
17693         * modules/ceill-tests (Depends-on): Likewise.
17694         * modules/floorf-tests (Depends-on): Likewise.
17695         * modules/floorl-tests (Depends-on): Likewise.
17696         * modules/round-tests (Depends-on): Likewise.
17697         * modules/roundf-tests (Depends-on): Likewise.
17698         * modules/roundl-tests (Depends-on): Likewise.
17699         * modules/trunc-tests (Depends-on): Likewise.
17700         * modules/truncf-tests (Depends-on): Likewise.
17701         * modules/truncl-tests (Depends-on): Likewise.
17702
17703         strtod: work around icc bug
17704         * lib/strtod.c (minus_zero): Define to working value.
17705         (strtod): Use it to avoid icc bug.
17706
17707         copysign: enhance tests
17708         * modules/copysign-tests (Files): Add minus-zero.h.
17709         * tests/test-copysign.c (main): Also test zeros.
17710
17711 2010-11-04  Eric Blake  <eblake@redhat.com>
17712
17713         ceil, floor, round, trunc: enhance tests of -0
17714         * tests/test-ceilf1.c (main): Ensure correct sign of result.
17715         * tests/test-ceill.c (main): Likewise.
17716         * tests/test-floorf1.c (main): Likewise.
17717         * tests/test-floorl.c (main): Likewise.
17718         * tests/test-round1.c (main): Likewise.
17719         * tests/test-roundf1.c (main): Likewise.
17720         * tests/test-roundl.c (main): Likewise.
17721         * tests/test-trunc1.c (main): Likewise.
17722         * tests/test-truncf1.c (main): Likewise.
17723         * tests/test-truncl.c (main): Likewise.
17724
17725 2010-11-04  Eric Blake  <eblake@redhat.com>
17726
17727         frexp, tests: work around ICC bug with -zero
17728         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
17729         works with more compilers.
17730         * tests/minus-zero.h: New file.
17731         * modules/ceilf-tests (Files): Include it.
17732         * modules/ceill-tests (Files): Likewise.
17733         * modules/floorf-tests (Files): Likewise.
17734         * modules/floorl-tests (Files): Likewise.
17735         * modules/frexp-nolibm-tests (Files): Likewise.
17736         * modules/frexp-tests (Files): Likewise.
17737         * modules/frexpl-nolibm-tests (Files): Likewise.
17738         * modules/frexpl-tests (Files): Likewise.
17739         * modules/isnan-tests (Files): Likewise.
17740         * modules/isnand-nolibm-tests (Files): Likewise.
17741         * modules/isnand-tests (Files): Likewise.
17742         * modules/isnanf-nolibm-tests (Files): Likewise.
17743         * modules/isnanf-tests (Files): Likewise.
17744         * modules/isnanl-nolibm-tests (Files): Likewise.
17745         * modules/isnanl-tests (Files): Likewise.
17746         * modules/round-tests (Files): Likewise.
17747         * modules/roundf-tests (Files): Likewise.
17748         * modules/roundl-tests (Files): Likewise.
17749         * modules/ldexpl-tests (Files): Likewise.
17750         * modules/signbit-tests (Files): Likewise.
17751         * modules/snprintf-posix-tests (Files): Likewise.
17752         * modules/sprintf-posix-tests (Files): Likewise.
17753         * modules/strtod-tests (Files): Likewise.
17754         * modules/trunc-tests (Files): Likewise.
17755         * modules/truncf-tests (Files): Likewise.
17756         * modules/truncl-tests (Files): Likewise.
17757         * modules/vsnprintf-posix-tests (Files): Likewise.
17758         * modules/vsprintf-posix-tests (Files): Likewise.
17759         * modules/vasnprintf-posix-tests (Files): Likewise.
17760         * modules/vasprintf-posix-tests (Files): Likewise.
17761         * tests/test-ceilf1.c (main): Use it.
17762         * tests/test-ceill.c (main): Likewise.
17763         * tests/test-floorf1.c (main): Likewise.
17764         * tests/test-floorl.c (main): Likewise.
17765         * tests/test-frexp.c (main): Likewise.
17766         * tests/test-frexpl.c (main): Likewise.
17767         * tests/test-isnan.c (main): Likewise.
17768         * tests/test-isnand.h (main): Likewise.
17769         * tests/test-isnanf.h (main): Likewise.
17770         * tests/test-isnanl.h (main): Likewise.
17771         * tests/test-ldexpl.c (main): Likewise.
17772         * tests/test-round.c (main): Likewise.
17773         * tests/test-roundf.c (main): Likewise.
17774         * tests/test-roundl.c (main): Likewise.
17775         * tests/test-signbit.c (test_signbitf, test_signbitd)
17776         (test_signbitl): Likewise.
17777         * tests/test-snprintf-posix.h (test_function): Likewise.
17778         * tests/test-sprintf-posix.h (test_function): Likewise.
17779         * tests/test-strtod.c (main): Likewise.
17780         * tests/test-trunc1.c (main): Likewise.
17781         * tests/test-truncf1.c (main): Likewise.
17782         * tests/test-truncl.c (main): Likewise.
17783
17784         isnanl: work around icc bug
17785         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
17786
17787 2010-11-03  Eric Blake  <eblake@redhat.com>
17788
17789         tests: fix compiler warnings
17790         * tests/test-getopt.h (test_getopt): Fix condition.
17791         * tests/test-getopt_long.h (test_getopt_long): Likewise.
17792         * tests/test-pipe2.c (main): Likewise.
17793         * tests/test-quotearg-simple.c (main): Avoid icc warning.
17794
17795         utimens: fix broken m4 test
17796         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
17797
17798 2010-10-28  Bruno Haible  <bruno@clisp.org>
17799
17800         posix_spawn*, getdtablesize: Relax license.
17801         * modules/posix_spawn (License): Change to LGPLv2+.
17802         * modules/posix_spawnp (License): Likewise.
17803         * modules/posix_spawn-internal (License): Likewise.
17804         * modules/posix_spawnattr_init (License): Likewise.
17805         * modules/posix_spawnattr_getflags (License): Likewise.
17806         * modules/posix_spawnattr_setflags (License): Likewise.
17807         * modules/posix_spawnattr_getpgroup (License): Likewise.
17808         * modules/posix_spawnattr_setpgroup (License): Likewise.
17809         * modules/posix_spawnattr_getschedparam (License): Likewise.
17810         * modules/posix_spawnattr_setschedparam (License): Likewise.
17811         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
17812         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
17813         * modules/posix_spawnattr_getsigdefault (License): Likewise.
17814         * modules/posix_spawnattr_setsigdefault (License): Likewise.
17815         * modules/posix_spawnattr_getsigmask (License): Likewise.
17816         * modules/posix_spawnattr_setsigmask (License): Likewise.
17817         * modules/posix_spawnattr_destroy (License): Likewise.
17818         * modules/posix_spawn_file_actions_init (License): Likewise.
17819         * modules/posix_spawn_file_actions_addclose (License): Likewise.
17820         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
17821         * modules/posix_spawn_file_actions_addopen (License): Likewise.
17822         * modules/posix_spawn_file_actions_destroy (License): Likewise.
17823         * modules/getdtablesize (License): Likewise.
17824         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
17825
17826 2010-10-26  Bruno Haible  <bruno@clisp.org>
17827
17828         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
17829         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
17830         Cygwin and mingw.
17831         Suggested by Eric Blake.
17832
17833 2010-10-26  Bruno Haible  <bruno@clisp.org>
17834
17835         stdio: Work around compilation error due to renameat() on Solaris 10.
17836         * lib/stdio.in.h: Include <unistd.h> on Solaris.
17837         * lib/renameat.c: Don't include <unistd.h> here.
17838         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
17839         Reported by Paul Eggert and Eric Blake.
17840
17841 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
17842
17843         renameat: port to Solaris 10, which declares renameat in unistd.h
17844
17845         * lib/renameat.c: Include unistd.h before stdio.h, because
17846         Solaris 10 declares renameat in unistd.h.  Problem encountered
17847         when building GNU tar 1.24 on Solaris 10.
17848
17849 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
17850
17851         fdopendir: fix C89 compilation
17852         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
17853         compilers.
17854
17855 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
17856
17857         inttostr: simplify by removing unnecessary redundancy
17858         * lib/anytostr.c: Don't include verify.h.
17859         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
17860         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
17861         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
17862         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
17863         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
17864         Likewise.
17865         * modules/inttostr (Depends-on): Remove 'verify'.
17866
17867 2010-10-23  Bruno Haible  <bruno@clisp.org>
17868
17869         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
17870         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
17871         Reported by Eric Blake.
17872
17873 2010-10-23  Bruno Haible  <bruno@clisp.org>
17874
17875         Tests: Fix LOCALE_JA on MirBSD 10.
17876         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
17877         to an UTF-8 locale.
17878         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
17879         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
17880         Reported by Eric Blake.
17881
17882 2010-10-21  Bruno Haible  <bruno@clisp.org>
17883
17884         nl_langinfo test: Avoid test failure on NetBSD 5.
17885         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
17886         Reported by Eric Blake.
17887
17888 2010-10-21  Eric Blake  <eblake@redhat.com>
17889
17890         c-stack: work around libsigsegv 2.8 bug
17891         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
17892         overflow on at least PowerPC64.
17893
17894 2010-10-17  Bruno Haible  <bruno@clisp.org>
17895
17896         userspec: Drop redundant file.
17897         * modules/userspec (Files): Remove lib/inttostr.h.
17898
17899 2010-10-17  Bruno Haible  <bruno@clisp.org>
17900
17901         nl_langinfo tests: Silence some warnings.
17902         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
17903         Reported by Jim Meyering.
17904
17905 2010-10-17  Bruno Haible  <bruno@clisp.org>
17906
17907         Make use of GCC's attribute __alloc_size__.
17908         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
17909         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
17910         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
17911         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
17912         __alloc_size__.
17913         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
17914         Suggested by Jim Meyering.
17915
17916 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
17917
17918         bootstrap: anchor .gitignore entries.
17919         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
17920         with...
17921         (insert_vc_ignore): ... this new function, which prepends `/' to
17922         all .gitignore entries before passing them to
17923         insert_sorted_if_absent.
17924
17925 2010-10-16  Bruno Haible  <bruno@clisp.org>
17926
17927         nextafter: Fix configure check.
17928         * modules/nextafter (configure.ac): Correct expected prototype.
17929
17930 2010-10-16  Bruno Haible  <bruno@clisp.org>
17931
17932         termios: Update documentation.
17933         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
17934
17935 2010-10-16  Bruno Haible  <bruno@clisp.org>
17936
17937         tests: Make them compile with TinyCC.
17938         * tests/test-strstr.c (main): Remove parentheses around array
17939         initializer.
17940
17941 2010-10-15  Eric Blake  <eblake@redhat.com>
17942
17943         ignore-value: make header idempotent
17944         * lib/ignore-value.h: Add double-inclusion guards.
17945         Reported by Stefan Berger.
17946
17947 2010-10-15  Jim Meyering  <meyering@redhat.com>
17948
17949         GNUmakefile: handle "stable" target, not "major"
17950         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
17951         lists in maint.mk and announce-gen.  Without this, "make stable"
17952         would fail to ensure that $(VERSION) is up to date.
17953
17954 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
17955
17956         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
17957         & co.
17958
17959 2010-10-14  Bruno Haible  <bruno@clisp.org>
17960
17961         vasnprintf: Don't set errno to 0.
17962         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
17963         block that sets it to 0.
17964         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
17965
17966 2010-10-14  Bruno Haible  <bruno@clisp.org>
17967
17968         socketlib: Fix.
17969         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
17970         gl_PREREQ_SYS_H_WINSOCK2.
17971         Reported by Ian Beckwith <ianb@erislabs.net>.
17972
17973 2010-10-13  Jim Meyering  <meyering@redhat.com>
17974
17975         test-select-stdin.c: avoid warn_unused_result warnings
17976         * tests/test-select-stdin.c: Include "macros.h".
17977         ASSERT that read and fflush succeed.
17978
17979 2010-10-13  Jim Meyering  <meyering@redhat.com>
17980
17981         git-version-gen: do require git-VC'd files in cwd
17982         * build-aux/git-version-gen: Reject a git version string
17983         if there are no commits associated with the current directory.
17984         This avoids an unlikely false-positive (unrelated dir whose parent
17985         repository also contains a tag matching v*), as pointed out
17986         by Giuseppe Scrivano in
17987         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
17988
17989 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
17990
17991         argv-iter: omit nonconforming declaration
17992         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
17993         enum arg_iter_err declaration, which doesn't conform to C99.
17994         Solaris 10 cc warns about this.
17995
17996 2010-10-13  Eric Blake  <eblake@redhat.com>
17997
17998         termios: fix compilation on mingw
17999         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
18000         (gl_TERMIOS_H): Adjust it on mingw.
18001         * modules/termios (Makefile.am): Substitute new key.
18002         * lib/termios.in.h (includes): Make include_next conditional.
18003         * doc/posix-headers/termios.texi (termios.h): Update
18004         documentation.
18005         Reported by Daniel P. Berrange.
18006
18007 2010-10-13  Jim Meyering  <meyering@redhat.com>
18008
18009         git-version-gen: don't require that .git/ be in the current dir
18010         * build-aux/git-version-gen: Adjust this script so that it works
18011         when run from any working directory beneath the top-level .git/-
18012         containing directory.  Inspired by a patch from Giuseppe Scrivano,
18013         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
18014
18015         test-select: avoid warn_unused_result warnings
18016         * tests/test-select.c: Include "macros.h".
18017         ASSERT that each call to read, write, and pipe succeeds.
18018         While not technically required, also check each "close".
18019         * modules/select-tests (Files): Add tests/macros.h.
18020
18021         test-symlinkat: remove declaration of unused local
18022         * tests/test-symlinkat.c (main): Remove unused local, "buf".
18023
18024         test-inttostr: avoid shadowing warnings
18025         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
18026         and use malloc rather than the stack for the same reason as
18027         mentioned in the comment justifying the other allocation.
18028
18029 2010-10-11  Bruno Haible  <bruno@clisp.org>
18030
18031         stdlib: Allow multiple gnulib generated replacements to coexist.
18032         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
18033         Reported by Sam Steingold <sds@gnu.org>.
18034
18035 2010-10-11  Jim Meyering  <meyering@redhat.com>
18036
18037         fix a documentation typo
18038         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
18039
18040 2010-10-11  Eric Blake  <eblake@redhat.com>
18041
18042         futimens: work around Solaris 11 bug
18043         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
18044         * tests/test-futimens.h (test_futimens): Enhance, rather than
18045         weaken test.
18046         * doc/posix-functions/futimens.texi (futimens): Document the bug.
18047
18048 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
18049
18050         Indentation.
18051         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
18052         higher-level operators more to the left.
18053
18054 2010-10-11  Jim Meyering  <meyering@redhat.com>
18055
18056         test-futimens: avoid unwarranted test failure on Solaris 5.11
18057         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
18058         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
18059         because it tries to dereference the NULL name argument.
18060
18061 2010-10-11  Bruno Haible  <bruno@clisp.org>
18062
18063         Indentation.
18064         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
18065         indentation.
18066
18067 2010-10-11  Jim Meyering  <meyering@redhat.com>
18068
18069         spawn.in.h: make indentation consistent with parentheses
18070         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
18071         Make indentation consistent with parentheses.
18072
18073 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
18074
18075         Fix mismatched parens in previous commit
18076         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
18077         parens.
18078
18079 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
18080
18081         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
18082
18083         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
18084         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
18085         * lib/malloca.c: Include "verify.h".
18086         (verify1): Remove, replacing with a verify call.
18087         * lib/relocwrapper.c (verify1): Likewise.
18088         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
18089         Likewise.
18090         * modules/malloca (Depends-on): Add 'verify'.
18091         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
18092         * modules/vasnprintf (Depends-on): Add 'verify'.
18093         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
18094         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
18095         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
18096         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
18097         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
18098         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
18099         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
18100
18101         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
18102
18103         Formerly the style was sometimes 2*X - 1, because the C standard
18104         was wrongly thought to disallow ?: in integral constant expressions.
18105         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
18106         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
18107         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
18108         * lib/stdint.in.h (_verify_intmax_size): Likewise.
18109         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
18110         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
18111         verify that time_t cannot be floating.
18112
18113 2010-10-08  Eric Blake  <eblake@redhat.com>
18114
18115         time: enforce recent POSIX ruling that time_t is integral
18116         * lib/time.in.h (__time_t_must_be_integral): Detect any
18117         problematic systems, allowing the rest of gnulib to assume POSIX.
18118
18119 2010-10-08  Jim Meyering  <meyering@redhat.com>
18120
18121         fdopendir: fix a bug on systems lacking openat and /proc support
18122         OpenBSD 4.7 is one such system.  The most noticeable effect was
18123         failure of any application making nontrivial use of fts: rm, du,
18124         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
18125           ./rm: traversal failed: `a': Bad file descriptor
18126         Debugging that, you see that even though FD 6 was closed just
18127         prior to the opendir call in fd_clone_opendir, its resulting
18128         dir->dd_fd was 8, rather than the expected value of 6:
18129
18130         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
18131         93                close (fd);
18132         (gdb) n
18133         94                dir = fd_clone_opendir (dupfd);
18134         (gdb) n
18135         95                saved_errno = errno;
18136         (gdb) p dir->dd_fd
18137         $11 = 8
18138
18139         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
18140         The problem is that on OpenBSD, fd_clone_opendir has to resort
18141         to using the old-style save/restore CWD mechanism, due to its
18142         lack of openat/proc support, and *that* would steal the FD (6)
18143         that opendir was supposed to use.
18144
18145         The fix is to squirrel away the desired FD so that save_cwd uses a
18146         different one, and then free the dest FD right before calling opendir.
18147         That guarantees opendir will use the required file descriptor.
18148
18149         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
18150
18151 2010-10-08  Bruno Haible  <bruno@clisp.org>
18152
18153         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
18154         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
18155
18156 2010-10-08  Bruno Haible  <bruno@clisp.org>
18157
18158         nanosleep: Make replacement POSIX compliant.
18159         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
18160         is out of range.
18161         Reported by Jim Meyering.
18162
18163 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
18164
18165         bootstrap: add hook for altering gnulib.mk, for Bison
18166         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
18167         the Bison bootstrapping process can rewrite file names and variables
18168         in this file before later parts of 'bootstrap' use the file.
18169         Bison wants to include lib/gnulib.mk from the top-level makefile,
18170         so it needs the file names in this file to be relative to the top
18171         level, not relative to lib; plus it needs variable names to be
18172         rewritten.
18173         (slurp): Use the new function.
18174
18175         bootstrap: reformat for readability
18176         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
18177
18178 2010-10-08  Eric Blake  <eblake@redhat.com>
18179
18180         docs: update cygwin progress
18181         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
18182         1.7.7.
18183         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
18184         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
18185         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
18186         * doc/posix-functions/carg.texi (carg): Likewise.
18187         * doc/posix-functions/cargf.texi (cargf): Likewise.
18188         * doc/posix-functions/casin.texi (casin): Likewise.
18189         * doc/posix-functions/casinf.texi (casinf): Likewise.
18190         * doc/posix-functions/casinh.texi (casinh): Likewise.
18191         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
18192         * doc/posix-functions/catan.texi (catan): Likewise.
18193         * doc/posix-functions/catanf.texi (catanf): Likewise.
18194         * doc/posix-functions/catanh.texi (catanh): Likewise.
18195         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
18196         * doc/posix-functions/ccos.texi (ccos): Likewise.
18197         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
18198         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
18199         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
18200         * doc/posix-functions/cexp.texi (cexp): Likewise.
18201         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
18202         * doc/posix-functions/cimag.texi (cimag): Likewise.
18203         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
18204         * doc/posix-functions/clog.texi (clog): Likewise.
18205         * doc/posix-functions/clogf.texi (clogf): Likewise.
18206         * doc/posix-functions/conj.texi (conj): Likewise.
18207         * doc/posix-functions/conjf.texi (conjf): Likewise.
18208         * doc/posix-functions/cpow.texi (cpow): Likewise.
18209         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
18210         * doc/posix-functions/cproj.texi (cproj): Likewise.
18211         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
18212         * doc/posix-functions/creal.texi (creal): Likewise.
18213         * doc/posix-functions/crealf.texi (crealf): Likewise.
18214         * doc/posix-functions/csin.texi (csin): Likewise.
18215         * doc/posix-functions/csinf.texi (csinf): Likewise.
18216         * doc/posix-functions/csinh.texi (csinh): Likewise.
18217         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
18218         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
18219         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
18220         * doc/posix-functions/ctan.texi (ctan): Likewise.
18221         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
18222         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
18223         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
18224         * doc/posix-headers/complex.texi (complex.h): Likewise.
18225
18226 2010-10-07  Jim Meyering  <meyering@redhat.com>
18227
18228         parse-datetime: avoid compilation failure on OpenBSD 4.7
18229         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
18230         This works around a compilation failure on OpenBSD 4.7:
18231         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
18232
18233 2010-10-07  Eric Blake  <eblake@redhat.com>
18234
18235         docs: update cygwin progress
18236         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
18237         1.7.6.
18238         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
18239         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
18240         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
18241         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
18242         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
18243         Likewise.
18244         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
18245         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
18246         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
18247         Likewise.
18248         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
18249         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
18250         Likewise.
18251         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
18252         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
18253         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
18254         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
18255         Likewise.
18256         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
18257         Likewise.
18258         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
18259
18260         docs: update parse-datetime history
18261         * doc/parse-datetime.texi (Authors of parse_datetime): Better
18262         documentation of this function's history and alternatives.
18263
18264         cygwin: use more robust version check
18265         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
18266         exclude an eventual cygwin 1.9.1.
18267         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
18268         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
18269         (gl_FUNC_STRCASESTR): Likewise.
18270         Reported by Bruno Haible.
18271
18272 2010-10-06  Bruno Haible  <bruno@clisp.org>
18273
18274         string, sys_select: Avoid #including large headers unless necessary.
18275         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
18276         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
18277         OSF/1, BeOS, Haiku.
18278         Reported by Jim Meyering.
18279
18280 2010-10-05  Eric Blake  <eblake@redhat.com>
18281
18282         memmem, strstr, strcasestr: fix bug with long periodic needle
18283         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
18284         periodic needle having false positive.
18285         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
18286         and cygwin 1.7.7.
18287         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
18288         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
18289         (gl_FUNC_STRCASESTR): Likewise.
18290         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
18291         * tests/test-memmem.c (main): Expose the bug.
18292         * tests/test-strcasestr.c (main): Likewise.
18293         * tests/test-strstr.c (main): Likewise.
18294         * tests/test-c-strcasestr.c (main): Likewise.
18295         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
18296         * doc/posix-functions/strstr.texi (strstr): Likewise.
18297         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
18298         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
18299
18300 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
18301
18302         parse-datetime: do some more renaming
18303         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
18304         parse_datetime, not get_date.  Mention the renaming.
18305         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
18306         in comments.
18307         * m4/bison.m4: Likewise.
18308
18309 2010-10-05  Eric Blake  <eblake@redhat.com>
18310
18311         parse-datetime: better name than get_date
18312         * NEWS: Reword the deprecation notice.
18313         * modules/get_date: Rename to modules/parse-datetime.
18314         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
18315         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
18316         * lib/get_date.y: Rename to lib/parse-datetime.y.
18317         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
18318         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
18319         * doc/getdate.texi: Provide fallback wrapper.
18320         * lib/getdate.h: Move guts, and wrap...
18321         * lib/parse-datetime.h: ...new file.
18322         * lib/parse-datetime.y (get_date): Rename...
18323         (parse_datetime): ...to this.
18324         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
18325         (gl_PARSE_DATETIME): ...to this.
18326         * doc/posix-functions/getdate.texi (get_date): Provide fallback
18327         documentation.
18328         * modules/getdate (Files): Provide fallback docs and header.
18329         (Notice, Depends-on): Update references.
18330         * tests/test-parse-datetime.c: Likewise.
18331         * DEPENDENCIES: Likewise.
18332         * MODULES.html.sh (Date and time <time.h>): Likewise.
18333         * doc/parse-datetime.texi (Date input formats)
18334         (Authors of parse_datetime): Likewise.
18335         * modules/parse-datetime (Files, configure.ac, Makefile.am)
18336         (Include): Likewise.
18337         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
18338         * gnulib-tool: Likewise.
18339         * m4/bison.m4 (gl_BISON): Likewise.
18340         Suggested by Bruno Haible.
18341
18342 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
18343
18344         more ports to Solaris tr, which needs [] around ranges
18345         * gnulib-tool: Solaris tr needs [] around ranges.
18346         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
18347         * tests/test-pipe-filter-gi1.c (main): Likewise.
18348         * tests/test-pipe-filter-ii1.c (main): Likewise.
18349
18350 2010-10-05  Eric Blake  <eblake@redhat.com>
18351
18352         bootstrap: fix Solaris regression
18353         * build-aux/bootstrap (check_versions): Solaris tr still needs []
18354         around ranges.
18355         Reported by Pádraig Brady.
18356
18357         bootstrap: work with pkg-config
18358         * build-aux/bootstrap (check_versions): Also transliterate - in
18359         prerequisite name.
18360         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
18361         prerequisites that were already found, to avoid confusion.
18362         Reported by Justin Clift.
18363
18364         faccessat: remove unused wrappers
18365         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
18366         presence of these wrappers dragged in -lgen on Solaris.
18367         Reported by Clemens Brogi; fix suggested by Paul Eggert.
18368
18369 2010-10-05  Jim Meyering  <meyering@redhat.com>
18370
18371         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
18372         * Makefile (sc_pragma_columns): New syntax-check rule.
18373
18374 2010-10-04  Bruno Haible  <bruno@clisp.org>
18375
18376         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
18377         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
18378         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
18379         Reported by Bruce Korb and Eric Blake.
18380
18381 2010-10-04  Bruno Haible  <bruno@clisp.org>
18382
18383         threadlib: Make option --with-libpth-prefix work.
18384         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
18385         use $LIBPTH, not just -lpth.
18386
18387 2010-10-04  Bruno Haible  <bruno@clisp.org>
18388
18389         Avoid line length limitation from HP NonStop system header files.
18390         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
18391         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
18392         * lib/ctype.in.h: Likewise.
18393         * lib/dirent.in.h: Likewise.
18394         * lib/errno.in.h: Likewise.
18395         * lib/fcntl.in.h: Likewise.
18396         * lib/float.in.h: Likewise.
18397         * lib/getopt.in.h: Likewise.
18398         * lib/iconv.in.h: Likewise.
18399         * lib/inttypes.in.h: Likewise.
18400         * lib/langinfo.in.h: Likewise.
18401         * lib/locale.in.h: Likewise.
18402         * lib/math.in.h: Likewise.
18403         * lib/netdb.in.h: Likewise.
18404         * lib/netinet_in.in.h: Likewise.
18405         * lib/poll.in.h: Likewise.
18406         * lib/pthread.in.h: Likewise.
18407         * lib/pty.in.h: Likewise.
18408         * lib/sched.in.h: Likewise.
18409         * lib/se-selinux.in.h: Likewise.
18410         * lib/search.in.h: Likewise.
18411         * lib/signal.in.h: Likewise.
18412         * lib/spawn.in.h: Likewise.
18413         * lib/stdarg.in.h: Likewise.
18414         * lib/stddef.in.h: Likewise.
18415         * lib/stdint.in.h: Likewise.
18416         * lib/stdio.in.h: Likewise.
18417         * lib/stdlib.in.h: Likewise.
18418         * lib/string.in.h: Likewise.
18419         * lib/strings.in.h: Likewise.
18420         * lib/sys_file.in.h: Likewise.
18421         * lib/sys_ioctl.in.h: Likewise.
18422         * lib/sys_select.in.h: Likewise.
18423         * lib/sys_socket.in.h: Likewise.
18424         * lib/sys_stat.in.h: Likewise.
18425         * lib/sys_time.in.h: Likewise.
18426         * lib/sys_times.in.h: Likewise.
18427         * lib/sys_utsname.in.h: Likewise.
18428         * lib/sys_wait.in.h: Likewise.
18429         * lib/sysexits.in.h: Likewise.
18430         * lib/termios.in.h: Likewise.
18431         * lib/time.in.h: Likewise.
18432         * lib/unistd.in.h: Likewise.
18433         * lib/wchar.in.h: Likewise.
18434         * lib/wctype.in.h: Likewise.
18435         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
18436         * modules/ctype (Makefile.am): Likewise.
18437         * modules/dirent (Makefile.am): Likewise.
18438         * modules/errno (Makefile.am): Likewise.
18439         * modules/fcntl-h (Makefile.am): Likewise.
18440         * modules/float (Makefile.am): Likewise.
18441         * modules/getopt-posix (Makefile.am): Likewise.
18442         * modules/iconv-h (Makefile.am): Likewise.
18443         * modules/inttypes (Makefile.am): Likewise.
18444         * modules/langinfo (Makefile.am): Likewise.
18445         * modules/locale (Makefile.am): Likewise.
18446         * modules/math (Makefile.am): Likewise.
18447         * modules/netdb (Makefile.am): Likewise.
18448         * modules/netinet_in (Makefile.am): Likewise.
18449         * modules/poll-h (Makefile.am): Likewise.
18450         * modules/pthread (Makefile.am): Likewise.
18451         * modules/pty (Makefile.am): Likewise.
18452         * modules/sched (Makefile.am): Likewise.
18453         * modules/search (Makefile.am): Likewise.
18454         * modules/selinux-h (Makefile.am): Likewise.
18455         * modules/signal (Makefile.am): Likewise.
18456         * modules/spawn (Makefile.am): Likewise.
18457         * modules/stdarg (Makefile.am): Likewise.
18458         * modules/stddef (Makefile.am): Likewise.
18459         * modules/stdint (Makefile.am): Likewise.
18460         * modules/stdio (Makefile.am): Likewise.
18461         * modules/stdlib (Makefile.am): Likewise.
18462         * modules/string (Makefile.am): Likewise.
18463         * modules/strings (Makefile.am): Likewise.
18464         * modules/sys_file (Makefile.am): Likewise.
18465         * modules/sys_ioctl (Makefile.am): Likewise.
18466         * modules/sys_select (Makefile.am): Likewise.
18467         * modules/sys_socket (Makefile.am): Likewise.
18468         * modules/sys_stat (Makefile.am): Likewise.
18469         * modules/sys_time (Makefile.am): Likewise.
18470         * modules/sys_times (Makefile.am): Likewise.
18471         * modules/sys_utsname (Makefile.am): Likewise.
18472         * modules/sys_wait (Makefile.am): Likewise.
18473         * modules/sysexits (Makefile.am): Likewise.
18474         * modules/termios (Makefile.am): Likewise.
18475         * modules/time (Makefile.am): Likewise.
18476         * modules/unistd (Makefile.am): Likewise.
18477         * modules/wchar (Makefile.am): Likewise.
18478         * modules/wctype (Makefile.am): Likewise.
18479
18480 2010-10-04  Bruno Haible  <bruno@clisp.org>
18481
18482         read-file tests: Avoid a test failure on NonStop Kernel.
18483         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
18484         a regular file.
18485         Reported by Joachim Schmitz <schmitz@hp.com>.
18486
18487 2010-10-03  Bruno Haible  <bruno@clisp.org>
18488
18489         gnulib-tool: Fixes for --create-testdir with --libtool.
18490         * gnulib-tool (func_get_automake_snippet): Don't augment
18491         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
18492         an executable.
18493         (func_create_testdir): Handle module 'alloca' like func_import.
18494         Reported by Bruce Korb <bruce.korb@gmail.com>.
18495
18496 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
18497
18498         Avoid some lines longer than 80 characters.
18499         * lib/stdint.in.h: Break long comment lines.
18500         * lib/math.in.h: Likewise.
18501         (_GL_NUM_UINT_WORDS): New macro, for readability.
18502         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
18503         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
18504         * lib/stdlib.in.h: Likewise.
18505         * lib/spawn.in.h: Likewise.
18506         * lib/sys_socket.in.h: Update an URL.
18507         * lib/sys_stat.in.h: Break long line.
18508
18509 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
18510
18511         Improve pmccabe2html.
18512         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
18513         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
18514         when the sources change. Remove the line in the HTML about "Used
18515         ranges" (which implied that there might be other unused ranges),
18516         rename "Resume" to "Summary" (easier to understand for more users).
18517         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
18518         styles, and some unnecessary blank lines.
18519
18520 2010-10-03  Bruno Haible  <bruno@clisp.org>
18521             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
18522
18523         acl: Add support for ACLs on NonStop Kernel.
18524         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
18525         Check whether the function aclsort() exists.
18526         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
18527         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
18528         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
18529         (acl_nontrivial [HAVE_ACLSORT]: New function.
18530         (file_has_acl): Implement for NonStop Kernel.
18531         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
18532         (qset_acl): Implement for NonStop Kernel.
18533         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
18534         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
18535         (main): Implement for NonStop Kernel.
18536         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
18537         Kernel. Handle this flavor.
18538         * tests/test-set-mode-acl.sh: Likewise.
18539         * tests/test-copy-acl.sh: Likewise.
18540         * tests/test-copy-file.sh: Likewise.
18541
18542 2010-10-03  Bruno Haible  <bruno@clisp.org>
18543
18544         Info about ACLs on NonStop Kernel.
18545         * doc/acl-resources.txt: Add info about NonStop Kernel.
18546         References by Joachim Schmitz <schmitz@hp.com>.
18547
18548 2010-10-02  Bruno Haible  <bruno@clisp.org>
18549
18550         Define missing EDQUOT on NonStop Kernel.
18551         * lib/errno.in.h (EDQUOT): Assign a value if missing.
18552         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
18553         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
18554         missing.
18555         * doc/posix-headers/errno.texi: Mention the NSK bug.
18556         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
18557         Reported by Joachim Schmitz <schmitz@hp.com>.
18558
18559 2010-10-02  Bruno Haible  <bruno@clisp.org>
18560
18561         Update doc for POSIX:2008.
18562         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
18563         Update URL of POSIX specification.
18564
18565 2010-10-02  Bruno Haible  <bruno@clisp.org>
18566
18567         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
18568         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
18569         from gnulib, not from Automake.
18570
18571 2010-10-02  Bruno Haible  <bruno@clisp.org>
18572
18573         New module 'system-posix'.
18574         * modules/system-posix: New file.
18575         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
18576         module is present.
18577         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
18578         GNULIB_SYSTEM_POSIX.
18579         * modules/stdlib (Depends-on): Remove sys_wait.
18580         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
18581         * doc/posix-functions/system.texi: Mention the new module.
18582         * doc/posix-headers/stdlib.texi: Likewise.
18583         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
18584         define test_sys_wait_macros to a no-op.
18585         Reported by Sam Steingold <sds@gnu.org>.
18586
18587 2010-09-30  Bruno Haible  <bruno@clisp.org>
18588
18589         More renaming from 'getdate' to 'get_date'.
18590         * doc/get_date.texi: Renamed from doc/getdate.texi.
18591         * modules/get_date (Files): Update.
18592         * MODULES.html.sh (Date and time <time.h>): Update.
18593         * DEPENDENCIES: Update.
18594         * gnulib-tool: Update comment.
18595         * m4/bison.m4 (gl_BISON): Likewise.
18596         * m4/get_date.m4 (gl_GET_DATE): Likewise.
18597
18598 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
18599
18600         bootstrap: support ACLOCAL_FLAGS during aclocal
18601         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
18602         can add additional -I dir for third-party .m4 files.
18603
18604 2010-09-30  Eric Blake  <eblake@redhat.com>
18605
18606         bootstrap: use glibtoolize on MacOS
18607         * build-aux/bootstrap (check_versions): Convert libtool into
18608         libtoolize.
18609         (tool search): Move libtool check earlier, and look for
18610         glibtoolize for MacOS.
18611         (gnulib_tool_options): Auto-add --libtool when appropriate.
18612         Reported by Justin Clift.
18613
18614         poll: fix typo that broke test on MacOS
18615         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
18616         Reported by Justin Clift.
18617
18618         getdate: rename to get_date
18619         Note: getdate.h is not renamed, to minimize client impact.
18620         * modules/getdate: Mark obsolete.  Move old contents...
18621         * modules/get_date: ...to new module name.
18622         * modules/getdate-tests: Move...
18623         * modules/get_date-tests: ...here.
18624         * m4/getdate.m4: Move...
18625         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
18626         * lib/getdate.y: Move...
18627         * lib/get_date.y: ...here.
18628         * tests/test-getdate.c: Move...
18629         * tests/test-get_date.c: ...here.
18630         * doc/posix-functions/getdate.texi (getdate): Update name.
18631         * NEWS: Mention the change.
18632
18633 2010-09-29  Bruno Haible  <bruno@clisp.org>
18634
18635         Separate the module 'waitpid' from the module 'sys_wait'.
18636         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
18637         present.
18638         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
18639         gl_MODULE_INDICATOR_FOR_TESTS.
18640         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
18641         * modules/sys_wait (Depends-on): Remove waitpid.
18642         (Makefile.am): Substitute GNULIB_WAITPID.
18643         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
18644         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
18645         signature only if the 'waitpid' module is present.
18646         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
18647         * NEWS: Mention the change.
18648         * modules/grantpt (Depends-on): Add waitpid.
18649         * modules/wait-process (Depends-on): Likewise.
18650
18651 2010-09-29  Bruno Haible  <bruno@clisp.org>
18652
18653         More tests for module 'sys_wait'.
18654         * modules/sys_wait-c++-tests: New file.
18655         * tests/test-sys_wait-c++.cc: New file.
18656         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
18657         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
18658
18659 2010-09-29  Bruno Haible  <bruno@clisp.org>
18660
18661         New module 'waitpid'.
18662         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
18663         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
18664         Don't include <process.h>.
18665         (waitpid): Declare only, using modern idiom.
18666         * m4/waitpid.m4: New file.
18667         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
18668         * modules/waitpid: New file.
18669         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
18670         (Makefile.am): Update.
18671         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
18672
18673 2010-09-28  Bruno Haible  <bruno@clisp.org>
18674
18675         poll: Assume ANSI C.
18676         * lib/poll.c (poll): Use an ANSI C declaration.
18677
18678 2010-09-28  Bruno Haible  <bruno@clisp.org>
18679
18680         poll-h: Create poll.h on all platforms.
18681         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
18682         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
18683         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
18684         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
18685         (gl_REPLACE_POLL_H): Don't set POLL_H.
18686         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
18687         * modules/poll-h (Depends-on): Add include_next.
18688         (Makefile.am): Create poll.h unconditionally. Substitute also
18689         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
18690
18691 2010-09-28  Bruno Haible  <bruno@clisp.org>
18692
18693         Tests for module 'poll-h'.
18694         * modules/poll-h-c++-tests: New file.
18695         * tests/test-poll-h-c++.cc: New file.
18696
18697         Tests for module 'poll-h'.
18698         * modules/poll-h-tests: New file.
18699         * tests/test-poll-h.c: New file.
18700
18701 2010-09-28  Bruno Haible  <bruno@clisp.org>
18702
18703         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
18704         * modules/poll-h (Depends-on): Add 'extensions'.
18705
18706 2010-09-28  Bruno Haible  <bruno@clisp.org>
18707
18708         New module 'poll-h'.
18709         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
18710         (poll): Use modern idiom.
18711         * modules/poll-h: New file.
18712         * modules/poll (Files): Remove lib/poll.in.h.
18713         (Depends-on): Add poll-h.
18714         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
18715         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
18716         * m4/poll_h.m4: New file.
18717         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
18718         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
18719         and invoke gl_REPLACE_POLL_H.
18720         * lib/poll.c: Use common idiom.
18721         * tests/test-poll.c: Likewise.
18722         * doc/posix-headers/poll.texi: Mention the poll-h module.
18723         Suggested by Eric Blake.
18724
18725 2010-09-26  Bruno Haible  <bruno@clisp.org>
18726
18727         sys_wait: Implement WSTOPSIG.
18728         * lib/sys_wait.in.h (WSTOPSIG): New macro.
18729         Reported by Simon Josefsson.
18730
18731 2010-09-26  Simon Josefsson  <simon@josefsson.org>
18732
18733         stdlib, sys_wait: Avoid compilation error on mingw.
18734         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
18735
18736 2010-09-26  Bruno Haible  <bruno@clisp.org>
18737
18738         stdlib tests: Avoid code duplication.
18739         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
18740         * modules/sys_wait-tests (Files): Likewise.
18741         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
18742         * tests/test-stdlib.c: Include test-sys_wait.h.
18743         (main): Invoke test_sys_wait_macros.
18744         * tests/test-sys_wait.c: Include test-sys_wait.h.
18745         (main): Invoke test_sys_wait_macros.
18746
18747 2010-09-25  Simon Josefsson  <simon@josefsson.org>
18748
18749         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
18750         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
18751         sure Windows sockets are working before calling getaddrinfo.
18752         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
18753         * doc/gnulib.texi (Windows sockets): Fix typo.
18754
18755 2010-09-25  Bruno Haible  <bruno@clisp.org>
18756
18757         Tests for module 'regex-quote'.
18758         * modules/regex-quote-tests: New file.
18759         * tests/test-regex-quote.c: New file.
18760
18761         New module 'regex-quote'.
18762         * lib/regex-quote.h: New file.
18763         * lib/regex-quote.c: New file.
18764         * modules/regex-quote: New file.
18765         Suggested by Reuben Thomas <rrt@sc3d.org>.
18766
18767 2010-09-24  Bruno Haible  <bruno@clisp.org>
18768
18769         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
18770         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
18771
18772 2010-09-23  Bruno Haible  <bruno@clisp.org>
18773
18774         setenv: Relax license.
18775         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
18776         Blake.
18777         Requested by Eric Blake.
18778
18779 2010-09-22  Bruno Haible  <bruno@clisp.org>
18780
18781         termios: Relax license.
18782         * modules/termios (License): Change to LGPLv2+.
18783         Requested by Eric Blake.
18784
18785 2010-09-22  Bruno Haible  <bruno@clisp.org>
18786
18787         threadlib: Allow the package to change the default to 'no'.
18788         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
18789         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
18790         Reported by Paul Eggert.
18791
18792 2010-09-22  Pádraig Brady  <P@draigbrady.com>
18793             Bruno Haible  <bruno@clisp.org>
18794
18795         Fix endless loop in mbmemcasecoll.
18796         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
18797         byte.
18798         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
18799
18800 2010-09-22  Bruno Haible  <bruno@clisp.org>
18801
18802         Tests for module 'memcoll'.
18803         * modules/memcoll-tests: New file.
18804         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
18805
18806         memcoll, xmemcoll: Clarify size vs. length.
18807         * modules/memcoll.c (memcoll0): Clarify specification.
18808         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
18809         passed to collate_error.
18810
18811 2010-09-22  Bruno Haible  <bruno@clisp.org>
18812
18813         Tests for module 'memcasecmp'.
18814         * modules/memcasecmp-tests: New file.
18815         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
18816
18817 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
18818
18819         * lib/pthread.in.h: Add split double-inclusion guard, and include
18820         system <pthread.h> if there is one.  Use @@-style as in other
18821         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
18822         pthread.h doesn't.
18823         (pthread_mutexattr_destroy, pthread_mutexattr_init):
18824         (pthread_mutexattr_settype, pthread_mutex_trylock):
18825         New static inline functions, if there's no system <pthread.h>.
18826         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
18827         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
18828         Approximate with mutexes if the system lacks spinlocks, as in
18829         MacOS.
18830         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
18831         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
18832         @@-style.  Check for spinlocks separately.
18833         (gl_PTHREAD_DEFAULTS): New macro.
18834         * modules/pthread: Redo to use a more typical style for in.h files.
18835
18836 2010-09-21  Eric Blake  <eblake@redhat.com>
18837
18838         net_if: enhance tests
18839         * tests/test-net_if.c (main): Move signature checks earlier.
18840         Print failures to stderr.
18841         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
18842         Document the bug that we do not yet fix.
18843
18844 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
18845
18846         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
18847         about gnulib, not GSS.
18848
18849 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
18850
18851         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
18852         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
18853         for Emacs.
18854         * build-aux/pmccabe2html: Make Makefile.am example code more
18855         cut-and-paste friendly.
18856
18857 2010-09-21  Simon Josefsson  <simon@josefsson.org>
18858
18859         * tests/test-net_if.c: New file.
18860         * modules/net_if-tests: New file.
18861
18862 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
18863
18864         pthread: add pthread_spin_destroy
18865         * lib/pthread.in.h (pthread_spin_destroy): New function.
18866
18867 2010-09-19  Bruno Haible  <bruno@clisp.org>
18868
18869         gnulib-tool: Fix --help output.
18870         * gnulib-tool (func_usage): Fix help message.
18871         Reported by Reuben Thomas <rrt@sc3d.org>.
18872
18873 2010-09-18  Jim Meyering  <meyering@redhat.com>
18874
18875         maint.mk: avoid unexpanded \n in two diagnostics
18876         * top/maint.mk (sc_prohibit_always_true_header_tests):
18877         Don't use a literal \n in a halt=... assignment.  It would not be
18878         expanded, and the two \n bytes would appear in the diagnostic output
18879         rather than the desired newline.  Use halt=$$(printf ... instead.
18880         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
18881
18882 2010-09-18  Bruno Haible  <bruno@clisp.org>
18883
18884         netinet_in: Doc tweak.
18885         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
18886         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
18887
18888 2010-09-18  Jim Meyering  <meyering@redhat.com>
18889
18890         init.sh: correct an outdated comment
18891         * tests/init.sh (create_exe_shims_):  s/function/alias/
18892
18893         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
18894         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
18895         a file named "*.exe" is removed between the glob expansion and the
18896         processing of that oddly named file.
18897
18898 2010-09-17  Eric Blake  <eblake@redhat.com>
18899
18900         mirbsd: add some more support
18901         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
18902         in BSD family.
18903         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
18904         devices as OpenBSD.
18905         * m4/host-os.m4 (mirbsd): Add MirBSD.
18906
18907         tests: fix unportable assumption on sys/wait.h
18908         * tests/test-sys_wait.c (main): Relax test.
18909         * tests/test-stdlib.c (main): Likewise.
18910
18911         init.sh: accomodate directory with no .exes
18912         * tests/init.sh: Accomodate directory containing only scripts.
18913
18914         tests: avoid compiler warning
18915         * tests/test-stdlib.c (main): Use the variable.
18916
18917         fdutimens, fdutimensat: update signature, again
18918         * lib/utimens.h (gl_futimens): Delete, and move signature...
18919         (fdutimens): ...here.
18920         (fdutimensat): Rearrange signature.
18921         (lutimensat): Rename variable for clarity.
18922         * lib/fdutimensat.c (fdutimensat): Update signature.
18923         * lib/utimens.c (fdutimens): Likewise.
18924         (gl_futimens): Delete.
18925         (utimens, lutimens): Update callers.
18926         * lib/futimens.c (futimens): Likewise.
18927         * tests/test-fdutimensat.c: Likewise.
18928         * tests/test-utimens.c: Likewise.
18929         * tests/test-futimens.h: Update comment.
18930         * NEWS: Mention this.
18931         Suggested by Paul Eggert.
18932
18933 2010-09-17  Bruno Haible  <bruno@clisp.org>
18934
18935         Take over the maintenance of some older macros from Autoconf.
18936         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
18937         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
18938         GNU Autoconf.
18939         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
18940         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
18941
18942 2010-09-17  Eric Blake  <eblake@redhat.com>
18943
18944         fdutimensat: drop atflag validation
18945         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
18946         with valid fd, to close a race scenario where futimens is
18947         unsupported and FILE was replaced by a symlink.
18948         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
18949         accordingly.
18950         Suggested by Paul Eggert.
18951
18952 2010-09-16  Bruno Haible  <bruno@clisp.org>
18953
18954         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
18955         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
18956
18957 2010-09-16  Bruno Haible  <bruno@clisp.org>
18958
18959         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
18960         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
18961         login_tty exists.
18962         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
18963
18964 2010-09-16  Bruno Haible  <bruno@clisp.org>
18965
18966         login_tty: Make the replacement code work on BSD systems.
18967         * lib/login_tty.c: Include <sys/ioctl.h>.
18968         (login_tty): Use ioctl TIOCSCTTY when available.
18969         * modules/login_tty (Depends-on): Add sys_ioctl.
18970         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
18971
18972 2010-09-16  Bruno Haible  <bruno@clisp.org>
18973
18974         login_tty: Stricter unit test.
18975         * modules/login_tty-tests (Depends-on): Add tcgetsid.
18976         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
18977         and tcgetsid() after login_tty.
18978         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
18979
18980 2010-09-16  Bruno Haible  <bruno@clisp.org>
18981
18982         New module 'tcgetsid'.
18983         * lib/tcgetsid.c: New file.
18984         * m4/tcgetsid.m4: New file.
18985         * modules/tcgetsid: New file.
18986         * modules/termios (Depends-on): Add c++defs, warn-on-use.
18987         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
18988         GNULIB_TCGETSID, HAVE_TCGETSID.
18989         * lib/termios.in.h: Include <sys/types.h>.
18990         (tcgetsid): New declaration.
18991         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
18992         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
18993         * doc/posix-functions/tcgetsid.texi: Mention the new module.
18994         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
18995
18996 2010-09-16  Bruno Haible  <bruno@clisp.org>
18997
18998         Tests for module 'termios'.
18999         * modules/termios-c++-tests: New file.
19000         * modules/termios-tests: New file.
19001         * tests/test-termios-c++.cc: New file.
19002         * tests/test-termios.c: New file.
19003
19004         New module 'termios'.
19005         * modules/termios: New file.
19006         * lib/termios.in.h: New file.
19007         * m4/termios_h.m4: New file.
19008         * doc/posix-headers/termios.texi: Mention the new module.
19009
19010 2010-09-16  Eric Blake  <eblake@redhat.com>
19011
19012         fdutimensat: add an atflag parameter
19013         * lib/fdutimensat.c (fdutimensat): Add new parameter.
19014         * lib/utimens.h (fdutimensat): Update prototype.
19015         * tests/test-fdutimensat.c: Adjust test to match.
19016         * NEWS: Document the change.
19017         Suggested by Paul Eggert.
19018
19019 2010-09-16  Bruno Haible  <bruno@clisp.org>
19020
19021         Fix typos in comments.
19022         * lib/striconveh.h: Fix typo in comment.
19023         * lib/login_tty.c (login_tty): Likewise.
19024
19025 2010-09-15  Bruno Haible  <bruno@clisp.org>
19026
19027         stdlib: clarify MirBSD WEXITSTATUS bug
19028         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
19029         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
19030
19031 2010-09-15  Eric Blake  <eblake@redhat.com>
19032
19033         stdlib: work around MirBSD WEXITSTATUS bug
19034         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
19035         * modules/stdlib (Depends-on): Add sys_wait.
19036         * tests/test-sys_wait.c (main): Enhance test.
19037         * tests/test-stdlib.c (main): Likewise.
19038         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
19039
19040         docs: mention MacOS issue with WEXITSTATUS(constant)
19041         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
19042         issue.
19043         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
19044
19045         strnlen: add tests
19046         * modules/strnlen-tests: New file.
19047         * tests/test-strnlen.c: Likewise.
19048
19049 2010-09-14  Bruno Haible  <bruno@clisp.org>
19050
19051         unistr/base: Avoid link errors when module 'libunistring' is also used.
19052         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
19053         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
19054         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
19055         Declare also when HAVE_LIBUNISTRING is set.
19056         Reported by Pádraig Brady <P@draigbrady.com>.
19057
19058 2010-09-14  Eric Blake  <eblake@redhat.com>
19059
19060         test-rawmemchr: make more robust
19061         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
19062         (Depends-on, configure.ac): Add needed prerequisites to use it.
19063         * modules/memchr-tests (Files, Depends-on, configure.ac):
19064         Likewise, to avoid implicit reliance on memchr module prereqs.
19065         * tests/test-memchr.c (main): Ensure proper masking.
19066         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
19067         reads.
19068
19069         memchr: detect glibc Alpha bug
19070         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
19071         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
19072         Alpha.
19073         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
19074         * tests/test-memchr.c (main): Enhance test.
19075         Reported by Nelson H. F. Beebe.
19076
19077 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
19078
19079         fts, getcwd, glob: audit for dirfd returning -1
19080         * lib/fts.c (opendir): Remove #define; no longer used.
19081         (opendirat): New arg PDIR_FD.  All callers changed.
19082         (fts_build, _opendir2): Use new opendirat to avoid the need for
19083         dirfd, or for checking whether dirfd returns a negative value.
19084         Don't use opendir; always use openat followed by fdopendir.
19085         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
19086         it.
19087         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
19088         returns -1 here.
19089         * modules/fts (Depends-on): Remove dirfd.
19090         * modules/getcwd (Depends-on): Likewise.
19091
19092 2010-09-13  Eric Blake  <eblake@redhat.com>
19093
19094         float: fix broken MirBSD header
19095         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
19096         * doc/posix-headers/float.texi (float.h): Document it.
19097
19098 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
19099
19100         fts: use O_NOFOLLOW to avoid race condition when opening a directory
19101         * lib/fts.c (opendirat): New arg extra_flags.
19102         (__opendir2): Use it to avoid following symlinks when opening
19103         a directory, if symlinks are not supposed to be followed.  See
19104         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
19105
19106         fdopendir: preserve argument fd before returning
19107         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
19108         (fdopendir_with_dup, fd_clone_opendir): New static functions.
19109         (fdopendir): Use them, arranging for FD to be open to the same
19110         directory that it was when it started.  (It might be temporarily
19111         closed while fdopendir is running, so this not thread- or
19112         signal-safe.)  Be careful to do the right thing even when file
19113         descriptors are scarce and dup fails with errno == EMFILE.  See
19114         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
19115
19116 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
19117
19118         regex: Pass the system regex if its only problem is 32-bit regoff_t.
19119         * NEWS: Document change.
19120         * m4/regex.m4: Disable test for regoff_t size.
19121
19122 2010-09-13  Jim Meyering  <meyering@redhat.com>
19123
19124         fts: don't operate on an invalid file descriptor after failed dup
19125         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
19126         negative file descriptor.
19127
19128 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
19129
19130         savedir: add streamsavedir, deprecate fdsavedir
19131         * NEWS: Mention deprecation of fdsavedir.
19132         * lib/savedir.c (streamsavedir): New extern function, whose name
19133         ends in "savedir" to be consistent with the others.  This differs
19134         from savedirstream in that it doesn't close its argument.  The
19135         next version of GNU tar will use this instead of fdsavedir, to
19136         avoid some race conditions and conserve file descriptors.
19137         (savedirstream): Reimplement as a wrapper around streamsavedir.
19138         (fdsavedir): Add a comment deprecating this function.  As far as
19139         I know, only GNU tar used it, and GNU tar doesn't need it any more.
19140         * lib/savedir.h (streamsavedir): New decl.
19141         (fdsavedir): Add a comment deprecating this.
19142
19143 2010-09-10  Bruno Haible  <bruno@clisp.org>
19144
19145         langinfo: Fix last commit.
19146         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
19147         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
19148         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19149
19150 2010-09-10  Bruno Haible  <bruno@clisp.org>
19151
19152         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
19153         * lib/progreloc.c (O_EXEC): Define fallback.
19154
19155 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
19156
19157         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
19158         * NEWS: Document recent changes to fcntl-h.
19159         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
19160         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
19161         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
19162         Similarly for O_SEARCH; this last was already true, but not documented.
19163         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
19164         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
19165         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
19166         Likewise.
19167         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
19168         is zero, not whether it is defined.
19169         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
19170         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
19171         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
19172
19173 2010-09-10  Bruno Haible  <bruno@clisp.org>
19174
19175         langinfo, nl_langinfo: Fix for IRIX 5.3.
19176         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
19177         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
19178         HAVE_LANGINFO_YESEXPR.
19179         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
19180         HAVE_LANGINFO_YESEXPR.
19181         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
19182         HAVE_LANGINFO_T_FMT_AMPM is 0.
19183         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
19184         HAVE_LANGINFO_YESEXPR is 0.
19185         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
19186         NOEXPR.
19187         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
19188         * doc/posix-functions/nl_langinfo.texi: Likewise.
19189         Reported by Eric Blake.
19190
19191 2010-09-10  Bruno Haible  <bruno@clisp.org>
19192
19193         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
19194         * doc/glibc-functions/login_tty.texi: Mention the include file problem
19195         on FreeBSD 8.0 and OpenBSD 4.6.
19196         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
19197         * m4/pty_h.m4 (gl_PTY_H): Likewise.
19198         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
19199         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
19200         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
19201         ac_includes_default.
19202         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19203
19204 2010-09-09  Eric Blake  <eblake@redhat.com>
19205
19206         strsignal: work around NetBSD bug
19207         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
19208         * lib/string.in.h (includes): Likewise.
19209         * doc/posix-functions/strsignal.texi (strsignal): Document the
19210         bug.
19211         Reported by Nelson H. F. Beebe.
19212
19213         gnulib-tool: work with NetBSD /bin/sh
19214         * gnulib-tool (func_cache_var, func_cache_lookup_module)
19215         (func_get_description, func_get_comment, func_get_status)
19216         (func_get_notice, func_get_applicability, func_get_filelist)
19217         (func_get_dependencies, func_get_autoconf_early_snippet)
19218         (func_get_autoconf_snippet, func_get_automake_snippet)
19219         (func_get_include_directive, func_get_link_directive)
19220         (func_get_license, func_get_maintainer, func_import): Avoid
19221         shell syntax errors from parsing syntax extensions.
19222
19223 2010-09-09  Bruno Haible  <bruno@clisp.org>
19224
19225         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
19226         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
19227         a reliable way to determine whether the 'alias' command works.
19228
19229 2010-09-08  Jim Meyering  <meyering@redhat.com>
19230
19231         init.sh: penalize a set-x-impaired shell; don't disqualify it
19232         * tests/init.sh: Too many shells corrupt application stderr when
19233         you set -x, so we can't afford to disqualify them, since at least
19234         on Irix-6.5, that would disqualify all bourne shells.
19235         Instead, use a two-pass approach.
19236         On the first pass, try to find a shell that meets the stricter
19237         condition that set -x does not corrupt stderr.
19238         If no shell meets the stricter condition, retest each candidate
19239         shell, but without that extra condition.  Finally, when
19240         VERBOSE=yes is requested and set -x might cause trouble, simply
19241         issue a warning and refrain from enabling debug output.
19242
19243 2010-09-08  Eric Blake  <eblake@redhat.com>
19244
19245         unsetenv: fix OpenBSD bug
19246         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
19247         * doc/posix-functions/unsetenv.texi (unsetenv): Update
19248         documentation.
19249         Reported by Jim Meyering.
19250
19251         strtod: work around IRIX 6.5 bug
19252         * lib/strtod.c (strtod): Reparse number on shorter string if
19253         exponent parse was invalid.
19254         * tests/test-strtod.c (main): Add check for "0x1p 2".
19255         Reported by Tom G. Christensen.
19256
19257         getopt: optimize previous patch
19258         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
19259         empty variable.  Speed up awk script.
19260         Reported by Paolo Bonzini.
19261
19262 2010-09-08  Jim Meyering  <meyering@redhat.com>
19263
19264         test.sh: disqualify shells for which set -x corrupts stderr
19265         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
19266         and OpenBSD 4.7.  They make it so with "set -x", environment settings
19267         appear in stderr output.  For example, this command:
19268             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
19269         prints "P=1" on those two systems:
19270
19271 2010-09-08  Bruno Haible  <bruno@clisp.org>
19272
19273         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
19274         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
19275         commands, because some shells ignore redirections when there is an
19276         error in the command lookup.
19277         Reported by Eric Blake.
19278
19279 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
19280
19281         * lib/regex.h: Fix a mention of `regex_compile' (should be
19282         `re_compile_pattern').
19283         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
19284         (re_set_registers): Correct name of parameter in comment.
19285
19286         * doc/regex.texi: Add documentation for missing syntax flags.
19287         Remove commented-out documentation of defunct syntax option
19288         RE_NO_EMPTY_ALTS.
19289         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
19290         Add documentation of re_set_registers.
19291         Document trick to re-use a pattern buffer by setting fastmap manually.
19292         Update documentation of struct re_pattern_buffer per public members.
19293         Uncomment documentation of equivalence class operators and
19294         collating symbol operators, since they are now implemented,
19295         Explain leftmost-longest matching in relation to alternatives.
19296         Tidy documentation of substring matching.
19297         Remove POSIX documentation, which is done better in
19298         glibc, and refer the reader there. Keep BSD API documentation, as
19299         that is not readily available elsewhere.
19300
19301 2010-09-07  Eric Blake  <eblake@redhat.com>
19302
19303         getopt: handle POSIXLY_CORRECT set but not exported
19304         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
19305         export state of POSIXLY_CORRECT, due to bash set -o posix.
19306         Reported by Dustin J. Mitchell.
19307
19308 2010-09-05  Bruno Haible  <bruno@clisp.org>
19309
19310         gnulib-tool: Highlight the changed options.
19311         * gnulib-tool (func_usage): Display the --import, --add-import,
19312         --remove-import explanations in bold font.
19313
19314 2010-09-06  Karl Berry  <karl@gnu.org>
19315
19316         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
19317
19318 2010-09-05  Bruno Haible  <bruno@clisp.org>
19319
19320         uniwidth/width: Update comment.
19321         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
19322         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
19323
19324 2010-09-05  Bruno Haible  <bruno@clisp.org>
19325
19326         isinf, isnan: Relax license.
19327         * modules/isinf (License): Change from GPL to LGPL, with consent from
19328         Ben Pfaff.
19329         * modules/isnan (License): Likewise.
19330         Requested by Ludovic Courtès.
19331
19332 2010-09-04  Bruno Haible  <bruno@clisp.org>
19333
19334         gnulib-tool: Help migration from --import to --add-import or --update.
19335         * gnulib-tool: Emit a verbose error message when --import is used
19336         without any module name.
19337
19338 2010-09-04  Bruno Haible  <bruno@clisp.org>
19339
19340         Update doc about gnulib-tool.
19341         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
19342         'gnulib-tool --update' in more detail.
19343         Reported by Eric Blake.
19344
19345 2010-09-04  Bruno Haible  <bruno@clisp.org>
19346
19347         gnulib-tool: Change --import. New options --add/remove-import.
19348         * gnulib-tool: New options --add-import, --remove-import.
19349         (func_usage): Document them.
19350         (have_associative): Define always.
19351         (func_import): In import mode, don't merge the specified settings with
19352         the cached settings. Implement remove-import mode.
19353         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
19354         Explain when to use them versus --import.
19355         (Simple update): Use --add-import instead of --import.
19356         * NEWS: Mention the change.
19357
19358 2010-09-04  Bruno Haible  <bruno@clisp.org>
19359
19360         * doc/gnulib-tool.texi (Initial import): Update paragraph about
19361         separate gnulib.mk.
19362
19363 2010-09-04  Bruno Haible  <bruno@clisp.org>
19364
19365         gnulib-tool: Don't talk about CVS any more.
19366         * gnulib-tool (func_usage, func_import): Write "version control"
19367         instead of CVS.
19368
19369 2010-09-04  Jim Meyering  <meyering@redhat.com>
19370
19371         maint.mk: avoid obscure sc_copyright_check failure in coreutils
19372         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
19373         false positives (whose names may be ill-chosen) when searching
19374         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
19375         would cause a false-positive.
19376
19377         avoid coreutils "make distcheck" failure
19378         Coreutils tests with an absolute build directory name that contains
19379         a space.  Not quoting this directory name caused a failure.
19380         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
19381         * tests/test-vc-list-files-cvs.sh: Likewise.
19382
19383 2010-09-04  Bruno Haible  <bruno@clisp.org>
19384
19385         gnulib-tool: Avoid error when run in a package without Makefile.am.
19386         * gnulib-tool: When collecting the m4dirs in a package that does not
19387         have a Makefile.am, eliminate those directories that contain no
19388         gnulib-cache.m4. Fix expression that counts these directories.
19389
19390 2010-09-04  Bruno Haible  <bruno@clisp.org>
19391
19392         update-copyright test: Improve output when perl is missing or too old.
19393         * tests/test-update-copyright.sh: Move test of Perl version down after
19394         the test whether Perl exists. Provide an explanation relating Perl's
19395         error message to Automake's SKIP: message.
19396
19397 2010-09-04  Bruno Haible  <bruno@clisp.org>
19398
19399         Don't augment PATH in TESTS_ENVIRONMENT.
19400         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
19401         set abs_aux_dir instead of augmenting PATH.
19402         * modules/vc-list-files-tests (Makefile.am): Likewise.
19403         * tests/test-update-copyright.sh: Augment PATH here.
19404         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
19405         path_prepend_.
19406         * tests/test-vc-list-files-git.sh: Likewise.
19407
19408 2010-09-04  Jim Meyering  <meyering@redhat.com>
19409
19410         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
19411         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
19412
19413 2010-09-04  Bruno Haible  <bruno@clisp.org>
19414
19415         strdup: Fix compilation error in C++ mode.
19416         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
19417         the macro.
19418
19419 2010-09-04  Bruno Haible  <bruno@clisp.org>
19420
19421         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
19422         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
19423         macro into a function.
19424         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
19425
19426 2010-09-04  Bruno Haible  <bruno@clisp.org>
19427
19428         Set PATH_SEPARATOR the same way autoconf does.
19429         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
19430         the value of PATH_SEPARATOR the same way autoconf-generated configure
19431         scripts do.
19432         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
19433         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
19434
19435 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
19436
19437         Set PATH_SEPARATOR the same way autoconf does.
19438         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
19439         the same way autoconf-generated configure scripts do.
19440         * posix-modules: Likewise.
19441
19442 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
19443
19444         hash: fix safe_hasher const typo
19445         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
19446         const; otherwise, there is a type error later.
19447
19448 2010-09-02  Jim Meyering  <meyering@redhat.com>
19449
19450         test-update-copyright.sh: require perl 5.8.0
19451         * tests/test-update-copyright.sh: Require 5.8.0,
19452         which Tom G. Christensen has confirmed is adequate,
19453         while 5.6.1 is not.
19454
19455 2010-09-02  Eric Blake  <eblake@redhat.com>
19456
19457         tests: init.sh improvements for re-exec'ing with zsh
19458         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
19459         -vx through shell re-exec.
19460         Reported by Tom G. Christensen.
19461
19462         wctype: fix typo in previous commit
19463         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
19464         Reported by Ludovic Courtès.
19465
19466 2010-09-02  Jim Meyering  <meyering@redhat.com>
19467
19468         test-update-copyright.sh: skip test if Perl is too old
19469         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
19470         Reported by Tom G. Christensen.
19471
19472 2010-09-02  Bruno Haible  <bruno@clisp.org>
19473
19474         wctype: Avoid compilation error on IRIX 6.5.30.
19475         * lib/wctype.in.h (iswblank): Declare with a replacement if
19476         REPLACE_ISWBLANK is set.
19477         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
19478         declared. Set REPLACE_ISWBLANK.
19479         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
19480         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
19481         * doc/posix-headers/wctype.texi: Likewise.
19482         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19483
19484 2010-09-01  Bruno Haible  <bruno@clisp.org>
19485
19486         New module 'socketlib'.
19487         * modules/socketlib: New file.
19488         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
19489         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
19490         * modules/sockets (Depends-on): Add socketlib.
19491         Suggested by Sam Steingold <sds@gnu.org>.
19492
19493 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
19494
19495         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
19496
19497         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
19498         when one needs search access to a directory but not read access.
19499         On systems where it is available, it works in some cases where
19500         O_RDONLY does not, namely on directories that are searchable but
19501         not readable, and which need only to be searchable.  If O_SEARCH
19502         is not available, fall back to the traditional method of using
19503         O_RDONLY.
19504
19505         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
19506         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
19507         when opening a directory that needs only to be searchable.
19508         * lib/chdir-safer.c (chdir_no_follow): Likewise.
19509         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
19510         * lib/openat-proc.c (openat_proc_name): Likewise.
19511         * lib/openat.c (openat_needs_fchdir): Likewise.
19512         * lib/save-cwd.c (save_cwd): Likewise.
19513         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
19514
19515 2010-08-28  Bruno Haible  <bruno@clisp.org>
19516
19517         New module 'host-cpu-c-abi'.
19518         * modules/host-cpu-c-abi: New file.
19519         * m4/host-cpu-c-abi.m4: New file, based on part of
19520         clisp/src/m4/general.m4.
19521         Requested by Sam Steingold <sds@gnu.org>.
19522
19523 2010-08-31  Eric Blake  <eblake@redhat.com>
19524         and Jim Meyering  <meyering@redhat.com>
19525
19526         hash: factor, and guard against misbehaving hasher function
19527         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
19528         of table->hasher's return value.  Also protect against a hash value
19529         so large that adding it to table->bucket results in a NULL pointer.
19530         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
19531         Use it in place of open-coded check-and-abort.
19532
19533 2010-08-30  Bruno Haible  <bruno@clisp.org>
19534
19535         hash: silence spurious clang warning
19536         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
19537         Reported by Eric Blake.
19538
19539 2010-08-30  Eric Blake  <eblake@redhat.com>
19540
19541         strstr, memmem, strcasestr: avoid leaked shell message
19542         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
19543         FreeBSD.
19544         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
19545         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
19546
19547         tests: silence clang warning
19548         * tests/test-malloca.c (do_allocation): Avoid dead store.
19549
19550 2010-08-29  Bruno Haible  <bruno@clisp.org>
19551
19552         gettext: Fix recent mistake.
19553         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
19554
19555 2010-08-29  Bruno Haible  <bruno@clisp.org>
19556
19557         selinux-h: Offer a --without-selinux option.
19558         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
19559         --without-selinux was specified, skip all tests and define
19560         HAVE_SELINUX_SELINUX_H to 0.
19561         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
19562         set LIB_SELINUX to empty.
19563         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
19564         gl_LIBSELINUX. If --without-selinux was specified, replace
19565         selinux/context.h.
19566         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
19567
19568 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19569             Bruno Haible  <bruno@clisp.org>
19570
19571         Make the module 'realloc-gnu' work again on AIX and OSF/1.
19572         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
19573         of HAVE_REALLOC.
19574         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
19575         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
19576         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
19577         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
19578
19579 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19580             Bruno Haible  <bruno@clisp.org>
19581
19582         Make the module 'calloc-gnu' work again on AIX and OSF/1.
19583         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
19584         HAVE_CALLOC.
19585         * lib/xmalloc.c: Update accordingly.
19586         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
19587         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
19588         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
19589
19590 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19591             Bruno Haible  <bruno@clisp.org>
19592
19593         Make the module 'malloc-gnu' work again on AIX and OSF/1.
19594         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
19595         HAVE_MALLOC.
19596         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
19597         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
19598         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
19599
19600 2010-08-29  Bruno Haible  <bruno@clisp.org>
19601
19602         Update modules list.
19603         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
19604         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
19605         (String handling <string.h>): Add astrxfrm.
19606         (File system functions): Add readlinkat.
19607
19608 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19609
19610         Tests for module 'realloc-gnu'.
19611         * modules/realloc-gnu-tests: New file.
19612         * tests/test-realloc-gnu.c: New file.
19613
19614         Tests for module 'calloc-gnu'.
19615         * modules/calloc-gnu-tests: New file.
19616         * tests/test-calloc-gnu.c: New file.
19617
19618         Tests for module 'malloc-gnu'.
19619         * modules/malloc-gnu-tests: New file.
19620         * tests/test-malloc-gnu.c: New file.
19621
19622 2010-08-28  Bruno Haible  <bruno@clisp.org>
19623
19624         Rename module 'realloc' -> 'realloc-gnu'.
19625         * modules/realloc-gnu: New file, copied from modules/realloc.
19626         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
19627         obsolete.
19628         * modules/mgetgroups (Depends-on): Update.
19629         * doc/posix-functions/realloc.texi: Update.
19630         * NEWS: Mention the change.
19631
19632         Rename module 'calloc' -> 'calloc-gnu'.
19633         * modules/calloc-gnu: New file, copied from modules/calloc.
19634         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
19635         obsolete.
19636         * doc/posix-functions/calloc.texi: Update.
19637         * NEWS: Mention the change.
19638
19639         Rename module 'malloc' -> 'malloc-gnu'.
19640         * modules/malloc-gnu: New file, copied from modules/malloc.
19641         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
19642         obsolete.
19643         * modules/argp (Depends-on): Update.
19644         * modules/regex (Depends-on): Update.
19645         * doc/posix-functions/malloc.texi: Update.
19646         * NEWS: Mention the change.
19647
19648 2010-08-28  Eric Blake  <eblake@redhat.com>
19649
19650         pread, pwrite: add missing dependency
19651         * modules/pread (Depends-on): Add extensions.
19652         * modules/pwrite (Depends-on): Likewise.
19653
19654 2010-08-28  Bruno Haible  <bruno@clisp.org>
19655
19656         unistr/u*-strchr: Fix tests dependencies.
19657         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
19658         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
19659         Reported by Ian Beckwith <ianb@erislabs.net>.
19660
19661 2010-08-28  Bruno Haible  <bruno@clisp.org>
19662
19663         read-file: Don't occupy too much unused memory.
19664         * lib/read-file.c (fread_file): Shrink the buffer at the end.
19665
19666 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
19667             Eric Blake  <eblake@redhat.com>
19668             Bruno Haible  <bruno@clisp.org>
19669
19670         read-file: Avoid memory reallocations with regular files.
19671         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
19672         (fread_file): With regular files, use the remaining length as the
19673         initial buffer size.  Check against overflow.
19674         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
19675         sys_stat.
19676
19677 2010-08-28  Bruno Haible  <bruno@clisp.org>
19678
19679         ftello: Relax license.
19680         * modules/ftello (License): Relax to LGPLv2+.
19681         Reported by Eric Blake.
19682
19683 2010-08-28  Bruno Haible  <bruno@clisp.org>
19684
19685         Avoid relocwrapper link errors due to gnulib replacement functions.
19686         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
19687         function.
19688         Reported by Ben Pfaff <blp@cs.stanford.edu>.
19689
19690 2010-08-28  Bruno Haible  <bruno@clisp.org>
19691
19692         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
19693         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
19694         defined.
19695         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
19696         Suggested by Eric Blake.
19697
19698 2010-08-28  Bruno Haible  <bruno@clisp.org>
19699
19700         sys_socket, netdb: Ensure socklen_t gets defined.
19701         * modules/sys_socket (Depends-on): Add socklen.
19702         * modules/netdb (Depends-on): Likewise.
19703         * modules/getaddrinfo (Depends-on): Remove socklen.
19704         * modules/getsockopt (Depends-on): Likewise.
19705         * modules/setsockopt (Depends-on): Likewise.
19706         * tests/test-sys_socket.c: Check that socklen_t is defined.
19707         * tests/test-netdb.c: Likewise.
19708         * m4/socklen.m4: Update comments.
19709         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
19710
19711 2010-08-27  Eric Blake  <eblake@redhat.com>
19712
19713         login_tty: add missing dependency
19714         * modules/login_tty (Depends-on): Add pty.
19715
19716 2010-08-26  Eric Blake  <eblake@redhat.com>
19717
19718         lib-symbol-versions: fix m4 quoting
19719         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
19720         format for AC_LINK_IFELSE.
19721
19722         glob: fix compile test
19723         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
19724
19725         btowc: fix missing file
19726         * modules/btowc (Files): Also ship locale-fr.m4.
19727
19728         lseek: fix link test
19729         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
19730         AC_LINK_IFELSE.
19731
19732         include_next: silence autoconf 2.68 warning
19733         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
19734         AC_COMPILE_IFELSE as special.
19735         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
19736         autoconf < 2.68.
19737
19738         acl: fix compilation test
19739         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
19740         AC_COMPILE_IFELSE.
19741
19742 2010-08-26  Bruno Haible  <bruno@clisp.org>
19743
19744         Modernize AC_TRY_RUN invocations.
19745         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
19746         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
19747         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
19748         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
19749         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
19750         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
19751         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
19752         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
19753         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
19754         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
19755         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
19756         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
19757         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
19758         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
19759         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
19760         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
19761         gl_MBRLEN_NUL_RETVAL): Likewise.
19762         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
19763         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
19764         Likewise.
19765         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
19766         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
19767         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
19768         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
19769         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
19770         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
19771         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
19772         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
19773         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
19774         Likewise.
19775         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
19776         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
19777         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
19778         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
19779         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
19780         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
19781         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
19782         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
19783         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
19784         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
19785
19786 2010-08-26  Bruno Haible  <bruno@clisp.org>
19787
19788         Modernize AC_TRY_LINK invocations.
19789         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
19790         AC_TRY_LINK.
19791         * m4/argp.m4 (gl_ARGP): Likewise.
19792         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
19793         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
19794         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
19795         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
19796         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
19797         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
19798         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
19799         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
19800         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
19801         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
19802         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
19803         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
19804         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
19805         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
19806         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
19807         * m4/hostent.m4 (gl_HOSTENT): Likewise.
19808         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
19809         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
19810         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
19811         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
19812         Likewise.
19813         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
19814         Likewise.
19815         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
19816         Likewise.
19817         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
19818         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
19819         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
19820         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
19821         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
19822         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
19823         * m4/servent.m4 (gl_SERVENT): Likewise.
19824         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
19825         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
19826         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
19827         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
19828         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
19829         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
19830         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
19831         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
19832         * modules/tsearch-tests (configure.ac): Likewise.
19833
19834 2010-08-26  Bruno Haible  <bruno@clisp.org>
19835
19836         Modernize AC_TRY_COMPILE invocations.
19837         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
19838         AC_TRY_COMPILE.
19839         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
19840         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
19841         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
19842         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
19843         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
19844         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
19845         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
19846         * m4/lock.m4 (gl_LOCK): Likewise.
19847         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
19848         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
19849         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
19850         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
19851         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
19852         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
19853         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
19854         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
19855         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
19856         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
19857         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
19858         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
19859         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
19860         extraneous semicolon.
19861
19862 2010-08-26  Jim Meyering  <meyering@redhat.com>
19863
19864         stat-time: relax license LGPL
19865         * modules/stat-time (License): Change from GPL to LGPL,
19866         with consent from all contributors, for use in libguile.
19867         Requested by Ludovic Courtès.
19868
19869 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
19870
19871         poll: return immediately on POLLHUP.
19872         * lib/poll.c (poll): Always set timeout before wait_timeout is
19873         computed.
19874
19875 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19876
19877         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
19878         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
19879         rmdir ("dir/.//"), unlinkat.
19880
19881 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
19882
19883         stdbool: avoid spurious failure with modern xlc
19884         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
19885
19886 2010-08-24  Bruno Haible  <bruno@clisp.org>
19887
19888         getloadavg: simplify code
19889         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
19890         gl_have_func. Update comments.
19891
19892 2010-08-24  Eric Blake  <eblake@redhat.com>
19893
19894         getloadavg: don't define SVR4 on cygwin
19895         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
19896         only define SVR4 when -lkvm is required.
19897         Reported by Yaakov Selkowitz.
19898
19899 2010-08-24  Bruno Haible  <bruno@clisp.org>
19900
19901         priv-set: fix comment
19902         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
19903
19904 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
19905
19906         priv-set: fix comments
19907         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
19908         to match code, as suggested by David Bartley in:
19909         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
19910
19911 2010-08-23  Eric Blake  <eblake@redhat.com>
19912
19913         stdbool: avoid rejecting clang
19914         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
19915         * tests/test-stdbool.c: Enable more tests if using the system
19916         <stdbool.h> instead of the gnulib replacement.
19917         (main): Move xlc bug test to a runtime test for all compilers.
19918         Reported by Anders Kaseorg.
19919
19920         argz: fix shell quoting issue
19921         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
19922         Reported by Charles Wilson.
19923
19924 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
19925             Erik Faye-Lund <kusmabite@gmail.com>
19926
19927         poll, select: handle ERROR_BROKEN_PIPE.
19928         * lib/poll.c (win32_compute_revents): Return POLLHUP when
19929         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
19930         * lib/select.c (win32_compute_revents): Do not mark a pipe
19931         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
19932
19933 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
19934
19935         fts: allow compilation with C++
19936         * lib/fts_.h: Specify extern "C" linkage with C++.
19937
19938 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19939
19940         Fix gnulib-tool sed script de-commentation for AIX sed.
19941         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
19942         sed.
19943
19944 2010-08-17  Eric Blake  <eblake@redhat.com>
19945
19946         test-stddef: test for (some) offsetof bugs
19947         * tests/test-stddef.c: Enhance test to ensure correct type of
19948         offsetof.
19949         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
19950         that we are not fixing at this time.
19951
19952 2010-08-15  Bruno Haible  <bruno@clisp.org>
19953
19954         stpncpy: Allow stpncpy to be defined as a macro.
19955         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
19956         if it's already correctly declared.
19957         * lib/string.in.h (stpncpy): Undefine before redefining.
19958         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
19959
19960 2010-08-14  Bruno Haible  <bruno@clisp.org>
19961
19962         Rename module 'memxfrm' to 'amemxfrm'.
19963         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
19964         (amemxfrm): Renamed from memxfrm.
19965         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
19966         (amemxfrm): Renamed from memxfrm.
19967         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
19968         * NEWS: Mention the change.
19969         * MODULES.html.sh (String handling <string.h>): Update.
19970         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
19971         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
19972         * lib/unicase/u16-casexfrm.c: Likewise.
19973         * lib/unicase/u32-casexfrm.c: Likewise.
19974         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
19975         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
19976         * lib/uninorm/u16-normxfrm.c: Likewise.
19977         * lib/uninorm/u32-normxfrm.c: Likewise.
19978         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
19979         memxfrm.
19980         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
19981         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
19982         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
19983         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
19984         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
19985         Suggested by Paul Eggert.
19986
19987 2010-08-14  Bruno Haible  <bruno@clisp.org>
19988
19989         Tests for module 'astrxfrm'.
19990         * modules/astrxfrm-tests: New file.
19991         * tests/test-astrxfrm.c: New file.
19992
19993         New module 'astrxfrm'.
19994         * lib/astrxfrm.h: New file.
19995         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
19996         * modules/astrxfrm: New file.
19997
19998 2010-08-14  Reuben Thomas <rrt@sc3d.org>
19999
20000         regex: Tweak doc.
20001         * doc/regex.texi (Overview): Don't mention regex.c.
20002         (GNU Regular Expression Compiling): Likewise.
20003         (Match-end-of-line Operator): Mention 'not_eol'.
20004
20005 2010-08-14  Brian Gough  <bjg@gnu.org>
20006             Bruno Haible  <bruno@clisp.org>
20007
20008         git-merge-changelog: add doc relating to use with bzr and hg.
20009         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
20010
20011 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
20012
20013         pthread: fix pthread.h creation for srcdir != builddir
20014         * modules/pthread (Makefile.am): Fix the rule to work also in a
20015         non-srcdir build.
20016
20017 2010-08-13  Karl Berry  <karl@gnu.org>
20018
20019         * doc/regex.texi (Predefined Syntaxes): @smallexample.
20020         * doc/posix-*/*: force line break before @url of POSIX
20021         specifications.
20022         Suggested by Werner Lemberg.
20023
20024 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
20025
20026         strtod: fix const diagnostic
20027         * lib/strtod.c (strtod): Don't assign const char * to char *,
20028         as this elicits a warning from GCC when warnings are enabled.
20029
20030 2010-08-10  Pádraig Brady <P@draigbrady.com>
20031         and Eric Blake  <eblake@redhat.com>
20032
20033         copy-acl: ignore ENOTSUP on HP-UX
20034         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
20035         so that it is available for HP-UX.
20036         * lib/copy-acl.c (qcopy_acl): Use it.
20037         Reported by Patrick M. Callahan.
20038
20039 2010-08-10  Eric Blake  <eblake@redhat.com>
20040
20041         open, chown: relax license
20042         * modules/open (License): Change to LGPLv2+, with consent by all
20043         authors, for use in augeas.
20044         * modules/chown (License): Likewise.
20045         * modules/lchown (Likewise): Likewise.
20046         Requested by Adam Stokes.
20047
20048 2010-08-09  Karl Berry  <karl@gnu.org>
20049
20050         * build-aux/ar-lib: new file, import from Automake.
20051         * config/srclist.txt: autocheck for updates.
20052
20053 2010-08-09  Eric Blake  <eblake@redhat.com>
20054
20055         readlinkat: adjust client modules
20056         * modules/areadlinkat (Depends-on): Use readlinkat, not
20057         symlinkat.
20058         * modules/areadlinkat-with-size (Depends-on): Likewise.
20059
20060         mknod: be more vocal about danger of running tests as root
20061         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
20062         root, since that is just asking for problems.
20063         Suggested by Bruno Haible, based on a report by Rainer Tammer.
20064
20065         readlinkat: split into its own module
20066         * modules/symlinkat: Split readlinkat...
20067         * modules/readlinkat: ...into separate module.
20068         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
20069         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
20070         * lib/symlinkat.c (readlinkat): Move...
20071         * lib/readlinkat.c: ...into new file.
20072         * modules/symlinkat-tests: Split readlinkat test...
20073         * modules/readlinkat-tests: ...into separate module.
20074         * tests/test-symlinkat.c: Split...
20075         * tests/test-readlinkat.c: ...into new file.
20076         * NEWS: Document the split.
20077         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
20078         * lib/unistd.in.h (readlinkat): Likewise.
20079         Suggested by Bruno Haible.
20080
20081 2010-08-08  Bruno Haible  <bruno@clisp.org>
20082
20083         memxfrm: Speed up.
20084         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
20085         that usually only one call to strxfrm is necessary for each string
20086         part.
20087         Reported by Paul Eggert <eggert@cs.ucla.edu>.
20088
20089 2010-08-07  Karl Berry  <karl@gnu.org>
20090
20091         * doc/posix-headers/limits.texi,
20092         * doc/posix-functions/malloc.texi,
20093         * doc/posix-functions/strsignal.texi: missing @item.
20094         * doc/ld-version-script.texi: spurious leading i.
20095         * doc/regex.texi (Interval Operators): no commas inside @var.
20096
20097 2010-08-01  Bruno Haible  <bruno@clisp.org>
20098
20099         Integrate the regex documentation.
20100         * doc/gnulib.texi: Define 'cn' index.
20101         (Regular expressions): New a chapter that includes regex.texi and
20102         regexprops-generic.texi.
20103         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
20104         syntax.
20105
20106         Whitespace cleanup.
20107         * doc/regex.texi: Remove trailing spaces.
20108
20109         Add regex documentation.
20110         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
20111         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
20112         Written by Kathy A. Hargreaves and Karl Berry.
20113
20114 2010-08-01  Bruno Haible  <bruno@clisp.org>
20115
20116         link: Update documentation.
20117         * doc/posix-functions/link.texi: Update regarding Solaris.
20118
20119 2010-07-31  Bruno Haible  <bruno@clisp.org>
20120
20121         Update modules list.
20122         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
20123         (String handling <string.h>): Add memcmp2, memxfrm.
20124         (Container data structures): Add xlist, xsublist, xoset.
20125         (Core language properties): Add alignof, unused-parameter.
20126         (Process control, Numeric conversion functions <stdlib.h>): Renamed
20127         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
20128         (Unibyte characters <ctype.h>): New section.
20129         (String handling <string.h>): New section.
20130         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
20131         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
20132         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
20133         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
20134         tan, tanh, tanl, y0, y1, yn.
20135         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
20136         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
20137         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
20138         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
20139         unlockpt, vdprintf, vdprintf-posix.
20140         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
20141         (File system functions): Add concat-filename, sys_file, sys_ioctl,
20142         xconcat-filename.
20143         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
20144         getdtablesize, pipe2, pipe2-safer.
20145         (Security): New section.
20146         (Networking functions): Add accept4.
20147         (Signal handling): Add sigpipe.
20148         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
20149         mbmemcasecoll.
20150         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
20151         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
20152         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
20153         pipe-filter-ii.
20154         (Misc): Add argp-version-etc, login_tty, parse-duration.
20155
20156 2010-07-31  Bruno Haible  <bruno@clisp.org>
20157
20158         Improve doc in MODULES.html.
20159         * modules/linkat (Description): Add the word "function".
20160         * modules/mkfifo (Description): Likewise.
20161         * modules/mknod (Description): Likewise.
20162         * modules/remove (Description): Likewise.
20163         * modules/renameat (Description): Likewise.
20164         * modules/stat (Description): Likewise.
20165         * modules/symlink (Description): Likewise.
20166         * modules/unlink (Description): Likewise.
20167
20168 2010-07-31  Bruno Haible  <bruno@clisp.org>
20169
20170         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
20171         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
20172         option --enable/disable-c++ instead of --enable/disable-cxx.
20173         * NEWS: Mention the change.
20174
20175 2010-07-31  Bruno Haible  <bruno@clisp.org>
20176
20177         readlink, areadlink: Relax test a bit.
20178         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
20179         alternative to ENOTDIR.
20180         * tests/test-areadlink.h (test_areadlink): Likewise.
20181         Reported by Rainer Tammer.
20182
20183 2010-07-31  Bruno Haible  <bruno@clisp.org>
20184
20185         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
20186         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
20187         character, perform the search using U_STRCHR.
20188         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
20189         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
20190         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
20191         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
20192         Suggested by Paolo Bonzini.
20193
20194 2010-07-31  Bruno Haible  <bruno@clisp.org>
20195
20196         unistr/u*-strstr: Fix dependencies.
20197         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
20198         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
20199         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
20200
20201 2010-07-31  Bruno Haible  <bruno@clisp.org>
20202
20203         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
20204         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
20205         the beginning of the loop.
20206         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
20207         cases in 'switch' statement.
20208
20209         unistr/u8-strchr: Fix several bugs.
20210         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
20211         the string. When not found, return NULL, not a pointer near the end.
20212
20213         More tests for unistr/u8-strchr.
20214         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
20215         that the function does not read past the first occurrence of the byte
20216         being searched.
20217         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
20218         * tests/unistr/test-u16-strchr.c (main): New function.
20219         * tests/unistr/test-u32-strchr.c (main): New function.
20220
20221 2010-07-31  Bruno Haible  <bruno@clisp.org>
20222
20223         posix-modules: Ignore backup files of documentation files.
20224         * posix-modules: grep only through files named *.texi.
20225
20226 2010-07-31  Bruno Haible  <bruno@clisp.org>
20227
20228         symlinkat: Fix documentation.
20229         * doc/posix-functions/readlinkat.texi: Fix module name.
20230
20231 2010-07-31  Bruno Haible  <bruno@clisp.org>
20232
20233         fchownat: Replace also when chown has the trailing slash bug.
20234         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
20235         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
20236         introduced on 2010-04-10.
20237         Reported by Rainer Tammer.
20238
20239 2010-07-31  Bruno Haible  <bruno@clisp.org>
20240
20241         linkat: Work around AIX 7.1 bug.
20242         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
20243         whether linkat handles trailing slash correctly. If not, replace linkat
20244         and define LINKAT_TRAILING_SLASH_BUG.
20245         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
20246         check whether (fd1,file1) points to a directory if file1 or file2 ends
20247         in a slash. Code taken from lib/link.c.
20248         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
20249         Reported by Rainer Tammer.
20250
20251 2010-07-31  Bruno Haible  <bruno@clisp.org>
20252
20253         Correctly determine whether pow is available in libc on AIX 7 with xlc.
20254         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
20255         This disables an xlc optimization that was causing wrong test results.
20256         Reported by Rainer Tammer.
20257
20258 2010-07-31  Bruno Haible  <bruno@clisp.org>
20259
20260         iconv: Work around AIX 6.1..7.1 bug.
20261         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
20262         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
20263         cross-compiling, guess no on all versions of AIX.
20264         Reported by Rainer Tammer.
20265
20266 2010-07-31  Bruno Haible  <bruno@clisp.org>
20267
20268         readlink: Relax test a bit.
20269         * tests/test-readlink.h (test_readlink): Allow different errno value
20270         when readlink is called with a file name that ends in / and refers to
20271         a file.
20272         Suggested by Eric Blake.
20273         Reported by Rainer Tammer.
20274
20275 2010-07-31  Bruno Haible  <bruno@clisp.org>
20276
20277         copysign: Does not require -lm on glibc systems.
20278         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
20279         gl_COMMON_DOUBLE_MATHFUNC.
20280         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
20281
20282 2010-07-31  Bruno Haible  <bruno@clisp.org>
20283
20284         duplocale: Work around AIX 7.1 bug.
20285         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
20286         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
20287         * lib/duplocale.c (rpl_duplocale): Update comment.
20288         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
20289         Reported by Rainer Tammer.
20290
20291 2010-07-30  Bruno Haible  <bruno@clisp.org>
20292
20293         dirfd: Avoid link error on AIX 7.1.
20294         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
20295         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
20296         exist, set REPLACE_DIRFD.
20297         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
20298         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
20299         * doc/posix-functions/dirfd.texi: Update.
20300         Reported by Rainer Tammer.
20301
20302 2010-07-30  Eric Blake  <eblake@redhat.com>
20303
20304         strtod: next round of AIX fixes
20305         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
20306         exponent.
20307         * tests/test-strtod.c (main): Enhance tests.
20308         * doc/posix-functions/strtod.texi (strtod): Document next bug.
20309         Reported by Rainer Tammer.
20310
20311         futimens: fix configure check
20312         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
20313         Reported by Bruno Haible.
20314
20315 2010-07-30  Bruno Haible  <bruno@clisp.org>
20316
20317         getline: Update regarding AIX.
20318         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
20319         Reported by Rainer Tammer.
20320
20321 2010-07-30  Bruno Haible  <bruno@clisp.org>
20322
20323         wcwidth: Drop replacement on AIX 7.
20324         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
20325         AIX 7.
20326         Reported by Rainer Tammer.
20327
20328 2010-07-30  Bruno Haible  <bruno@clisp.org>
20329
20330         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
20331         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
20332         a 'char *'.
20333         Reported by Rainer Tammer.
20334
20335 2010-07-30  Bruno Haible  <bruno@clisp.org>
20336
20337         unlink: Update regarding AIX.
20338         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
20339         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
20340         Reported by Rainer Tammer.
20341
20342 2010-07-30  Bruno Haible  <bruno@clisp.org>
20343
20344         symlink: Update regarding AIX.
20345         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
20346         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
20347         Reported by Rainer Tammer.
20348
20349 2010-07-30  Bruno Haible  <bruno@clisp.org>
20350
20351         strndup: Update regarding AIX.
20352         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
20353         AIX 7.
20354         Reported by Rainer Tammer.
20355
20356 2010-07-30  Bruno Haible  <bruno@clisp.org>
20357
20358         stat: Update regarding AIX.
20359         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
20360         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
20361         Reported by Rainer Tammer.
20362
20363 2010-07-30  Bruno Haible  <bruno@clisp.org>
20364
20365         truncl: Fix autoconf test.
20366         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
20367         whether truncl works.
20368         Reported by Rainer Tammer.
20369
20370 2010-07-30  Bruno Haible  <bruno@clisp.org>
20371
20372         round: Update regarding AIX.
20373         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
20374         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
20375         Reported by Rainer Tammer.
20376
20377 2010-07-30  Bruno Haible  <bruno@clisp.org>
20378
20379         rename: Update regarding AIX.
20380         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
20381         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
20382         Reported by Rainer Tammer.
20383
20384 2010-07-30  Bruno Haible  <bruno@clisp.org>
20385
20386         printf.m4: Update regarding AIX.
20387         * m4/printf.m4: Update comments regarding AIX.
20388         Reported by Rainer Tammer.
20389
20390 2010-07-30  Bruno Haible  <bruno@clisp.org>
20391
20392         iconv: Update regarding AIX.
20393         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
20394         AIX 7.
20395         Reported by Rainer Tammer.
20396
20397 2010-07-30  Bruno Haible  <bruno@clisp.org>
20398
20399         getopt: Update regarding AIX.
20400         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
20401         no on AIX.
20402         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
20403         Reported by Rainer Tammer.
20404
20405 2010-07-30  Bruno Haible  <bruno@clisp.org>
20406
20407         ldexpl; Update regarding AIX.
20408         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
20409         on AIX 7.
20410         Reported by Rainer Tammer.
20411
20412 2010-07-30  Bruno Haible  <bruno@clisp.org>
20413
20414         frexpl: Update regarding AIX.
20415         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
20416         on AIX 7.
20417         Reported by Rainer Tammer.
20418
20419 2010-07-30  Bruno Haible  <bruno@clisp.org>
20420
20421         open, fopen: Update regarding AIX.
20422         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
20423         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
20424         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
20425         * doc/posix-functions/fopen.texi: Likewise.
20426         Reported by Rainer Tammer.
20427
20428 2010-07-30  Bruno Haible  <bruno@clisp.org>
20429
20430         chown: Update doc regarding AIX.
20431         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
20432         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
20433         Reported by Rainer Tammer.
20434
20435 2010-07-30  Eric Blake  <eblake@redhat.com>
20436
20437         strtod: fix bug in replacement function on AIX
20438         * lib/strtod.c (strtod): Special case broken "0x" parse in
20439         underlying strtod.
20440         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
20441         * doc/posix-functions/strtod.texi (strtod): Likewise.
20442         Reported by Rainer Tammer.
20443
20444 2010-07-30  Bruno Haible  <bruno@clisp.org>
20445
20446         mbrlen: Fix cross-compilation guess for AIX.
20447         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
20448         guess. Leftover from 2008-12-22.
20449
20450 2010-07-30  Bruno Haible  <bruno@clisp.org>
20451
20452         mbrtowc: Fix cross-compilation guess for AIX.
20453         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
20454         guess. Leftover from 2008-12-21.
20455
20456 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
20457
20458         init.sh: work around trap limitation of some shells
20459         * tests/init.sh (setup_): Move exit trap outside of shell function.
20460
20461 2010-07-29  Eric Blake  <eblake@redhat.com>
20462
20463         strtod: aid debugging
20464         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
20465         understanding why strtod is rejected.
20466
20467 2010-07-28  Bruno Haible  <bruno@clisp.org>
20468
20469         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
20470         * lib/unistr/u8-chr.c: Include <string.h>.
20471         * tests/unistr/test-u8-chr.c: Likewise.
20472         * tests/unistr/test-u16-chr.c: Likewise.
20473         * tests/unistr/test-u32-chr.c: Likewise.
20474         * tests/unistr/test-u8-strchr.c: Likewise.
20475         * tests/unistr/test-u16-strchr.c: Likewise.
20476         * tests/unistr/test-u32-strchr.c: Likewise.
20477         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
20478         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
20479         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
20480         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
20481
20482 2010-07-28  Bruno Haible  <bruno@clisp.org>
20483
20484         Use spaces for indentation, not tabs.
20485         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
20486
20487 2010-07-27  Bruno Haible  <bruno@clisp.org>
20488
20489         mbspcasecmp: Fix function specification.
20490         * lib/string.in.h (mbspcasecmp): Fix specification comment.
20491         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
20492         Reported by Eric Blake <eblake@redhat.com>.
20493
20494 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
20495
20496         timespec: use cast and not conditional, as truncation isn't possible
20497         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
20498         instead of a conditional.  Comment about the situation in more detail.
20499         This undoes most of the 2009-10-29 patch.
20500
20501 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
20502
20503         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
20504         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
20505         * lib/unistr/u8-strchr.c: Likewise.
20506         * modules/unistr/u8-chr: Depend on memchr.
20507
20508         unistr/u*-strchr: add tests
20509         * modules/unistr/u8-strchr-tests: New file.
20510         * modules/unistr/u16-strchr-tests: New file.
20511         * modules/unistr/u32-strchr-tests: New file.
20512         * tests/unistr/test-strchr.h: New file.
20513         * tests/unistr/test-u8-strchr.c: New file.
20514         * tests/unistr/test-u16-strchr.c: New file.
20515         * tests/unistr/test-u32-strchr.c: New file.
20516
20517         unistr/u*-chr: test multibyte sequences more
20518         * tests/unistr/test-chr.h: Do complete testing of the characters in the
20519         test vector.
20520         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
20521         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
20522         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
20523
20524         unistr/u*-chr: test multibyte sequences
20525         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
20526
20527         unistr/u*-chr: prepare for multibyte tests
20528         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
20529         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
20530         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
20531         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
20532         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
20533         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
20534
20535 2010-07-18  Bruno Haible  <bruno@clisp.org>
20536
20537         unistr/u8-strchr: Optimize non-ASCII argument case.
20538         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
20539         because the first byte often matches anyway.
20540         Reported by Pádraig Brady <P@draigbrady.com>.
20541
20542 2010-07-15  Karl Berry  <karl@gnu.org>
20543
20544         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
20545
20546 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
20547
20548         getcwd: on Solaris, work better if ancestors are inaccessible
20549         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
20550         buffer and size, try again with a large buffer.  This works better
20551         on Solaris, since its getcwd succeeds even if the path to the root
20552         is inaccessible, and this is helpful in common cases such as .zfs
20553         hidden directories.  Problem reported by J Chapman Flack in
20554         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
20555         Use system getcwd if it's declared, not merely if it's partly
20556         working; use the partly-working test only to avoid needless effort
20557         if the system getcwd fails.
20558         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
20559         comment that was already obsolete and is now even more obsolete.
20560         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
20561         now might call strdup.
20562
20563 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
20564
20565         pthread: Add enough so that coreutils/src/sort.c compiles.
20566         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
20567         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
20568         gnulib. Include <sched.h> and <time.h>, as per POSIX.
20569         Include <sys/types.h>, in case it defines pthread_t.
20570         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
20571         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
20572         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
20573         (pthread_rwlockattr_t, pthread_spinlock_t):
20574         New typedefs, if HAVE_PTHREAD_T is not defined.
20575         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
20576         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
20577         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
20578         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
20579         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
20580         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
20581         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
20582         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
20583         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
20584         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
20585         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
20586         New macros.
20587         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
20588         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
20589         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
20590         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
20591         (pthread_spin_unlock): New dummy functions.
20592         (pthread_create): Return EAGAIN; don't set errno.
20593         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
20594         require AC_C_INLINE.
20595         * modules/pthread (Depends-on): Add sched, time.
20596         (pthread.h): Use AM_V_GEN.
20597
20598 2010-07-13  Bruno Haible  <bruno@clisp.org>
20599
20600         striconveh: Don't malloc memory if the result buffer is sufficient.
20601         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
20602         buffer if its size is sufficient.
20603         Reported by Ludovic Courtès <ludo@gnu.org>.
20604
20605 2010-07-13  Bruno Haible  <bruno@clisp.org>
20606
20607         strtod: Add safety check.
20608         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
20609
20610 2010-07-12  Bruno Haible  <bruno@clisp.org>
20611
20612         Unify tests that set gl_cv_func_ldexpl_no_libm.
20613         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
20614         gl_FUNC_LDEXPL.
20615         (gl_FUNC_LDEXPL): Invoke it.
20616         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
20617
20618 2010-07-12  Bruno Haible  <bruno@clisp.org>
20619
20620         Unify tests that set gl_cv_func_ldexp_no_libm.
20621         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
20622         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
20623         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
20624         (configure.ac): Simply invoke gl_FUNC_LDEXP.
20625         * modules/strtod (Files): Add m4/ldexp.m4.
20626
20627 2010-07-12  Bruno Haible  <bruno@clisp.org>
20628
20629         Unify tests that set gl_cv_func_frexpl_no_libm.
20630         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
20631         gl_FUNC_FREXPL_NO_LIBM.
20632         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
20633         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
20634
20635 2010-07-12  Bruno Haible  <bruno@clisp.org>
20636
20637         Unify tests that set gl_cv_func_frexp_no_libm.
20638         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
20639         gl_FUNC_FREXP_NO_LIBM.
20640         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
20641         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
20642
20643 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
20644
20645         memcoll: clarify sizes versus lengths, document better, and tweak perf
20646         * lib/memcoll.c (strcoll_loop, memcoll0):
20647         Improve quality of descriptive comments.  Name variables
20648         consistently as to whether they are lengths (which do not include
20649         terminating null) versus sizes (which do).
20650         * lib/xmemcoll.c (xmemcoll0): Likewise.
20651         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
20652         returned when s1size == 0; this is easier to compile and saves
20653         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
20654
20655 2010-07-12  Bruno Haible  <bruno@clisp.org>
20656
20657         Tests for module '_Exit'.
20658         * modules/_Exit-tests: New file.
20659         * tests/test-_Exit.sh: New file.
20660         * tests/test-_Exit.c: New file.
20661
20662         New module '_Exit'.
20663         * lib/stdlib.in.h (__attribute__): New macro.
20664         (_Exit): New declaration.
20665         * lib/_Exit.c: New file.
20666         * m4/_Exit.m4: New file.
20667         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
20668         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
20669         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
20670         * modules/_Exit: New file.
20671         * tests/test-stdlib-c++.cc (_Exit): Check signature.
20672         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
20673
20674 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
20675
20676         strtod: make it more-accurate typically, and don't require libm
20677         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
20678         Include limits.h.  Don't include string.h.
20679         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
20680         (locale_isspace): New function, so that no casts are needed to
20681         check whether *s is a space.
20682         (ldexp): Provide an unused dummy if not available.
20683         (scale_radix_exp, parse_number, underlying_strtod): New functions.
20684         (strtod): Use them.  This implementation prefers to use the
20685         underlying strtod if available, falling back on our own code
20686         only to fix known bugs.  This is more likely to produce an
20687         accurate result.  Also, it avoids the use of libm functions.
20688         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
20689         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
20690         was absent, but it caused a test failure with coreutils.
20691         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
20692         with libm.
20693         * modules/strtod (Makefile.am, Link): libm is no longer needed.
20694         * modules/strtod-tests (Makefile.am): Likewise.
20695
20696 2010-07-11  Pádraig Brady  <P@draigBrady.com>
20697             Bruno Haible  <bruno@clisp.org>
20698
20699         unistr/u8-strchr: Optimize ASCII argument case.
20700         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
20701
20702 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
20703
20704         (x)memcoll: minor tweaks
20705         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
20706         is after the type that it qualifies.
20707         (memcoll0): Likewise.
20708         * lib/memcoll.h (memcoll0): Likewise.
20709         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
20710         * lib/xmemcoll.h (xmemcoll0): Likewise.
20711         * lib/memcoll.c (memcoll0): Correct the comment.  This function
20712         differs from memcoll in that the NUL byte is part of the argument.
20713         Omit the abort-checks, as performance is a real issue here.  Plus,
20714         the checks were wrong anyway (an off-by-one error).  Omit local
20715         variable 'diff', as it's a bit clearer that way.
20716         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
20717         no longer needed.
20718
20719 2010-07-08  Chen Guo <chenguo4@yahoo.com>
20720
20721         (x)memcoll: speedup when input is known to be NUL delimited
20722         * lib/memcoll.c: Include stdlib.
20723         (memcoll0): New function.
20724         (strcoll_loop): New function, refactored for use in both memcoll
20725         and memcoll0.
20726         * lib/memcoll.h (memcoll0): Add prototype.
20727         * lib/xmemcoll.c (xmemcoll0): New function.
20728         (collate_error): New function, refactored for use in both xmemcoll
20729         and xmemcoll0.
20730         * lib/xmemcoll.h (xmemcoll0): Add prototype.
20731         * m4/memcoll.m4: add inline invocation.
20732
20733 2010-07-06  Pádraig Brady  <P@draigBrady.com>
20734
20735         * build-aux/bootstrap: Remove any local translations
20736         from the translation project synchronization directory,
20737         so that local only translations are not distributed.
20738
20739 2010-07-04  Bruno Haible  <bruno@clisp.org>
20740
20741         fsusage: Clarify which code applies to which platforms.
20742         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
20743         platform.
20744         * lib/fsusage.c (get_fs_usage): Likewise.
20745
20746 2010-07-04  Bruno Haible  <bruno@clisp.org>
20747
20748         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
20749         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
20750         Reported by Martin Lambers <marlam@marlam.de>.
20751
20752 2010-07-04  Jim Meyering  <meyering@redhat.com>
20753
20754         hash: once again explicitly disallow insertion of NULL
20755         * lib/hash.c (hash_insert0): Reinstate just-removed test:
20756         inserting a NULL pointer cannot work with these functions.
20757         Add a comment with details.
20758         This reverts part of the 2010-07-01 commit, 5bef1a35
20759         "hash: extend module to deal with non-pointer keys".
20760
20761 2010-07-01  Bruno Haible  <bruno@clisp.org>
20762
20763         stdbool: Update doc.
20764         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
20765         Info from Christian Weisgerber <naddy@mips.inka.de>.
20766
20767 2010-07-01  Jim Meyering  <meyering@redhat.com>
20768
20769         hash: extend module to deal with non-pointer keys
20770         * lib/hash.c (hash_insert0): New interface, much like hash_insert
20771         but that allows insertion of non-pointer entries.
20772         Do not disallow an ENTRY value of NULL.
20773         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
20774         * lib/hash.h (hash_insert0): Declare.
20775
20776 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
20777
20778         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
20779         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
20780         not present (i.e. with autoconf 2.59 and when using gettextize, not
20781         gnulib), require AC_GNU_SOURCE instead.
20782
20783 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
20784
20785         idpriv-drop: Fix tests.
20786         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
20787         not to the test-idpriv-droptemp program.
20788
20789 2010-06-29  Bruno Haible  <bruno@clisp.org>
20790
20791         string: Fix syntax error with g++ 2.96.
20792         * lib/string.in.h (__pure__): Remove definition.
20793         (_GL_ATTRIBUTE_PURE): New macro.
20794         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
20795         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
20796         Reported by Christian Weisgerber <naddy@mips.inka.de>.
20797
20798 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
20799
20800         unitypes: Fix bug introduced on 2010-05-18.
20801         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
20802
20803 2010-06-22  Eric Blake  <eblake@redhat.com>
20804
20805         memmem: slight optimization
20806         * lib/str-two-way.h (critical_factorization): Update comments.
20807         Reduce work during factorization phase.
20808         Reported by Carlos Bueno <carlos@bueno.org>.
20809
20810 2010-06-21  Bruno Haible  <bruno@clisp.org>
20811
20812         Fix HAVE_CALLOC_POSIX misnomer.
20813         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
20814         !HAVE_CALLOC_POSIX.
20815         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
20816         HAVE_CALLOC_POSIX.
20817         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
20818         instead of HAVE_CALLOC_POSIX.
20819         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
20820         HAVE_CALLOC_POSIX.
20821
20822         Use modern idiom for calloc() replacement.
20823         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
20824         AC_FUNC_CALLOC.
20825         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
20826         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
20827         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
20828         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
20829         (gl_REPLACE_CALLOC): New macro.
20830
20831 2010-06-21  Bruno Haible  <bruno@clisp.org>
20832
20833         Fix HAVE_REALLOC_POSIX misnomer.
20834         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
20835         !HAVE_REALLOC_POSIX.
20836         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
20837         HAVE_REALLOC_POSIX.
20838         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
20839         instead of HAVE_REALLOC_POSIX.
20840         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
20841         HAVE_REALLOC_POSIX.
20842
20843         Use modern idiom for realloc() replacement.
20844         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
20845         AC_FUNC_REALLOC.
20846         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
20847         Autoconf's AC_FUNC_REALLOC.
20848         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
20849         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
20850         (gl_REPLACE_REALLOC): New macro.
20851         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
20852
20853 2010-06-21  Bruno Haible  <bruno@clisp.org>
20854
20855         Fix HAVE_MALLOC_POSIX misnomer.
20856         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
20857         !HAVE_MALLOC_POSIX.
20858         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
20859         HAVE_MALLOC_POSIX.
20860         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
20861         instead of HAVE_MALLOC_POSIX.
20862         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
20863         HAVE_MALLOC_POSIX.
20864
20865         Use modern idiom for malloc() replacement.
20866         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
20867         AC_FUNC_MALLOC.
20868         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
20869         Autoconf's AC_FUNC_MALLOC.
20870         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
20871         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
20872         (gl_REPLACE_MALLOC): New macro.
20873         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
20874
20875 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
20876
20877         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
20878         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
20879         This macro takes 3 arguments, not 4.
20880
20881 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
20882
20883         ipv6: fix detection under mingw
20884         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
20885         in6_addr.
20886
20887 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
20888
20889         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
20890         that strtod() works when cross-compiling to a glibc version known
20891         to work.
20892
20893 2010-06-15  Bruno Haible  <bruno@clisp.org>
20894
20895         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
20896
20897 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
20898
20899         select: Correct timeout.
20900         * lib/select.c (rpl_select): Compute wait_timeout correctly.
20901
20902 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
20903
20904         git-version-gen: init shell var to avoid env var influence
20905         * build-aux/git-version-gen (v): Init shell var to empty.
20906
20907 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
20908
20909         priv-set: Don't assume that priv.h exists merely because getppriv does.
20910         See Jan Andersen's bug report about AIX 5L in
20911         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
20912         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
20913         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
20914         * lib/priv-set.h: Likewise.
20915         * tests/test-priv-set.c: Likewise.
20916
20917 2010-06-13  Bruno Haible  <bruno@clisp.org>
20918
20919         relocatable: Make it easier to test whether to install wrappers.
20920         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
20921         RELOCATABLE_VIA_WRAPPER.
20922
20923 2010-06-13  Bruno Haible  <bruno@clisp.org>
20924
20925         gnulib-tool: Display specified modules and dependencies differently.
20926         * gnulib-tool (func_show_module_list): New function.
20927         (func_import, func_create_testdir): Invoke it.
20928         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
20929
20930 2010-06-13  Bruno Haible  <bruno@clisp.org>
20931
20932         gnulib-tool: Align code of func_import and func_create_testdir.
20933         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
20934         specified_modules.
20935
20936 2010-06-12  Jim Meyering  <meyering@redhat.com>
20937
20938         test-inttostr: avoid spurious failure on Solaris 9
20939         * tests/test-inttostr.c (main): Skip the test when snprintf fails
20940         to accept "%ju".  Reported by Bruno Haible.
20941
20942 2010-06-11  Jim Meyering  <meyering@redhat.com>
20943
20944         test-sys_socket: mark variables as used more readably
20945         * tests/test-sys_socket.c (main): Mark otherwise unused variables
20946         as "used" explicitly via (void) statement casts.  This is more
20947         readable than using them in an artificial return expression.
20948         Suggestion from Bruno Haible.
20949
20950 2010-06-11  Bruno Haible  <bruno@clisp.org>
20951
20952         Avoid some more warnings from "gcc -Wwrite-strings".
20953         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
20954         to 'const char *'.
20955         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
20956         * tests/test-c-strcasestr.c (main): Likewise.
20957         * tests/test-mbscasestr1.c (main): Likewise.
20958         * tests/test-mbscasestr2.c (main): Likewise.
20959         * tests/test-memmem.c (main): Likewise.
20960         * tests/test-strstr.c (main): Likewise.
20961         * tests/test-strcasestr.c (main): Likewise.
20962
20963 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20964
20965         init.sh: change framework_failure_ to fail with status 99, not 1
20966         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
20967         automake's parallel-tests rule that this is an unexpected failure,
20968         even if the test is listed in XFAIL_TESTS.
20969
20970 2010-06-11  Jim Meyering  <meyering@redhat.com>
20971
20972         test-inttostr: avoid warnings about 4-6KB literal strings
20973         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
20974         Include "macros.h", for its definition of ASSERT.
20975         (CK): s/assert/ASSERT/
20976         * modules/inttostr-tests (Files): Add macros.h.
20977
20978         init.sh: don't use $ME_ or skip_ before they are defined
20979         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
20980         their first uses.  Also hoist their companions: warn_, fail_,
20981         framework_failure_, $stderr_fileno.  Prompted by a patch from
20982         Stefano Lattarini.
20983
20984         test-sys_socket: avoid set-but-not-used warnings from gcc
20985         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
20986         avoid warning about set-but-not-used variables.
20987
20988         test-xvasprintf: avoid 'const' discard warnings
20989         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
20990         "const" when assigning from literal strings.
20991         (test_xasprintf): Add "void" in function argument list to placate
20992         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
20993
20994         tests: avoid compilation warnings in argmatch and exclude tests...
20995         in packages that define ARGMATCH_DIE_DECL, like coreutils.
20996         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
20997         Since it always exits, declare with the "noreturn" attribute.
20998         * tests/test-argmatch.c: Likewise.
20999
21000         tests: avoid 'const' discard warnings in mbsstr tests
21001         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
21002         * tests/test-mbsstr2.c (main): Likewise.
21003
21004         test-verify: avoid warning from gcc's -Wmissing-declarations
21005         * tests/test-verify.c (function): Declare to be static.
21006
21007         test-inttostr.c: include <string.h> for use of strcmp
21008         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
21009
21010         test-linkat: avoid failed assertion on "other" architectures
21011         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
21012         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
21013         sparc: https://bugs.launchpad.net/bugs/591968
21014
21015 2010-06-11  Jim Meyering  <meyering@redhat.com>
21016
21017         printf.m4: avoid autoconf's "Expanded Before Required" warning
21018         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
21019         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
21020         autoconf warning.
21021
21022 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
21023
21024         Replacement header templates are now named with ".in", not "_".
21025         * doc/gnulib-intro.texi: Correct.
21026
21027 2010-06-10  Jim Meyering  <meyering@redhat.com>
21028
21029         inttostr-tests: depend on snprintf, not snprintf-posix
21030         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
21031         snprintf-posix, to avoid this aclocal failure:
21032           missing file gnulib-tests/vasnprintf.c
21033           configure.ac:45: error: expected source file, required through \
21034           AC_LIBSOURCES, not found
21035
21036 2010-06-10  Jim Meyering  <meyering@redhat.com>
21037
21038         inttostr: add a new function, inttostr, and tests
21039         The namesake function was not available.  The existence of the
21040         template file, inttostr.c makes its addition nontrivial.
21041         * lib/anytostr.c: Rename from inttostr.c.
21042         (anytostr): Rename from inttostr.
21043         * lib/inttostr.c: New file.
21044         * modules/inttostr (Files): Add anytostr.c.
21045         (Makefile.am): Set lib_SOURCES instead of ...
21046         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
21047         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
21048         * lib/offtostr.c: Likewise.
21049         * lib/uinttostr.c: Likewise.
21050         * lib/umaxtostr.c: Likewise.
21051         * modules/inttostr-tests: New file.
21052         * tests/test-inttostr.c: New file.  Test these functions.
21053
21054 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
21055             Bruno Haible  <bruno@clisp.org>
21056
21057         Add "Extending Gnulib" chapter to manual.
21058         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
21059         chapter.
21060         (Extending Gnulib): New chapter.
21061         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
21062         chapter.
21063
21064 2010-06-09  Bruno Haible  <bruno@clisp.org>
21065
21066         Avoid relocwrapper link errors due to gnulib replacement functions.
21067         * lib/areadlink.c: Use the system's malloc, realloc functions.
21068         (areadlink): Set errno to ENOMEM explicitly.
21069         * modules/areadlink (Depends-on): Remove malloc-posix.
21070         Reported by Ben Pfaff <blp@cs.stanford.edu>.
21071
21072 2010-06-09  Bruno Haible  <bruno@clisp.org>
21073
21074         Avoid relocwrapper link errors due to gnulib replacement functions.
21075         * lib/canonicalize-lgpl.c: Use the system's malloc function.
21076         * lib/malloca.c: Likewise.
21077         * lib/relocatable.c: Likewise.
21078         * lib/progreloc.c: Use the system's malloc, sprintf functions.
21079         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
21080         * lib/setenv.c: Use the system's malloc, realloc functions.
21081         * lib/strerror.c: Use the system's sprintf function.
21082         Reported by Ben Pfaff <blp@cs.stanford.edu>.
21083
21084 2010-06-04  Bruno Haible  <bruno@clisp.org>
21085
21086         Prefer documented low-level autoconf macro names.
21087         * m4/lib-link.m4: Use m4_translit instead of translit.
21088         * m4/environ.m4: Likewise.
21089         * m4/mathfunc.m4: Likewise.
21090         * m4/onceonly.m4: Likewise.
21091         * m4/stdint.m4: Likewise.
21092         Suggested by Eric Blake.
21093
21094 2010-06-04  Martin Lambers  <marlam@marlam.de>
21095             Bruno Haible  <bruno@clisp.org>
21096
21097         havelib: Allow library names with '+' characters.
21098         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
21099         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
21100
21101 2010-06-09  Bruno Haible  <bruno@clisp.org>
21102
21103         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
21104         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
21105         realloc failed.
21106
21107 2010-06-08  Peter Simons  <simons@cryp.to>
21108
21109         maint.mk: make the news-check rule more configurable
21110         * top/maint.mk (news-check-lines-spec): New variable.
21111         (news-check): Use "sed -n 1,10p" in place of "head".
21112
21113 2010-06-07  Jim Meyering  <meyering@redhat.com>
21114
21115         do-release-commit-and-tag: fix typo in --help
21116         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
21117
21118         regex: avoid new dead-code warning with gcc-4.6.0
21119         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
21120         if-block containing a while-loop.  It's been unused for at least
21121         5 years.
21122
21123 2010-06-05  Bruno Haible  <bruno@clisp.org>
21124
21125         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
21126         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
21127
21128 2010-06-04  Bruno Haible  <bruno@clisp.org>
21129
21130         Update to GNU gettext 0.18.1.
21131         * modules/gettext (configure.ac): Require gettext infrastructure from
21132         version 0.18.1.
21133
21134 2010-06-03  Bruno Haible  <bruno@clisp.org>
21135
21136         Don't use AC_LIBOBJ with file names in subdirectories.
21137         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
21138         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
21139         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
21140         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
21141         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
21142         gl_LIBUNISTRING_LIBSOURCE.
21143         (Makefile.am): Augment lib_SOURCES here, conditionally.
21144         * NEWS: Drop requirement for Automake option 'subdir-objects'.
21145
21146 2010-06-03  Bruno Haible  <bruno@clisp.org>
21147
21148         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
21149         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
21150         expansion does not end with a newline.
21151         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
21152         unnecessary newline.
21153
21154 2010-06-03  Bruno Haible  <bruno@clisp.org>
21155
21156         Reduce dependencies.
21157         * tests/test-quotearg.h: New file, extracted from
21158         tests/test-quotearg.c.
21159         * tests/test-quotearg-simple.c: New file, extracted from
21160         tests/test-quotearg.c.
21161         * tests/test-quotearg.c: Don't include <ctype.h>.
21162         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
21163         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
21164         use_quote_double_quotes, use_quotearg_colon): Moved to
21165         tests/test-quotearg.h.
21166         (results_g, flag_results, custom_quotes, custom_results): Moved
21167         to tests/test-quotearg-simple.c.
21168         (main): Moved the part that does not depend on gettext to
21169         tests/test-quotearg-simple.c. Return 77 if the test cannot be
21170         performed.
21171         * modules/quotearg-simple: New file.
21172         * modules/quotearg-simple-tests: New file.
21173         * modules/quotearg (Depends-on): Add quotearg-simple.
21174         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
21175         (Files): Add tests/test-quotearg.h.
21176         Reported by Paolo Bonzini.
21177
21178 2010-06-03  Bruno Haible  <bruno@clisp.org>
21179
21180         Reduce dependencies.
21181         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
21182
21183 2010-06-03  Bruno Haible  <bruno@clisp.org>
21184
21185         time: Undefine more broken macros.
21186         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
21187         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
21188         Reported by Eric Blake.
21189
21190 2010-06-03  Bruno Haible  <bruno@clisp.org>
21191
21192         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
21193         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
21194         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
21195         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
21196         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
21197         Reported by Ludovic Courtès <ludo@gnu.org>.
21198
21199 2010-06-02  Eric Blake  <eblake@redhat.com>
21200
21201         time: work with mingw + pthreads-win32 library
21202         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
21203         if timespec is defined only in pthread.h.
21204         * modules/time (Makefile.am): Substitute it.
21205         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
21206         <pthread.h>, when needed.
21207         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
21208         from the library.
21209
21210 2010-05-31  Bruno Haible  <bruno@clisp.org>
21211
21212         Avoid expanding two macros in the wrong order.
21213         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
21214         gl_LIBUNISTRING if it is defined.
21215         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
21216         autoconf >= 2.64.
21217         Reported by Ludovic Courtès <ludo@gnu.org>.
21218
21219 2010-05-27  Jim Meyering  <meyering@redhat.com>
21220
21221         maint.mk: also prohibit "#undef" of always-defined symbols
21222         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
21223         Allow more than one space before the symbol name.
21224         (sc_prohibit_always-defined_macros): Use grep's -E, now that
21225         the regexp uses alternation.
21226
21227 2010-05-26  Eric Blake  <eblake@redhat.com>
21228
21229         maint.mk: avoid echo -e
21230         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
21231         Convert all uses of echo -* to printf.
21232         Reported by Matthias Bolte.
21233
21234 2010-05-25  Bruno Haible  <bruno@clisp.org>
21235
21236         Update to GNU gettext 0.18, part 2.
21237         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
21238         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
21239
21240 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21241
21242         Add missing include in test-pwrite.c.
21243         * tests/test-pwrite.c: Include string.h, for strcmp.
21244
21245 2010-05-24  Bruno Haible  <bruno@clisp.org>
21246
21247         * NEWS: Mention requirement for Automake option 'subdir-objects'.
21248
21249 2010-05-24  Bruno Haible  <bruno@clisp.org>
21250
21251         Don't use conversion with transliteration in u{8,16,32}_strcoll.
21252         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
21253         iconveh_error argument.
21254         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
21255         U_STRCONV_TO_LOCALE.
21256         * lib/unistr/u16-strcoll.c: Likewise.
21257         * lib/unistr/u32-strcoll.c: Likewise.
21258         * modules/unistr/u8-strcoll (Depends-on): Add
21259         uniconv/u8-strconv-to-enc, localcharset. Remove
21260         uniconv/u8-strconv-to-locale.
21261         (configure.ac): Bump version number.
21262         * modules/unistr/u16-strcoll (Depends-on): Add
21263         uniconv/u16-strconv-to-enc, localcharset. Remove
21264         uniconv/u16-strconv-to-locale.
21265         (configure.ac): Bump version number.
21266         * modules/unistr/u32-strcoll (Depends-on): Add
21267         uniconv/u32-strconv-to-enc, localcharset. Remove
21268         uniconv/u32-strconv-to-locale.
21269         (configure.ac): Bump version number.
21270
21271 2010-05-24  Bruno Haible  <bruno@clisp.org>
21272
21273         Avoid a test failure on NetBSD 5.0.
21274         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
21275         an iconv() bug.
21276
21277 2010-05-24  Bruno Haible  <bruno@clisp.org>
21278
21279         Adjust #include directive style.
21280         * modules/regex (Includes): Recommend to write <regex.h>.
21281
21282 2010-05-24  Bruno Haible  <bruno@clisp.org>
21283
21284         regex: Don't require alloca.
21285         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
21286         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
21287         only inside if (0).
21288
21289 2010-05-23  Jim Meyering  <meyering@redhat.com>
21290
21291         test-renameat.c: include <sys/stat.h>
21292         * tests/test-renameat.c: Include <sys/stat.h>; required for
21293         definition of S_IS* macros.
21294
21295 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
21296
21297         Update maintainer documentation for 'relocatable-prog' module.
21298         * doc/relocatable-maint.texi: Update.
21299         Comments by Bruno Haible.
21300
21301 2010-05-23  Bruno Haible  <bruno@clisp.org>
21302
21303         git-merge-changelog: Enable --split-merged-entry by default.
21304         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
21305         (usage): Don't mention this option any more.
21306         Reported by Ralf Wildenhues.
21307
21308 2010-05-23  Jim Meyering  <meyering@redhat.com>
21309
21310         test-pwrite: do not leave behind a test file named "out"
21311         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
21312         The trivial-looking use of init.sh is really necessary.
21313         It ensures that the temporary file, "out", is created in
21314         a temporary directory, and removed upon termination.
21315         * tests/test-pwrite.sh: Re-add file.
21316         * modules/pwrite-tests: Reference it.
21317
21318 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21319
21320         Fix output redirection buglet in init.sh.
21321         * tests/init.sh: Fix redirection of stderr.
21322
21323 2010-05-20  Simon Josefsson  <simon@josefsson.org>
21324
21325         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
21326
21327 2010-05-17  Simon Josefsson  <simon@josefsson.org>
21328
21329         * modules/valgrind-tests: New file.
21330         * m4/valgrind-tests.m4: New file.
21331         * doc/valgrind-tests.texi: New file.
21332         * doc/gnulib.texi (Running self-tests under valgrind): New
21333         section.
21334
21335 2010-05-19  Bruno Haible  <bruno@clisp.org>
21336
21337         Clean up dead code in recent commit.
21338         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
21339         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
21340         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
21341         Suggested by Paolo Bonzini.
21342
21343 2010-05-19  Bruno Haible  <bruno@clisp.org>
21344
21345         Avoid valgrind error reports from libunistring.
21346         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
21347         * modules/libunistring (Files): Add it.
21348         * modules/libunistring-optional (Files): Likewise.
21349
21350 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
21351             Bruno Haible  <bruno@clisp.org>
21352
21353         New module 'libunistring-optional'.
21354         * modules/libunistring-optional: New file.
21355         * m4/libunistring-base.m4: New file.
21356         * m4/libunistring-optional.m4: New file.
21357         * lib/unicase.in.h: Renamed from lib/unicase.h.
21358         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
21359         * lib/unictype.in.h: Renamed from lib/unictype.h.
21360         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
21361         * lib/uniname.in.h: Renamed from lib/uniname.h.
21362         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
21363         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
21364         * lib/unistr.in.h: Renamed from lib/unistr.h.
21365         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
21366         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
21367         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
21368         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
21369         gl_LIBUNISTRING. If the library was found, determine the installed
21370         version and set LIBUNISTRING_VERSION.
21371         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
21372         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
21373         handle a configuration option --with-included-libunistring.
21374         * modules/libunistring (Files): Add m4/absolute-header.m4.
21375         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
21376         Add m4/libunistring-base.m4.
21377         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21378         (Makefile.am): Build unicase.h from unicase.in.h.
21379         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
21380         Add m4/libunistring-base.m4.
21381         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21382         (Makefile.am): Build uniconv.h from uniconv.in.h.
21383         * modules/unictype/base (Files): Use unictype.in.h instead of
21384         unictype.h. Add m4/libunistring-base.m4.
21385         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21386         (Makefile.am): Build unictype.h from unictype.in.h.
21387         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
21388         Add m4/libunistring-base.m4.
21389         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21390         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
21391         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
21392         Add m4/libunistring-base.m4.
21393         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21394         (Makefile.am): Build uniname.h from uniname.in.h.
21395         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
21396         Add m4/libunistring-base.m4.
21397         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21398         (Makefile.am): Build uninorm.h from uninorm.in.h.
21399         * modules/unistdio/base (Files): Use unistdio.in.h instead of
21400         unistdio.h. Add m4/libunistring-base.m4.
21401         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21402         (Makefile.am): Build unistdio.h from unistdio.in.h.
21403         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
21404         Add m4/libunistring-base.m4.
21405         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21406         (Makefile.am): Build unistr.h from unistr.in.h.
21407         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
21408         Add m4/libunistring-base.m4.
21409         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21410         (Makefile.am): Build unitypes.h from unitypes.in.h.
21411         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
21412         Add m4/libunistring-base.m4.
21413         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21414         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
21415         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
21416         uniwidth.h. Add m4/libunistring-base.m4.
21417         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21418         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
21419         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
21420         instead of augmenting lib_SOURCES.
21421         * modules/unicase/empty-suffix-context: Likewise.
21422         * modules/unicase/locale-language: Likewise.
21423         * modules/unicase/tolower: Likewise.
21424         * modules/unicase/totitle: Likewise.
21425         * modules/unicase/toupper: Likewise.
21426         * modules/unicase/u8-casecmp: Likewise.
21427         * modules/unicase/u8-casecoll: Likewise.
21428         * modules/unicase/u8-casefold: Likewise.
21429         * modules/unicase/u8-casexfrm: Likewise.
21430         * modules/unicase/u8-ct-casefold: Likewise.
21431         * modules/unicase/u8-ct-tolower: Likewise.
21432         * modules/unicase/u8-ct-totitle: Likewise.
21433         * modules/unicase/u8-ct-toupper: Likewise.
21434         * modules/unicase/u8-is-cased: Likewise.
21435         * modules/unicase/u8-is-casefolded: Likewise.
21436         * modules/unicase/u8-is-lowercase: Likewise.
21437         * modules/unicase/u8-is-titlecase: Likewise.
21438         * modules/unicase/u8-is-uppercase: Likewise.
21439         * modules/unicase/u8-prefix-context: Likewise.
21440         * modules/unicase/u8-suffix-context: Likewise.
21441         * modules/unicase/u8-tolower: Likewise.
21442         * modules/unicase/u8-totitle: Likewise.
21443         * modules/unicase/u8-toupper: Likewise.
21444         * modules/unicase/u16-casecmp: Likewise.
21445         * modules/unicase/u16-casecoll: Likewise.
21446         * modules/unicase/u16-casefold: Likewise.
21447         * modules/unicase/u16-casexfrm: Likewise.
21448         * modules/unicase/u16-ct-casefold: Likewise.
21449         * modules/unicase/u16-ct-tolower: Likewise.
21450         * modules/unicase/u16-ct-totitle: Likewise.
21451         * modules/unicase/u16-ct-toupper: Likewise.
21452         * modules/unicase/u16-is-cased: Likewise.
21453         * modules/unicase/u16-is-casefolded: Likewise.
21454         * modules/unicase/u16-is-lowercase: Likewise.
21455         * modules/unicase/u16-is-titlecase: Likewise.
21456         * modules/unicase/u16-is-uppercase: Likewise.
21457         * modules/unicase/u16-prefix-context: Likewise.
21458         * modules/unicase/u16-suffix-context: Likewise.
21459         * modules/unicase/u16-tolower: Likewise.
21460         * modules/unicase/u16-totitle: Likewise.
21461         * modules/unicase/u16-toupper: Likewise.
21462         * modules/unicase/u32-casecmp: Likewise.
21463         * modules/unicase/u32-casecoll: Likewise.
21464         * modules/unicase/u32-casefold: Likewise.
21465         * modules/unicase/u32-casexfrm: Likewise.
21466         * modules/unicase/u32-ct-casefold: Likewise.
21467         * modules/unicase/u32-ct-tolower: Likewise.
21468         * modules/unicase/u32-ct-totitle: Likewise.
21469         * modules/unicase/u32-ct-toupper: Likewise.
21470         * modules/unicase/u32-is-cased: Likewise.
21471         * modules/unicase/u32-is-casefolded: Likewise.
21472         * modules/unicase/u32-is-lowercase: Likewise.
21473         * modules/unicase/u32-is-titlecase: Likewise.
21474         * modules/unicase/u32-is-uppercase: Likewise.
21475         * modules/unicase/u32-prefix-context: Likewise.
21476         * modules/unicase/u32-suffix-context: Likewise.
21477         * modules/unicase/u32-tolower: Likewise.
21478         * modules/unicase/u32-totitle: Likewise.
21479         * modules/unicase/u32-toupper: Likewise.
21480         * modules/unicase/ulc-casecmp: Likewise.
21481         * modules/unicase/ulc-casecoll: Likewise.
21482         * modules/unicase/ulc-casexfrm: Likewise.
21483         * modules/uniconv/u8-conv-from-enc: Likewise.
21484         * modules/uniconv/u8-conv-to-enc: Likewise.
21485         * modules/uniconv/u8-strconv-from-enc: Likewise.
21486         * modules/uniconv/u8-strconv-from-locale: Likewise.
21487         * modules/uniconv/u8-strconv-to-enc: Likewise.
21488         * modules/uniconv/u8-strconv-to-locale: Likewise.
21489         * modules/uniconv/u16-conv-from-enc: Likewise.
21490         * modules/uniconv/u16-conv-to-enc: Likewise.
21491         * modules/uniconv/u16-strconv-from-enc: Likewise.
21492         * modules/uniconv/u16-strconv-from-locale: Likewise.
21493         * modules/uniconv/u16-strconv-to-enc: Likewise.
21494         * modules/uniconv/u16-strconv-to-locale: Likewise.
21495         * modules/uniconv/u32-conv-from-enc: Likewise.
21496         * modules/uniconv/u32-conv-to-enc: Likewise.
21497         * modules/uniconv/u32-strconv-from-enc: Likewise.
21498         * modules/uniconv/u32-strconv-from-locale: Likewise.
21499         * modules/uniconv/u32-strconv-to-enc: Likewise.
21500         * modules/uniconv/u32-strconv-to-locale: Likewise.
21501         * modules/unictype/bidicategory-byname: Likewise.
21502         * modules/unictype/bidicategory-name: Likewise.
21503         * modules/unictype/bidicategory-of: Likewise.
21504         * modules/unictype/bidicategory-test: Likewise.
21505         * modules/unictype/block-list: Likewise.
21506         * modules/unictype/block-test: Likewise.
21507         * modules/unictype/category-C: Likewise.
21508         * modules/unictype/category-Cc: Likewise.
21509         * modules/unictype/category-Cf: Likewise.
21510         * modules/unictype/category-Cn: Likewise.
21511         * modules/unictype/category-Co: Likewise.
21512         * modules/unictype/category-Cs: Likewise.
21513         * modules/unictype/category-L: Likewise.
21514         * modules/unictype/category-Ll: Likewise.
21515         * modules/unictype/category-Lm: Likewise.
21516         * modules/unictype/category-Lo: Likewise.
21517         * modules/unictype/category-Lt: Likewise.
21518         * modules/unictype/category-Lu: Likewise.
21519         * modules/unictype/category-M: Likewise.
21520         * modules/unictype/category-Mc: Likewise.
21521         * modules/unictype/category-Me: Likewise.
21522         * modules/unictype/category-Mn: Likewise.
21523         * modules/unictype/category-N: Likewise.
21524         * modules/unictype/category-Nd: Likewise.
21525         * modules/unictype/category-Nl: Likewise.
21526         * modules/unictype/category-No: Likewise.
21527         * modules/unictype/category-P: Likewise.
21528         * modules/unictype/category-Pc: Likewise.
21529         * modules/unictype/category-Pd: Likewise.
21530         * modules/unictype/category-Pe: Likewise.
21531         * modules/unictype/category-Pf: Likewise.
21532         * modules/unictype/category-Pi: Likewise.
21533         * modules/unictype/category-Po: Likewise.
21534         * modules/unictype/category-Ps: Likewise.
21535         * modules/unictype/category-S: Likewise.
21536         * modules/unictype/category-Sc: Likewise.
21537         * modules/unictype/category-Sk: Likewise.
21538         * modules/unictype/category-Sm: Likewise.
21539         * modules/unictype/category-So: Likewise.
21540         * modules/unictype/category-Z: Likewise.
21541         * modules/unictype/category-Zl: Likewise.
21542         * modules/unictype/category-Zp: Likewise.
21543         * modules/unictype/category-Zs: Likewise.
21544         * modules/unictype/category-and: Likewise.
21545         * modules/unictype/category-and-not: Likewise.
21546         * modules/unictype/category-byname: Likewise.
21547         * modules/unictype/category-name: Likewise.
21548         * modules/unictype/category-none: Likewise.
21549         * modules/unictype/category-of: Likewise.
21550         * modules/unictype/category-or: Likewise.
21551         * modules/unictype/category-test: Likewise.
21552         * modules/unictype/combining-class: Likewise.
21553         * modules/unictype/ctype-alnum: Likewise.
21554         * modules/unictype/ctype-alpha: Likewise.
21555         * modules/unictype/ctype-blank: Likewise.
21556         * modules/unictype/ctype-cntrl: Likewise.
21557         * modules/unictype/ctype-digit: Likewise.
21558         * modules/unictype/ctype-graph: Likewise.
21559         * modules/unictype/ctype-lower: Likewise.
21560         * modules/unictype/ctype-print: Likewise.
21561         * modules/unictype/ctype-punct: Likewise.
21562         * modules/unictype/ctype-space: Likewise.
21563         * modules/unictype/ctype-upper: Likewise.
21564         * modules/unictype/ctype-xdigit: Likewise.
21565         * modules/unictype/decimal-digit: Likewise.
21566         * modules/unictype/digit: Likewise.
21567         * modules/unictype/mirror: Likewise.
21568         * modules/unictype/numeric: Likewise.
21569         * modules/unictype/property-alphabetic: Likewise.
21570         * modules/unictype/property-ascii-hex-digit: Likewise.
21571         * modules/unictype/property-bidi-arabic-digit: Likewise.
21572         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
21573         * modules/unictype/property-bidi-block-separator: Likewise.
21574         * modules/unictype/property-bidi-boundary-neutral: Likewise.
21575         * modules/unictype/property-bidi-common-separator: Likewise.
21576         * modules/unictype/property-bidi-control: Likewise.
21577         * modules/unictype/property-bidi-embedding-or-override: Likewise.
21578         * modules/unictype/property-bidi-eur-num-separator: Likewise.
21579         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
21580         * modules/unictype/property-bidi-european-digit: Likewise.
21581         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
21582         * modules/unictype/property-bidi-left-to-right: Likewise.
21583         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
21584         * modules/unictype/property-bidi-other-neutral: Likewise.
21585         * modules/unictype/property-bidi-pdf: Likewise.
21586         * modules/unictype/property-bidi-segment-separator: Likewise.
21587         * modules/unictype/property-bidi-whitespace: Likewise.
21588         * modules/unictype/property-byname: Likewise.
21589         * modules/unictype/property-combining: Likewise.
21590         * modules/unictype/property-composite: Likewise.
21591         * modules/unictype/property-currency-symbol: Likewise.
21592         * modules/unictype/property-dash: Likewise.
21593         * modules/unictype/property-decimal-digit: Likewise.
21594         * modules/unictype/property-default-ignorable-code-point: Likewise.
21595         * modules/unictype/property-deprecated: Likewise.
21596         * modules/unictype/property-diacritic: Likewise.
21597         * modules/unictype/property-extender: Likewise.
21598         * modules/unictype/property-format-control: Likewise.
21599         * modules/unictype/property-grapheme-base: Likewise.
21600         * modules/unictype/property-grapheme-extend: Likewise.
21601         * modules/unictype/property-grapheme-link: Likewise.
21602         * modules/unictype/property-hex-digit: Likewise.
21603         * modules/unictype/property-hyphen: Likewise.
21604         * modules/unictype/property-id-continue: Likewise.
21605         * modules/unictype/property-id-start: Likewise.
21606         * modules/unictype/property-ideographic: Likewise.
21607         * modules/unictype/property-ids-binary-operator: Likewise.
21608         * modules/unictype/property-ids-trinary-operator: Likewise.
21609         * modules/unictype/property-ignorable-control: Likewise.
21610         * modules/unictype/property-iso-control: Likewise.
21611         * modules/unictype/property-join-control: Likewise.
21612         * modules/unictype/property-left-of-pair: Likewise.
21613         * modules/unictype/property-line-separator: Likewise.
21614         * modules/unictype/property-logical-order-exception: Likewise.
21615         * modules/unictype/property-lowercase: Likewise.
21616         * modules/unictype/property-math: Likewise.
21617         * modules/unictype/property-non-break: Likewise.
21618         * modules/unictype/property-not-a-character: Likewise.
21619         * modules/unictype/property-numeric: Likewise.
21620         * modules/unictype/property-other-alphabetic: Likewise.
21621         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
21622         * modules/unictype/property-other-grapheme-extend: Likewise.
21623         * modules/unictype/property-other-id-continue: Likewise.
21624         * modules/unictype/property-other-id-start: Likewise.
21625         * modules/unictype/property-other-lowercase: Likewise.
21626         * modules/unictype/property-other-math: Likewise.
21627         * modules/unictype/property-other-uppercase: Likewise.
21628         * modules/unictype/property-paired-punctuation: Likewise.
21629         * modules/unictype/property-paragraph-separator: Likewise.
21630         * modules/unictype/property-pattern-syntax: Likewise.
21631         * modules/unictype/property-pattern-white-space: Likewise.
21632         * modules/unictype/property-private-use: Likewise.
21633         * modules/unictype/property-punctuation: Likewise.
21634         * modules/unictype/property-quotation-mark: Likewise.
21635         * modules/unictype/property-radical: Likewise.
21636         * modules/unictype/property-sentence-terminal: Likewise.
21637         * modules/unictype/property-soft-dotted: Likewise.
21638         * modules/unictype/property-space: Likewise.
21639         * modules/unictype/property-terminal-punctuation: Likewise.
21640         * modules/unictype/property-test: Likewise.
21641         * modules/unictype/property-titlecase: Likewise.
21642         * modules/unictype/property-unassigned-code-value: Likewise.
21643         * modules/unictype/property-unified-ideograph: Likewise.
21644         * modules/unictype/property-uppercase: Likewise.
21645         * modules/unictype/property-variation-selector: Likewise.
21646         * modules/unictype/property-white-space: Likewise.
21647         * modules/unictype/property-xid-continue: Likewise.
21648         * modules/unictype/property-xid-start: Likewise.
21649         * modules/unictype/property-zero-width: Likewise.
21650         * modules/unictype/scripts: Likewise.
21651         * modules/unictype/syntax-c-ident: Likewise.
21652         * modules/unictype/syntax-c-whitespace: Likewise.
21653         * modules/unictype/syntax-java-ident: Likewise.
21654         * modules/unictype/syntax-java-whitespace: Likewise.
21655         * modules/unilbrk/u8-possible-linebreaks: Likewise.
21656         * modules/unilbrk/u8-width-linebreaks: Likewise.
21657         * modules/unilbrk/u16-possible-linebreaks: Likewise.
21658         * modules/unilbrk/u16-width-linebreaks: Likewise.
21659         * modules/unilbrk/u32-possible-linebreaks: Likewise.
21660         * modules/unilbrk/u32-width-linebreaks: Likewise.
21661         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
21662         * modules/unilbrk/ulc-width-linebreaks: Likewise.
21663         * modules/uniname/uniname: Likewise.
21664         * modules/uninorm/canonical-decomposition: Likewise.
21665         * modules/uninorm/composition: Likewise.
21666         * modules/uninorm/decomposing-form: Likewise.
21667         * modules/uninorm/decomposition: Likewise.
21668         * modules/uninorm/filter: Likewise.
21669         * modules/uninorm/nfc: Likewise.
21670         * modules/uninorm/nfd: Likewise.
21671         * modules/uninorm/nfkc: Likewise.
21672         * modules/uninorm/nfkd: Likewise.
21673         * modules/uninorm/u8-normalize: Likewise.
21674         * modules/uninorm/u8-normcmp: Likewise.
21675         * modules/uninorm/u8-normcoll: Likewise.
21676         * modules/uninorm/u8-normxfrm: Likewise.
21677         * modules/uninorm/u16-normalize: Likewise.
21678         * modules/uninorm/u16-normcmp: Likewise.
21679         * modules/uninorm/u16-normcoll: Likewise.
21680         * modules/uninorm/u16-normxfrm: Likewise.
21681         * modules/uninorm/u32-normalize: Likewise.
21682         * modules/uninorm/u32-normcmp: Likewise.
21683         * modules/uninorm/u32-normcoll: Likewise.
21684         * modules/uninorm/u32-normxfrm: Likewise.
21685         * modules/unistdio/u8-asnprintf: Likewise.
21686         * modules/unistdio/u8-asprintf: Likewise.
21687         * modules/unistdio/u8-snprintf: Likewise.
21688         * modules/unistdio/u8-sprintf: Likewise.
21689         * modules/unistdio/u8-u8-asnprintf: Likewise.
21690         * modules/unistdio/u8-u8-asprintf: Likewise.
21691         * modules/unistdio/u8-u8-snprintf: Likewise.
21692         * modules/unistdio/u8-u8-sprintf: Likewise.
21693         * modules/unistdio/u8-u8-vasnprintf: Likewise.
21694         * modules/unistdio/u8-u8-vasprintf: Likewise.
21695         * modules/unistdio/u8-u8-vsnprintf: Likewise.
21696         * modules/unistdio/u8-u8-vsprintf: Likewise.
21697         * modules/unistdio/u8-vasnprintf: Likewise.
21698         * modules/unistdio/u8-vasprintf: Likewise.
21699         * modules/unistdio/u8-vsnprintf: Likewise.
21700         * modules/unistdio/u8-vsprintf: Likewise.
21701         * modules/unistdio/u16-asnprintf: Likewise.
21702         * modules/unistdio/u16-asprintf: Likewise.
21703         * modules/unistdio/u16-snprintf: Likewise.
21704         * modules/unistdio/u16-sprintf: Likewise.
21705         * modules/unistdio/u16-u16-asnprintf: Likewise.
21706         * modules/unistdio/u16-u16-asprintf: Likewise.
21707         * modules/unistdio/u16-u16-snprintf: Likewise.
21708         * modules/unistdio/u16-u16-sprintf: Likewise.
21709         * modules/unistdio/u16-u16-vasnprintf: Likewise.
21710         * modules/unistdio/u16-u16-vasprintf: Likewise.
21711         * modules/unistdio/u16-u16-vsnprintf: Likewise.
21712         * modules/unistdio/u16-u16-vsprintf: Likewise.
21713         * modules/unistdio/u16-vasnprintf: Likewise.
21714         * modules/unistdio/u16-vasprintf: Likewise.
21715         * modules/unistdio/u16-vsnprintf: Likewise.
21716         * modules/unistdio/u16-vsprintf: Likewise.
21717         * modules/unistdio/u32-asnprintf: Likewise.
21718         * modules/unistdio/u32-asprintf: Likewise.
21719         * modules/unistdio/u32-snprintf: Likewise.
21720         * modules/unistdio/u32-sprintf: Likewise.
21721         * modules/unistdio/u32-u32-asnprintf: Likewise.
21722         * modules/unistdio/u32-u32-asprintf: Likewise.
21723         * modules/unistdio/u32-u32-snprintf: Likewise.
21724         * modules/unistdio/u32-u32-sprintf: Likewise.
21725         * modules/unistdio/u32-u32-vasnprintf: Likewise.
21726         * modules/unistdio/u32-u32-vasprintf: Likewise.
21727         * modules/unistdio/u32-u32-vsnprintf: Likewise.
21728         * modules/unistdio/u32-u32-vsprintf: Likewise.
21729         * modules/unistdio/u32-vasnprintf: Likewise.
21730         * modules/unistdio/u32-vasprintf: Likewise.
21731         * modules/unistdio/u32-vsnprintf: Likewise.
21732         * modules/unistdio/u32-vsprintf: Likewise.
21733         * modules/unistdio/ulc-asnprintf: Likewise.
21734         * modules/unistdio/ulc-asprintf: Likewise.
21735         * modules/unistdio/ulc-fprintf: Likewise.
21736         * modules/unistdio/ulc-snprintf: Likewise.
21737         * modules/unistdio/ulc-sprintf: Likewise.
21738         * modules/unistdio/ulc-vasnprintf: Likewise.
21739         * modules/unistdio/ulc-vasprintf: Likewise.
21740         * modules/unistdio/ulc-vfprintf: Likewise.
21741         * modules/unistdio/ulc-vsnprintf: Likewise.
21742         * modules/unistdio/ulc-vsprintf: Likewise.
21743         * modules/unistr/u8-check: Likewise.
21744         * modules/unistr/u8-chr: Likewise.
21745         * modules/unistr/u8-cmp: Likewise.
21746         * modules/unistr/u8-cmp2: Likewise.
21747         * modules/unistr/u8-cpy: Likewise.
21748         * modules/unistr/u8-cpy-alloc: Likewise.
21749         * modules/unistr/u8-endswith: Likewise.
21750         * modules/unistr/u8-mblen: Likewise.
21751         * modules/unistr/u8-mbsnlen: Likewise.
21752         * modules/unistr/u8-mbtouc: Likewise.
21753         * modules/unistr/u8-mbtouc-unsafe: Likewise.
21754         * modules/unistr/u8-mbtoucr: Likewise.
21755         * modules/unistr/u8-move: Likewise.
21756         * modules/unistr/u8-next: Likewise.
21757         * modules/unistr/u8-prev: Likewise.
21758         * modules/unistr/u8-set: Likewise.
21759         * modules/unistr/u8-startswith: Likewise.
21760         * modules/unistr/u8-stpcpy: Likewise.
21761         * modules/unistr/u8-stpncpy: Likewise.
21762         * modules/unistr/u8-strcat: Likewise.
21763         * modules/unistr/u8-strchr: Likewise.
21764         * modules/unistr/u8-strcmp: Likewise.
21765         * modules/unistr/u8-strcoll: Likewise.
21766         * modules/unistr/u8-strcpy: Likewise.
21767         * modules/unistr/u8-strcspn: Likewise.
21768         * modules/unistr/u8-strdup: Likewise.
21769         * modules/unistr/u8-strlen: Likewise.
21770         * modules/unistr/u8-strmblen: Likewise.
21771         * modules/unistr/u8-strmbtouc: Likewise.
21772         * modules/unistr/u8-strncat: Likewise.
21773         * modules/unistr/u8-strncmp: Likewise.
21774         * modules/unistr/u8-strncpy: Likewise.
21775         * modules/unistr/u8-strnlen: Likewise.
21776         * modules/unistr/u8-strpbrk: Likewise.
21777         * modules/unistr/u8-strrchr: Likewise.
21778         * modules/unistr/u8-strspn: Likewise.
21779         * modules/unistr/u8-strstr: Likewise.
21780         * modules/unistr/u8-strtok: Likewise.
21781         * modules/unistr/u8-to-u16: Likewise.
21782         * modules/unistr/u8-to-u32: Likewise.
21783         * modules/unistr/u8-uctomb: Likewise.
21784         * modules/unistr/u16-check: Likewise.
21785         * modules/unistr/u16-chr: Likewise.
21786         * modules/unistr/u16-cmp: Likewise.
21787         * modules/unistr/u16-cmp2: Likewise.
21788         * modules/unistr/u16-cpy: Likewise.
21789         * modules/unistr/u16-cpy-alloc: Likewise.
21790         * modules/unistr/u16-endswith: Likewise.
21791         * modules/unistr/u16-mblen: Likewise.
21792         * modules/unistr/u16-mbsnlen: Likewise.
21793         * modules/unistr/u16-mbtouc: Likewise.
21794         * modules/unistr/u16-mbtouc-unsafe: Likewise.
21795         * modules/unistr/u16-mbtoucr: Likewise.
21796         * modules/unistr/u16-move: Likewise.
21797         * modules/unistr/u16-next: Likewise.
21798         * modules/unistr/u16-prev: Likewise.
21799         * modules/unistr/u16-set: Likewise.
21800         * modules/unistr/u16-startswith: Likewise.
21801         * modules/unistr/u16-stpcpy: Likewise.
21802         * modules/unistr/u16-stpncpy: Likewise.
21803         * modules/unistr/u16-strcat: Likewise.
21804         * modules/unistr/u16-strchr: Likewise.
21805         * modules/unistr/u16-strcmp: Likewise.
21806         * modules/unistr/u16-strcoll: Likewise.
21807         * modules/unistr/u16-strcpy: Likewise.
21808         * modules/unistr/u16-strcspn: Likewise.
21809         * modules/unistr/u16-strdup: Likewise.
21810         * modules/unistr/u16-strlen: Likewise.
21811         * modules/unistr/u16-strmblen: Likewise.
21812         * modules/unistr/u16-strmbtouc: Likewise.
21813         * modules/unistr/u16-strncat: Likewise.
21814         * modules/unistr/u16-strncmp: Likewise.
21815         * modules/unistr/u16-strncpy: Likewise.
21816         * modules/unistr/u16-strnlen: Likewise.
21817         * modules/unistr/u16-strpbrk: Likewise.
21818         * modules/unistr/u16-strrchr: Likewise.
21819         * modules/unistr/u16-strspn: Likewise.
21820         * modules/unistr/u16-strstr: Likewise.
21821         * modules/unistr/u16-strtok: Likewise.
21822         * modules/unistr/u16-to-u32: Likewise.
21823         * modules/unistr/u16-to-u8: Likewise.
21824         * modules/unistr/u16-uctomb: Likewise.
21825         * modules/unistr/u32-check: Likewise.
21826         * modules/unistr/u32-chr: Likewise.
21827         * modules/unistr/u32-cmp: Likewise.
21828         * modules/unistr/u32-cmp2: Likewise.
21829         * modules/unistr/u32-cpy: Likewise.
21830         * modules/unistr/u32-cpy-alloc: Likewise.
21831         * modules/unistr/u32-endswith: Likewise.
21832         * modules/unistr/u32-mblen: Likewise.
21833         * modules/unistr/u32-mbsnlen: Likewise.
21834         * modules/unistr/u32-mbtouc: Likewise.
21835         * modules/unistr/u32-mbtouc-unsafe: Likewise.
21836         * modules/unistr/u32-mbtoucr: Likewise.
21837         * modules/unistr/u32-move: Likewise.
21838         * modules/unistr/u32-next: Likewise.
21839         * modules/unistr/u32-prev: Likewise.
21840         * modules/unistr/u32-set: Likewise.
21841         * modules/unistr/u32-startswith: Likewise.
21842         * modules/unistr/u32-stpcpy: Likewise.
21843         * modules/unistr/u32-stpncpy: Likewise.
21844         * modules/unistr/u32-strcat: Likewise.
21845         * modules/unistr/u32-strchr: Likewise.
21846         * modules/unistr/u32-strcmp: Likewise.
21847         * modules/unistr/u32-strcoll: Likewise.
21848         * modules/unistr/u32-strcpy: Likewise.
21849         * modules/unistr/u32-strcspn: Likewise.
21850         * modules/unistr/u32-strdup: Likewise.
21851         * modules/unistr/u32-strlen: Likewise.
21852         * modules/unistr/u32-strmblen: Likewise.
21853         * modules/unistr/u32-strmbtouc: Likewise.
21854         * modules/unistr/u32-strncat: Likewise.
21855         * modules/unistr/u32-strncmp: Likewise.
21856         * modules/unistr/u32-strncpy: Likewise.
21857         * modules/unistr/u32-strnlen: Likewise.
21858         * modules/unistr/u32-strpbrk: Likewise.
21859         * modules/unistr/u32-strrchr: Likewise.
21860         * modules/unistr/u32-strspn: Likewise.
21861         * modules/unistr/u32-strstr: Likewise.
21862         * modules/unistr/u32-strtok: Likewise.
21863         * modules/unistr/u32-to-u16: Likewise.
21864         * modules/unistr/u32-to-u8: Likewise.
21865         * modules/unistr/u32-uctomb: Likewise.
21866         * modules/uniwbrk/u8-wordbreaks: Likewise.
21867         * modules/uniwbrk/u16-wordbreaks: Likewise.
21868         * modules/uniwbrk/u32-wordbreaks: Likewise.
21869         * modules/uniwbrk/ulc-wordbreaks: Likewise.
21870         * modules/uniwbrk/wordbreak-property: Likewise.
21871         * modules/uniwidth/u8-strwidth: Likewise.
21872         * modules/uniwidth/u8-width: Likewise.
21873         * modules/uniwidth/u16-strwidth: Likewise.
21874         * modules/uniwidth/u16-width: Likewise.
21875         * modules/uniwidth/u32-strwidth: Likewise.
21876         * modules/uniwidth/u32-width: Likewise.
21877         * modules/uniwidth/width: Likewise.
21878         * modules/unicase/cased-tests (Makefile.am): Link all test programs
21879         with $(LIBUNISTRING).
21880         * modules/unicase/ignorable-tests: Likewise.
21881         * modules/unicase/locale-language-tests: Likewise.
21882         * modules/unicase/tolower-tests: Likewise.
21883         * modules/unicase/totitle-tests: Likewise.
21884         * modules/unicase/toupper-tests: Likewise.
21885         * modules/unicase/u8-casecmp-tests: Likewise.
21886         * modules/unicase/u8-casecoll-tests: Likewise.
21887         * modules/unicase/u8-casefold-tests: Likewise.
21888         * modules/unicase/u8-is-cased-tests: Likewise.
21889         * modules/unicase/u8-is-casefolded-tests: Likewise.
21890         * modules/unicase/u8-is-lowercase-tests: Likewise.
21891         * modules/unicase/u8-is-titlecase-tests: Likewise.
21892         * modules/unicase/u8-is-uppercase-tests: Likewise.
21893         * modules/unicase/u8-tolower-tests: Likewise.
21894         * modules/unicase/u8-totitle-tests: Likewise.
21895         * modules/unicase/u8-toupper-tests: Likewise.
21896         * modules/unicase/u16-casecmp-tests: Likewise.
21897         * modules/unicase/u16-casecoll-tests: Likewise.
21898         * modules/unicase/u16-casefold-tests: Likewise.
21899         * modules/unicase/u16-is-cased-tests: Likewise.
21900         * modules/unicase/u16-is-casefolded-tests: Likewise.
21901         * modules/unicase/u16-is-lowercase-tests: Likewise.
21902         * modules/unicase/u16-is-titlecase-tests: Likewise.
21903         * modules/unicase/u16-is-uppercase-tests: Likewise.
21904         * modules/unicase/u16-tolower-tests: Likewise.
21905         * modules/unicase/u16-totitle-tests: Likewise.
21906         * modules/unicase/u16-toupper-tests: Likewise.
21907         * modules/unicase/u32-casecmp-tests: Likewise.
21908         * modules/unicase/u32-casecoll-tests: Likewise.
21909         * modules/unicase/u32-casefold-tests: Likewise.
21910         * modules/unicase/u32-is-cased-tests: Likewise.
21911         * modules/unicase/u32-is-casefolded-tests: Likewise.
21912         * modules/unicase/u32-is-lowercase-tests: Likewise.
21913         * modules/unicase/u32-is-titlecase-tests: Likewise.
21914         * modules/unicase/u32-is-uppercase-tests: Likewise.
21915         * modules/unicase/u32-tolower-tests: Likewise.
21916         * modules/unicase/u32-totitle-tests: Likewise.
21917         * modules/unicase/u32-toupper-tests: Likewise.
21918         * modules/unicase/ulc-casecmp-tests: Likewise.
21919         * modules/unicase/ulc-casecoll-tests: Likewise.
21920         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
21921         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
21922         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
21923         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
21924         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
21925         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
21926         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
21927         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
21928         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
21929         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
21930         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
21931         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
21932         * modules/unictype/bidicategory-byname-tests: Likewise.
21933         * modules/unictype/bidicategory-name-tests: Likewise.
21934         * modules/unictype/bidicategory-of-tests: Likewise.
21935         * modules/unictype/bidicategory-test-tests: Likewise.
21936         * modules/unictype/block-list-tests: Likewise.
21937         * modules/unictype/block-of-tests: Likewise.
21938         * modules/unictype/block-test-tests: Likewise.
21939         * modules/unictype/category-C-tests: Likewise.
21940         * modules/unictype/category-Cc-tests: Likewise.
21941         * modules/unictype/category-Cf-tests: Likewise.
21942         * modules/unictype/category-Cn-tests: Likewise.
21943         * modules/unictype/category-Co-tests: Likewise.
21944         * modules/unictype/category-Cs-tests: Likewise.
21945         * modules/unictype/category-L-tests: Likewise.
21946         * modules/unictype/category-Ll-tests: Likewise.
21947         * modules/unictype/category-Lm-tests: Likewise.
21948         * modules/unictype/category-Lo-tests: Likewise.
21949         * modules/unictype/category-Lt-tests: Likewise.
21950         * modules/unictype/category-Lu-tests: Likewise.
21951         * modules/unictype/category-M-tests: Likewise.
21952         * modules/unictype/category-Mc-tests: Likewise.
21953         * modules/unictype/category-Me-tests: Likewise.
21954         * modules/unictype/category-Mn-tests: Likewise.
21955         * modules/unictype/category-N-tests: Likewise.
21956         * modules/unictype/category-Nd-tests: Likewise.
21957         * modules/unictype/category-Nl-tests: Likewise.
21958         * modules/unictype/category-No-tests: Likewise.
21959         * modules/unictype/category-P-tests: Likewise.
21960         * modules/unictype/category-Pc-tests: Likewise.
21961         * modules/unictype/category-Pd-tests: Likewise.
21962         * modules/unictype/category-Pe-tests: Likewise.
21963         * modules/unictype/category-Pf-tests: Likewise.
21964         * modules/unictype/category-Pi-tests: Likewise.
21965         * modules/unictype/category-Po-tests: Likewise.
21966         * modules/unictype/category-Ps-tests: Likewise.
21967         * modules/unictype/category-S-tests: Likewise.
21968         * modules/unictype/category-Sc-tests: Likewise.
21969         * modules/unictype/category-Sk-tests: Likewise.
21970         * modules/unictype/category-Sm-tests: Likewise.
21971         * modules/unictype/category-So-tests: Likewise.
21972         * modules/unictype/category-Z-tests: Likewise.
21973         * modules/unictype/category-Zl-tests: Likewise.
21974         * modules/unictype/category-Zp-tests: Likewise.
21975         * modules/unictype/category-Zs-tests: Likewise.
21976         * modules/unictype/category-and-not-tests: Likewise.
21977         * modules/unictype/category-and-tests: Likewise.
21978         * modules/unictype/category-byname-tests: Likewise.
21979         * modules/unictype/category-name-tests: Likewise.
21980         * modules/unictype/category-none-tests: Likewise.
21981         * modules/unictype/category-of-tests: Likewise.
21982         * modules/unictype/category-or-tests: Likewise.
21983         * modules/unictype/category-test-withtable-tests: Likewise.
21984         * modules/unictype/combining-class-tests: Likewise.
21985         * modules/unictype/ctype-alnum-tests: Likewise.
21986         * modules/unictype/ctype-alpha-tests: Likewise.
21987         * modules/unictype/ctype-blank-tests: Likewise.
21988         * modules/unictype/ctype-cntrl-tests: Likewise.
21989         * modules/unictype/ctype-digit-tests: Likewise.
21990         * modules/unictype/ctype-graph-tests: Likewise.
21991         * modules/unictype/ctype-lower-tests: Likewise.
21992         * modules/unictype/ctype-print-tests: Likewise.
21993         * modules/unictype/ctype-punct-tests: Likewise.
21994         * modules/unictype/ctype-space-tests: Likewise.
21995         * modules/unictype/ctype-upper-tests: Likewise.
21996         * modules/unictype/ctype-xdigit-tests: Likewise.
21997         * modules/unictype/decimal-digit-tests: Likewise.
21998         * modules/unictype/digit-tests: Likewise.
21999         * modules/unictype/mirror-tests: Likewise.
22000         * modules/unictype/numeric-tests: Likewise.
22001         * modules/unictype/property-alphabetic-tests: Likewise.
22002         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
22003         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
22004         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
22005         * modules/unictype/property-bidi-block-separator-tests: Likewise.
22006         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
22007         * modules/unictype/property-bidi-common-separator-tests: Likewise.
22008         * modules/unictype/property-bidi-control-tests: Likewise.
22009         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
22010         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
22011         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
22012         * modules/unictype/property-bidi-european-digit-tests: Likewise.
22013         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
22014         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
22015         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
22016         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
22017         * modules/unictype/property-bidi-pdf-tests: Likewise.
22018         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
22019         * modules/unictype/property-bidi-whitespace-tests: Likewise.
22020         * modules/unictype/property-byname-tests: Likewise.
22021         * modules/unictype/property-combining-tests: Likewise.
22022         * modules/unictype/property-composite-tests: Likewise.
22023         * modules/unictype/property-currency-symbol-tests: Likewise.
22024         * modules/unictype/property-dash-tests: Likewise.
22025         * modules/unictype/property-decimal-digit-tests: Likewise.
22026         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
22027         * modules/unictype/property-deprecated-tests: Likewise.
22028         * modules/unictype/property-diacritic-tests: Likewise.
22029         * modules/unictype/property-extender-tests: Likewise.
22030         * modules/unictype/property-format-control-tests: Likewise.
22031         * modules/unictype/property-grapheme-base-tests: Likewise.
22032         * modules/unictype/property-grapheme-extend-tests: Likewise.
22033         * modules/unictype/property-grapheme-link-tests: Likewise.
22034         * modules/unictype/property-hex-digit-tests: Likewise.
22035         * modules/unictype/property-hyphen-tests: Likewise.
22036         * modules/unictype/property-id-continue-tests: Likewise.
22037         * modules/unictype/property-id-start-tests: Likewise.
22038         * modules/unictype/property-ideographic-tests: Likewise.
22039         * modules/unictype/property-ids-binary-operator-tests: Likewise.
22040         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
22041         * modules/unictype/property-ignorable-control-tests: Likewise.
22042         * modules/unictype/property-iso-control-tests: Likewise.
22043         * modules/unictype/property-join-control-tests: Likewise.
22044         * modules/unictype/property-left-of-pair-tests: Likewise.
22045         * modules/unictype/property-line-separator-tests: Likewise.
22046         * modules/unictype/property-logical-order-exception-tests: Likewise.
22047         * modules/unictype/property-lowercase-tests: Likewise.
22048         * modules/unictype/property-math-tests: Likewise.
22049         * modules/unictype/property-non-break-tests: Likewise.
22050         * modules/unictype/property-not-a-character-tests: Likewise.
22051         * modules/unictype/property-numeric-tests: Likewise.
22052         * modules/unictype/property-other-alphabetic-tests: Likewise.
22053         * modules/unictype/property-other-default-ignorable-code-point-tests:
22054         Likewise.
22055         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
22056         * modules/unictype/property-other-id-continue-tests: Likewise.
22057         * modules/unictype/property-other-id-start-tests: Likewise.
22058         * modules/unictype/property-other-lowercase-tests: Likewise.
22059         * modules/unictype/property-other-math-tests: Likewise.
22060         * modules/unictype/property-other-uppercase-tests: Likewise.
22061         * modules/unictype/property-paired-punctuation-tests: Likewise.
22062         * modules/unictype/property-paragraph-separator-tests: Likewise.
22063         * modules/unictype/property-pattern-syntax-tests: Likewise.
22064         * modules/unictype/property-pattern-white-space-tests: Likewise.
22065         * modules/unictype/property-private-use-tests: Likewise.
22066         * modules/unictype/property-punctuation-tests: Likewise.
22067         * modules/unictype/property-quotation-mark-tests: Likewise.
22068         * modules/unictype/property-radical-tests: Likewise.
22069         * modules/unictype/property-sentence-terminal-tests: Likewise.
22070         * modules/unictype/property-soft-dotted-tests: Likewise.
22071         * modules/unictype/property-space-tests: Likewise.
22072         * modules/unictype/property-terminal-punctuation-tests: Likewise.
22073         * modules/unictype/property-test-tests: Likewise.
22074         * modules/unictype/property-titlecase-tests: Likewise.
22075         * modules/unictype/property-unassigned-code-value-tests: Likewise.
22076         * modules/unictype/property-unified-ideograph-tests: Likewise.
22077         * modules/unictype/property-uppercase-tests: Likewise.
22078         * modules/unictype/property-variation-selector-tests: Likewise.
22079         * modules/unictype/property-white-space-tests: Likewise.
22080         * modules/unictype/property-xid-continue-tests: Likewise.
22081         * modules/unictype/property-xid-start-tests: Likewise.
22082         * modules/unictype/property-zero-width-tests: Likewise.
22083         * modules/unictype/scripts-tests: Likewise.
22084         * modules/unictype/syntax-c-ident-tests: Likewise.
22085         * modules/unictype/syntax-c-whitespace-tests: Likewise.
22086         * modules/unictype/syntax-java-ident-tests: Likewise.
22087         * modules/unictype/syntax-java-whitespace-tests: Likewise.
22088         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
22089         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
22090         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
22091         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
22092         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
22093         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
22094         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
22095         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
22096         * modules/uniname/uniname-tests: Likewise.
22097         * modules/uninorm/canonical-decomposition-tests: Likewise.
22098         * modules/uninorm/compat-decomposition-tests: Likewise.
22099         * modules/uninorm/composition-tests: Likewise.
22100         * modules/uninorm/decomposing-form-tests: Likewise.
22101         * modules/uninorm/decomposition-tests: Likewise.
22102         * modules/uninorm/filter-tests: Likewise.
22103         * modules/uninorm/nfc-tests: Likewise.
22104         * modules/uninorm/nfd-tests: Likewise.
22105         * modules/uninorm/nfkc-tests: Likewise.
22106         * modules/uninorm/nfkd-tests: Likewise.
22107         * modules/uninorm/u8-normcmp-tests: Likewise.
22108         * modules/uninorm/u8-normcoll-tests: Likewise.
22109         * modules/uninorm/u16-normcmp-tests: Likewise.
22110         * modules/uninorm/u16-normcoll-tests: Likewise.
22111         * modules/uninorm/u32-normcmp-tests: Likewise.
22112         * modules/uninorm/u32-normcoll-tests: Likewise.
22113         * modules/unistdio/u8-asnprintf-tests: Likewise.
22114         * modules/unistdio/u8-vasnprintf-tests: Likewise.
22115         * modules/unistdio/u8-vasprintf-tests: Likewise.
22116         * modules/unistdio/u8-vsnprintf-tests: Likewise.
22117         * modules/unistdio/u8-vsprintf-tests: Likewise.
22118         * modules/unistdio/u16-asnprintf-tests: Likewise.
22119         * modules/unistdio/u16-vasnprintf-tests: Likewise.
22120         * modules/unistdio/u16-vasprintf-tests: Likewise.
22121         * modules/unistdio/u16-vsnprintf-tests: Likewise.
22122         * modules/unistdio/u16-vsprintf-tests: Likewise.
22123         * modules/unistdio/u32-asnprintf-tests: Likewise.
22124         * modules/unistdio/u32-vasnprintf-tests: Likewise.
22125         * modules/unistdio/u32-vasprintf-tests: Likewise.
22126         * modules/unistdio/u32-vsnprintf-tests: Likewise.
22127         * modules/unistdio/u32-vsprintf-tests: Likewise.
22128         * modules/unistdio/ulc-asnprintf-tests: Likewise.
22129         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
22130         * modules/unistdio/ulc-vasprintf-tests: Likewise.
22131         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
22132         * modules/unistdio/ulc-vsprintf-tests: Likewise.
22133         * modules/unistr/u8-check-tests: Likewise.
22134         * modules/unistr/u8-chr-tests: Likewise.
22135         * modules/unistr/u8-cmp-tests: Likewise.
22136         * modules/unistr/u8-cmp2-tests: Likewise.
22137         * modules/unistr/u8-cpy-alloc-tests: Likewise.
22138         * modules/unistr/u8-cpy-tests: Likewise.
22139         * modules/unistr/u8-mblen-tests: Likewise.
22140         * modules/unistr/u8-mbsnlen-tests: Likewise.
22141         * modules/unistr/u8-mbtouc-tests: Likewise.
22142         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
22143         * modules/unistr/u8-mbtoucr-tests: Likewise.
22144         * modules/unistr/u8-move-tests: Likewise.
22145         * modules/unistr/u8-next-tests: Likewise.
22146         * modules/unistr/u8-prev-tests: Likewise.
22147         * modules/unistr/u8-set-tests: Likewise.
22148         * modules/unistr/u8-stpcpy-tests: Likewise.
22149         * modules/unistr/u8-stpncpy-tests: Likewise.
22150         * modules/unistr/u8-strcat-tests: Likewise.
22151         * modules/unistr/u8-strcmp-tests: Likewise.
22152         * modules/unistr/u8-strcoll-tests: Likewise.
22153         * modules/unistr/u8-strcpy-tests: Likewise.
22154         * modules/unistr/u8-strdup-tests: Likewise.
22155         * modules/unistr/u8-strlen-tests: Likewise.
22156         * modules/unistr/u8-strmblen-tests: Likewise.
22157         * modules/unistr/u8-strmbtouc-tests: Likewise.
22158         * modules/unistr/u8-strncat-tests: Likewise.
22159         * modules/unistr/u8-strncmp-tests: Likewise.
22160         * modules/unistr/u8-strncpy-tests: Likewise.
22161         * modules/unistr/u8-strnlen-tests: Likewise.
22162         * modules/unistr/u8-to-u16-tests: Likewise.
22163         * modules/unistr/u8-to-u32-tests: Likewise.
22164         * modules/unistr/u8-uctomb-tests: Likewise.
22165         * modules/unistr/u16-check-tests: Likewise.
22166         * modules/unistr/u16-chr-tests: Likewise.
22167         * modules/unistr/u16-cmp-tests: Likewise.
22168         * modules/unistr/u16-cmp2-tests: Likewise.
22169         * modules/unistr/u16-cpy-alloc-tests: Likewise.
22170         * modules/unistr/u16-cpy-tests: Likewise.
22171         * modules/unistr/u16-mblen-tests: Likewise.
22172         * modules/unistr/u16-mbsnlen-tests: Likewise.
22173         * modules/unistr/u16-mbtouc-tests: Likewise.
22174         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
22175         * modules/unistr/u16-mbtoucr-tests: Likewise.
22176         * modules/unistr/u16-move-tests: Likewise.
22177         * modules/unistr/u16-next-tests: Likewise.
22178         * modules/unistr/u16-prev-tests: Likewise.
22179         * modules/unistr/u16-set-tests: Likewise.
22180         * modules/unistr/u16-stpcpy-tests: Likewise.
22181         * modules/unistr/u16-stpncpy-tests: Likewise.
22182         * modules/unistr/u16-strcat-tests: Likewise.
22183         * modules/unistr/u16-strcmp-tests: Likewise.
22184         * modules/unistr/u16-strcoll-tests: Likewise.
22185         * modules/unistr/u16-strcpy-tests: Likewise.
22186         * modules/unistr/u16-strdup-tests: Likewise.
22187         * modules/unistr/u16-strlen-tests: Likewise.
22188         * modules/unistr/u16-strmblen-tests: Likewise.
22189         * modules/unistr/u16-strmbtouc-tests: Likewise.
22190         * modules/unistr/u16-strncat-tests: Likewise.
22191         * modules/unistr/u16-strncmp-tests: Likewise.
22192         * modules/unistr/u16-strncpy-tests: Likewise.
22193         * modules/unistr/u16-strnlen-tests: Likewise.
22194         * modules/unistr/u16-to-u32-tests: Likewise.
22195         * modules/unistr/u16-to-u8-tests: Likewise.
22196         * modules/unistr/u16-uctomb-tests: Likewise.
22197         * modules/unistr/u32-check-tests: Likewise.
22198         * modules/unistr/u32-chr-tests: Likewise.
22199         * modules/unistr/u32-cmp-tests: Likewise.
22200         * modules/unistr/u32-cmp2-tests: Likewise.
22201         * modules/unistr/u32-cpy-alloc-tests: Likewise.
22202         * modules/unistr/u32-cpy-tests: Likewise.
22203         * modules/unistr/u32-mblen-tests: Likewise.
22204         * modules/unistr/u32-mbsnlen-tests: Likewise.
22205         * modules/unistr/u32-mbtouc-tests: Likewise.
22206         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
22207         * modules/unistr/u32-mbtoucr-tests: Likewise.
22208         * modules/unistr/u32-move-tests: Likewise.
22209         * modules/unistr/u32-next-tests: Likewise.
22210         * modules/unistr/u32-prev-tests: Likewise.
22211         * modules/unistr/u32-set-tests: Likewise.
22212         * modules/unistr/u32-stpcpy-tests: Likewise.
22213         * modules/unistr/u32-stpncpy-tests: Likewise.
22214         * modules/unistr/u32-strcat-tests: Likewise.
22215         * modules/unistr/u32-strcmp-tests: Likewise.
22216         * modules/unistr/u32-strcoll-tests: Likewise.
22217         * modules/unistr/u32-strcpy-tests: Likewise.
22218         * modules/unistr/u32-strdup-tests: Likewise.
22219         * modules/unistr/u32-strlen-tests: Likewise.
22220         * modules/unistr/u32-strmblen-tests: Likewise.
22221         * modules/unistr/u32-strmbtouc-tests: Likewise.
22222         * modules/unistr/u32-strncat-tests: Likewise.
22223         * modules/unistr/u32-strncmp-tests: Likewise.
22224         * modules/unistr/u32-strncpy-tests: Likewise.
22225         * modules/unistr/u32-strnlen-tests: Likewise.
22226         * modules/unistr/u32-to-u16-tests: Likewise.
22227         * modules/unistr/u32-to-u8-tests: Likewise.
22228         * modules/unistr/u32-uctomb-tests: Likewise.
22229         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
22230         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
22231         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
22232         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
22233         * modules/uniwidth/u8-strwidth-tests: Likewise.
22234         * modules/uniwidth/u8-width-tests: Likewise.
22235         * modules/uniwidth/u16-strwidth-tests: Likewise.
22236         * modules/uniwidth/u16-width-tests: Likewise.
22237         * modules/uniwidth/u32-strwidth-tests: Likewise.
22238         * modules/uniwidth/u32-width-tests: Likewise.
22239         * modules/uniwidth/width-tests: Likewise.
22240
22241 2010-05-18  Richard Jones  <rjones@redhat.com>
22242
22243         doc: users.txt: list hivex
22244         * users.txt: Add hivex.
22245
22246 2010-05-18  Richard Jones  <rjones@redhat.com>
22247
22248         doc: users.txt: list febootstrap
22249         * users.txt: Add febootstrap.
22250
22251 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
22252
22253         bootstrap: fix an error when gnulib is not used as a git submodule
22254         * build-aux/bootstrap (gnulib_path): If its length is zero then
22255         assign "gnulib" to it.
22256         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
22257
22258 2010-05-16  Bruno Haible  <bruno@clisp.org>
22259
22260         Avoid autoconf warnings about AM_ICONV.
22261         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
22262         2.64.
22263
22264 2010-05-16  Bruno Haible  <bruno@clisp.org>
22265
22266         absolute-header: Make the macro usable in more situations.
22267         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
22268         from gl_ABSOLUTE_HEADER.
22269         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
22270
22271 2010-05-16  James Youngman  <jay@gnu.org>
22272
22273         doc: update users.txt
22274         * users.txt: Add CSSC.
22275
22276 2010-05-16  Jim Meyering  <meyering@redhat.com>
22277
22278         init.sh: fix an error in the previous change; add more comments
22279         * tests/init.sh: Compare exit code in loop against 9, not 2.
22280         Patch by Bruno Haible.
22281         Make the two tests more similar by adding an empty "then" clause.
22282         Add comments.
22283
22284         init.sh: avoid unnecessary shell re-exec
22285         * tests/init.sh: Improve the re-exec-required check to first test the
22286         current shell.  If it passes the test, do not search for a shell that
22287         does pass, and do not re-exec.  This test is particularly contorted to
22288         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
22289         of $(...) evokes a syntax error and causes immediate shell exit with
22290         status 2.  Bruno Haible reported that the re-exec made it impossible
22291         to single-step through any init.sh-using script.
22292
22293 2010-05-16  Bruno Haible  <bruno@clisp.org>
22294
22295         Fix collision between gnulib's and libintl's printf replacements.
22296         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
22297         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
22298         (printf): When using GNU C, map the __printf__ function to rpl_printf
22299         via __asm__. When not using GNU C, define rpl_printf instead of
22300         __printf__.
22301         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
22302         commit.
22303         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
22304         commit.
22305         * m4/asm-underscore.m4: New file.
22306         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
22307         * modules/stdio (Files): Add m4/asm-underscore.m4.
22308         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
22309         Reported by Ben Pfaff.
22310
22311 2010-05-16  Bruno Haible  <bruno@clisp.org>
22312
22313         verify: Avoid skipping the test on openSUSE 11.0.
22314         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
22315
22316 2010-05-13  Bruno Haible  <bruno@clisp.org>
22317
22318         Avoid useless warnings from G++.
22319         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
22320         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
22321         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
22322
22323 2010-05-11  Jim Meyering  <meyering@redhat.com>
22324
22325         maint.mk: tweak preceding change
22326         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
22327         regexps tighter by anchoring at EOL, and make the new group "shy"
22328         for slightly decreased overhead.
22329
22330 2010-05-11  Eric Blake  <eblake@redhat.com>
22331
22332         maint.mk: gnulib doesn't guarantee NSIG
22333         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
22334
22335 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
22336
22337         test-pwrite.c: Remove unused variable declaration.
22338         * tests/test-pwrite.c (main): Remove read_buf declaration.
22339
22340         Remove useless test-pwrite.sh file.
22341         * tests/test-pwrite.sh: Delete file.
22342         * modules/pwrite-tests: Remove references.
22343         Reported by Bruno Haible.
22344
22345 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
22346
22347         init.sh: fix a typo
22348         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
22349
22350 2010-05-10  Jim Meyering  <meyering@redhat.com>
22351
22352         maint.mk: avoid using a temporary file in the always-defined-macros check
22353         * top/maint.mk (.re-defmac): Remove rule.
22354         (gl_trap_): Remove definition.
22355         (sc_prohibit_always-defined_macros): Rewrite not to create and
22356         depend on a temporary file.  Instead, depend on GNU grep's ability
22357         to read a list of regular expressions from stdin when given "-f -".
22358
22359 2010-05-09  Bruno Haible  <bruno@clisp.org>
22360
22361         Update to GNU gettext 0.18, part 1.
22362         * m4/gettext.m4: Update to GNU gettext 0.18.
22363         * m4/intl.m4: Likewise.
22364         * m4/po.m4: Likewise.
22365         * modules/gettext (Files): Add m4/fcntl-o.m4.
22366         (configure.ac): Require gettext infrastructure from version 0.18.
22367
22368 2010-05-09  Jim Meyering  <meyering@redhat.com>
22369
22370         init.sh: enable MALLOC_PERTURB_
22371         * tests/init.sh: Enable glibc's malloc-perturbing option.
22372
22373         maint.mk: improve sc_cross_check_PATH_usage_in_tests
22374         With my recent change in init.sh from the two-line form:
22375             -#   : ${srcdir=.}
22376             -#   . "$srcdir/init.sh"; path_prepend_ .
22377             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
22378         I noticed that using the one-line form would cause this test
22379         to fail with a false-positive, or to stop working altogether,
22380         depending on whether help-version changed or all the tests did.
22381         * top/maint.mk (_hv_regex): Remove this definition.
22382         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
22383         (_hv_regex_strong): Use a stronger regex to check for conformance.
22384         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
22385         Give a separate diagnostic for lack of conforming use.
22386
22387         maint.mk: prohibit definition of symbols defined by gnulib
22388         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
22389         definition of symbols defined by gnulib.
22390
22391 2010-05-09  Bruno Haible  <bruno@clisp.org>
22392
22393         acl: Avoid test failure on Cygwin-hosted mingw.
22394         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
22395
22396 2010-05-09  Bruno Haible  <bruno@clisp.org>
22397
22398         error: Use system's fcntl function.
22399         * lib/error.c (fcntl): Undefine.
22400
22401 2010-05-09  Jim Meyering  <meyering@redhat.com>
22402
22403         verify: adjust formatting to be more consistent
22404         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
22405         argument-list '('s, and after one comma.
22406
22407 2010-05-09  Bruno Haible  <bruno@clisp.org>
22408
22409         error: More reliable output on mingw.
22410         * lib/error.c: Include <windows.h>.
22411         (is_open): New function.
22412         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
22413         defined.
22414
22415 2010-05-09  Bruno Haible  <bruno@clisp.org>
22416
22417         vasnprintf: Fix syntax errors in libintl build on mingw.
22418         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
22419         pad_ourselves and prec_ourselves after use.
22420
22421 2010-05-08  Bruno Haible  <bruno@clisp.org>
22422
22423         * lib/config.charset: Update comments for Cygwin 1.7.
22424         * lib/localcharset.c: Likewise.
22425
22426 2010-05-07  Jim Meyering  <meyering@redhat.com>
22427
22428         init.sh: improve comments
22429         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
22430         . "${srcdir=.}/init.sh"; path_prepend_ .
22431         Add a note about path_prepend_ and the alternative of using
22432         TESTS_ENVIRONMENT.
22433
22434 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
22435
22436         exclude: Unescape hashed patterns in wildcard mode.
22437         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
22438         to the hash list.
22439         * tests/test-exclude8.sh: New test case.
22440         * modules/exclude-tests: Add new test.
22441
22442 2010-05-05  Eric Blake  <eblake@redhat.com>
22443
22444         verify: automate tests
22445         * modules/verify-tests: New module.
22446         * tests/test-verify.sh: New file.
22447         * tests/test-verify.c: Guard each negative test with a unique id.
22448         Also avoid warning about unused left hand of comma expressions.
22449
22450 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
22451
22452         Further improvements to verify.h, suggested by Eric Blake.
22453         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
22454         the GL_* versions, to avoid collision with OpenGL.
22455         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
22456         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
22457         than testing merely whether it's defined.
22458
22459         Modify verify.h to pacify gcc -Wredundant_decls.
22460         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
22461         These use the prefix "GL_" since they're likely to be useful elsewhere.
22462         We may need to break them out into a different .h file.
22463         (__COUNTER__): Define to 0 if the compiler doesn't support it.
22464         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
22465         of verify_function__.
22466
22467 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
22468
22469         Tests for module pwrite.
22470         * modules/pwrite-tests: New file.
22471         * tests/test-pwrite.sh: New file.
22472         * tests/test-pwrite.c: New file.
22473
22474         New module pwrite.
22475         * lib/unistd.in.h (pwrite): New declaration.
22476         * lib/pwrite.c: New file, from glibc with modifications.
22477         * m4/pwrite.m4: New file.
22478         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
22479         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
22480         REPLACE_PWRITE.
22481         * modules/pwrite: New file.
22482         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
22483         REPLACE_PWRITE.
22484         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
22485         * doc/posix-functions/pwrite.texi: Mention the new module.
22486
22487 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
22488
22489         pread: Update documentation.
22490         * doc/posix-functions/pread.texi: Mention the 'pread' module.
22491
22492 2010-05-04  Eric Blake  <eblake@redhat.com>
22493
22494         docs: update cygwin progress
22495         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
22496         this bug.
22497         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
22498         Added in cygwin 1.7.2.
22499         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
22500         Likewise.
22501         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
22502         Likewise.
22503         * doc/glibc-functions/dup3.texi (dup3): Likewise.
22504         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
22505         * doc/glibc-functions/accept4.texi (accept4): Likewise.
22506         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
22507         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
22508         Mention nproc module.
22509         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
22510         bug in cygwin 1.7.5 addition.
22511         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
22512         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
22513         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
22514         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
22515         1.7.5.
22516         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
22517         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
22518         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
22519         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
22520         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
22521         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
22522         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
22523         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
22524         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
22525         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
22526         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
22527         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
22528         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
22529         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
22530         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
22531         Likewise.
22532         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
22533         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
22534         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
22535         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
22536         Likewise.
22537         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
22538         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
22539         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
22540         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
22541         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
22542         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
22543         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
22544         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
22545         Likewise.
22546         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
22547         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
22548         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
22549         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
22550         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
22551         Likewise.
22552         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
22553         Likewise.
22554         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
22555         Likewise.
22556         * doc/glibc-functions/xdrrec_endofrecord.texi
22557         (xdrrec_endofrecord): Likewise.
22558         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
22559         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
22560         Likewise.
22561         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
22562         Likewise.
22563
22564 2010-05-04  Jim Meyering  <meyering@redhat.com>
22565
22566         gendocs.sh: make its "-s FILE" option more useful
22567         * build-aux/gendocs.sh: When honoring the -s FILE option, update
22568         $PACKAGE to reflect the probably-different basename of "FILE".
22569
22570 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
22571
22572         bootstrap: don't ignore download_po_files failure
22573         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
22574         failure.
22575
22576 2010-05-03  Jim Meyering  <meyering@redhat.com>
22577
22578         maint.mk: allow to pass options to gendocs.sh
22579         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
22580         (gendocs_options_): New overridable variable.
22581
22582         gnu-web-doc-update: don't ignore configure or build failure
22583         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
22584
22585         announce-gen: backslash-escape '@'s in --help output
22586         * build-aux/announce-gen: Fix syntax errors.
22587
22588         maint.mk, announce-gen: allow project-specific announcement mail headers
22589         * top/maint.mk (translation_project_): Define default.
22590         (announcement_Cc_, announcement_mail_headers_): Likewise.
22591         (announcement): Invoke announce-gen with new --mail-headers option.
22592         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
22593
22594         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
22595         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
22596         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
22597         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
22598         line in the "err2" output file when running "make check" in verbose
22599         mode (i.e., with set -x enabled).
22600
22601 2010-05-03  Bruno Haible  <bruno@clisp.org>
22602
22603         wctob: Fix for weird platforms.
22604         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
22605         argument value.
22606
22607 2010-05-03  Jim Meyering  <meyering@redhat.com>
22608
22609         maint.mk: prohibit unwarranted use of <strings.h>
22610         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
22611         strings.h in a file that does not also use strcasecmp, strncasecmp,
22612         ffs or ffsll.
22613
22614         maint.mk: remove obsolete comments
22615         * top/maint.mk: Remove stale, commented-out rules.
22616
22617 2010-05-02  Bruno Haible  <bruno@clisp.org>
22618
22619         wcwidth: Declare also when it's aliased.
22620         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
22621         macro.
22622
22623 2010-05-02  Bruno Haible  <bruno@clisp.org>
22624
22625         Fix regression from 2010-04-25.
22626         * gnulib-tool (func_modules_transitive_closure): Check the status of
22627         all modules, not only of the tests that are of the form foo-tests where
22628         foo is a module.
22629
22630 2010-05-02  Bruno Haible  <bruno@clisp.org>
22631
22632         wctob: Work around nasty Cygwin 1.7.2 bug.
22633         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
22634         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
22635
22636 2010-05-01  Bruno Haible  <bruno@clisp.org>
22637
22638         fpurge: Sharper test.
22639         * tests/test-fpurge.c (main): Add one more ftell check.
22640         * modules/fpurge-tests (Depends-on): Add ftell.
22641         Suggested by Eric Blake.
22642
22643 2010-05-01  Bruno Haible  <bruno@clisp.org>
22644
22645         ftello: Another test.
22646         * tests/test-ftello3.c: New file.
22647         * modules/ftello-tests (Files): Add it.
22648         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
22649         MOSTLYCLEANFILES.
22650
22651         ftell: Another test.
22652         * tests/test-ftell3.c: New file.
22653         * modules/ftell-tests (Files): Add it.
22654         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
22655         MOSTLYCLEANFILES.
22656
22657 2010-05-01  Bruno Haible  <bruno@clisp.org>
22658
22659         ftell, ftello: Work around Solaris bug.
22660         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
22661         * lib/ftello.c: Include stdio-impl.h.
22662         (ftello): On Solaris, when _IOWRT is set, compute the result without
22663         looking at _IOREAD.
22664         * modules/ftello (Files): Add lib/stdio-impl.h.
22665         * doc/posix-functions/ftell.texi: Mention Solaris bug.
22666         * doc/posix-functions/ftello.texi: Likewise.
22667         Reported by Eric Blake.
22668
22669 2010-05-01  Bruno Haible  <bruno@clisp.org>
22670
22671         freading: Adapt to special meaning of _IOREAD flag on Solaris.
22672         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
22673         the _IOWRT flag is also set.
22674
22675 2010-05-01  Bruno Haible  <bruno@clisp.org>
22676
22677         Fix doc about a HP-UX stdio bug.
22678         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
22679         * doc/posix-functions/ftello.texi: Likewise.
22680
22681 2010-05-01  Bruno Haible  <bruno@clisp.org>
22682
22683         lseek test: Fix failure on Solaris.
22684         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
22685         output.
22686
22687 2010-04-30  Jim Meyering  <meyering@redhat.com>
22688
22689         bootstrap: don't ignore failure to generate po*/Makevars
22690         * build-aux/bootstrap (with_gettext): Don't ignore failure
22691         to create po/Makevars or runtime-po/Makevars.
22692
22693 2010-04-29  Eric Blake  <eblake@redhat.com>
22694
22695         headers: relax license to LGPLv2+
22696         * modules/fcntl-h (License): Relax license.
22697         * modules/getopt-posix (License): Likewise.
22698         * modules/locale (License): Likewise.
22699         * modules/math (License): Likewise.
22700         * modules/pty (License): Likewise.
22701         * modules/sched (License): Likewise.
22702         * modules/search (License): Likewise.
22703         * modules/spawn (License): Likewise.
22704         * modules/stdarg (License): Likewise.
22705         * modules/sysexits (License): Likewise.
22706
22707 2010-04-29  Jim Meyering  <meyering@redhat.com>
22708
22709         inttypes: relax license to LGPLv2+
22710         * modules/inttypes (License): Relax license.
22711
22712 2010-04-29  Simon Josefsson  <simon@josefsson.org>
22713
22714         * top/maint.mk (indent): Run twice to produce idempotent results.
22715
22716 2010-04-28  Bruno Haible  <bruno@clisp.org>
22717
22718         getdate: Generate getdate.c in the source directory.
22719         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
22720         MOSTLYCLEANFILES.
22721         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
22722
22723 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
22724
22725         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
22726         is not declared as a const *; avoid warnings in that case.
22727
22728 2010-04-28  Eric Blake  <eblake@redhat.com>
22729
22730         canonicalize-lgpl: avoid compiler warning
22731         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
22732         declaration' / 'extraneous semicolon' warning with some compilers.
22733         Reported by Andreas Gruenbacher.
22734
22735 2010-04-28  Jim Meyering  <meyering@redhat.com>
22736
22737         init.sh: ensure a more reliable exit status when exiting via trap
22738         * tests/init.sh (setup_): Don't rely on $? in signal handler.
22739         Inspired by patches from Dmitry V. Levin.
22740         Also trap on signal 3 (SIGQUIT).
22741
22742 2010-04-27  Bruno Haible  <bruno@clisp.org>
22743
22744         Update doc about utimes().
22745         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
22746         'utimens' module.
22747         Reported by Andreas Gruenbacher <agruen@suse.de>.
22748
22749 2010-04-27  Eric Blake  <eblake@redhat.com>
22750
22751         full-read, full-write: relax license
22752         * modules/full-read (License): Drop to LGPLv2+.
22753         * modules/full-write (License): Likewise.
22754         * modules/safe-read (License): Likewise.
22755         * modules/safe-write (License): Likewise.
22756
22757         pthread: mention library for linking
22758         * modules/pthread (Link): Mention $(LIB_PTHREAD).
22759
22760 2010-04-27  Jim Meyering  <meyering@redhat.com>
22761
22762         maint.mk: fix a bug introduced in last change
22763         * top/maint.mk (gl_assured_headers_): Now that all names are on
22764         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
22765         is not anchored to end of word, it should be adequate.
22766
22767         maint.mk: avoid side-effect in latest syntax-check
22768         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
22769         to run commands via $(shell...), and hence to incur cost only when
22770         the new rule is actually run.
22771
22772         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
22773         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
22774         and use that to create a regexp used to detect all #if HAVE_..._H uses.
22775         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
22776         (gl_assured_headers_, az_, AZ_): Define.
22777         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
22778
22779 2010-04-26  Jim Meyering  <jim@meyering.net>
22780             Bruno Haible  <bruno@clisp.org>
22781
22782         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
22783         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
22784         Prompted by an exchange with Gilles Espinasse.
22785
22786 2010-04-26  Jim Meyering  <meyering@redhat.com>
22787
22788         git-version-gen: aesthetic tweak
22789         * build-aux/git-version-gen: Use "$nl" rather than a literal,
22790         so that the command remains on a single line.
22791
22792 2010-04-26  Eric Blake  <eblake@redhat.com>
22793
22794         git-version-gen: allow use on EBCDIC hosts
22795         * build-aux/git-version-gen (dirty): Use literal rather than tying
22796         ourselves to ascii.
22797         Reported by Steve Goetze.
22798
22799 2010-04-25  Bruno Haible  <bruno@clisp.org>
22800
22801         netdb: Add support for GNULIB_POSIXCHECK.
22802         * lib/netdb.in.h: Include warn-on-use.h.
22803         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
22804         functions are used when GNULIB_POSIXCHECK is defined and the
22805         getaddrinfo module is not in use.
22806         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
22807         freeaddrinfo, gai_strerror, getnameinfo are declared.
22808         * modules/netdb (Depends-on): Add warn-on-use.
22809         (Makefile.am): Include warn-on-use.h in netdb.h.
22810
22811 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
22812
22813         build: avoid "make check" failure without .git/ directory
22814         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
22815         there is no .git/ directory.
22816
22817 2010-04-25  Bruno Haible  <bruno@clisp.org>
22818
22819         ptsname: Fix misuse of ttyname_r.
22820         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
22821         of errno.
22822
22823 2010-04-25  Bruno Haible  <bruno@clisp.org>
22824
22825         ttyname_r: Make it work on Solaris 10.
22826         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
22827         if the system function has the POSIX declaration. Test whether the
22828         function fails if the buffer is less than 128 bytes large.
22829         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
22830         system's ttyname_r function. Provide a reasonably large buffer.
22831         * modules/ttyname_r (Depends-on): Add extensions.
22832         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
22833
22834 2010-04-25  Bruno Haible  <bruno@clisp.org>
22835
22836         Use the 'extensions' module for some more functions on Solaris.
22837         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
22838         module.
22839         * doc/posix-functions/ctime_r.texi: Likewise.
22840         * doc/posix-functions/getgrgid_r.texi: Likewise.
22841         * doc/posix-functions/getgrnam_r.texi: Likewise.
22842         * doc/posix-functions/getpwnam_r.texi: Likewise.
22843         * doc/posix-functions/getpwuid_r.texi: Likewise.
22844         * doc/posix-functions/readdir_r.texi: Likewise.
22845         * doc/posix-functions/sigwait.texi: Likewise.
22846         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
22847         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
22848
22849 2010-04-25  Bruno Haible  <bruno@clisp.org>
22850
22851         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
22852         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
22853         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
22854         * lib/ttyname_r.c: Include <limits.h>.
22855         (ttyname_r): Define using the system's ttyname_r function, if it exists
22856         and not on Solaris.
22857         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
22858         set.
22859         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
22860         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
22861         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
22862         Reported by Simon Josefsson.
22863
22864 2010-04-25  Bruno Haible  <bruno@clisp.org>
22865
22866         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
22867         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
22868         * doc/posix-functions/ctime_r.texi: Likewise.
22869         * doc/posix-functions/getgrgid_r.texi: Likewise.
22870         * doc/posix-functions/getgrnam_r.texi: Likewise.
22871         * doc/posix-functions/getlogin_r.texi: Likewise.
22872         * doc/posix-functions/getpwnam_r.texi: Likewise.
22873         * doc/posix-functions/getpwuid_r.texi: Likewise.
22874         * doc/posix-functions/readdir_r.texi: Likewise.
22875         * doc/posix-functions/sigwait.texi: Likewise.
22876         * doc/posix-functions/ttyname_r.texi: Likewise.
22877         Reported by Simon Josefsson.
22878
22879 2010-04-25  Bruno Haible  <bruno@clisp.org>
22880
22881         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
22882         * gnulib-tool (func_usage): Document that --with-*-tests options apply
22883         also to --create-testdir.
22884         (func_acceptable): Don't consider the status of *-tests modules here.
22885         (func_modules_transitive_closure): Consider it here, before including a
22886         test module.
22887         (func_import, func_create_testdir): Set inc_all_direct_tests,
22888         inc_all_indirect_tests.
22889         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
22890         --create-testdir and --create-megatestdir.
22891
22892 2010-04-25  Bruno Haible  <bruno@clisp.org>
22893
22894         gnulib-tool: Add --without-*-tests options.
22895         * gnulib-tool (func_usage): Document the --without-*-tests options.
22896         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
22897         excl_unportable_tests): New variables.
22898         Fail if they are specified with --import or --update.
22899         (func_acceptable): Respect the excl_*_tests variables.
22900         (func_import): Set the excl_*_tests variables to empty.
22901
22902 2010-04-25  Simon Josefsson  <simon@josefsson.org>
22903             Bruno Haible  <bruno@clisp.org>
22904
22905         Work around a MacOS X 10.4 bug with openpty.
22906         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
22907         * tests/test-openpty.c (main): Close the master side explicitly.
22908
22909 2010-04-25  Bruno Haible  <bruno@clisp.org>
22910
22911         strnlen: Fix a C++ test error on MacOS X and Solaris.
22912         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
22913         the function is not declared.
22914         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
22915         Simon Josefsson.
22916
22917 2010-04-24  Bruno Haible  <bruno@clisp.org>
22918
22919         Avoid a gcc warning.
22920         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
22921         of correct type for %08lx directive.
22922         Reported by Eric Blake.
22923
22924 2010-04-24  Bruno Haible  <bruno@clisp.org>
22925
22926         vasnprintf: Correct errno value in case of out-of-memory.
22927         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
22928         or sprintf. Use the errno value from SNPRINTF or sprintf.
22929         Reported by Ian Beckwith <ianb@erislabs.net>.
22930
22931 2010-04-24  Bruno Haible  <bruno@clisp.org>
22932
22933         ansi-c++-opt: Find correct compiler when cross-compiling.
22934         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
22935         AC_CHECK_PROGS.
22936         Reported by Simon Josefsson.
22937
22938 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
22939
22940         vc-list-files: Add support for subversion
22941         * build-aux/vc-list-files: Use "svn list" to generate the list of
22942         files controlled by subversion.
22943
22944 2010-04-23  Jim Meyering  <meyering@redhat.com>
22945
22946         vc-list-files tests: convert to use init.sh
22947         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
22948         path_prepend_.
22949         Use Exit, not exit.
22950         Use skip_ rather than open coding it.
22951         Remove trap set-up and compare definitions.
22952         * tests/test-vc-list-files-git.sh: Likewise.
22953         * modules/vc-list-files-tests (Files): Add tests/init.sh.
22954
22955 2010-04-22  Simon Josefsson  <simon@josefsson.org>
22956
22957         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
22958         backup files.
22959
22960 2010-04-21  Simon Josefsson  <simon@josefsson.org>
22961
22962         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
22963
22964 2010-04-20  Eric Blake  <eblake@redhat.com>
22965
22966         tests: be robust to ignored SIGPIPE
22967         * tests/test-select-in.sh: Consume all output.
22968         * tests/test-lseek.sh: Check correct exit status, while avoiding
22969         EPIPE.
22970
22971 2010-04-20  Simon Josefsson  <simon@josefsson.org>
22972             Bruno Haible  <bruno@clisp.org>
22973
22974         visibility: Don't use -fvisibility if it leads to a warning.
22975         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
22976         yes, don't pretend that visibility works if it leads to a warning.
22977         Reported by Mike Gran <spk121@yahoo.com>.
22978
22979 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
22980
22981         * build-aux/bootstrap: Use "git -h" for testing for supported options
22982         instead of "git --help".  The short-form option only shows a summary,
22983         and doesn't layout the full man page.  Grep for the full option name
22984         in the summary, too.
22985
22986 2010-04-19  Bruno Haible  <bruno@clisp.org>
22987
22988         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
22989         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
22990         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
22991         mention of RELOCATABLE_STRIP.
22992         Reported by Sylvain Beucler <beuc@beuc.net>.
22993
22994 2010-04-19  Bruno Haible  <bruno@clisp.org>
22995
22996         * lib/diffseq.h: Fix typo in comment.
22997         Reported by Eric Blake.
22998
22999 2010-04-19  Bruno Haible  <bruno@clisp.org>
23000
23001         ioctl: Move autoconf macro to a .m4 file.
23002         * m4/ioctl.m4: New file, extracted from modules/ioctl.
23003         * modules/ioctl (Files): Add it.
23004         (configure.ac): Simply invoke gl_FUNC_IOCTL.
23005         Reported by Ian Beckwith <ianb@erislabs.net>.
23006
23007 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
23008             Bruno Haible  <bruno@clisp.org>
23009
23010         diffseq: Accommodate use-case with abstract arrays.
23011         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
23012         is not defined.
23013         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
23014         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
23015
23016 2010-04-18  Bruno Haible  <bruno@clisp.org>
23017
23018         * doc/posix-headers/stdbool.texi: More precise wording.
23019
23020 2010-04-17  Jim Meyering  <meyering@redhat.com>
23021
23022         maint.mk: use gnu-style indentation in an embedded perl script
23023         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
23024         Rename variable: s/two/last_two_bytes/
23025
23026 2010-04-16  Eric Blake  <eblake@redhat.com>
23027
23028         test-stdbool: skip test that fails with Solaris CC
23029         * tests/test-stdbool.c (f): Skip test that causes compilation
23030         error under buggy C++ compiler.
23031         * lib/stdbool.in.h: Document the limitation.
23032         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
23033
23034         setenv: allow compilation with C++
23035         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
23036         register keyword.
23037
23038         stdint: allow test to pass with C++
23039         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
23040
23041         getopt: allow compilation with C++
23042         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
23043         struct.
23044         * lib/getopt.c (_getopt_internal_r): Use correct type.
23045         Reported by Dagobert Michelson, via Joel E. Denny.
23046
23047 2010-04-16  Bruno Haible  <bruno@clisp.org>
23048
23049         Override netdb.h always.
23050         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
23051         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
23052         Reported by Ludovic Courtès <ludo@gnu.org>.
23053
23054 2010-04-15  Bruno Haible  <bruno@clisp.org>
23055
23056         openpty: Fix mistake from 2010-03-21.
23057         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
23058         Reported by Simon Josefsson.
23059
23060 2010-04-15  Eric Blake  <eblake@redhat.com>
23061
23062         test-forkpty: fix expected signature
23063         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
23064         Reported by Simon Josefsson.
23065
23066 2010-04-15  Jim Meyering  <meyering@redhat.com>
23067
23068         maint.mk: texinfo_suffix_re_: correct the default regexp
23069         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
23070
23071         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
23072         make it configurable via texinfo_suffix_re_.
23073
23074 2010-04-14  Eric Blake  <eblake@redhat.com>
23075
23076         strtok_r: relax license to LGPLv2+
23077         * modules/strtok_r (License): Relax license.
23078         Reported by Matthias Bolte.
23079
23080 2010-04-14  Simon Josefsson  <simon@josefsson.org>
23081
23082         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
23083         version 1.4.4 by default instead of requiring the libgcrypt
23084         version used during build.  This makes it possible to use the
23085         application with older but still binary compatible libgcrypt
23086         versions.
23087
23088 2010-04-13  Eric Blake  <eblake@redhat.com>
23089
23090         getopt-gnu: match recent glibc fixes and posix ruling
23091         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
23092         '+' handling, when requesting extensions.
23093         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
23094         'W;' handling.
23095         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
23096         * doc/posix-functions/getopt.texi (getopt): Document this.
23097         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
23098         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
23099         Likewise.
23100
23101         getopt: merge bug fixes from glibc
23102         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
23103         diagnostics.  Honor '+:' correctly.  Reject ';'.
23104
23105         getopt-posix: detect MacOS bug
23106         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
23107         optind when missing a required argument.
23108         * doc/posix-functions/getopt.texi (getopt): Document the bug.
23109         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
23110         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
23111         Likewise.
23112
23113         getopt-posix: avoid spurious failure on Solaris
23114         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
23115         an indicator that setting optind=1 is sufficient for reset.
23116
23117         getopt-posix: avoid spurious failure on FreeBSD
23118         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
23119         in POSIX mode, since the m4 test uses it.
23120
23121         gnulib-tool: silence warning on BSD sh
23122         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
23123
23124 2010-04-13  Jim Meyering  <meyering@redhat.com>
23125
23126         doc: users.txt: GNU patch now uses gnulib
23127         * users.txt: Add patch.
23128
23129 2010-04-12  Jim Meyering  <meyering@redhat.com>
23130
23131         maint.mk: generate more concise timing data for syntax-check rules
23132         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
23133         " done" from each line that reports a syntax-check test duration.
23134
23135 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
23136
23137         git-version-gen: use "git update-index..." rather than "git status"
23138         * build-aux/git-version-gen: Use git update-index --refresh, not
23139         "git status".  With some versions of git, "git status" would fail
23140         to update the index and result in an unwarranted "-dirty" suffix.
23141
23142 2010-04-11  Jim Meyering  <meyering@redhat.com>
23143
23144         openat: correct formatting (no semantic change)
23145         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
23146         Suggested by Bruno Haible.
23147
23148 2010-04-11  Bruno Haible  <bruno@clisp.org>
23149
23150         Stricter declaration checking in testdirs.
23151         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
23152         If for_tests is true, augment AM_CPPFLAGS to define
23153         GNULIB_STRICT_CHECKING.
23154         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
23155         GNULIB_STRICT_CHECKING is defined, verify that the function is
23156         declared.
23157
23158 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
23159             Bruno Haible  <bruno@clisp.org>
23160
23161         libunistring: Improve configure output.
23162         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
23163         Don't say "consider installing GNU libunistring" when checking again
23164         with libiconv.
23165
23166 2010-04-11  Bruno Haible  <bruno@clisp.org>
23167
23168         libunistring: Correct value of $LTLIBUNISTRING.
23169         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
23170         correct the value of $LTLIBUNISTRING.
23171
23172 2010-04-11  Bruno Haible  <bruno@clisp.org>
23173
23174         havelib: Add static libraries to LIBS in the right order.
23175         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
23176         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
23177
23178 2010-04-11  Bruno Haible  <bruno@clisp.org>
23179
23180         libunistring: Detect libunistring also when it depends on libiconv.
23181         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
23182         the second AC_LIB_HAVE_LINKFLAGS invocation.
23183
23184 2010-04-11  James Youngman  <jay@gnu.org>
23185
23186         close-stream: declare local scalars to be "const"
23187         * lib/close-stream.c (close_stream): Make boolean variables const
23188         to document the fact that we set but do not change them.
23189
23190 2010-04-11  Bruno Haible  <bruno@clisp.org>
23191
23192         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
23193
23194 2010-04-11  Jim Meyering  <meyering@redhat.com>
23195
23196         maint.mk: don't include dist-check.mk
23197         * top/maint.mk: Remove bogus include directive.
23198
23199         maint.mk: improve empty-line-at-EOF check
23200         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
23201         solution, rather than tail+Perl-based one.  The latter would read
23202         a few kilobytes from the end of each file, and did not handle empty
23203         files properly.
23204
23205         maint.mk: print the elapsed time for each syntax-check rule
23206         * top/maint.mk (sc_m_rules_): Save start time in a file.
23207         (sc_z_rules_): New rules: remove temp file and print elapsed time.
23208         (local-check): Interpose the .z rules
23209
23210 2010-04-11  Jim Meyering  <meyering@redhat.com>
23211
23212         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
23213         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
23214         empty file with one that ends in an empty line.
23215
23216 2010-04-10  Bruno Haible  <bruno@clisp.org>
23217
23218         mkdir: Make it work on mingw64.
23219         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
23220         * lib/mkdir.c: Update comment.
23221         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
23222
23223 2010-04-10  Bruno Haible  <bruno@clisp.org>
23224
23225         Don't override improved macro from newer autoconf.
23226         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
23227         autoconf >= 2.62.
23228         Reported by Joel E. Denny <jdenny@clemson.edu>.
23229
23230 2010-04-10  Jim Meyering  <meyering@redhat.com>
23231
23232         maint.mk: new syntax-check rule: prohibit empty lines at end of file
23233         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
23234
23235         maint.mk: correct a diagnostic
23236         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
23237         in diagnostic; now use $prohibit.
23238
23239 2010-04-10  Bruno Haible  <address@hidden>
23240
23241         fchownat: Fix a C++ test error on Solaris 8.
23242         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
23243         the function does not exist.
23244
23245 2010-04-10  Bruno Haible  <bruno@clisp.org>
23246
23247         vasnprintf: Add more tests.
23248         * tests/test-vasnprintf-posix.c: Include <errno.h>.
23249         (test_function): Test converting an invalid wide string.
23250
23251         vasnprintf: Correct handling of unconvertible wide string arguments.
23252         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
23253         VASNPRINTF.
23254         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
23255         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
23256         smaller than the expected maximum need for the directive. Set errno to
23257         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
23258         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
23259         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
23260         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
23261         * modules/vasnprintf (Files): Add m4/printf.m4.
23262         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23263
23264 2010-04-10  Bruno Haible  <bruno@clisp.org>
23265
23266         vasnprintf: Fix crash in %ls directive.
23267         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
23268         string is passed as argument to %ls, with no precision and no width.
23269         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23270
23271 2010-04-10  Bruno Haible  <bruno@clisp.org>
23272
23273         vasnprintf: Fix multiple test failures on mingw.
23274         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
23275         _snprintf, or snwprintf, not _snwprintf.
23276
23277 2010-04-10  Bruno Haible  <bruno@clisp.org>
23278
23279         write: Fix a C++ test error on mingw.
23280         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
23281
23282 2010-04-10  Bruno Haible  <bruno@clisp.org>
23283
23284         vasnprintf test: Reduce code duplication.
23285         * tests/test-vasnprintf.c (test_function): New function, extracted from
23286         test_vasnprintf.
23287         (test_vasnprintf, test_asnprintf): Invoke it.
23288
23289 2010-04-10  Bruno Haible  <bruno@clisp.org>
23290
23291         strnlen: Fix warning in C++ mode on MacOS X.
23292         * lib/string.in.h (strnlen): Use the modern idiom.
23293         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
23294         defining strnlen as a macro already in <config.h>.
23295         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
23296         REPLACE_STRNLEN.
23297         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
23298         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23299
23300 2010-04-08  James Youngman  <jay@gnu.org>
23301
23302         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
23303         the example.
23304
23305 2010-04-09  Jim Meyering  <meyering@redhat.com>
23306
23307         maint.mk: print better diagnostic when there is no $(_hv_file)
23308         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
23309         announce that when $(_hv_file) (aka help-version) does not exist.
23310
23311         init.sh: run tr in the "C" locale to avoid multibyte interpretation
23312         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
23313         not try to interpret its random input bytes.  Jarno Rajahalme reported
23314         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
23315         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
23316         (mktempd_): Likewise, just in case.
23317
23318         ftruncate: add two years to projected module removal date: 2012
23319         * m4/ftruncate.m4: Adjust comments.
23320
23321         ftruncate: mark module as obsolete; even MinGW provides it, now
23322         * modules/ftruncate (Status): Obsolete.
23323         (Notice): Say that.
23324         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
23325         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
23326
23327 2010-04-08  Bruno Haible  <bruno@clisp.org>
23328
23329         Fix side effects from tests-related modules.
23330         * modules/dprintf-posix (Comment): New section.
23331         * modules/fprintf-posix (Comment): Likewise.
23332         * modules/obstack-printf-posix (Comment): Likewise.
23333         * modules/printf-posix (Comment): Likewise.
23334         * modules/snprintf-posix (Comment): Likewise.
23335         * modules/sprintf-posix (Comment): Likewise.
23336         * modules/vasnprintf-posix (Comment): Likewise.
23337         * modules/vasprintf-posix (Comment): Likewise.
23338         * modules/vdprintf-posix (Comment): Likewise.
23339         * modules/vfprintf-posix (Comment): Likewise.
23340         * modules/vprintf-posix (Comment): Likewise.
23341         * modules/vsnprintf-posix (Comment): Likewise.
23342         * modules/vsprintf-posix (Comment): Likewise.
23343         * modules/xprintf-posix (Comment): Likewise.
23344         * modules/xvasprintf-posix (Comment): Likewise.
23345         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
23346         * modules/floorf-tests (Depends-on): Likewise.
23347         * modules/round-tests (Depends-on): Likewise.
23348         * modules/roundf-tests (Depends-on): Likewise.
23349         * modules/trunc-tests (Depends-on): Likewise.
23350         * modules/truncf-tests (Depends-on): Likewise.
23351         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
23352         'fprintf-posix' module is not present.
23353         * tests/test-floorf2.c (check): Likewise.
23354         * tests/test-trunc2.c (check): Likewise.
23355         * tests/test-truncf2.c (check): Likewise.
23356         * tests/test-round2.c (equal): Likewise.
23357         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23358
23359 2010-04-07  Karl Berry  <karl@gnu.org>
23360
23361         * config/srclist.txt,
23362         * config/srclistvars.sh,
23363         * config/srclist-update: doc fixes.
23364
23365 2010-04-07  Jim Meyering  <meyering@redhat.com>
23366
23367         maint.mk: add a PATH crosschecking syntax-check rule
23368         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
23369         Useful if you use a test like the one in help-version (coreutils,
23370         diffutils, grep, gzip) that ensures $(VERSION) matches what is
23371         printed by prog --version.
23372
23373 2010-04-06  Bruno Haible  <bruno@clisp.org>
23374
23375         Fix link error on mingw.
23376         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
23377         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
23378
23379 2010-04-06  Bruno Haible  <bruno@clisp.org>
23380
23381         Assume rmdir exists.
23382         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
23383
23384 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
23385
23386         doc: update users.txt
23387         * users.txt: Add gcal.
23388
23389 2010-04-06  Jim Meyering  <meyering@redhat.com>
23390
23391         init.sh: simply unset TMPDIR rather than risking env -i
23392         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
23393         although it probably works fine on all Unix-based systems, some
23394         systems (Cygwin?) cannot tolerate a totally cleared environment.
23395         Suggestion from Eric Blake.
23396
23397 2010-04-06  Jim Meyering  <meyering@redhat.com>
23398
23399         init.sh: portability fix: use env's POSIX-specified -i option not -u
23400         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
23401         than unportable env -u.  Solaris 5.11's env lacks support for -u.
23402
23403 2010-04-05  Bruno Haible  <bruno@clisp.org>
23404
23405         btowc: Work around Cygwin 1.7.2 bug.
23406         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
23407         does not map NUL to 0.
23408         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
23409
23410 2010-04-05  Bruno Haible  <bruno@clisp.org>
23411
23412         Make the multithread modules work on Cygwin 1.7.2.
23413         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
23414         imported symbols can be declared weak, so that it returns "no" on
23415         Cygwin 1.7.2.
23416
23417 2010-04-05  Bruno Haible  <bruno@clisp.org>
23418
23419         Use the module 'strncat'.
23420         * modules/unistr/u8-strncat (Depends-on): Add strncat.
23421
23422         Tests for module 'strncat'.
23423         * modules/strncat-tests: New file.
23424         * tests/test-strncat.c: New file.
23425
23426         New module 'strncat'.
23427         * lib/string.in.h (strncat): New declaration.
23428         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
23429         * m4/strncat.m4: New file, based on m4/memchr.m4.
23430         * modules/strncat: New file.
23431         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
23432         is declared.
23433         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
23434         REPLACE_STRNCAT.
23435         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
23436         REPLACE_STRNCAT.
23437         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
23438         module.
23439         * tests/test-string-c++.cc: Check signature of strncat.
23440
23441 2010-04-05  Jim Meyering  <meyering@redhat.com>
23442
23443         xstrtoumax-tests: convert to use init.sh
23444         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
23445         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
23446         Use Exit, not exit.
23447         Remove uses of $EXEEXT and "./" to run a program in the current dir.
23448
23449         xstrtoimax-tests: convert to use init.sh
23450         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
23451         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
23452         Use Exit, not exit.
23453         Remove uses of $EXEEXT and "./" to run a program in the current dir.
23454
23455 2010-04-05  Bruno Haible  <bruno@clisp.org>
23456
23457         sys_socket: Avoid #define replacements in C++ mode.
23458         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
23459         warning to the function if possible, rather than #defining the symbol
23460         to a dysfunctional alias.
23461
23462 2010-04-05  Bruno Haible  <bruno@clisp.org>
23463
23464         fseeko: Fix C++ test error on mingw.
23465         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
23466         gl_FUNC_FSEEKO.
23467         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
23468         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
23469         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
23470         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
23471
23472 2010-04-05  Bruno Haible  <bruno@clisp.org>
23473
23474         duplocale: Improve test output.
23475         * tests/test-duplocale.c (main): Print reason for skipped test.
23476
23477 2010-04-05  Bruno Haible  <bruno@clisp.org>
23478
23479         Assume rmdir exists.
23480         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
23481         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
23482
23483 2010-04-05  Bruno Haible  <bruno@clisp.org>
23484
23485         Fix link error on Solaris 8 with cc.
23486         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
23487
23488 2010-04-05  Bruno Haible  <bruno@clisp.org>
23489
23490         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
23491         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
23492
23493 2010-04-05  Bruno Haible  <bruno@clisp.org>
23494
23495         vasprintf: Update documentation.
23496         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
23497
23498 2010-04-05  Bruno Haible  <bruno@clisp.org>
23499
23500         ptsname: Improve test.
23501         * tests/test-ptsname.c (main): Also try the various master names of BSD
23502         systems.
23503
23504 2010-04-05  Bruno Haible  <bruno@clisp.org>
23505
23506         memchr: Avoid a possible C++ test error.
23507         * lib/string.in.h (memchr): Provide declaration if function is missing.
23508         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
23509         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
23510         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
23511         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
23512
23513 2010-04-05  Bruno Haible  <bruno@clisp.org>
23514
23515         strtok_r: Improve idiom.
23516         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
23517         AC_LIBOBJ is used.
23518
23519 2010-04-05  Bruno Haible  <bruno@clisp.org>
23520
23521         strdup: Improve idiom.
23522         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
23523         AC_LIBOBJ is used.
23524         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
23525         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
23526         when AC_LIBOBJ is used.
23527
23528 2010-04-05  Bruno Haible  <bruno@clisp.org>
23529
23530         mbsinit, mbrtowc, wcrtomb: Improve idioms.
23531         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
23532         don't set REPLACE_MBSINIT to 1.
23533         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
23534         don't set REPLACE_MBRTOWC to 1.
23535         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
23536         exist, don't set REPLACE_MBSRTOWCS to 1.
23537         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
23538         exist, don't set REPLACE_MBSNRTOWCS to 1.
23539         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
23540         don't set REPLACE_WCRTOMB to 1.
23541         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
23542         exist, don't set REPLACE_WCSRTOMBS to 1.
23543         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
23544         exist, don't set REPLACE_WCSNRTOMBS to 1.
23545
23546 2010-04-05  Bruno Haible  <bruno@clisp.org>
23547
23548         ldexpl: Improve idiom.
23549         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
23550         make sure to set HAVE_DECL_LDEXPL to 0.
23551
23552 2010-04-05  Jim Meyering  <meyering@redhat.com>
23553
23554         xstrtol-tests: convert to use init.sh
23555         * modules/xstrtol-tests (Files): Add tests/init.sh.
23556         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
23557         Use Exit, not exit.
23558         Remove uses of $EXEEXT and "./" to run a program in the current dir.
23559
23560         atexit-tests: convert to use init.sh
23561         * modules/atexit-tests (Files): Add tests/init.sh.
23562         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
23563         Use Exit, not exit.
23564         Remove uses of $EXEEXT and "./" to run a program in the current dir.
23565
23566         init.sh: fix typo
23567         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
23568
23569         init.sh: make it easier for a test script to write to the tty, ...
23570         when using automake's parallel-tests mode.
23571         * tests/init.sh (stderr_fileno_): Define overridable variable.
23572         (warn_): New function, to use it.
23573         (fail_, skip_, framework_failure_): Use warn_.
23574
23575 2010-04-04  Bruno Haible  <bruno@clisp.org>
23576
23577         btowc: Avoid warning.
23578         * lib/btowc.c: Include <stdlib.h>.
23579         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
23580
23581 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
23582             Bruno Haible  <bruno@clisp.org>
23583
23584         wchar: Port to NetBSD 1.5.
23585         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
23586         * lib/wctype.in.h (WEOF): Likewise.
23587
23588 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
23589             Bruno Haible  <bruno@clisp.org>
23590
23591         Port extended stdio to NetBSD 1.5.
23592         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
23593         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
23594         older.
23595
23596 2010-04-04  Bruno Haible  <bruno@clisp.org>
23597
23598         string: Remove unused substitution.
23599         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
23600         HAVE_DECL_STRERROR.
23601         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
23602
23603 2010-04-04  Bruno Haible  <bruno@clisp.org>
23604
23605         strtod: Avoid a possible C++ test error.
23606         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
23607         set REPLACE_STRTOD.
23608
23609 2010-04-04  Bruno Haible  <bruno@clisp.org>
23610
23611         strerror: Update documentation.
23612         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
23613
23614 2010-04-04  Bruno Haible  <bruno@clisp.org>
23615
23616         stdio: Fix some C++ test errors on Solaris 8 with GCC.
23617         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
23618         _GL_CXXALIAS_SYS_CAST.
23619
23620 2010-04-04  Bruno Haible  <bruno@clisp.org>
23621
23622         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
23623         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
23624         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
23625         REPLACE_FREXPL to 1.
23626         * doc/posix-functions/frexpl.texi: Update documentation.
23627
23628 2010-04-04  Bruno Haible  <bruno@clisp.org>
23629
23630         math: Fix some C++ test errors on Solaris 8 and Cygwin.
23631         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
23632
23633 2010-04-04  Bruno Haible  <bruno@clisp.org>
23634
23635         Implement nanosleep for native Windows.
23636         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
23637
23638 2010-04-04  Bruno Haible  <bruno@clisp.org>
23639
23640         math: Fix some C++ test errors on Solaris 8.
23641         * lib/math.in.h (truncf, trunc): Use simpler idiom.
23642
23643 2010-04-04  Bruno Haible  <bruno@clisp.org>
23644
23645         math: Fix some C++ test errors on Cygwin.
23646         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
23647         truncl): Provide declaration if the system does not have it.
23648         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
23649         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
23650         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
23651         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
23652         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
23653         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
23654         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
23655         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
23656         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
23657         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
23658         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
23659         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
23660         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
23661         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
23662         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
23663         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
23664         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
23665         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
23666         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
23667         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
23668         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
23669         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
23670
23671 2010-04-04  Bruno Haible  <bruno@clisp.org>
23672
23673         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
23674         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
23675         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
23676         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
23677         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
23678         * m4/isinf.m4 (gl_ISINF): Likewise.
23679         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
23680
23681 2010-04-04  Bruno Haible  <bruno@clisp.org>
23682
23683         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
23684         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
23685
23686 2010-04-04  Bruno Haible  <bruno@clisp.org>
23687
23688         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
23689         * modules/tmpfile (configure.ac): Update.
23690
23691         tmpfile: Fix C++ test error on mingw.
23692         * lib/stdio.in.h (tmpfile): New declaration.
23693         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
23694         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
23695         * modules/tmpfile (Depends-on): Add stdio.
23696         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
23697         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
23698         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
23699         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
23700         REPLACE_TMPFILE.
23701         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
23702
23703 2010-04-04  Bruno Haible  <bruno@clisp.org>
23704
23705         ioctl: Fix C++ test error on mingw.
23706         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
23707         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
23708         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
23709
23710 2010-04-03  Bruno Haible  <bruno@clisp.org>
23711
23712         wcwidth: Fix C++ test error on mingw.
23713         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
23714         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
23715         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
23716
23717 2010-04-03  Bruno Haible  <bruno@clisp.org>
23718
23719         nanosleep: Fix C++ test error on mingw.
23720         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
23721         * lib/time.in.h (nanosleep): Use modern idiom.
23722         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
23723         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
23724         REPLACE_NANOSLEEP to 1.
23725         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
23726         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
23727
23728 2010-04-03  Bruno Haible  <bruno@clisp.org>
23729
23730         strptime: Fix C++ test error on mingw.
23731         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
23732         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
23733         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
23734         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
23735         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
23736         not REPLACE_STRPTIME.
23737         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
23738         REPLACE_STRPTIME.
23739
23740 2010-04-03  Bruno Haible  <bruno@clisp.org>
23741
23742         timegm: Fix C++ test error on mingw.
23743         * lib/time.in.h (timegm): Use modern idiom.
23744         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
23745         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
23746         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
23747         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
23748
23749 2010-04-03  Bruno Haible  <bruno@clisp.org>
23750
23751         timegm: Assume declaration if function exists.
23752         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
23753         if it exists. Don't clobber ac_cv_func_timegm.
23754
23755 2010-04-03  Bruno Haible  <bruno@clisp.org>
23756
23757         time_r: Fix C++ test error on mingw.
23758         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
23759         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
23760         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
23761         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
23762         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
23763
23764 2010-04-03  Bruno Haible  <bruno@clisp.org>
23765
23766         time_r: Minor updates.
23767         * modules/time_r (Description): Mention the provided functions.
23768         * lib/time_r.c: Don't include <string.h>.
23769         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
23770         * doc/posix-functions/localtime_r.texi: Likewise.
23771
23772 2010-04-03  Bruno Haible  <bruno@clisp.org>
23773
23774         time: Fix regression introduced on 2010-03-08.
23775         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
23776         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
23777
23778 2010-04-03  Jim Meyering  <meyering@redhat.com>
23779
23780         maint.mk: don't silently disable project-specific syntax-check rules
23781         * top/maint.mk (_prohibit_regexp): Define, to help people realize
23782         that they need to convert their project-specific syntax-check rules
23783         to use the new _sc_search_regexp.
23784
23785 2010-04-03  Bruno Haible  <bruno@clisp.org>
23786
23787         fchdir: Fix regression introduced on 2010-03-08.
23788         * lib/unistd.in.h (fchdir): Fix declaration.
23789         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
23790         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
23791         REPLACE_FCHDIR.
23792         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
23793         REPLACE_FCHDIR.
23794
23795 2010-04-03  Bruno Haible  <bruno@clisp.org>
23796
23797         getpagesize: Fix C++ test error on mingw.
23798         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
23799         system does not declare the function.
23800         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
23801         declared.
23802         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
23803         HAVE_DECL_GETPAGESIZE.
23804         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
23805
23806 2010-04-03  Bruno Haible  <bruno@clisp.org>
23807
23808         stdio: Make C++ tests work on mingw.
23809         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
23810         does not declare the function.
23811
23812 2010-04-03  Bruno Haible  <bruno@clisp.org>
23813
23814         ftello: Fix C++ test error on mingw.
23815         * lib/stdio.in.h (ftello): Use modern idiom.
23816         * lib/ftello.c (ftello): Renamed from rpl_ftello.
23817         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
23818         is missing and that it needs to be replaced.
23819         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
23820         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
23821         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
23822
23823 2010-04-03  Bruno Haible  <bruno@clisp.org>
23824
23825         fseeko: Fix C++ test error on mingw.
23826         * lib/stdio.in.h (fseeko): Use modern idiom.
23827         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
23828         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
23829         is missing and that it needs to be replaced.
23830         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
23831         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
23832         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
23833
23834 2010-04-03  Bruno Haible  <bruno@clisp.org>
23835
23836         mkstemp: Fix C++ test error on mingw.
23837         * lib/stdlib.in.h (mkstemp): Use modern idiom.
23838         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
23839         function is missing and that it needs to be replaced.
23840         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
23841         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
23842
23843 2010-04-03  Bruno Haible  <bruno@clisp.org>
23844
23845         stpncpy: Fix C++ test error on mingw.
23846         * lib/string.in.h (stpncpy): Use modern idiom.
23847         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
23848         function is missing and that it needs to be replaced.
23849         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
23850         REPLACE_STPNCPY.
23851         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
23852
23853 2010-04-03  Bruno Haible  <bruno@clisp.org>
23854
23855         sys_stat: Fix C++ test error on mingw.
23856         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
23857         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
23858
23859 2010-04-03  Bruno Haible  <bruno@clisp.org>
23860
23861         pty: Update doc.
23862         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
23863
23864 2010-04-03  Bruno Haible  <bruno@clisp.org>
23865
23866         unistd: Fix C++ test error on mingw.
23867         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
23868
23869 2010-04-03  Bruno Haible  <bruno@clisp.org>
23870
23871         Update doc regarding mingw.
23872         * doc/glibc-functions/openpty.texi: Update regarding mingw.
23873         * doc/glibc-functions/login_tty.texi: Likewise.
23874         * doc/glibc-functions/forkpty.texi: Likewise.
23875
23876 2010-04-03  Bruno Haible  <bruno@clisp.org>
23877
23878         stdlib: Avoid compilation failure of c-strtold on mingw.
23879         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
23880
23881 2010-04-03  Bruno Haible  <bruno@clisp.org>
23882
23883         locale: Make C++ tests work on Cygwin and mingw.
23884         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
23885         cannot provide the function.
23886         Reported by Simon Josefsson.
23887
23888 2010-04-03  Bruno Haible  <bruno@clisp.org>
23889
23890         localename: Port to MacOS X 10.6.
23891         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
23892         memory layout of the locales in MacOS X 10.6 as well.
23893         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
23894
23895 2010-04-02  Bruno Haible  <bruno@clisp.org>
23896
23897         gnulib-tool: Ensure that long-running tests are executed last.
23898         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
23899         running tests after the one for the other tests.
23900
23901 2010-04-02  Bruno Haible  <bruno@clisp.org>
23902
23903         gnulib-tool: Ensure the tests in the main directory are executed first.
23904         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
23905         start with the current directory.
23906
23907 2010-04-02  Bruno Haible  <bruno@clisp.org>
23908
23909         Tests for module 'havelib', moved here from GNU gettext.
23910         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
23911         modifications.
23912         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
23913         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
23914         with modifications.
23915         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
23916         modifications.
23917         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
23918         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
23919         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
23920         with modifications.
23921         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
23922         with modifications.
23923         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
23924         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
23925         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
23926         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
23927         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
23928         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
23929         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
23930         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
23931         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
23932         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
23933         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
23934         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
23935         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
23936         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
23937         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
23938         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
23939         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
23940         with modifications.
23941         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
23942         with modifications.
23943         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
23944         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
23945         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
23946         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
23947         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
23948         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
23949         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
23950         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
23951         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
23952         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
23953         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
23954         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
23955         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
23956         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
23957         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
23958         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
23959         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
23960         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
23961         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
23962         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
23963         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
23964         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
23965         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
23966         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
23967         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
23968         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
23969         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
23970         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
23971         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
23972         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
23973         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
23974         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
23975         * tests/havelib/rpathx/rpathx.c: New file, from
23976         gettext/autoconf-lib-link.
23977         * tests/havelib/rpathx/Makefile.am: New file, from
23978         gettext/autoconf-lib-link.
23979         * tests/havelib/rpathx/configure.ac: New file, from
23980         gettext/autoconf-lib-link with modifications.
23981         * tests/havelib/rpathy/rpathy.c: New file, from
23982         gettext/autoconf-lib-link.
23983         * tests/havelib/rpathy/Makefile.am: New file, from
23984         gettext/autoconf-lib-link.
23985         * tests/havelib/rpathy/configure.ac: New file, from
23986         gettext/autoconf-lib-link with modifications.
23987         * tests/havelib/rpathz/rpathz.c: New file, from
23988         gettext/autoconf-lib-link.
23989         * tests/havelib/rpathz/Makefile.am: New file, from
23990         gettext/autoconf-lib-link.
23991         * tests/havelib/rpathz/configure.ac: New file, from
23992         gettext/autoconf-lib-link with modifications.
23993         * tests/havelib/rpathlx/usex.c: New file, from
23994         gettext/autoconf-lib-link.
23995         * tests/havelib/rpathlx/Makefile.am: New file, from
23996         gettext/autoconf-lib-link.
23997         * tests/havelib/rpathlx/configure.ac: New file, from
23998         gettext/autoconf-lib-link with modifications.
23999         * tests/havelib/rpathly/usey.c: New file, from
24000         gettext/autoconf-lib-link.
24001         * tests/havelib/rpathly/Makefile.am: New file, from
24002         gettext/autoconf-lib-link.
24003         * tests/havelib/rpathly/configure.ac: New file, from
24004         gettext/autoconf-lib-link with modifications.
24005         * tests/havelib/rpathlz/usez.c: New file, from
24006         gettext/autoconf-lib-link.
24007         * tests/havelib/rpathlz/Makefile.am: New file, from
24008         gettext/autoconf-lib-link.
24009         * tests/havelib/rpathlz/configure.ac: New file, from
24010         gettext/autoconf-lib-link with modifications.
24011         * tests/havelib/rpathlyx/usey.c: New file, from
24012         gettext/autoconf-lib-link.
24013         * tests/havelib/rpathlyx/Makefile.am: New file, from
24014         gettext/autoconf-lib-link.
24015         * tests/havelib/rpathlyx/configure.ac: New file, from
24016         gettext/autoconf-lib-link with modifications.
24017         * tests/havelib/rpathlzyx/usez.c: New file, from
24018         gettext/autoconf-lib-link.
24019         * tests/havelib/rpathlzyx/Makefile.am: New file, from
24020         gettext/autoconf-lib-link.
24021         * tests/havelib/rpathlzyx/configure.ac: New file, from
24022         gettext/autoconf-lib-link with modifications.
24023         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
24024         with modifications.
24025
24026 2010-04-02  Bruno Haible  <bruno@clisp.org>
24027
24028         gnulib-tool: Create distributed built sources also for the tests.
24029         * gnulib-tool (func_create_testdir): Also generate distributed built
24030         sources in the tests directory.
24031
24032 2010-04-02  Bruno Haible  <bruno@clisp.org>
24033
24034         gnulib-tool: Obey user's environment variables.
24035         * gnulib-tool (func_create_testdir): When creating built sources,
24036         respect the environment variables for autoconf, automake, etc. given by
24037         the user.
24038
24039 2010-04-02  Bruno Haible  <bruno@clisp.org>
24040
24041         gnulib-tool: Provide the value of --m4-base to modules.
24042         * gnulib-tool (func_import, func_create_testdir): Emit a definition
24043         of gl_m4_base.
24044
24045 2010-04-02  Eric Blake  <eblake@redhat.com>
24046
24047         maint.mk: fix some fallout
24048         * NEWS: Document the incompatible change, and its effect on cfg.mk.
24049         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
24050
24051 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
24052
24053         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
24054         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
24055         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
24056         (sc_cast_of_x_alloc_return_value): Likewise.
24057         (sc_cast_of_alloca_return_value): Likewise.
24058         (sc_space_tab): Likewise.
24059         (sc_prohibit_atoi_atof): Likewise.
24060         (sc_prohibit_magic_number_exit): Likewise.
24061         (sc_error_exit_success): Likewise.
24062         (sc_file_system): Likewise.
24063         (sc_prohibit_have_config_h): Likewise.
24064         (sc_require_config_h): Likewise.
24065         (sc_prohibit_HAVE_MBRTOWC): Likewise.
24066         (sc_obsolete_symbols): Likewise.
24067         (sc_changelog): Likewise.
24068         (sc_program_name): Likewise.
24069         (sc_the_the): Likewise.
24070         (sc_trailing_blank): Likewise.
24071         (sc_two_space_separator_in_usage): Likewise.
24072         (sc_useless_cpp_parens): Likewise.
24073         (sc_GPL_version): Likewise.
24074         (sc_GFDL_version): Likewise.
24075         (sc_texinfo_acronym): Likewise.
24076         (sc_prohibit_cvs_keyword): Likewise.
24077         (sc_prohibit_stat_st_blocks): Likewise.
24078         (sc_prohibit_S_IS_definition): Likewise.
24079         (sc_redundant_const): Likewise.
24080         (sc_makefile_TAB_only_indentation): Likewise.
24081         (sc_m4_quote_check): Likewise.
24082         (sc_makefile_path_separator_check): Likewise.
24083         (sc_copyright_check): Likewise.
24084         (sc_Wundef_boolean): Likewise.
24085         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
24086
24087         maint.mk: match 0 or more whitespace-before-function-call '('
24088         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
24089         that have zero or two-and-more spaces between the function name
24090         and the open parenthesis.
24091         (sc_error_message_warn_fatal): Likewise.
24092         (sc_error_message_uppercase): Likewise.
24093         (sc_error_message_period): Likewise.
24094
24095 2010-03-31  Eric Blake  <eblake@redhat.com>
24096
24097         maint.mk: check for [ as well as test
24098         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
24099         Based on a libvirt report by Matthias Bolte.
24100
24101         gnumakefile: don't squelch _version output
24102         * top/GNUmakefile (_version): Create one-shot dependency rather
24103         than using $(shell) when version must be regenerated.
24104         (_autoreconf): Run verbosely, by default.
24105
24106         sys_time: avoid compiler warnings
24107         * lib/sys_time.in.h (includes): Ensure gcc pragma is
24108         unconditional, fixing regression from 2010-03-29.
24109         Reported by Simon Josefsson.
24110
24111 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
24112
24113         maint.mk: s/_header_without_use/_sc_header_without_use/
24114         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
24115         (sc_prohibit_assert_without_use): Use the new name.
24116         (sc_prohibit_close_stream_without_use): Likewise.
24117         (sc_prohibit_getopt_without_use): Likewise.
24118         (sc_prohibit_quotearg_without_use): Likewise.
24119         (sc_prohibit_quote_without_use): Likewise.
24120         (sc_prohibit_long_options_without_use): Likewise.
24121         (sc_prohibit_inttostr_without_use): Likewise.
24122         (sc_prohibit_ignore_value_without_use): Likewise.
24123         (sc_prohibit_error_without_use): Likewise.
24124         (sc_prohibit_xalloc_without_use): Likewise.
24125         (sc_prohibit_hash_without_use): Likewise.
24126         (sc_prohibit_hash_pjw_without_use): Likewise.
24127         (sc_prohibit_safe_read_without_use): Likewise.
24128         (sc_prohibit_argmatch_without_use): Likewise.
24129         (sc_prohibit_canonicalize_without_use): Likewise.
24130         (sc_prohibit_root_dev_ino_without_use): Likewise.
24131         (sc_prohibit_openat_without_use): Likewise.
24132         (sc_prohibit_c_ctype_without_use): Likewise.
24133         (sc_prohibit_signal_without_use): Likewise.
24134         (sc_prohibit_intprops_without_use): Likewise.
24135
24136 2010-03-30  Eric Blake  <eblake@redhat.com>
24137
24138         maint: improve module indicators
24139         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
24140         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
24141         columns, and avoid extra macro expansion.
24142
24143         fdopendir: work around FreeBSD bug
24144         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
24145         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
24146         * modules/dirent (Makefile.am): Substitute it.
24147         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
24148         declaration.
24149         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
24150         fix.
24151         Reported by Christian Weisgerber <naddy@mips.inka.de>.
24152
24153 2010-03-29  Bruno Haible  <bruno@clisp.org>
24154
24155         Emit #pragma system_header after the inclusion guard, not before.
24156         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
24157         guard that spans the entire file, not before. This enables an
24158         optimization in GCC's preprocessor.
24159         * lib/ctype.in.h: Likewise.
24160         * lib/dirent.in.h: Likewise.
24161         * lib/errno.in.h: Likewise.
24162         * lib/float.in.h: Likewise.
24163         * lib/getopt.in.h: Likewise.
24164         * lib/iconv.in.h: Likewise.
24165         * lib/langinfo.in.h: Likewise.
24166         * lib/locale.in.h: Likewise.
24167         * lib/math.in.h: Likewise.
24168         * lib/netdb.in.h: Likewise.
24169         * lib/netinet_in.in.h: Likewise.
24170         * lib/pty.in.h: Likewise.
24171         * lib/sched.in.h: Likewise.
24172         * lib/se-selinux.in.h: Likewise.
24173         * lib/search.in.h: Likewise.
24174         * lib/spawn.in.h: Likewise.
24175         * lib/stdarg.in.h: Likewise.
24176         * lib/stdint.in.h: Likewise.
24177         * lib/string.in.h: Likewise.
24178         * lib/strings.in.h: Likewise.
24179         * lib/sys_file.in.h: Likewise.
24180         * lib/sys_ioctl.in.h: Likewise.
24181         * lib/sys_time.in.h: Likewise.
24182         * lib/sys_times.in.h: Likewise.
24183         * lib/sys_utsname.in.h: Likewise.
24184         * lib/sys_wait.in.h: Likewise.
24185         * lib/sysexits.in.h: Likewise.
24186         * lib/wctype.in.h: Likewise.
24187
24188 2010-03-28  James Youngman  <jay@gnu.org>
24189
24190         save-cwd: don't leak a file descriptor when the caller execs.
24191         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
24192         saved file descriptor.
24193         * modules/save-cwd (Depends-on): Depend on cloexec.
24194
24195 2010-03-29  Bruno Haible  <bruno@clisp.org>
24196
24197         Remove vestiges of fts-lgpl module.
24198         * lib/fts_.h: Assume GNULIB_FTS is 1.
24199         * lib/fts.c: Likewise.
24200         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
24201
24202 2010-03-28  Bruno Haible  <bruno@clisp.org>
24203
24204         Fix definition of tests witness macro.
24205         * gnulib-tool (func_import): Fix definition of witness macro.
24206
24207 2010-03-28  Bruno Haible  <bruno@clisp.org>
24208
24209         Fix ioctl's protoype on glibc systems.
24210         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
24211         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
24212         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
24213         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
24214         signature. If not, arrange to replace the ioctl function.
24215         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
24216         REPLACE_IOCTL.
24217         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
24218         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
24219         Reported by Ludovic Courtès <ludo@gnu.org>.
24220
24221 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
24222
24223         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
24224         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
24225         made it so grep -r --include=GLOB* ... did not work.
24226
24227 2010-03-26  Jim Meyering  <meyering@redhat.com>
24228             Eric Blake  <eblake@redhat.com>
24229
24230         maint.mk: prohibit use of test's -o and -a operators
24231         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
24232
24233 2010-03-28  Bruno Haible  <bruno@clisp.org>
24234
24235         Remove unused GNULIB_XYZ macro definitions.
24236         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
24237         invocation.
24238
24239 2010-03-28  Bruno Haible  <bruno@clisp.org>
24240
24241         Mark privileged tests modules.
24242         * modules/idpriv-drop-tests (Status): New section.
24243         * modules/idpriv-droptemp-tests (Status): New section.
24244
24245 2010-03-28  Bruno Haible  <bruno@clisp.org>
24246
24247         Split C++ tests into separate tests modules.
24248         * modules/dirent-c++-tests: New file, extracted from
24249         modules/dirent-tests.
24250         * modules/dirent-tests: Depend on it.
24251         * modules/fcntl-h-c++-tests: New file, extracted from
24252         modules/fcntl-h-tests.
24253         * modules/fcntl-h-tests: Depend on it.
24254         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
24255         * modules/glob-tests: Depend on it.
24256         * modules/iconv-h-c++-tests: New file, extracted from
24257         modules/iconv-h-tests.
24258         * modules/iconv-h-tests: Depend on it.
24259         * modules/langinfo-c++-tests: New file, extracted from
24260         modules/langinfo-tests.
24261         * modules/langinfo-tests: Depend on it.
24262         * modules/locale-c++-tests: New file, extracted from
24263         modules/locale-tests.
24264         * modules/locale-tests: Depend on it.
24265         * modules/math-c++-tests: New file, extracted from modules/math-tests.
24266         * modules/math-tests: Depend on it.
24267         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
24268         * modules/pty-tests: Depend on it.
24269         * modules/search-c++-tests: New file, extracted from
24270         modules/search-tests.
24271         * modules/search-tests: Depend on it.
24272         * modules/signal-c++-tests: New file, extracted from
24273         modules/signal-tests.
24274         * modules/signal-tests: Depend on it.
24275         * modules/spawn-c++-tests: New file, extracted from
24276         modules/spawn-tests.
24277         * modules/spawn-tests: Depend on it.
24278         * modules/stdio-c++-tests: New file, extracted from
24279         modules/stdio-tests.
24280         * modules/stdio-tests: Depend on it.
24281         * modules/stdlib-c++-tests: New file, extracted from
24282         modules/stdlib-tests.
24283         * modules/stdlib-tests: Depend on it.
24284         * modules/string-c++-tests: New file, extracted from
24285         modules/string-tests.
24286         * modules/string-tests: Depend on it.
24287         * modules/sys_ioctl-c++-tests: New file, extracted from
24288         modules/sys_ioctl-tests.
24289         * modules/sys_ioctl-tests: Depend on it.
24290         * modules/sys_select-c++-tests: New file, extracted from
24291         modules/sys_select-tests.
24292         * modules/sys_select-tests: Depend on it.
24293         * modules/sys_socket-c++-tests: New file, extracted from
24294         modules/sys_socket-tests.
24295         * modules/sys_socket-tests: Depend on it.
24296         * modules/sys_stat-c++-tests: New file, extracted from
24297         modules/sys_stat-tests.
24298         * modules/sys_stat-tests: Depend on it.
24299         * modules/sys_time-c++-tests: New file, extracted from
24300         modules/sys_time-tests.
24301         * modules/sys_time-tests: Depend on it.
24302         * modules/time-c++-tests: New file, extracted from modules/time-tests.
24303         * modules/time-tests: Depend on it.
24304         * modules/unistd-c++-tests: New file, extracted from
24305         modules/unistd-tests.
24306         * modules/unistd-tests: Depend on it.
24307         * modules/wchar-c++-tests: New file, extracted from
24308         modules/wchar-tests.
24309         * modules/wchar-tests: Depend on it.
24310         * modules/wctype-c++-tests: New file, extracted from
24311         modules/wctype-tests.
24312         * modules/wctype-tests: Depend on it.
24313         Reported by Simon Josefsson.
24314
24315 2010-03-28  Bruno Haible  <bruno@clisp.org>
24316
24317         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
24318         * gnulib-tool (func_exists_module): New function, extracted from
24319         func_verify_module.
24320         (func_verify_module): Use it.
24321         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
24322         'foo' only if 'foo' exists.
24323         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
24324         module.
24325
24326 2010-03-28  Bruno Haible  <bruno@clisp.org>
24327
24328         gnulib-tool: Add support for special categories of tests.
24329         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
24330         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
24331         (func_usage): Document them.
24332         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
24333         inc_unportable_tests, inc_all_tests): New variables.
24334         (func_acceptable): Consider these variables.
24335         (func_modules_transitive_closure): Make it work when the 'Status' field
24336         consists of multiple words.
24337         (func_import): Store and restore the values of inc_cxx_tests,
24338         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
24339         inc_all_tests in gnulib-comp.m4.
24340         (func_create_testdir): Set inc_all_tests to true.
24341         * doc/gnulib.texi (Extra tests modules): New section.
24342         Suggested by Jim Meyering.
24343
24344 2010-03-28  Bruno Haible  <bruno@clisp.org>
24345
24346         ansi-c++-opt: Allow turning off the C++ build by default.
24347         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
24348         gl_CXX_CHOICE_DEFAULT_NO is defined.
24349         Requested by Eric Blake.
24350
24351 2010-03-28  Bruno Haible  <bruno@clisp.org>
24352
24353         unistd: Avoid #define replacements in C++ mode.
24354         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
24355         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
24356         setsockopt, shutdown, select): In C++, attach a warning to the function
24357         if possible, rather than #defining the symbol to a dysfunctional alias.
24358         Reported by John W. Eaton <jwe@gnu.org>.
24359
24360 2010-03-28  Bruno Haible  <bruno@clisp.org>
24361
24362         Fix link errors on mingw.
24363         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
24364         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
24365         $(LIBSOCKET).
24366         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
24367         $(LIBSOCKET).
24368
24369 2010-03-28  Bruno Haible  <bruno@clisp.org>
24370             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24371
24372         lib-ignore: Determine different options for different compilers.
24373         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
24374         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
24375         Add comments.
24376         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
24377         * NEWS: Mention the change.
24378
24379 2010-03-27  Bruno Haible  <bruno@clisp.org>
24380
24381         Remove unused GNULIB_XYZ macro definitions.
24382         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
24383         * modules/fseek (configure.ac): Likewise.
24384         * modules/ioctl (configure.ac): Likewise.
24385         * modules/open (configure.ac): Likewise.
24386         * modules/stdlib-safer (configure.ac): Likewise.
24387
24388 2010-03-27  Bruno Haible  <bruno@clisp.org>
24389
24390         Add a remark about certain modules.
24391         * modules/malloc (Comment): New section.
24392         * modules/realloc (Comment): Likewise.
24393         * modules/sigpipe (Comment): Likewise.
24394
24395 2010-03-27  Bruno Haible  <bruno@clisp.org>
24396
24397         Resolve conflict between the two kinds of module indicators.
24398         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
24399         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
24400         * modules/canonicalize (configure.ac): Invoke
24401         gl_MODULE_INDICATOR_FOR_TESTS.
24402         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
24403         GNULIB_XYZ.
24404         * tests/test-dirent-c++.cc: Likewise.
24405         * tests/test-dirent-safer.c: Likewise.
24406         * tests/test-dup2.c: Likewise.
24407         * tests/test-fchdir.c: Likewise.
24408         * tests/test-fcntl-h-c++.cc: Likewise.
24409         * tests/test-getopt.c: Likewise.
24410         * tests/test-getopt.h: Likewise.
24411         * tests/test-langinfo-c++.cc: Likewise.
24412         * tests/test-locale-c++.cc: Likewise.
24413         * tests/test-math-c++.cc: Likewise.
24414         * tests/test-pty-c++.cc: Likewise.
24415         * tests/test-search-c++.cc: Likewise.
24416         * tests/test-signal-c++.cc: Likewise.
24417         * tests/test-spawn-c++.cc: Likewise.
24418         * tests/test-stdio-c++.cc: Likewise.
24419         * tests/test-stdlib-c++.cc: Likewise.
24420         * tests/test-string-c++.cc: Likewise.
24421         * tests/test-sys_ioctl-c++.cc: Likewise.
24422         * tests/test-sys_select-c++.cc: Likewise.
24423         * tests/test-sys_socket-c++.cc: Likewise.
24424         * tests/test-sys_stat-c++.cc: Likewise.
24425         * tests/test-sys_time-c++.cc: Likewise.
24426         * tests/test-time-c++.cc: Likewise.
24427         * tests/test-unistd-c++.cc: Likewise.
24428         * tests/test-wchar-c++.cc: Likewise.
24429         * tests/uninorm/test-u8-nfc.c: Likewise.
24430         * tests/uninorm/test-u8-nfd.c: Likewise.
24431         * tests/uninorm/test-u8-nfkc.c: Likewise.
24432         * tests/uninorm/test-u8-nfkd.c: Likewise.
24433         * tests/uninorm/test-u16-nfc.c: Likewise.
24434         * tests/uninorm/test-u16-nfd.c: Likewise.
24435         * tests/uninorm/test-u16-nfkc.c: Likewise.
24436         * tests/uninorm/test-u16-nfkd.c: Likewise.
24437         * tests/uninorm/test-u32-nfc.c: Likewise.
24438         * tests/uninorm/test-u32-nfc-big.c: Likewise.
24439         * tests/uninorm/test-u32-nfd.c: Likewise.
24440         * tests/uninorm/test-u32-nfd-big.c: Likewise.
24441         * tests/uninorm/test-u32-nfkc.c: Likewise.
24442         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
24443         * tests/uninorm/test-u32-nfkd.c: Likewise.
24444         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
24445         * tests/uninorm/test-u32-normalize-big.c: Likewise.
24446
24447 2010-03-27  Bruno Haible  <bruno@clisp.org>
24448
24449         Distinguish two kinds of module indicators.
24450         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
24451         gl_MODULE_INDICATOR.
24452         (gl_MODULE_INDICATOR): New macro.
24453         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
24454         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
24455         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
24456         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
24457         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
24458         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
24459         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
24460         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
24461         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
24462         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
24463         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
24464         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
24465         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
24466         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
24467         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
24468         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
24469         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
24470         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
24471         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
24472         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
24473         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
24474         * modules/cloexec (configure.ac): Likewise.
24475         * modules/getopt-gnu (configure.ac): Likewise.
24476         * modules/uninorm/u8-normalize (configure.ac): Likewise.
24477         * modules/uninorm/u16-normalize (configure.ac): Likewise.
24478         * modules/uninorm/u32-normalize (configure.ac): Likewise.
24479         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
24480
24481 2010-03-27  Bruno Haible  <bruno@clisp.org>
24482
24483         New module description field 'Comment'.
24484         * gnulib-tool: New option --extract-comment.
24485         (func_usage): Document it.
24486         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
24487         (func_get_comment): New function.
24488         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
24489
24490 2010-03-27  Bruno Haible  <bruno@clisp.org>
24491
24492         Addendum to 2010-02-07 commit.
24493         * gnulib-tool (func_usage): Document --extract-applicability option.
24494
24495 2010-03-27  Bruno Haible  <bruno@clisp.org>
24496
24497         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
24498         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
24499         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
24500         rather than link errors.
24501
24502 2010-03-27  Bruno Haible  <bruno@clisp.org>
24503
24504         Avoid side effects from tests-related modules on the compilation of lib.
24505         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
24506         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
24507         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
24508         parameter. Emit into AM_CPPFLAGS a definition of the designated C
24509         macro.
24510         (func_import): Define a witness macro. Assign it a value that depends
24511         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
24512         tests-related modules.
24513         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
24514         Reported by Jim Meyering.
24515
24516 2010-03-27  Bruno Haible  <bruno@clisp.org>
24517
24518         Factorize common .m4 code.
24519         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
24520         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
24521         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
24522         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
24523         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
24524         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
24525         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
24526         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
24527         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
24528         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
24529         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
24530         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
24531         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
24532         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
24533         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
24534         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
24535         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
24536         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
24537         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
24538         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
24539         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
24540         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
24541         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
24542         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
24543         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
24544         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
24545         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
24546         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
24547         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
24548         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
24549         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
24550         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
24551
24552 2010-03-27  Bruno Haible  <bruno@clisp.org>
24553
24554         Fix a compilation error on Cygwin with g++ >= 4.3.
24555         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
24556         if it is undefined or if we alias it to chmod.
24557         (lstat): Don't warn about the use of this function if it is undefined
24558         or if we alias it to stat.
24559         Reported by Simon Josefsson.
24560
24561 2010-03-27  Bruno Haible  <bruno@clisp.org>
24562
24563         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
24564         * modules/getlogin (configure.ac): Update.
24565
24566         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
24567         * modules/getlogin_r (configure.ac): Update.
24568
24569         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
24570         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
24571         * modules/inet_ntop (configure.ac): Update.
24572
24573         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
24574         * modules/inet_pton (configure.ac): Update.
24575
24576         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
24577         * modules/mbslen (configure.ac): Update.
24578
24579         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
24580         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
24581         * modules/forkpty (configure.ac): Update.
24582         * modules/openpty (configure.ac): Update.
24583
24584 2010-03-26  Simon Josefsson  <simon@josefsson.org>
24585
24586         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
24587         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
24588
24589 2010-03-25  Eric Blake  <eblake@redhat.com>
24590
24591         maint: use pragma consistently across replacement headers
24592         * lib/ctype.in.h (system_header): Hoist for consistent placement.
24593         * lib/dirent.in.h (system_header): Likewise.
24594         * lib/errno.in.h (system_header): Likewise.
24595         * lib/float.in.h (system_header): Likewise.
24596         * lib/getopt.in.h (system_header): Likewise.
24597         * lib/iconv.in.h (system_header): Likewise.
24598         * lib/inttypes.in.h (system_header): Likewise.
24599         * lib/langinfo.in.h (system_header): Likewise.
24600         * lib/locale.in.h (system_header): Likewise.
24601         * lib/math.in.h (system_header): Likewise.
24602         * lib/netdb.in.h (system_header): Likewise.
24603         * lib/netinet_in.in.h (system_header): Likewise.
24604         * lib/pty.in.h (system_header): Likewise.
24605         * lib/sched.in.h (system_header): Likewise.
24606         * lib/se-selinux.in.h (system_header): Likewise.
24607         * lib/search.in.h (system_header): Likewise.
24608         * lib/spawn.in.h (system_header): Likewise.
24609         * lib/stdarg.in.h (system_header): Likewise.
24610         * lib/stdint.in.h (system_header): Likewise.
24611         * lib/string.in.h (system_header): Likewise.
24612         * lib/strings.in.h (system_header): Likewise.
24613         * lib/sys_file.in.h (system_header): Likewise.
24614         * lib/sys_ioctl.in.h (system_header): Likewise.
24615         * lib/sys_socket.in.h (system_header): Likewise.
24616         * lib/sys_times.in.h (system_header): Likewise.
24617         * lib/sys_utsname.in.h (system_header): Likewise.
24618         * lib/sys_wait.in.h (system_header): Likewise.
24619         * lib/sysexits.in.h (system_header): Likewise.
24620         * lib/unistd.in.h (system_header): Likewise.
24621         * lib/wctype.in.h (system_header): Likewise.
24622
24623         arpa/inet: fix mingw compilation warning
24624         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
24625         Reported by Matthew Bolte.
24626
24627 2010-03-25  Bruno Haible  <bruno@clisp.org>
24628
24629         Avoid collision between gnulib wrapper and libintl wrapper.
24630         * lib/printf.c (printf): Don't define if a printf wrapper is already
24631         defined in intl/printf.c.
24632         Reported by Michel Boaventura <michel@michelboaventura.com>.
24633
24634 2010-03-25  Bruno Haible  <bruno@clisp.org>
24635
24636         Use ANSI C.
24637         * lib/readutmp.h (getutent): Provide ANSI C prototype.
24638
24639 2010-03-25  Bruno Haible  <bruno@clisp.org>
24640
24641         Minor formatting changes.
24642         * lib/acosl.c: Insert space before function argument list.
24643         * lib/argz.c: Likewise.
24644         * lib/asinl.c: Likewise.
24645         * lib/expl.c: Likewise.
24646         * lib/gen-uni-tables.c: Likewise.
24647         * lib/gettext.h: Likewise.
24648         * lib/glthread/lock.h: Likewise.
24649         * lib/tanl.c: Likewise.
24650         * lib/uniname/uniname.c: Likewise.
24651         * tests/test-idpriv-drop.c: Likewise.
24652         * tests/test-idpriv-droptemp.c: Likewise.
24653         * tests/test-lock.c: Likewise.
24654         * tests/test-tls.c: Likewise.
24655         * lib/argp-help.c: Insert space before function-like macro argument
24656         list.
24657         * lib/memcmp.c: Likewise.
24658         * tests/test-base64.c: Likewise.
24659         * lib/localename.c: Insert space before sizeof's argument list.
24660         * lib/safe-alloc.h: Likewise.
24661         * lib/file-set.h: Insert space before macro argument list.
24662         * tests/test-argp.c: Likewise.
24663         * lib/argp-namefrob.h: Insert space before function parameter list.
24664         * lib/getaddrinfo.c: Likewise.
24665         * lib/netdb.in.h: Likewise.
24666         * lib/parse-duration.h: Likewise.
24667         * lib/parse-duration.c: Likewise.
24668         * lib/poll.c: Likewise.
24669         * lib/select.c: Likewise.
24670         * lib/trim.h: Likewise.
24671         * tests/test-usleep.c: Likewise.
24672         * lib/ldexpl.c: Insert space before function parameter list and before
24673         function argument list.
24674         * lib/logl.c: Likewise.
24675         * lib/sqrtl.c: Likewise.
24676         * lib/trim.c: Likewise.
24677         * lib/cosl.c: Use GNU style indentation. Insert space before function
24678         argument list.
24679         * lib/sinl.c: Likewise.
24680         * lib/tsearch.c: Insert space after 'for'.
24681         Reported by Jim Meyering.
24682
24683 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
24684
24685         * maint.mk (sc_Wundef_boolean): Check for the presence of the
24686         config header before grepping, as it's not present before
24687         autoreconf/configure are run.  Reported by Simon Josefsson.
24688
24689 2010-03-23  Bruno Haible  <bruno@clisp.org>
24690
24691         pt_chown: Make it work with automake < 1.11.
24692         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
24693         Reported by Simon Josefsson.
24694
24695 2010-03-23  Bruno Haible  <bruno@clisp.org>
24696
24697         pt_chown: Don't depend on GPLed modules.
24698         * lib/pt_chown.c: Don't include idpriv.h.
24699         (main): Don't drop privileges.
24700         * modules/pt_chown (Depends-on): Remove idpriv-drop.
24701         Reported by Simon Josefsson.
24702
24703 2010-03-24  Simon Josefsson  <simon@josefsson.org>
24704
24705         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
24706         suggestions from karl@freefriends.org (Karl Berry).
24707
24708 2010-03-22  Eric Blake  <eblake@redhat.com>
24709
24710         gethostname: further tweaks
24711         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
24712         are overriding gethostname.
24713         Suggested by Bruno Haible.
24714
24715 2010-03-21  Bruno Haible  <bruno@clisp.org>
24716
24717         Fix comments.
24718         * lib/forkpty.c (rpl_forkpty): Fix comment.
24719         * lib/openpty.c (rpl_openpty): Likewise.
24720         Reported by Eric Blake.
24721
24722 2010-03-22  Eric Blake  <eblake@redhat.com>
24723
24724         gethostname: fix build on mingw
24725         * lib/unistd.in.h (includes): Work around fact that mingw
24726         <winsock2.h> re-includes <unistd.h>, by avoiding any
24727         redeclarations if we are being included by <winsock2.h>.
24728         Reported by Matthias Bolte.
24729
24730 2010-03-21  Bruno Haible  <bruno@clisp.org>
24731
24732         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
24733         * lib/forkpty.c (forkpty): New replacement function, from glibc with
24734         modifications.
24735         * lib/pty.in.h (forkpty): Update declaration. Add comments.
24736         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
24737         provide the replacement.
24738         * modules/forkpty (Depends-on): Add openpty, login_tty.
24739         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
24740         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
24741         * doc/glibc-functions/forkpty.texi: More supported platforms.
24742         * config/srclist.txt: Add forkpty.c (commented).
24743
24744 2010-03-21  Bruno Haible  <bruno@clisp.org>
24745
24746         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
24747         (Makefile.am): Verify that PTY_LIB is defined.
24748
24749         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
24750
24751 2010-03-21  Bruno Haible  <bruno@clisp.org>
24752
24753         Tests for module 'login_tty'.
24754         * modules/login_tty-tests: New file.
24755         * tests/test-login_tty.c: New file.
24756
24757         New module 'login_tty'.
24758         * lib/login_tty.c: New file.
24759         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
24760         * modules/login_tty: New file.
24761         * doc/glibc-functions/login_tty.texi: Mention the new module.
24762
24763 2010-03-21  Bruno Haible  <bruno@clisp.org>
24764
24765         login_tty: Documentation.
24766         * doc/glibc-functions/login_tty.texi: New file.
24767         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
24768
24769 2010-03-21  Bruno Haible  <bruno@clisp.org>
24770
24771         pty: Consistent macro naming.
24772         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
24773         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
24774         * modules/pty (configure.ac): Update.
24775
24776 2010-03-21  Bruno Haible  <bruno@clisp.org>
24777
24778         Tests for openpty: Make stricter.
24779         * tests/test-openpty.c (main): Add test of canonical processing and
24780         erase.
24781         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
24782
24783         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
24784         * lib/openpty.c (openpty): New replacement function.
24785         * lib/pty.in.h: Include <termios.h>.
24786         (openpty): Update declaration. Add comments.
24787         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
24788         is not declared, arrange to provide the replacement. Check for _getpty
24789         and posix_openpt.
24790         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
24791         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
24792         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
24793         * modules/pty-tests (test_pty_c___LDADD): New variable.
24794         * doc/glibc-functions/openpty.texi: More supported platforms.
24795
24796 2010-03-21  Bruno Haible  <bruno@clisp.org>
24797
24798         setenv: Tweaks.
24799         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
24800         the test program.
24801         * doc/posix-functions/setenv.texi: Update platforms list.
24802
24803 2010-03-21  Bruno Haible  <bruno@clisp.org>
24804
24805         New module 'unlockpt'.
24806         * lib/unlockpt.c: New file, from glibc with modifications.
24807         * m4/unlockpt.m4: New file.
24808         * modules/unlockpt: New file.
24809         * lib/stdlib.in.h (unlockpt): New declaration.
24810         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
24811         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
24812         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
24813         HAVE_UNLOCKPT.
24814         * doc/posix-functions/unlockpt.texi: Mention the new module.
24815         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
24816         * config/srclist.txt: Add unlockpt.c (commented).
24817
24818 2010-03-21  Jim Meyering  <meyering@redhat.com>
24819
24820         maint.mk: prohibit inclusion of "intprops.h" without use
24821         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
24822
24823 2010-03-21  Bruno Haible  <bruno@clisp.org>
24824
24825         New module 'grantpt'.
24826         * lib/grantpt.c: New file, from glibc with modifications.
24827         * m4/grantpt.m4: New file.
24828         * modules/grantpt: New file.
24829         * lib/stdlib.in.h (grantpt): New declaration.
24830         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
24831         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
24832         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
24833         HAVE_GRANTPT.
24834         * doc/posix-functions/grantpt.texi: Mention the new module.
24835         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
24836         * config/srclist.txt: Add grantpt.c (commented).
24837
24838 2010-03-21  Bruno Haible  <bruno@clisp.org>
24839
24840         New module 'pt_chown'.
24841         * lib/pt_chown.c: New file, from glibc with modifications.
24842         * lib/pty-private.h: New file, from glibc with modifications.
24843         * modules/pt_chown: New file.
24844         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
24845
24846 2010-03-21  Bruno Haible  <bruno@clisp.org>
24847
24848         Tests for module 'ptsname'.
24849         * modules/ptsname-tests: New file.
24850         * tests/test-ptsname.c: New file.
24851
24852         New module 'ptsname'.
24853         * lib/ptsname.c: New file, from glibc with modifications.
24854         * m4/ptsname.m4: New file.
24855         * modules/ptsname: New file.
24856         * lib/stdlib.in.h (ptsname): New declaration.
24857         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
24858         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
24859         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
24860         HAVE_PTSNAME.
24861         * doc/posix-functions/ptsname.texi: Mention the new module.
24862         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
24863         * config/srclist.txt: Add ptsname.c (commented).
24864
24865 2010-03-21  Bruno Haible  <bruno@clisp.org>
24866
24867         Tests for module 'ttyname_r'.
24868         * modules/ttyname_r-tests: New file.
24869         * tests/test-ttyname_r.c: New file.
24870
24871         New module 'ttyname_r'.
24872         * lib/ttyname_r.c: New file.
24873         * m4/ttyname_r.m4: New file.
24874         * modules/ttyname_r: New file.
24875         * lib/unistd.in.h (ttyname_r): New declaration.
24876         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
24877         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
24878         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
24879         HAVE_TTYNAME_R.
24880         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
24881         * doc/posix-functions/ttyname_r.texi: Mention the new module.
24882
24883 2010-03-20  Bruno Haible  <bruno@clisp.org>
24884
24885         signal: Undefine macro definitions in C++ mode.
24886         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
24887         sigfillset): Undefine macro definitions from the system header in C++
24888         mode.
24889         Reported by John W. Eaton <jwe@gnu.org>.
24890
24891 2010-03-20  Bruno Haible  <bruno@clisp.org>
24892
24893         Ensure no #include statements inside extern "C" { ... }.
24894         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
24895         contain #include statements.
24896         * lib/time.in.h: Likewise.
24897
24898 2010-03-20  Bruno Haible  <bruno@clisp.org>
24899
24900         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
24901         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
24902         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
24903         Reported by John W. Eaton <jwe@gnu.org>.
24904
24905 2010-03-20  Bruno Haible  <bruno@clisp.org>
24906
24907         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
24908         Reported by Jim Meyering.
24909
24910 2010-03-20  Bruno Haible  <bruno@clisp.org>
24911
24912         pipe: Set errno upon failure.
24913         * lib/pipe.h: Specify that when -1 is returned, errno is set.
24914         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
24915         errno value in error message.
24916
24917 2010-03-20  Bruno Haible  <bruno@clisp.org>
24918             Jim Meyering  <meyering@redhat.com>
24919
24920         lchown: Avoid "unused variable" warning.
24921         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
24922
24923 2010-03-20  Bruno Haible  <bruno@clisp.org>
24924
24925         Work around unlink() bug on MacOS X 10.5.6.
24926         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
24927         attempting to unlink a parent directory.
24928         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
24929         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
24930         activate for the replacement function.
24931         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
24932
24933 2010-03-20  Bruno Haible  <bruno@clisp.org>
24934
24935         Fix link errors on Solaris 8.
24936         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
24937         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
24938
24939 2010-03-19  Jim Meyering  <meyering@redhat.com>
24940
24941         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
24942         The _LIBC implementation of build_range_exp correctly honors the
24943         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
24944         However, the non-_LIBC implementation would ignore that syntax-bit
24945         flag and return REG_ERANGE unconditionally.
24946         This change makes it honor that flag.
24947         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
24948         Make two pointer parameters "const".
24949         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
24950         (parse_bracket_exp): Update caller.
24951
24952         regex.m4: correct the reversed range endpoint ([b-a]) test
24953         * m4/regex.m4: When requiring that [b-a] evoke failure,
24954         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
24955         test pass once again for x86-based systems.
24956
24957 2010-03-19  Bruno Haible  <bruno@clisp.org>
24958
24959         scandir: Fix link error on Solaris 8.
24960         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
24961         macros.
24962
24963 2010-03-19  Bruno Haible  <bruno@clisp.org>
24964
24965         getusershell: Fix documentation.
24966         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
24967         module.
24968         * doc/glibc-functions/setusershell.texi: Likewise.
24969
24970         getusershell: Provide declaration, missing on Solaris 9.
24971         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
24972         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
24973         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
24974         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
24975         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24976         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
24977         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
24978         HAVE_GETUSERSHELL.
24979         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
24980
24981 2010-03-19  Bruno Haible  <bruno@clisp.org>
24982
24983         wctype: Provide iswblank function.
24984         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
24985         exists and is fine.
24986         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
24987         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
24988         * tests/test-wctype.c (main): Re-enable the iswblank tests.
24989         * doc/posix-functions/iswblank.texi: Update.
24990
24991 2010-03-19  Bruno Haible  <bruno@clisp.org>
24992
24993         Tests of module 'pty' in C++ mode.
24994         * modules/pty-tests: New file.
24995         * tests/test-pty-c++.cc: New file.
24996         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
24997
24998 2010-03-19  Eric Blake  <eblake@redhat.com>
24999
25000         logb: fix documentation
25001         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
25002         1.5 declaration bug.
25003
25004         forkpty, openpty: prefer glibc's const-safe prototype
25005         * lib/forkpty.c (rpl_forkpty): New file.
25006         * lib/openpty.c (rpl_openpty): Likewise.
25007         * modules/forkpty (Files): Distribute it.
25008         * modules/openpty (Files): Likewise.
25009         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
25010         check...
25011         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
25012         replacement for for non-const BSD signature.
25013         * modules/pty (Makefile.am): Substitute witnesses.
25014         * lib/pty.in.h (forkpty, openpty): Declare replacements.
25015         * tests/test-forkpty.c: Update signature check.
25016         * tests/test-openpty.c: Likewise.
25017         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
25018         * doc/glibc-functions/openpty.texi (openpty): Likewise.
25019
25020         forkpty, openpty: split functions into new modules
25021         * modules/pty (Makefile.am): Substitute new witnesses.
25022         (Libraries): Move library detection...
25023         * modules/forkpty: ...into new module.
25024         * modules/openpty: Another new module.
25025         * modules/pty-tests: Rename and split...
25026         * modules/forkpty-tests: ...to this...
25027         * modules/openpty-tests: ...and this.
25028         * tests/test-pty.c: Rename and split...
25029         * tests/test-forkpty.c: ...to this...
25030         * tests/test-openpty.c: ...and this.
25031         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
25032         (gl_PTY): Split library searching...
25033         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
25034         (gl_FORKPTY, gl_OPENPTY): New macros.
25035         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
25036         * NEWS: Mention the split.
25037         * MODULES.html.sh (Misc): Document the modules.
25038         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
25039         * doc/glibc-functions/openpty.texi (openpty): Likewise.
25040
25041         pty: improve replacement header
25042         * lib/pty.in.h: New file.
25043         * modules/pty (Files): Ship it.
25044         (Makefile.am): Always build replacement.
25045         * m4/pty.m4: Rename...
25046         * m4/pty_h.m4: ...to this.
25047         (gl_PTY): Modernize setting of witness macros; update check of
25048         forkpty to take proper advantage of cache.
25049         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
25050
25051         getopt: avoid compiler warning
25052         * lib/getopt.c (attribute_hidden): Remove unused macro.
25053
25054 2010-03-18  Bruno Haible  <bruno@clisp.org>
25055
25056         Fix link errors on Solaris 8.
25057         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
25058         * modules/search-tests (test_search_c___LDADD): Likewise.
25059         * modules/signal-tests (test_signal_c___LDADD): Likewise.
25060         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
25061         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
25062         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
25063         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
25064         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
25065         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
25066
25067 2010-03-18  Bruno Haible  <bruno@clisp.org>
25068
25069         Fix bug introduced on 2010-03-14.
25070         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
25071         (gl_SPAWN_H): Require it.
25072         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
25073         Reported by Simon Josefsson.
25074
25075 2010-03-18  Bruno Haible  <bruno@clisp.org>
25076
25077         Fix typo introduced on 2009-12-31.
25078         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
25079         posix_spawn_file_actions_adddup2.
25080
25081 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
25082         and Eric Blake  <eblake@redhat.com>
25083
25084         test-vc-list-files-git: make more robust
25085         * tests/test-vc-list-files-git.sh: Unset problematic environment
25086         variables.  Chain commands together.
25087
25088 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
25089
25090         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
25091         `AC_CHECK_DECL' invocation.
25092
25093 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
25094
25095         * lib/inttostr.c (inttostr): Make sure the invocation of verify
25096         appears before executable statements. Suggested by Petr Sumbera
25097         <Petr.Sumbera@Sun.COM>.
25098
25099 2010-03-14  Bruno Haible  <bruno@clisp.org>
25100
25101         * tests/test-flock.c (test_exclusive): Comment out a test that causes
25102         portability problems. Instead use a simpler test.
25103         (main): Check that invalid arguments are rejected only on Linux.
25104
25105 2010-03-14  Bruno Haible  <bruno@clisp.org>
25106
25107         Fix bug introduced on 2009-12-31.
25108         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
25109         gl_PREREQ_SYS_H_WINSOCK2 always.
25110         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
25111         SYS_SOCKET_H variable.
25112         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
25113         Update comments.
25114         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
25115         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
25116         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
25117         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
25118         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
25119
25120 2010-03-14  Bruno Haible  <bruno@clisp.org>
25121
25122         Fix values returned by sinl, cosl.
25123         * lib/trigl.h: Add specification comments.
25124         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
25125         that combines the values from the precomputed table with the values of
25126         the Chebyshev polynomials.
25127
25128 2010-03-14  Bruno Haible  <bruno@clisp.org>
25129
25130         Fix compilation error when modules 'posix_spawn[p]' are not used.
25131         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
25132         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
25133
25134 2010-03-14  Bruno Haible  <bruno@clisp.org>
25135
25136         Fix compilation error on mingw when module 'time_r' is not used.
25137         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
25138         is 1.
25139         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
25140         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
25141         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
25142         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
25143
25144 2010-03-14  Bruno Haible  <bruno@clisp.org>
25145
25146         Fix compilation error with Sun C.
25147         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
25148         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
25149         instead of GCC specific ULONG_LONG_MAX.
25150         * lib/xstrtoll.c: Likewise.
25151         * lib/xstrtoull.c: Likewise.
25152
25153 2010-03-13  Bruno Haible  <bruno@clisp.org>
25154
25155         Allow the user to disable C++ code and tests.
25156         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
25157         (gl_PROG_ANSI_CXX): Require it.
25158
25159 2010-03-13  Bruno Haible  <bruno@clisp.org>
25160
25161         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
25162         cases.
25163
25164 2010-03-13  Bruno Haible  <bruno@clisp.org>
25165
25166         Test that gnulib does not break the standard C++ headers.
25167         * tests/test-locale-c++2.cc: New file.
25168         * modules/locale-tests (Files): Add it.
25169         (Makefile.am): Compile it for test-locale-c++.
25170         * tests/test-math-c++2.cc: New file.
25171         * modules/math-tests (Files): Add it.
25172         (Makefile.am): Compile it for test-math-c++.
25173         * tests/test-signal-c++2.cc: New file.
25174         * modules/signal-tests (Files): Add it.
25175         (Makefile.am): Compile it for test-signal-c++.
25176         * tests/test-stdio-c++2.cc: New file.
25177         * modules/stdio-tests (Files): Add it.
25178         (Makefile.am): Compile it for test-stdio-c++.
25179         * tests/test-stdlib-c++2.cc: New file.
25180         * modules/stdlib-tests (Files): Add it.
25181         (Makefile.am): Compile it for test-stdlib-c++.
25182         * tests/test-string-c++2.cc: New file.
25183         * modules/string-tests (Files): Add it.
25184         (Makefile.am): Compile it for test-string-c++.
25185         * tests/test-time-c++2.cc: New file.
25186         * modules/time-tests (Files): Add it.
25187         (Makefile.am): Compile it for test-time-c++.
25188         Reported by John W. Eaton <jwe@gnu.org>.
25189
25190 2010-03-13  Bruno Haible  <bruno@clisp.org>
25191
25192         * gnulib-tool (func_usage): Clarify which options are available for
25193         --create-testdir and --create-megatestdir.
25194
25195 2010-03-13  Bruno Haible  <bruno@clisp.org>
25196
25197         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
25198         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
25199         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
25200         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
25201         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
25202         when appropriate.
25203         Reported by Jim Meyering.
25204
25205 2010-03-12  Simon Josefsson  <simon@josefsson.org>
25206
25207         * gnulib-tool (func_import): Explain origin of code.
25208
25209 2010-03-12  Bruno Haible  <bruno@clisp.org>
25210
25211         Fix problem with automake's definition of CXXLINK.
25212         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
25213         Reported by Simon Josefsson and Ludovic Courtès.
25214
25215 2010-03-12  Bruno Haible  <bruno@clisp.org>
25216
25217         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
25218         stable releases.
25219
25220 2010-03-11  Bruno Haible  <bruno@clisp.org>
25221
25222         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
25223         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
25224         whether the system provides one variant or multiple variants of the
25225         function.
25226         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
25227         C++ compilers.
25228         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
25229         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
25230         Reported by Jim Meyering.
25231
25232 2010-03-09  Simon Josefsson  <simon@josefsson.org>
25233
25234         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
25235
25236 2010-03-08  Bruno Haible  <bruno@clisp.org>
25237
25238         gnulib-tool: Add support for --libtool in --create-testdir.
25239         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
25240         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
25241
25242 2010-03-08  Eric Blake  <eblake@redhat.com>
25243
25244         gnulib-tool.texi: mention possibility of git submodule
25245         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
25246         submodules.
25247         * doc/.gitignore: Ignore another generated file.
25248
25249 2010-03-08  Karl Berry  <karl@gnu.org>
25250
25251         * doc/gnulib-tool.texi (VCS Issues): Mention third option
25252         of committing gnulib files while skipping others.
25253
25254 2010-03-07  Bruno Haible  <bruno@clisp.org>
25255
25256         Tests of module 'wctype' in C++ mode.
25257         * tests/test-wctype-c++.cc: New file.
25258         * modules/wctype-tests (Files): Add it and tests/signature.h.
25259         (Depends-on): Add ansi-c++-opt.
25260         (Makefile.am): Arrange to compile and run test-wctype-c++.
25261
25262         Tests of module 'wchar' in C++ mode.
25263         * tests/test-wchar-c++.cc: New file.
25264         * modules/wchar-tests (Files): Add it and tests/signature.h.
25265         (Depends-on): Add ansi-c++-opt.
25266         (Makefile.am): Arrange to compile and run test-wchar-c++.
25267         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
25268         gl_MODULE_INDICATOR.
25269
25270         Tests of module 'unistd' in C++ mode.
25271         * tests/test-unistd-c++.cc: New file.
25272         * modules/unistd-tests (Files): Add it and tests/signature.h.
25273         (Depends-on): Add ansi-c++-opt.
25274         (Makefile.am): Arrange to compile and run test-unistd-c++.
25275         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
25276         gl_MODULE_INDICATOR.
25277
25278         Tests of module 'time' in C++ mode.
25279         * tests/test-time-c++.cc: New file.
25280         * modules/time-tests (Files): Add it and tests/signature.h.
25281         (Depends-on): Add ansi-c++-opt.
25282         (Makefile.am): Arrange to compile and run test-time-c++.
25283         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
25284
25285         Tests of module 'sys_time' in C++ mode.
25286         * tests/test-sys_time-c++.cc: New file.
25287         * modules/sys_time-tests (Files): Add it and tests/signature.h.
25288         (Depends-on): Add ansi-c++-opt.
25289         (Makefile.am): Arrange to compile and run test-sys_time-c++.
25290         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
25291         gl_MODULE_INDICATOR.
25292
25293         Tests of module 'sys_stat' in C++ mode.
25294         * tests/test-sys_stat-c++.cc: New file.
25295         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
25296         (Depends-on): Add ansi-c++-opt.
25297         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
25298         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
25299         gl_MODULE_INDICATOR.
25300
25301         Tests of module 'sys_socket' in C++ mode.
25302         * tests/test-sys_socket-c++.cc: New file.
25303         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
25304         (Depends-on): Add ansi-c++-opt.
25305         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
25306         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
25307         gl_MODULE_INDICATOR.
25308
25309         Tests of module 'sys_select' in C++ mode.
25310         * tests/test-sys_select-c++.cc: New file.
25311         * modules/sys_select-tests (Files): Add it and tests/signature.h.
25312         (Depends-on): Add ansi-c++-opt.
25313         (Makefile.am): Arrange to compile and run test-sys_select-c++.
25314         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
25315         gl_MODULE_INDICATOR.
25316
25317         Tests of module 'sys_ioctl' in C++ mode.
25318         * tests/test-sys_ioctl-c++.cc: New file.
25319         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
25320         (Depends-on): Add ansi-c++-opt.
25321         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
25322         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
25323         gl_MODULE_INDICATOR.
25324
25325         Tests of module 'string' in C++ mode.
25326         * tests/test-string-c++.cc: New file.
25327         * modules/string-tests (Files): Add it and tests/signature.h.
25328         (Depends-on): Add ansi-c++-opt.
25329         (Makefile.am): Arrange to compile and run test-string-c++.
25330         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
25331         gl_MODULE_INDICATOR.
25332
25333         Tests of module 'stdlib' in C++ mode.
25334         * tests/test-stdlib-c++.cc: New file.
25335         * modules/stdlib-tests (Files): Add it and tests/signature.h.
25336         (Depends-on): Add ansi-c++-opt.
25337         (Makefile.am): Arrange to compile and run test-stdlib-c++.
25338         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
25339         gl_MODULE_INDICATOR.
25340
25341         Tests of module 'stdio' in C++ mode.
25342         * tests/test-stdio-c++.cc: New file.
25343         * modules/stdio-tests (Files): Add it and tests/signature.h.
25344         (Depends-on): Add ansi-c++-opt.
25345         (Makefile.am): Arrange to compile and run test-stdio-c++.
25346         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
25347         gl_MODULE_INDICATOR.
25348
25349         Tests of module 'spawn' in C++ mode.
25350         * tests/test-spawn-c++.cc: New file.
25351         * modules/spawn-tests (Files): Add it and tests/signature.h.
25352         (Depends-on): Add ansi-c++-opt.
25353         (Makefile.am): Arrange to compile and run test-spawn-c++.
25354         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
25355         gl_MODULE_INDICATOR.
25356
25357         Tests of module 'signal' in C++ mode.
25358         * tests/test-signal-c++.cc: New file.
25359         * modules/signal-tests (Files): Add it and tests/signature.h.
25360         (Depends-on): Add ansi-c++-opt.
25361         (Makefile.am): Arrange to compile and run test-signal-c++.
25362         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
25363         gl_MODULE_INDICATOR.
25364
25365         Tests of module 'search' in C++ mode.
25366         * tests/test-search-c++.cc: New file.
25367         * modules/search-tests (Files): Add it and tests/signature.h.
25368         (Depends-on): Add ansi-c++-opt.
25369         (Makefile.am): Arrange to compile and run test-search-c++.
25370         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
25371         gl_MODULE_INDICATOR.
25372
25373         Tests of module 'math' in C++ mode.
25374         * tests/test-math-c++.cc: New file.
25375         * modules/math-tests (Files): Add it and tests/signature.h.
25376         (Depends-on): Add ansi-c++-opt.
25377         (Makefile.am): Arrange to compile and run test-math-c++.
25378         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
25379
25380         Tests of module 'locale' in C++ mode.
25381         * tests/test-locale-c++.cc: New file.
25382         * modules/locale-tests (Files): Add it and tests/signature.h.
25383         (Depends-on): Add ansi-c++-opt.
25384         (Makefile.am): Arrange to compile and run test-locale-c++.
25385         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
25386         gl_MODULE_INDICATOR.
25387
25388         Tests of module 'langinfo' in C++ mode.
25389         * tests/test-langinfo-c++.cc: New file.
25390         * modules/langinfo-tests (Files): Add it and tests/signature.h.
25391         (Depends-on): Add ansi-c++-opt.
25392         (Makefile.am): Arrange to compile and run test-langinfo-c++.
25393         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
25394         gl_MODULE_INDICATOR.
25395
25396         Tests of module 'iconv-h' in C++ mode.
25397         * tests/test-iconv-h-c++.cc: New file.
25398         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
25399         (Depends-on): Add ansi-c++-opt.
25400         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
25401
25402         Tests of module 'glob' in C++ mode.
25403         * tests/test-glob-c++.cc: New file.
25404         * modules/glob-tests (Files): Add it.
25405         (Depends-on): Add ansi-c++-opt.
25406         (Makefile.am): Arrange to compile and run test-glob-c++.
25407
25408         Tests of module 'fcntl-h' in C++ mode.
25409         * tests/test-fcntl-h-c++.cc: New file.
25410         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
25411         (Depends-on): Add ansi-c++-opt.
25412         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
25413         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
25414         gl_MODULE_INDICATOR.
25415
25416         Tests of module 'dirent' in C++ mode.
25417         * tests/test-dirent-c++.cc: New file.
25418         * modules/dirent-tests (Files): Add it and tests/signature.h.
25419         (Depends-on): Add ansi-c++-opt.
25420         (Makefile.am): Arrange to compile and run test-dirent-c++.
25421         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
25422         gl_MODULE_INDICATOR.
25423
25424         New module 'ansi-c++-opt'.
25425         * modules/ansi-c++-opt: New file.
25426         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
25427
25428         Document C++ namespace mode.
25429         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
25430
25431         wctype: Avoid #define replacements in C++ mode.
25432         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
25433         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
25434         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
25435         In C++, define a namespaced alias symbol.
25436         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
25437         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
25438         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
25439         rule.
25440
25441         wchar: Avoid #define replacements in C++ mode.
25442         * lib/wchar.in.h: Include c++defs.h.
25443         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
25444         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
25445         symbol.
25446         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
25447         * modules/wchar (Depends-on): Add c++defs.
25448         (Makefile.am): Update wchar.h rule.
25449
25450         unistd: Avoid #define replacements in C++ mode.
25451         * lib/unistd.in.h: Include c++defs.h.
25452         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
25453         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
25454         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
25455         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
25456         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
25457         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
25458         symbol.
25459         (environ): Update.
25460         * modules/unistd (Depends-on): Add c++defs.
25461         (Makefile.am): Update unistd.h rule.
25462
25463         time: Avoid #define replacements in C++ mode.
25464         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
25465         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
25466         define a namespaced alias symbol.
25467         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
25468         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
25469         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
25470         * modules/time (Depends-on): Add c++defs, warn-on-use.
25471         (Makefile.am): Update time.h rule.
25472         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
25473         * modules/nanosleep (configure.ac): Likewise.
25474         * modules/strptime (configure.ac): Likewise.
25475         * modules/timegm (configure.ac): Likewise.
25476
25477         sys_time: Avoid #define replacements in C++ mode.
25478         * lib/sys_time.in.h: Include c++defs.h.
25479         (gettimeofday): In C++, define a namespaced alias symbol.
25480         * modules/sys_time (Depends-on): Add c++defs.
25481         (Makefile.am): Update sys/time.h rule.
25482
25483         sys_stat: Avoid #define replacements in C++ mode.
25484         * lib/sys_stat.in.h: Include c++defs.h.
25485         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
25486         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
25487         namespaced alias symbol.
25488         In C++, define a namespaced alias symbol.
25489         * modules/sys_stat (Depends-on): Add c++defs.
25490         (Makefile.am): Update sys/stat.h rule.
25491
25492         sys_socket: Avoid #define replacements in C++ mode.
25493         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
25494         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
25495         definitions also when the system has a <sys/socket.h>.
25496         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
25497         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
25498         In C++, define a namespaced alias symbol.
25499         * modules/sys_socket (Depends-on): Add c++defs.
25500         (Makefile.am): Update sys/socket.h rule.
25501
25502         sys_select: Avoid #define replacements in C++ mode.
25503         * lib/sys_select.in.h: Include c++defs.h. Enable the function
25504         definitions also when the system has a <sys/select.h>.
25505         (select): In C++, define a namespaced alias symbol.
25506         * modules/sys_select (Depends-on): Add c++defs.
25507         (Makefile.am): Update sys/select.h rule.
25508
25509         sys_ioctl: Avoid #define replacements in C++ mode.
25510         * lib/sys_ioctl.in.h: Include c++defs.h.
25511         (ioctl): In C++, define a namespaced alias symbol.
25512         * modules/sys_ioctl (Depends-on): Add c++defs.
25513         (Makefile.am): Update sys/ioctl.h rule.
25514
25515         string: Avoid #define replacements in C++ mode.
25516         * lib/string.in.h: Include c++defs.h.
25517         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
25518         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
25519         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
25520         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
25521         strsignal, strverscmp): In C++, define a namespaced alias symbol.
25522         * modules/string (Depends-on): Add c++defs.
25523         (Makefile.am): Update string.h rule.
25524
25525         stdlib: Avoid #define replacements in C++ mode.
25526         * lib/stdlib.in.h: Include c++defs.h.
25527         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
25528         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
25529         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
25530         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
25531         symbol.
25532         * modules/stdlib (Depends-on): Add c++defs.
25533         (Makefile.am): Update stdlib.h rule.
25534
25535         stdio: Avoid #define replacements in C++ mode.
25536         * lib/stdio.in.h: Include c++defs.h.
25537         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
25538         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
25539         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
25540         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
25541         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
25542         namespaced alias symbol.
25543         * modules/stdio (Depends-on): Add c++defs.
25544         (Makefile.am): Update stdio.h rule.
25545
25546         spawn: Avoid #define replacements in C++ mode.
25547         * lib/spawn.in.h: Include c++defs.h.
25548         (posix_spawn, posix_spawnp, posix_spawnattr_init,
25549         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
25550         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
25551         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
25552         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
25553         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
25554         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
25555         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
25556         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
25557         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
25558         In C++, define a namespaced alias symbol.
25559         * modules/spawn (Depends-on): Add c++defs.
25560         (Makefile.am): Update spawn.h rule.
25561
25562         signal: Avoid #define replacements in C++ mode.
25563         * lib/signal.in.h: Include c++defs.h.
25564         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
25565         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
25566         namespaced alias symbol.
25567         * modules/signal (Depends-on): Add c++defs.
25568         (Makefile.am): Update signal.h rule.
25569
25570         search: Avoid #define replacements in C++ mode.
25571         * lib/search.in.h: Include c++defs.h.
25572         (_gl_search_compar_fn, _gl_search_action_fn): New types.
25573         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
25574         symbol.
25575         * modules/search (Depends-on): Add c++defs.
25576         (Makefile.am): Update search.h rule.
25577
25578         math: Avoid #define replacements in C++ mode.
25579         * lib/math.in.h: Include c++defs.h.
25580         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
25581         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
25582         trunc, truncl): In C++, define a namespaced alias symbol.
25583         * modules/math (Depends-on): Add c++defs.
25584         (Makefile.am): Update math.h rule.
25585
25586         locale: Avoid #define replacements in C++ mode.
25587         * lib/locale.in.h: Include c++defs.h.
25588         (duplocale): In C++, define a namespaced alias symbol.
25589         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
25590         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
25591         * modules/locale (Depends-on): Add c++defs.
25592         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
25593
25594         langinfo: Avoid #define replacements in C++ mode.
25595         * lib/langinfo.in.h: Include c++defs.h.
25596         (nl_langinfo): In C++, define a namespaced alias symbol.
25597         * modules/langinfo (Depends-on): Add c++defs.
25598         (Makefile.am): Update langinfo.h rule.
25599
25600         iconv-h: Avoid #define replacements in C++ mode.
25601         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
25602         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
25603         symbol.
25604         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
25605         whenever iconv is present.
25606         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
25607         (Makefile.am): Update iconv.h rule.
25608
25609         glob: Avoid #define replacements in C++ mode.
25610         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
25611         (_gl_glob_errfunc_fn): New type.
25612         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
25613         symbol.
25614         * modules/glob (Depends-on): Add c++defs, warn-on-use.
25615         (Makefile.am): Update glob.h rule.
25616
25617         fcntl-h: Avoid #define replacements in C++ mode.
25618         * lib/fcntl.in.h: Include c++defs.h.
25619         (fcntl, open, openat): In C++, define a namespaced alias symbol.
25620         * modules/fcntl-h (Depends-on): Add c++defs.
25621         (Makefile.am): Update fcntl.h rule.
25622
25623         dirent: Avoid #define replacements in C++ mode.
25624         * lib/dirent.in.h: Include c++defs.h.
25625         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
25626         namespaced alias symbol.
25627         (dirfd): Update declaration.
25628         * modules/dirent (Depends-on): Add c++defs.
25629         (Makefile.am): Update dirent.h rule.
25630
25631         ctype: Make it usable in C++ code.
25632         * lib/ctype.in.h: Include c++defs.h.
25633         (isblank): Declare as extern "C".
25634         * modules/ctype (Depends-on): Add c++defs.
25635         (Makefile.am): Update ctype.h rule.
25636
25637         New module 'c++defs'.
25638         * modules/c++defs: New file.
25639         * build-aux/c++defs.h: New file.
25640         Reported by John W. Eaton <jwe@gnu.org>.
25641
25642 2010-03-07  Bruno Haible  <bruno@clisp.org>
25643
25644         logb: Provide missing declaration for Cygwin.
25645         * lib/math.in.h (logb): New declaration.
25646         * m4/logb.m4: New file.
25647         * modules/logb (Files): Add m4/logb.m4.
25648         (Depends-on): Add math.
25649         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
25650         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
25651         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
25652         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
25653         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
25654
25655 2010-03-07  Bruno Haible  <bruno@clisp.org>
25656
25657         Fix test-cond link error.
25658         * tests/test-cond.c: Include <stdio.h>.
25659
25660 2010-03-07  Bruno Haible  <bruno@clisp.org>
25661
25662         Fix test-dirent-safer link error.
25663         * modules/dirent-safer-tests (Makefile.am): Define
25664         test_dirent_safer_LDADD.
25665
25666 2010-03-07  Bruno Haible  <bruno@clisp.org>
25667
25668         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
25669         among default module list.
25670
25671 2010-03-07  Bruno Haible  <bruno@clisp.org>
25672
25673         Fix link error on platforms with GNU libiconv.
25674         * modules/unistr/u8-strcoll-tests (Makefile): Define
25675         test_u8_strcoll_LDADD.
25676         * modules/unistr/u16-strcoll-tests (Makefile): Define
25677         test_u16_strcoll_LDADD.
25678         * modules/unistr/u32-strcoll-tests (Makefile): Define
25679         test_u32_strcoll_LDADD.
25680
25681 2010-03-07  Bruno Haible  <bruno@clisp.org>
25682
25683         Use POSIX declarations for socket functions.
25684         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
25685         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
25686         rpl_sendto): Change declaration to match POSIX.
25687         * lib/connect.c (rpl_connect): Likewise.
25688         * lib/accept.c (rpl_accept): Likewise.
25689         * lib/bind.c (rpl_bind): Likewise.
25690         * lib/getpeername.c (rpl_getpeername): Likewise.
25691         * lib/getsockname.c (rpl_getsockname): Likewise.
25692         * lib/recv.c (rpl_recv): Likewise.
25693         * lib/send.c (rpl_send): Likewise.
25694         * lib/recvfrom.c (rpl_recvfrom): Likewise.
25695         * lib/sendto.c (rpl_sendto): Likewise.
25696
25697 2010-03-06  Bruno Haible  <bruno@clisp.org>
25698
25699         Clarify access, euidaccess, faccessat.
25700         * doc/posix-functions/faccessat.texi: Mention security problem under
25701         "Other problems", not "Portability problems".
25702         * doc/posix-functions/access.texi: Likewise. Mention a related security
25703         problem.
25704         * doc/glibc-functions/euidaccess.texi: Mention security problems.
25705         * lib/euidaccess.c: Add comments about platforms.
25706         * lib/unistd.in.h (access, euidaccess): Add warnings.
25707
25708 2010-03-07  Bruno Haible  <bruno@clisp.org>
25709
25710         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
25711         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
25712         (POSIX_SPAWN_SETSCHEDULER): Likewise.
25713         (POSIX_SPAWN_USEVFORK): Define in a way that works when
25714         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
25715         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
25716         declare when POSIX_SPAWN_SETSCHEDULER is zero.
25717         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
25718         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
25719         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
25720         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
25721         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
25722         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
25723         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
25724         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
25725         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
25726         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
25727         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
25728         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
25729         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
25730         Likewise.
25731         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
25732         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
25733         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
25734         Likewise.
25735         * tests/test-spawn.c (main): Make it work when
25736         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
25737
25738 2010-03-07  Bruno Haible  <bruno@clisp.org>
25739
25740         Fix incorrect Makefile.am generation in German locale.
25741         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
25742         Execute sed command with character range in C locale.
25743
25744 2010-03-06  Bruno Haible  <bruno@clisp.org>
25745
25746         Tests for module 'iconv-h'.
25747         * modules/iconv-h-tests: New file.
25748         * tests/test-iconv-h.c: New file.
25749
25750         New module 'iconv-h'.
25751         * modules/iconv-h: New file.
25752         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
25753         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
25754         (configure.ac): Remove gl_ICONV_H.
25755         (Makefile.am): Remove rule for iconv.h.
25756
25757 2010-03-06  Bruno Haible  <bruno@clisp.org>
25758
25759         More consistent naming of *.m4 files.
25760         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
25761         * modules/wctype (Files): Update.
25762
25763         More consistent naming of *.m4 files.
25764         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
25765         * modules/wchar (Files): Update.
25766
25767 2010-03-06  Jim Meyering  <meyering@redhat.com>
25768
25769         euidaccess: relax license to LGPLv2+
25770         * modules/euidaccess (License): Relax to LGPLv2+.
25771
25772 2010-03-06  Bruno Haible  <bruno@clisp.org>
25773
25774         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
25775         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
25776         (Makefile.am): Augment lib_SOURCES instead.
25777
25778 2010-03-04  Jim Meyering  <meyering@redhat.com>
25779
25780         utime: remove obsolete module
25781         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
25782         unnecessary for years, and has been marked as obsolete for 10 months.
25783         * modules/utime: Remove file.
25784         * lib/utime.c: Remove file.
25785         * m4/utime.m4: Remove file.
25786         * m4/utimes-null.m4: Remove file.
25787         * doc/posix-functions/utime.texi (utime): Remove reference to
25788         the module.  Move the sole "fixed by gnulib" item into the
25789         "problems not fixed by Gnulib" list.
25790         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
25791
25792 2010-03-05  Simon Josefsson  <simon@josefsson.org>
25793
25794         * modules/exit (License): Relax license to LGPLv2+.
25795         (Status): Mark as obsolete.
25796         * NEWS: Mention deprecated 'exit' module.
25797         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
25798         of now obsolete 'exit'.
25799
25800 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25801
25802         fts-lgpl: remove unused module
25803         * modules/fts-lgpl: Remove.
25804         * MODULES.html.sh (func_all_modules): Adjust.
25805         * check-module (find_included_lib_files): Adjust.
25806         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
25807
25808 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
25809
25810         copy-acl: enhance Solaris ACL error handling
25811         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
25812         * lib/set-mode-acl.c (qset_acl): Likewise.
25813
25814 2010-03-02  Bruno Haible  <bruno@clisp.org>
25815
25816         spawn: Don't override the system defined values on FreeBSD 8.
25817         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
25818         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
25819         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
25820         if HAVE_POSIX_SPAWN is 1.
25821         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
25822
25823 2010-03-01  Bruno Haible  <bruno@clisp.org>
25824
25825         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
25826         regarding Automake.
25827
25828 2010-02-25  Bruno Haible  <bruno@clisp.org>
25829
25830         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
25831         * gnulib-tool: Define 'echo' as a function only before the ksh alias
25832         setting, not afterwards.
25833         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
25834
25835 2010-02-24  Eric Blake  <eblake@redhat.com>
25836
25837         bootstrap, git-version-gen: use timestamp
25838         * build-aux/git-version-gen (scriptversion): Force UTC.
25839         * build-aux/bootstrap (scriptversion): New variable.
25840
25841         bootstrap: allow older git
25842         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
25843         older than 1.6.4.  Requested by the libvirt project.
25844
25845 2010-02-23  Eric Blake  <eblake@redhat.com>
25846
25847         warn-on-use: work with old autoconf
25848         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
25849         AS_VAR semantics of autoconf 2.60.
25850         Reported by Bruno Haible.
25851
25852         bootstrap: improve some comments
25853         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
25854         clarification comments.
25855
25856         gettimeofday: provide correct function
25857         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
25858         when replacement is declared, otherwise provide gettimeofday.
25859         Reported by Michael Goffioul.
25860
25861 2010-02-23  Jim Meyering  <meyering@redhat.com>
25862
25863         lib-ignore: relax license to "unlimited", not LGPLv2+
25864         * modules/lib-ignore (License): Relax to "unlimited".
25865
25866 2010-02-23  Jim Meyering  <meyering@redhat.com>
25867
25868         lib-ignore: relax license to LGPLv2+
25869         * modules/lib-ignore (License): Relax to LGPLv2+.
25870
25871 2010-02-22  Eric Blake  <eblake@redhat.com>
25872
25873         lseek: avoid bash 3.2 broken pipe bug
25874         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
25875         warning from bash 3.2.
25876         Reported by Ben Pfaff, with analysis from Bruno Haible.
25877
25878         bootstrap: support non-FSF copyright holder
25879         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
25880         bootstrap.conf override of COPYRIGHT_HOLDER.
25881         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
25882
25883         bootstrap: interoperate with gettext 0.14.1
25884         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
25885
25886         bootstrap: allow for alternate submodule location
25887         * build-aux/bootstrap (gnulib_path): New variable; use instead of
25888         hardcoding submodule location.
25889         (gnulib_mk): Allow direct use of Makefile.am.
25890
25891         bootstrap: use GNULIB_SRCDIR to reduce disk usage
25892         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
25893         rather than reconfiguring where the submodule points.
25894
25895         gettimeofday: restore support for platforms that lack function
25896         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
25897         replacement if function is missing.
25898         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
25899         * modules/sys_time (Makefile.am): Substitute it.
25900         * lib/sys_time.in.h (gettimeofday): Check it.
25901         Reported by Michael Goffioul.
25902
25903 2010-02-21  Bruno Haible  <bruno@clisp.org>
25904
25905         * lib/stdio.in.h (obstack_printf): Fix typo.
25906
25907 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
25908
25909         vc-list-files: use bzr ls's -R option
25910         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
25911         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
25912
25913 2010-02-21  Jim Meyering  <meyering@redhat.com>
25914
25915         init.sh: fix EXEEXT shims to work also for names like test-prog
25916         * tests/init.sh: Re-exec a better shell, when needed.
25917         If the current shell lacks support for posix $(...), an init.sh-using
25918         test will now try to find a shell that supports that.  If EXEEXT is
25919         nonempty, we also require support for hyphen-in-alias-name and shell
25920         substitutions like ${var#glob}.  Failure to find such a shell results
25921         in a skipped test.
25922
25923 2010-02-21  Bruno Haible  <bruno@clisp.org>
25924
25925         Really work around around "broken pipe" error message from bash 3.2.
25926         * gnulib-tool (func_reset_sigpipe): Remove function.
25927         (echo): In bash 3.2, define to a function that uses printf.
25928         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
25929
25930 2010-02-20  Bruno Haible  <bruno@clisp.org>
25931
25932         Restore support for automake 1.9.6 with autoconf 2.61.
25933         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
25934         Reported by James Youngman <jay@gnu.org>.
25935
25936 2010-02-20  Bruno Haible  <bruno@clisp.org>
25937
25938         Improve *printf warning condition.
25939         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
25940         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
25941         and the function is overridden due to SIGPIPE emulation.
25942
25943 2010-02-20  Bruno Haible  <bruno@clisp.org>
25944
25945         * lib/stdio.in.h: Tweak comments.
25946
25947 2010-02-19  Bruno Haible  <bruno@clisp.org>
25948
25949         Make it easier to find modules. New gnulib-tool option '--find'.
25950         * gnulib-tool: New option --find.
25951         (func_usage): Document it.
25952         (func_sanitize_modulelist): New function, extracted from
25953         func_all_modules.
25954         (func_all_modules): Invoke it.
25955         * doc/gnulib-tool.texi (Which modules?): New node.
25956
25957 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
25958
25959         * lib/sys_select.in.h: Provide select replacement even if
25960         sys/select.h exists on a system, for Interix.
25961
25962 2010-02-18  Jim Meyering  <meyering@redhat.com>
25963
25964         init.sh: don't use $(...) just yet
25965         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
25966         to accommodate e.g., Solaris' /bin/sh.
25967
25968 2010-02-17  Bruno Haible  <bruno@clisp.org>
25969
25970         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
25971         Reported by Ludovic Courtès <ludo@gnu.org>.
25972
25973 2010-02-16  Simon Josefsson  <simon@josefsson.org>
25974
25975         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
25976         linking with -lintl.
25977
25978 2010-02-17  Simon Josefsson  <simon@josefsson.org>
25979
25980         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
25981         if not provided by the system's netdb.h.  Reported by
25982         ludo@gnu.org (Ludovic Courtès).
25983
25984 2010-02-15  Jim Meyering  <meyering@redhat.com>
25985
25986         init.sh: improve portability and efficiency
25987         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
25988         "dummy" in a for loop.
25989         Use '!', not '^' to select the complement of a character set used
25990         in a "case" statement.
25991         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
25992         Suggestions from Eric Blake.
25993
25994         init.sh: automatically accommodate programs with the .exe suffix
25995         Automatically arrange for an invocation of "prog" to execute the
25996         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
25997         may use the simpler "prog", yet still work when built on a system
25998         that requires specifying the added suffix.
25999         Do this by constructing a function named "prog" that invokes
26000         "prog.exe" for each .exe file in selected directories.
26001         * tests/init.sh (find_exe_basenames_): New function.
26002         (create_exe_shim_functions_): New function.
26003         (path_prepend_): Use it.
26004
26005         maint.mk: mark syntax-check sc_*.m rules as .PHONY
26006         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
26007         "make -t syntax-check" doesn't create a ton of sc_*.m files.
26008
26009 2010-02-14  Jim Meyering  <meyering@redhat.com>
26010
26011         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
26012         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
26013         (sc_prohibit_hash_pjw_without_use): New rule.
26014
26015         maint.mk: allow the default upload destination dir to be overridden
26016         * top/maint.mk (upload_dest_dir_): Define with a default that
26017         preserves the status quo.
26018         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
26019         Reported by Peter Simons.
26020
26021         maint.mk: prohibit inclusion of "hash.h" without_use
26022         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
26023
26024 2010-02-10  Jim Meyering  <meyering@redhat.com>
26025
26026         maint.mk: prohibit inclusion of "ignore-value.h" without_use
26027         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
26028
26029 2010-02-09  Eric Blake  <ebb9@byu.net>
26030         and Bruno Haible  <bruno@clisp.org>
26031
26032         obstack-printf-posix: ensure declaration
26033         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
26034         extracted from gl_FUNC_OBSTACK_PRINTF.
26035         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
26036         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
26037         Likewise.
26038         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
26039         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
26040         0.
26041
26042 2010-02-08  Bruno Haible  <bruno@clisp.org>
26043
26044         gnulib-tool: Fix typo in 2010-02-07 commit.
26045         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
26046         Reported by Eric Blake.
26047
26048 2010-02-07  Bruno Haible  <bruno@clisp.org>
26049
26050         gnulib-tool: Fix up caching patches.
26051         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
26052         option --no-cache. Use associative arrays when supported by the shell.
26053         (sed_comments): New variable.
26054         (modcache): Renamed from do_cache.
26055         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
26056         abbreviate unnecessarily.
26057         (have_associative): New variable.
26058         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
26059         way also for ksh and zsh.
26060         (func_init_sed_convert_to_cache_statements): New function, extracted
26061         from func_cache_lookup_module. Add support for associative arrays.
26062         Don't set the c_MODULE_cached variable here. Ignore all lines before
26063         the first field header. Remove only the final newline, not all trailing
26064         newlines. Support empty fields correctly. Limit the use of 'eval' to
26065         assignments.
26066         (func_get_description, func_get_status, func_get_notice,
26067         func_get_applicability, func_get_filelist, func_get_dependencies,
26068         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
26069         func_get_automake_snippet, func_get_include_directive,
26070         func_get_link_directive, func_get_license, func_get_maintainer):
26071         Update documentation. List the unoptimized code first. Add support for
26072         associative arrays. Limit the use of 'eval' to assignments.
26073         (func_get_applicability): Undo stylistic pessimisations.
26074         (func_get_automake_snippet, func_get_include_directive): Reduce code
26075         duplication.
26076         (func_modules_transitive_closure, func_modules_add_dummy,
26077         func_modules_notice, func_modules_to_filelist, func_add_file,
26078         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
26079         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
26080         func_create_testdir, func_create_megatestdir): Update documentation.
26081
26082 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26083
26084         * gnulib-tool (func_cache_lookup_module): Store the module name
26085         belonging to the cache variable; error out if two different
26086         module names map to the same cache variable name.
26087
26088 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26089
26090         gnulib-tool: Make caching optional.
26091         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
26092         Update matching short versions of --no-changelog.
26093         (func_usage): Update.
26094         (sed_extract_cache_prog): Renamed from ...
26095         (sed_extract_prog): ... this; revert to old extraction script.
26096         (func_get_description, func_get_status)
26097         (func_get_notice, func_get_applicability, func_get_filelist)
26098         (func_get_dependencies, func_get_autoconf_early_snippet)
26099         (func_get_autoconf_snippet, func_get_automake_snippet)
26100         (func_get_include_directive, func_get_link_directive)
26101         (func_get_license, func_get_maintainer): If $do_cache is false,
26102         use old, non-caching extraction scripts.
26103         Suggestion by Bruno Haible.
26104
26105 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26106
26107         gnulib-tool: cache module metainformation.
26108         * gnulib-tool (sed_extract_prog): Match newline before each
26109         header, and rewrite header to a shell variable suffix.
26110         (func_cache_var, func_cache_lookup_module): New functions,
26111         to turn a module name into a cache variable prefix, and to
26112         look up and cache module metainformation.
26113         (func_get_description, func_get_status)
26114         (func_get_notice, func_get_applicability, func_get_filelist)
26115         (func_get_dependencies, func_get_autoconf_early_snippet)
26116         (func_get_autoconf_snippet, func_get_automake_snippet)
26117         (func_get_include_directive, func_get_link_directive)
26118         (func_get_license, func_get_maintainer): Use
26119         func_cache_lookup_module.
26120
26121 2010-02-07  Bruno Haible  <bruno@clisp.org>
26122
26123         fnctl: Fix missing dependency.
26124         * modules/fcntl (Depends-on): Add getdtablesize.
26125         Reported by John W. Eaton <jwe@gnu.org>.
26126
26127 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
26128
26129         Argp: fix recognition of short alias options.
26130
26131         * lib/argp-parse.c (convert_options): Fix improper use of
26132         `|' between character values.
26133         * tests/test-argp.c (group1_option): New alias option
26134         --read (-r).
26135         (group1_parser): Special handling for 'r'.
26136         (test15): New test case.
26137         (test_fun): Add test15.
26138         * tests/test-argp-2.sh: Update expected --help and --usage
26139         outputs.
26140
26141 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
26142
26143         * tests/test-argp.c: Fix indentation.
26144
26145 2010-02-04  Eric Blake  <ebb9@byu.net>
26146
26147         gettimeofday: expose type of second argument
26148         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
26149         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
26150         * tests/test-gettimeofday.c: Use it to silence warning.
26151         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
26152         the issue.
26153
26154 2010-02-03  Jim Meyering  <meyering@redhat.com>
26155
26156         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
26157         * lib/regcomp.c (TYPE_SIGNED): Define.
26158         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
26159
26160         regcomp.c: avoid a new -Wshadow warning
26161         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
26162
26163 2010-02-01  Jim Meyering  <meyering@redhat.com>
26164
26165         removing useless parentheses in cpp #define directives
26166         For motivation, see commit c0221df4, "define STREQ(a,b)
26167         consistently, removing useless parentheses"
26168         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
26169         * lib/mountlist.c (MNT_IGNORE): Likewise.
26170         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
26171
26172 2010-02-01  Eric Blake  <ebb9@byu.net>
26173
26174         sys_time: use link-warning
26175         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
26176         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
26177         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
26178         * modules/sys_time (Depends-on): Add warn-on-use.
26179         (Makefile.am): Always build replacement.
26180         (configure.ac): Update substitutions.
26181         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
26182         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
26183         bother with SYS_TIME_H.
26184         * modules/gettimeofday (configure.ac): Declare indicator.
26185         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
26186         in use.
26187
26188         closein-tests: silence compiler warning
26189         * tests/test-closein.c (main): Ignore fread result.
26190         * modules/closein-tests (Depends-on): Add ignore-value.
26191
26192         tests: silence warning about system return
26193         * tests/test-areadlink-with-size.c (main): Ignore system result.
26194         * tests/test-areadlink.c (main): Likewise.
26195         * tests/test-areadlinkat-with-size.c (main): Likewise.
26196         * tests/test-areadlinkat.c (main): Likewise.
26197         * tests/test-canonicalize-lgpl.c (main): Likewise.
26198         * tests/test-canonicalize.c (main): Likewise.
26199         * tests/test-chown.c (main): Likewise.
26200         * tests/test-fchownat.c (main): Likewise.
26201         * tests/test-fdutimensat.c (main): Likewise.
26202         * tests/test-fstatat.c (main): Likewise.
26203         * tests/test-futimens.c (main): Likewise.
26204         * tests/test-lchown.c (main): Likewise.
26205         * tests/test-link.c (main): Likewise.
26206         * tests/test-linkat.c (main): Likewise.
26207         * tests/test-lstat.c (main): Likewise.
26208         * tests/test-mkdir.c (main): Likewise.
26209         * tests/test-mkdirat.c (main): Likewise.
26210         * tests/test-mkfifo.c (main): Likewise.
26211         * tests/test-mkfifoat.c (main): Likewise.
26212         * tests/test-mknod.c (main): Likewise.
26213         * tests/test-readlink.c (main): Likewise.
26214         * tests/test-remove.c (main): Likewise.
26215         * tests/test-rename.c (main): Likewise.
26216         * tests/test-renameat.c (main): Likewise.
26217         * tests/test-rmdir.c (main): Likewise.
26218         * tests/test-symlink.c (main): Likewise.
26219         * tests/test-symlinkat.c (main): Likewise.
26220         * tests/test-unlink.c (main): Likewise.
26221         * tests/test-unlinkat.c (main): Likewise.
26222         * tests/test-utimens.c (main): Likewise.
26223         * tests/test-utimensat.c (main): Likewise.
26224         * modules/areadlink-tests (Depends-on): Add ignore-value.
26225         * modules/areadlink-with-size-tests (Depends-on): Likewise.
26226         * modules/areadlinkat-tests (Depends-on): Likewise.
26227         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
26228         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
26229         * modules/canonicalize-tests (Depends-on): Likewise.
26230         * modules/chown-tests (Depends-on): Likewise.
26231         * modules/fdutimensat-tests (Depends-on): Likewise.
26232         * modules/futimens-tests (Depends-on): Likewise.
26233         * modules/lchown-tests (Depends-on): Likewise.
26234         * modules/link-tests (Depends-on): Likewise.
26235         * modules/linkat-tests (Depends-on): Likewise.
26236         * modules/lstat-tests (Depends-on): Likewise.
26237         * modules/mkdir-tests (Depends-on): Likewise.
26238         * modules/mkfifo-tests (Depends-on): Likewise.
26239         * modules/mkfifoat-tests (Depends-on): Likewise.
26240         * modules/mknod-tests (Depends-on): Likewise.
26241         * modules/openat-tests (Depends-on): Likewise.
26242         * modules/readlink-tests (Depends-on): Likewise.
26243         * modules/remove-tests (Depends-on): Likewise.
26244         * modules/rename-tests (Depends-on): Likewise.
26245         * modules/renameat-tests (Depends-on): Likewise.
26246         * modules/rmdir-tests (Depends-on): Likewise.
26247         * modules/symlink-tests (Depends-on): Likewise.
26248         * modules/symlinkat-tests (Depends-on): Likewise.
26249         * modules/unlink-tests (Depends-on): Likewise.
26250         * modules/utimens-tests (Depends-on): Likewise.
26251         * modules/utimensat-tests (Depends-on): Likewise.
26252
26253 2010-01-31  Bruno Haible  <bruno@clisp.org>
26254
26255         Perform the same test for many <math.h> functions.
26256         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
26257         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
26258         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
26259         of gl_MATHFUNC.
26260         * modules/acos (configure.ac): Likewise.
26261         * modules/asin (configure.ac): Likewise.
26262         * modules/atan (configure.ac): Likewise.
26263         * modules/atan2 (configure.ac): Likewise.
26264         * modules/cbrt (configure.ac): Likewise.
26265         * modules/copysign (configure.ac): Likewise.
26266         * modules/cos (configure.ac): Likewise.
26267         * modules/cosh (configure.ac): Likewise.
26268         * modules/erf (configure.ac): Likewise.
26269         * modules/erfc (configure.ac): Likewise.
26270         * modules/exp (configure.ac): Likewise.
26271         * modules/fmod (configure.ac): Likewise.
26272         * modules/hypot (configure.ac): Likewise.
26273         * modules/j0 (configure.ac): Likewise.
26274         * modules/j1 (configure.ac): Likewise.
26275         * modules/jn (configure.ac): Likewise.
26276         * modules/lgamma (configure.ac): Likewise.
26277         * modules/log (configure.ac): Likewise.
26278         * modules/log10 (configure.ac): Likewise.
26279         * modules/log1p (configure.ac): Likewise.
26280         * modules/pow (configure.ac): Likewise.
26281         * modules/remainder (configure.ac): Likewise.
26282         * modules/sin (configure.ac): Likewise.
26283         * modules/sinh (configure.ac): Likewise.
26284         * modules/tan (configure.ac): Likewise.
26285         * modules/tanh (configure.ac): Likewise.
26286         * modules/y0 (configure.ac): Likewise.
26287         * modules/y1 (configure.ac): Likewise.
26288         * modules/yn (configure.ac): Likewise.
26289         Suggested by Paolo Bonzini.
26290
26291 2010-01-31  Bruno Haible  <bruno@clisp.org>
26292
26293         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
26294
26295 2010-01-31  Bruno Haible  <bruno@clisp.org>
26296
26297         Work around getdelim() bug on FreeBSD 8.0.
26298         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
26299         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
26300         not work.
26301         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
26302         is 1.
26303         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
26304         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
26305         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
26306         a non-zero size.
26307         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
26308
26309 2010-01-31  Bruno Haible  <bruno@clisp.org>
26310
26311         Work around getline() bug on FreeBSD 8.0.
26312         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
26313         and a non-zero size.
26314         * tests/test-getline.c (main): Likewise.
26315         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
26316         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
26317
26318 2010-01-28  Eric Blake  <ebb9@byu.net>
26319
26320         regex: fix build failure
26321         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
26322         platforms.
26323
26324 2010-01-28  Jim Meyering  <meyering@redhat.com>
26325
26326         regex: do not ignore memory allocation failure
26327         * lib/regex_internal.c (create_cd_newstate): Detect
26328         re_node_set_init_copy failure.   Extracted from glibc commit
26329         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
26330
26331         regex: sync more white-space changes from libc
26332         * lib/regex_internal.c: White-space only changes.
26333         * lib/regexec.c: Likewise.
26334
26335         regex: add many uses of __attribute_warn_unused_result__
26336         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
26337         * lib/regexec.c: Likewise.
26338         Extracted from a messy glibc commit.
26339
26340         regcomp.c: spelling and merge-artifact from glibc
26341         * lib/regcomp.c: Merge remainder of glibc's
26342         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
26343
26344         regcomp.c: sync white-space changes from glibc
26345         * lib/regcomp.c: Merge to accommodate white space
26346         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
26347
26348         regcomp.c: do not ignore internal return values
26349         * lib/regcomp.c: Do not ignore internal return values.
26350         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
26351         but without its white-space changes and spelling fixes.
26352
26353         regex_internal.h: define __attribute_warn_unused_result__
26354         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
26355
26356         maint: add a syntax-check rule to check for vulnerable Makefile.in
26357         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
26358
26359 2010-01-27  Jim Meyering  <meyering@redhat.com>
26360
26361         ncftpput-ftp: clean up spaces
26362         * build-aux/ncftpput-ftp: Make Copyright line consistent.
26363         Remove trailing blanks.
26364
26365 2010-01-27  Simon Josefsson  <simon@josefsson.org>
26366
26367         * build-aux/git-version-gen: Fix copyright statement.
26368         * build-aux/gnupload: Likewise.
26369         * tests/test-arcfour.c: Likewise.
26370         * tests/test-arctwo.c: Likewise.
26371         * tests/test-count-one-bits.c: Likewise.
26372         * tests/test-crc.c: Likewise.
26373         * tests/test-des.c: Likewise.
26374         * tests/test-gc-arcfour.c: Likewise.
26375         * tests/test-gc-arctwo.c: Likewise.
26376         * tests/test-gc-des.c: Likewise.
26377         * tests/test-gc-hmac-md5.c: Likewise.
26378         * tests/test-gc-hmac-sha1.c: Likewise.
26379         * tests/test-gc-md2.c: Likewise.
26380         * tests/test-gc-md4.c: Likewise.
26381         * tests/test-gc-md5.c: Likewise.
26382         * tests/test-gc-pbkdf2-sha1.c: Likewise.
26383         * tests/test-gc-rijndael.c: Likewise.
26384         * tests/test-gc-sha1.c: Likewise.
26385         * tests/test-gc.c: Likewise.
26386         * tests/test-gethostname.c: Likewise.
26387         * tests/test-gettimeofday.c: Likewise.
26388         * tests/test-hash.c: Likewise.
26389         * tests/test-hmac-md5.c: Likewise.
26390         * tests/test-hmac-sha1.c: Likewise.
26391         * tests/test-md2.c: Likewise.
26392         * tests/test-md4.c: Likewise.
26393         * tests/test-md5.c: Likewise.
26394         * tests/test-memchr.c: Likewise.
26395         * tests/test-memchr2.c: Likewise.
26396         * tests/test-memcmp.c: Likewise.
26397         * tests/test-memmem.c: Likewise.
26398         * tests/test-memrchr.c: Likewise.
26399         * tests/test-rawmemchr.c: Likewise.
26400         * tests/test-read-file.c: Likewise.
26401         * tests/test-rijndael.c: Likewise.
26402         * tests/test-sockets.c: Likewise.
26403         * tests/test-strchrnul.c: Likewise.
26404         * tests/test-strstr.c: Likewise.
26405         * tests/test-strtod.c: Likewise.
26406         * build-aux/ncftpput-ftp: Likewise.
26407
26408 2010-01-26  Eric Blake  <ebb9@byu.net>
26409
26410         ignore-value: update recommended header name
26411         * modules/ignore-value (Include): Only use <> for headers that
26412         exist in glibc.
26413
26414 2010-01-26  Jim Meyering  <meyering@redhat.com>
26415
26416         test-userspec.c: avoid compiler warnings
26417         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
26418         and "initialization discards qualifiers..." warnings.
26419         Put the first "uid" in its own scope, and make char* members "const".
26420
26421 2010-01-25  Bruno Haible  <bruno@clisp.org>
26422
26423         gnulib-tool: Make warning diagnostics consistent.
26424         * gnulib-tool (func_warning): New function.
26425         Use it everywhere where gnulib-tool produces output to stderr and it is
26426         not a fatal error.
26427
26428 2010-01-25  Bruno Haible  <bruno@clisp.org>
26429
26430         Fix test dependencies.
26431         * modules/xstrtol-tests (Depends-on): Add inttypes.
26432         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
26433
26434 2010-01-25 Pádraig Brady <P@draigBrady.com>
26435
26436         syntax-check: detect incorrect boolean macro values in config.h
26437         * modules/maintainer-makefile (configure.ac): Parameterize the location
26438         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
26439         The logic is from Eric Blake and the location indicated by Jim Meyering.
26440         Note the more natural CONFIG_HEADER name is prohibited by automake
26441         for backwards compatibility reasons.
26442         * top/maint.mk (sc_Wundef_boolean): New rule.
26443
26444 2010-01-25  Jim Meyering  <meyering@redhat.com>
26445
26446         bootstrap: detect MacOS 10.6's shasum, too
26447         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
26448         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
26449
26450 2010-01-23  Jim Meyering  <meyering@redhat.com>
26451
26452         xstrtoll: new module
26453         * modules/xstrtoll: New file.
26454         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
26455         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
26456         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
26457         ./configure fails if you use this module and lack "long long".
26458         * modules/xstrtoll-tests: New module.
26459         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
26460         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
26461         new init.sh-based test framework.
26462
26463 2010-01-24  Bruno Haible  <bruno@clisp.org>
26464
26465         Tests for module 'yn'.
26466         * modules/yn-tests: New file.
26467         * tests/test-yn.c: New file.
26468
26469         Tests for module 'y1'.
26470         * modules/y1-tests: New file.
26471         * tests/test-y1.c: New file.
26472
26473         Tests for module 'y0'.
26474         * modules/y0-tests: New file.
26475         * tests/test-y0.c: New file.
26476
26477         Tests for module 'tanh'.
26478         * modules/tanh-tests: New file.
26479         * tests/test-tanh.c: New file.
26480
26481         Tests for module 'tan'.
26482         * modules/tan-tests: New file.
26483         * tests/test-tan.c: New file.
26484
26485         Tests for module 'sqrt'.
26486         * modules/sqrt-tests: New file.
26487         * tests/test-sqrt.c: New file.
26488
26489         Tests for module 'sinh'.
26490         * modules/sinh-tests: New file.
26491         * tests/test-sinh.c: New file.
26492
26493         Tests for module 'sin'.
26494         * modules/sin-tests: New file.
26495         * tests/test-sin.c: New file.
26496
26497         Tests for module 'rint'.
26498         * modules/rint-tests: New file.
26499         * tests/test-rint.c: New file.
26500
26501         Tests for module 'remainder'.
26502         * modules/remainder-tests: New file.
26503         * tests/test-remainder.c: New file.
26504
26505         Tests for module 'pow'.
26506         * modules/pow-tests: New file.
26507         * tests/test-pow.c: New file.
26508
26509         Tests for module 'nextafter'.
26510         * modules/nextafter-tests: New file.
26511         * tests/test-nextafter.c: New file.
26512
26513         Tests for module 'modf'.
26514         * modules/modf-tests: New file.
26515         * tests/test-modf.c: New file.
26516
26517         Tests for module 'logb'.
26518         * modules/logb-tests: New file.
26519         * tests/test-logb.c: New file.
26520
26521         Tests for module 'log1p'.
26522         * modules/log1p-tests: New file.
26523         * tests/test-log1p.c: New file.
26524
26525         Tests for module 'log10'.
26526         * modules/log10-tests: New file.
26527         * tests/test-log10.c: New file.
26528
26529         Tests for module 'log'.
26530         * modules/log-tests: New file.
26531         * tests/test-log.c: New file.
26532
26533         Tests for module 'lgamma'.
26534         * modules/lgamma-tests: New file.
26535         * tests/test-lgamma.c: New file.
26536
26537         Tests for module 'ldexp'.
26538         * modules/ldexp-tests: New file.
26539         * tests/test-ldexp.c: New file.
26540
26541         Tests for module 'jn'.
26542         * modules/jn-tests: New file.
26543         * tests/test-jn.c: New file.
26544
26545         Tests for module 'j1'.
26546         * modules/j1-tests: New file.
26547         * tests/test-j1.c: New file.
26548
26549         Tests for module 'j0'.
26550         * modules/j0-tests: New file.
26551         * tests/test-j0.c: New file.
26552
26553         Tests for module 'hypot'.
26554         * modules/hypot-tests: New file.
26555         * tests/test-hypot.c: New file.
26556
26557         Tests for module 'fmod'.
26558         * modules/fmod-tests: New file.
26559         * tests/test-fmod.c: New file.
26560
26561         Tests for module 'fabs'.
26562         * modules/fabs-tests: New file.
26563         * tests/test-fabs.c: New file.
26564
26565         Tests for module 'exp'.
26566         * modules/exp-tests: New file.
26567         * tests/test-exp.c: New file.
26568
26569         Tests for module 'erfc'.
26570         * modules/erfc-tests: New file.
26571         * tests/test-erfc.c: New file.
26572
26573         Tests for module 'erf'.
26574         * modules/erf-tests: New file.
26575         * tests/test-erf.c: New file.
26576
26577         Tests for module 'cosh'.
26578         * modules/cosh-tests: New file.
26579         * tests/test-cosh.c: New file.
26580
26581         Tests for module 'cos'.
26582         * modules/cos-tests: New file.
26583         * tests/test-cos.c: New file.
26584
26585         Tests for module 'copysign'.
26586         * modules/copysign-tests: New file.
26587         * tests/test-copysign.c: New file.
26588
26589         Tests for module 'cbrt'.
26590         * modules/cbrt-tests: New file.
26591         * tests/test-cbrt.c: New file.
26592
26593         Tests for module 'atan2'.
26594         * modules/atan2-tests: New file.
26595         * tests/test-atan2.c: New file.
26596
26597         Tests for module 'atan'.
26598         * modules/atan-tests: New file.
26599         * tests/test-atan.c: New file.
26600
26601         Tests for module 'asin'.
26602         * modules/asin-tests: New file.
26603         * tests/test-asin.c: New file.
26604
26605         Tests for module 'acos'.
26606         * modules/acos-tests: New file.
26607         * tests/test-acos.c: New file.
26608
26609 2010-01-24  Bruno Haible  <bruno@clisp.org>
26610
26611         Fix tests for common <math.h> functions.
26612         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
26613         code snippet that references the function pointer, rather than merely
26614         calling the function. Substitute the FUNC_LIBM variable.
26615         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
26616         * modules/acos (configure.ac): Likewise.
26617         * modules/asin (configure.ac): Likewise.
26618         * modules/atan (configure.ac): Likewise.
26619         * modules/atan2 (configure.ac): Likewise.
26620         * modules/cbrt (configure.ac): Likewise.
26621         * modules/copysign (configure.ac): Likewise.
26622         * modules/cos (configure.ac): Likewise.
26623         * modules/cosh (configure.ac): Likewise.
26624         * modules/erf (configure.ac): Likewise.
26625         * modules/erfc (configure.ac): Likewise.
26626         * modules/exp (configure.ac): Likewise.
26627         * modules/fabs (configure.ac): Likewise.
26628         * modules/fmod (configure.ac): Likewise.
26629         * modules/hypot (configure.ac): Likewise.
26630         * modules/j0 (configure.ac): Likewise.
26631         * modules/j1 (configure.ac): Likewise.
26632         * modules/jn (configure.ac): Likewise.
26633         * modules/ldexp (configure.ac): Likewise.
26634         * modules/lgamma (configure.ac): Likewise.
26635         * modules/log (configure.ac): Likewise.
26636         * modules/log10 (configure.ac): Likewise.
26637         * modules/log1p (configure.ac): Likewise.
26638         * modules/logb (configure.ac): Likewise.
26639         * modules/modf (configure.ac): Likewise.
26640         * modules/nextafter (configure.ac): Likewise.
26641         * modules/pow (configure.ac): Likewise.
26642         * modules/remainder (configure.ac): Likewise.
26643         * modules/rint (configure.ac): Likewise.
26644         * modules/sin (configure.ac): Likewise.
26645         * modules/sinh (configure.ac): Likewise.
26646         * modules/tan (configure.ac): Likewise.
26647         * modules/tanh (configure.ac): Likewise.
26648         * modules/y0 (configure.ac): Likewise.
26649         * modules/y1 (configure.ac): Likewise.
26650         * modules/yn (configure.ac): Likewise.
26651
26652 2010-01-24  Bruno Haible  <bruno@clisp.org>
26653
26654         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
26655         * tests/test-acosl.c (x): New variable.
26656         (main): Store argument in x and fetch it from x.
26657         * tests/test-asinl.c (x): New variable.
26658         (main): Store argument in x and fetch it from x.
26659         * tests/test-atanl.c (x): New variable.
26660         (main): Store argument in x and fetch it from x.
26661         * tests/test-cosl.c (x): New variable.
26662         (main): Store argument in x and fetch it from x.
26663         * tests/test-expl.c (x): New variable.
26664         (main): Store argument in x and fetch it from x.
26665         * tests/test-logl.c (x): New variable.
26666         (main): Store argument in x and fetch it from x.
26667         * tests/test-sinl.c (x): New variable.
26668         (main): Store argument in x and fetch it from x.
26669         * tests/test-sqrtl.c (x): New variable.
26670         (main): Store argument in x and fetch it from x.
26671         * tests/test-tanl.c (x): New variable.
26672         (main): Store argument in x and fetch it from x.
26673
26674 2010-01-24  Bruno Haible  <bruno@clisp.org>
26675
26676         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
26677         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
26678         assignments to the initial TESTS_ENVIRONMENT.
26679         * doc/gnulib.texi (Unit test modules): Document it.
26680         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
26681         TESTS_ENVIRONMENT.
26682         * modules/btowc-tests (Makefile.am): Likewise.
26683         * modules/c-stack-tests (Makefile.am): Likewise.
26684         * modules/c-strcase-tests (Makefile.am): Likewise.
26685         * modules/copy-file-tests (Makefile.am): Likewise.
26686         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
26687         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
26688         * modules/mbrtowc-tests (Makefile.am): Likewise.
26689         * modules/mbscasecmp-tests (Makefile.am): Likewise.
26690         * modules/mbscasestr-tests (Makefile.am): Likewise.
26691         * modules/mbschr-tests (Makefile.am): Likewise.
26692         * modules/mbscspn-tests (Makefile.am): Likewise.
26693         * modules/mbsinit-tests (Makefile.am): Likewise.
26694         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
26695         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
26696         * modules/mbspbrk-tests (Makefile.am): Likewise.
26697         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
26698         * modules/mbsrchr-tests (Makefile.am): Likewise.
26699         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
26700         * modules/mbsspn-tests (Makefile.am): Likewise.
26701         * modules/mbsstr-tests (Makefile.am): Likewise.
26702         * modules/nl_langinfo-tests (Makefile.am): Likewise.
26703         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
26704         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
26705         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
26706         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
26707         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
26708         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
26709         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
26710         * modules/wcrtomb-tests (Makefile.am): Likewise.
26711         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
26712         * modules/wcsrtombs-tests (Makefile.am): Likewise.
26713         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
26714         assignments from TESTS_ENVIRONMENT.
26715         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
26716         augmentation.
26717         * modules/argp-version-etc-tests (Makefile.am): Likewise.
26718         * modules/atexit-tests (Makefile.am): Likewise.
26719         * modules/binary-io-tests (Makefile.am): Likewise.
26720         * modules/closein-tests (Makefile.am): Likewise.
26721         * modules/dprintf-posix-tests (Makefile.am): Likewise.
26722         * modules/exclude-tests (Makefile.am): Likewise.
26723         * modules/fflush-tests (Makefile.am): Likewise.
26724         * modules/fpending-tests (Makefile.am): Likewise.
26725         * modules/fprintf-posix-tests (Makefile.am): Likewise.
26726         * modules/freadahead-tests (Makefile.am): Likewise.
26727         * modules/freadptr-tests (Makefile.am): Likewise.
26728         * modules/freadseek-tests (Makefile.am): Likewise.
26729         * modules/fseek-tests (Makefile.am): Likewise.
26730         * modules/fseeko-tests (Makefile.am): Likewise.
26731         * modules/ftell-tests (Makefile.am): Likewise.
26732         * modules/ftello-tests (Makefile.am): Likewise.
26733         * modules/idpriv-drop-tests (Makefile.am): Likewise.
26734         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
26735         * modules/lseek-tests (Makefile.am): Likewise.
26736         * modules/parse-duration-tests (Makefile.am): Likewise.
26737         * modules/perror-tests (Makefile.am): Likewise.
26738         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
26739         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
26740         * modules/pipe-tests (Makefile.am): Likewise.
26741         * modules/pread-tests (Makefile.am): Likewise.
26742         * modules/printf-posix-tests (Makefile.am): Likewise.
26743         * modules/select-tests (Makefile.am): Likewise.
26744         * modules/sigpipe-tests (Makefile.am): Likewise.
26745         * modules/tsearch-tests (Makefile.am): Likewise.
26746         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
26747         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
26748         * modules/uniname/uniname-tests (Makefile.am): Likewise.
26749         * modules/uniwidth/width-tests (Makefile.am): Likewise.
26750         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
26751         * modules/version-etc-tests (Makefile.am): Likewise.
26752         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
26753         * modules/vprintf-posix-tests (Makefile.am): Likewise.
26754         * modules/xalloc-die-tests (Makefile.am): Likewise.
26755         * modules/xprintf-posix-tests (Makefile.am): Likewise.
26756         * modules/xstrtoimax-tests (Makefile.am): Likewise.
26757         * modules/xstrtol-tests (Makefile.am): Likewise.
26758         * modules/xstrtoumax-tests (Makefile.am): Likewise.
26759         * modules/yesno-tests (Makefile.am): Likewise.
26760         Suggested by Jim Meyering.
26761
26762 2010-01-24  Bruno Haible  <bruno@clisp.org>
26763
26764         More documentation.
26765         * doc/gnulib.texi (Writing modules): New chapter.
26766         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
26767         the new chapter.
26768
26769 2010-01-24  Jim Meyering  <meyering@redhat.com>
26770
26771         maint.mk: do not prepend "./" after filtering
26772         * top/maint.mk (_prepend_srcdir_prefix): New variable
26773         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
26774         "./" when $(srcdir) is ".".
26775
26776         define STREQ(a,b) consistently, removing useless parentheses
26777         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
26778         since the only risk is that "a" or "b" contains an unparenthesized
26779         comma, but if either did that, STREQ would have 3 or more arguments.
26780         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
26781         * lib/fts.c (STREQ): Remove unnecessary parentheses.
26782         * lib/hash-triple.c (STREQ): Likewise.
26783         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
26784         * lib/getugroups.c (STREQ): Likewise.
26785
26786 2010-01-23  Jim Meyering  <meyering@redhat.com>
26787
26788         maint.mk: fix syntax-check in a non-srcdir build directory
26789         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
26790         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
26791
26792 2010-01-22  Jim Meyering  <meyering@redhat.com>
26793
26794         userspec: add unit tests
26795         * tests/test-userspec.c: New file.
26796         * modules/userspec-tests: Likewise.
26797
26798 2010-01-21  Jim Meyering  <meyering@redhat.com>
26799
26800         maint.mk: handle source file names containing "." robustly
26801         * top/maint.mk (_dot_escaped_srcdir): Define.
26802         (VC_LIST): Use it in LHS of sed substitution.
26803
26804 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
26805
26806         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
26807         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
26808         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
26809         from a non-srcdir build.
26810
26811 2010-01-20  Eric Blake  <ebb9@byu.net>
26812
26813         warn-on-use: use instead of link-warning
26814         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
26815         * modules/unistd (Depends-on, Makefile.am): Likewise.
26816         * modules/arpa_inet (Depends-on): Replace link-warning with
26817         warn-on-use.
26818         (Makefile.am): Update rules accordingly.
26819         * modules/ctype (Depends-on, Makefile.am): Likewise.
26820         * modules/dirent (Depends-on, Makefile.am): Likewise.
26821         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
26822         * modules/inttypes (Depends-on, Makefile.am): Likewise.
26823         * modules/langinfo (Depends-on, Makefile.am): Likewise.
26824         * modules/locale (Depends-on, Makefile.am): Likewise.
26825         * modules/math (Depends-on, Makefile.am): Likewise.
26826         * modules/search (Depends-on, Makefile.am): Likewise.
26827         * modules/signal (Depends-on, Makefile.am): Likewise.
26828         * modules/spawn (Depends-on, Makefile.am): Likewise.
26829         * modules/stdlib (Depends-on, Makefile.am): Likewise.
26830         * modules/string (Depends-on, Makefile.am): Likewise.
26831         * modules/strings (Depends-on, Makefile.am): Likewise.
26832         * modules/sys_file (Depends-on, Makefile.am): Likewise.
26833         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
26834         * modules/sys_select (Depends-on, Makefile.am): Likewise.
26835         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
26836         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
26837         * modules/sys_times (Depends-on, Makefile.am): Likewise.
26838         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
26839         * modules/wchar (Depends-on, Makefile.am): Likewise.
26840         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
26841         should be poisoned.
26842         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
26843         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
26844         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
26845         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
26846         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
26847         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
26848         * m4/math_h.m4 (gl_MATH_H): Likewise.
26849         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
26850         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
26851         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
26852         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
26853         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
26854         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
26855         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
26856         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
26857         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
26858         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
26859         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
26860         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
26861         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
26862         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
26863         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
26864         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
26865         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
26866         GL_LINK_WARNING.
26867         * lib/ctype.in.h: Likewise.
26868         * lib/dirent.in.h: Likewise.
26869         * lib/fcntl.in.h: Likewise.
26870         * lib/inttypes.in.h: Likewise.
26871         * lib/langinfo.in.h: Likewise.
26872         * lib/locale.in.h: Likewise.
26873         * lib/math.in.h: Likewise.
26874         * lib/search.in.h: Likewise.
26875         * lib/signal.in.h: Likewise.
26876         * lib/spawn.in.h: Likewise.
26877         * lib/stdio.in.h: Likewise.
26878         * lib/stdlib.in.h: Likewise.
26879         * lib/string.in.h: Likewise.
26880         * lib/strings.in.h: Likewise.
26881         * lib/sys_file.in.h: Likewise.
26882         * lib/sys_ioctl.in.h: Likewise.
26883         * lib/sys_select.in.h: Likewise.
26884         * lib/sys_socket.in.h: Likewise.
26885         * lib/sys_stat.in.h: Likewise.
26886         * lib/sys_times.in.h: Likewise.
26887         * lib/sys_utsname.in.h: Likewise.
26888         * lib/unistd.in.h: Likewise.
26889         * lib/wchar.in.h: Likewise.
26890
26891 2010-01-20  Bruno Haible  <bruno@clisp.org>
26892
26893         Avoid duplicate -lm.
26894         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
26895         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
26896         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
26897         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
26898         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
26899         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
26900         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
26901         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
26902         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
26903         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
26904         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
26905         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
26906         Reported by Paolo Bonzini.
26907
26908 2010-01-19  Bruno Haible  <bruno@clisp.org>
26909
26910         langinfo, nl_langinfo: Relicense under LGPLv2+.
26911         * modules/langinfo (License): Change to LGPLv2+.
26912         * modules/nl_langinfo (License): Likewise.
26913         Patch by David Lutterkort <lutter@redhat.com>.
26914
26915 2010-01-19  Bruno Haible  <bruno@clisp.org>
26916
26917         Avoid compilation error with cc on OSF/1 5.1.
26918         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
26919         statement, not before.
26920         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
26921
26922 2010-01-18  Bruno Haible  <bruno@clisp.org>
26923
26924         Avoid a link error due to the __printf__ symbol.
26925         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
26926         and 2.6.x.
26927         (__format__, __printf__): Remove definitions.
26928         * lib/argp-fmtstream.h: Likewise.
26929         * lib/argp.h: Likewise.
26930         * lib/error.h: Likewise.
26931         * lib/vasnprintf.h: Likewise.
26932         * lib/xprintf.h: Likewise.
26933         * lib/xvasprintf.h: Likewise.
26934         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
26935
26936 2010-01-18  Bruno Haible  <bruno@clisp.org>
26937
26938         Tests for module 'tanl'.
26939         * modules/tanl-tests: New file.
26940         * tests/test-tanl.c: New file.
26941
26942         Tests for module 'sqrtl'.
26943         * modules/sqrtl-tests: New file.
26944         * tests/test-sqrtl.c: New file.
26945
26946         Tests for module 'sinl'.
26947         * modules/sinl-tests: New file.
26948         * tests/test-sinl.c: New file.
26949
26950         Tests for module 'logl'.
26951         * modules/logl-tests: New file.
26952         * tests/test-logl.c: New file.
26953
26954         Tests for module 'expl'.
26955         * modules/expl-tests: New file.
26956         * tests/test-expl.c: New file.
26957
26958         Tests for module 'cosl'.
26959         * modules/cosl-tests: New file.
26960         * tests/test-cosl.c: New file.
26961
26962         Tests for module 'atanl'.
26963         * modules/atanl-tests: New file.
26964         * tests/test-atanl.c: New file.
26965
26966         Tests for module 'asinl'.
26967         * modules/asinl-tests: New file.
26968         * tests/test-asinl.c: New file.
26969
26970         Tests for module 'acosl'.
26971         * modules/acosl-tests: New file.
26972         * tests/test-acosl.c: New file.
26973
26974         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
26975         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
26976         tanl): Use the standard gnulib idiom.
26977         * lib/cosl.c: Don't include trigl.c and sincosl.c.
26978         * lib/sinl.c: Likewise.
26979         * lib/tanl.c: Don't include trigl.c.
26980         (kernel_tanl): Make static.
26981         * lib/sincosl.c: Include trigl.h first.
26982         * lib/trigl.c: Likewise.
26983         * m4/acosl.m4: New file.
26984         * m4/asinl.m4: New file.
26985         * m4/atanl.m4: New file.
26986         * m4/cosl.m4: New file.
26987         * m4/expl.m4: New file.
26988         * m4/logl.m4: New file.
26989         * m4/sinl.m4: New file.
26990         * m4/sqrtl.m4: New file.
26991         * m4/tanl.m4: New file.
26992         * m4/mathl.m4: Remove file.
26993         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
26994         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
26995         Don't initialize GNULIB_MATHL.
26996         * modules/acosl: New file.
26997         * modules/asinl: New file.
26998         * modules/atanl: New file.
26999         * modules/cosl: New file.
27000         * modules/expl: New file.
27001         * modules/logl: New file.
27002         * modules/sinl: New file.
27003         * modules/sqrtl: New file.
27004         * modules/tanl: New file.
27005         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
27006         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
27007         substitute GNULIB_MATHL.
27008         * modules/mathl: Rewritten.
27009         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
27010         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
27011         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
27012         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
27013         * doc/posix-functions/expl.texi: Mention the 'expl' module.
27014         * doc/posix-functions/logl.texi: Mention the 'logl' module.
27015         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
27016         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
27017         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
27018
27019 2010-01-18  Bruno Haible  <bruno@clisp.org>
27020
27021         sqrt: Make gl_FUNC_SQRT requirable.
27022         * m4/sqrt.m4: New file.
27023         * modules/sqrt (Files): Add it.
27024         (configure.ac): Invoke gl_FUNC_SQRT.
27025
27026 2010-01-18  Bruno Haible  <bruno@clisp.org>
27027
27028         New modules for common <math.h> functions.
27029         * m4/mathfunc.m4: New file.
27030         * modules/acos: New file.
27031         * modules/asin: New file.
27032         * modules/atan: New file.
27033         * modules/atan2: New file.
27034         * modules/cbrt: New file.
27035         * modules/copysign: New file.
27036         * modules/cos: New file.
27037         * modules/cosh: New file.
27038         * modules/erf: New file.
27039         * modules/erfc: New file.
27040         * modules/exp: New file.
27041         * modules/fabs: New file.
27042         * modules/fmod: New file.
27043         * modules/hypot: New file.
27044         * modules/j0: New file.
27045         * modules/j1: New file.
27046         * modules/jn: New file.
27047         * modules/ldexp: New file.
27048         * modules/lgamma: New file.
27049         * modules/log: New file.
27050         * modules/log10: New file.
27051         * modules/log1p: New file.
27052         * modules/logb: New file.
27053         * modules/modf: New file.
27054         * modules/nextafter: New file.
27055         * modules/pow: New file.
27056         * modules/remainder: New file.
27057         * modules/rint: New file.
27058         * modules/sin: New file.
27059         * modules/sinh: New file.
27060         * modules/sqrt: New file.
27061         * modules/tan: New file.
27062         * modules/tanh: New file.
27063         * modules/y0: New file.
27064         * modules/y1: New file.
27065         * modules/yn: New file.
27066         * doc/posix-functions/acos.texi: Mention the 'acos' module.
27067         * doc/posix-functions/asin.texi: Mention the 'asin' module.
27068         * doc/posix-functions/atan.texi: Mention the 'atan' module.
27069         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
27070         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
27071         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
27072         * doc/posix-functions/cos.texi: Mention the 'cos' module.
27073         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
27074         * doc/posix-functions/erf.texi: Mention the 'erf' module.
27075         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
27076         * doc/posix-functions/exp.texi: Mention the 'exp' module.
27077         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
27078         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
27079         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
27080         * doc/posix-functions/j0.texi: Mention the 'j0' module.
27081         * doc/posix-functions/j1.texi: Mention the 'j1' module.
27082         * doc/posix-functions/jn.texi: Mention the 'jn' module.
27083         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
27084         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
27085         * doc/posix-functions/log.texi: Mention the 'log' module.
27086         * doc/posix-functions/log10.texi: Mention the 'log10' module.
27087         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
27088         * doc/posix-functions/logb.texi: Mention the 'logb' module.
27089         * doc/posix-functions/modf.texi: Mention the 'modf' module.
27090         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
27091         * doc/posix-functions/pow.texi: Mention the 'pow' module.
27092         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
27093         * doc/posix-functions/rint.texi: Mention the 'rint' module.
27094         * doc/posix-functions/sin.texi: Mention the 'sin' module.
27095         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
27096         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
27097         * doc/posix-functions/tan.texi: Mention the 'tan' module.
27098         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
27099         * doc/posix-functions/y0.texi: Mention the 'y0' module.
27100         * doc/posix-functions/y1.texi: Mention the 'y1' module.
27101         * doc/posix-functions/yn.texi: Mention the 'yn' module.
27102
27103 2010-01-18  Jim Meyering  <meyering@redhat.com>
27104
27105         ignore-value: relax license to LGPLv2+
27106         * modules/ignore-value (License): Relax to LGPLv2+.
27107
27108         getdate: don't leak when TZ contains two or more '"'s
27109         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
27110         double quote in TZ after the first one.
27111
27112         readtokens: do not leak internal token_lengths buffer
27113         * lib/readtokens.c (readtokens): Free the local, lengths,
27114         when the supplied "token_lengths" parameter is NULL.
27115
27116 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27117
27118         Fix a couple of missing LIBTHREAD link failures on AIX.
27119         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
27120         $(LIBTHREAD).
27121         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
27122
27123         Link test-poll against INET_PTON_LIB.
27124         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
27125         for inet_pton on Solaris 10.
27126
27127 2010-01-17  Bruno Haible  <bruno@clisp.org>
27128
27129         unistdio/*-sprintf: Fix typo in module description.
27130         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
27131         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
27132         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
27133         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
27134         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
27135         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
27136         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
27137         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27138
27139 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27140
27141         gnulib-tool: fix filelist for AIX, HP-UX ksh.
27142         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
27143         variables in shell case patterns, for AIX and HP-UX ksh.
27144
27145         Split large sed scripts, for HP-UX sed.
27146         * modules/stdio: Split sed scripts around 50 sed commands,
27147         to avoid HP-UX limit of 99 commands, in the near future.
27148         * modules/string: Likewise.
27149         * modules/unistd: Likewise.
27150
27151         gnulib-tool: avoid writing in the current directory.
27152         * gnulib-tool (func_emit_lib_Makefile_am)
27153         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
27154         not in the current directory, so concurrent gnulib-tool
27155         instances do not interfere.
27156
27157 2010-01-16  Jim Meyering  <meyering@redhat.com>
27158
27159         doc: update users.txt
27160         * users.txt: Add grep.
27161         (diffutils, gzip): Update URLs.
27162
27163 2010-01-12  Bruno Haible  <bruno@clisp.org>
27164
27165         posix_spawn: Avoid test failure on Cygwin.
27166         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
27167         characters.
27168         Reported by Simon Josefsson.
27169
27170 2010-01-12  Bruno Haible  <bruno@clisp.org>
27171
27172         * tests/test-cond.c (main): When skipping the test, show the reason.
27173
27174 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27175
27176         * lib/striconv.c (str_cd_iconv): Avoid if before free.
27177
27178 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27179
27180         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
27181         VC_LIST_ALWAYS_EXCLUDE_REGEX.
27182
27183 2010-01-12  Eric Blake  <ebb9@byu.net>
27184
27185         build: guarantee AS_VAR_IF
27186         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
27187         (gl_AS_VAR_IF): Move...
27188         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
27189         Reported by Simon Josefsson.
27190
27191 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27192
27193         * lib/stdio.in.h: Fix typo.
27194
27195 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27196
27197         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
27198         libgpg-error.
27199
27200 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27201
27202         * tests/test-xalloc-die.sh: Use $EXEEXT.
27203
27204 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27205             Bruno Haible  <bruno@clisp.org>
27206
27207         getlogin, getlogin_r: Avoid test failure.
27208         * tests/test-getlogin.c: Include <stdio.h>.
27209         (main): Skip the test when the function fails because stdin is not a
27210         tty.
27211         * tests/test-getlogin_r.c: Include <stdio.h>.
27212         (main): Skip the test when the function fails because stdin is not a
27213         tty.
27214
27215 2010-01-11  Eric Blake  <ebb9@byu.net>
27216
27217         tests: avoid more large file warnings
27218         * tests/test-fflush.c: Avoid warning about ftell use.
27219         * tests/test-fseek.c: Avoid warning about fseek use.
27220
27221 2010-01-10  Bruno Haible  <bruno@clisp.org>
27222
27223         nproc: Work better on Linux when /proc and /sys are not mounted.
27224         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
27225         as lower bound when, on glibc/Linux systems,
27226         sysconf (_SC_NPROCESSORS_CONF) returns 1.
27227         Suggested by Pádraig Brady <P@draigbrady.com>.
27228         Reported by Dmitry V. Levin <ldv@altlinux.org>.
27229
27230         nproc: Refactor.
27231         * lib/nproc.c (num_processors_via_affinity_mask): New function,
27232         extracted from num_processors.
27233         (num_processors): Call it.
27234
27235 2010-01-11  Jim Meyering  <meyering@redhat.com>
27236
27237         utimecmp: avoid new warning from upcoming gcc-4.5.0
27238         * lib/utimecmp.c (BILLION): Define using #define rather than an
27239         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
27240
27241 2010-01-11  Eric Blake  <ebb9@byu.net>
27242
27243         math: add portability warnings for classification macros
27244         * modules/math (Depends-on): Add warn-on-use.
27245         (Makefile.am): Provide new substitutions.
27246         * m4/math_h.m4 (gl_MATH_H): Require inline.
27247         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
27248         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
27249         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
27250         implement warnings.
27251
27252         unistd: warn on use of environ without module
27253         * modules/unistd (Depends-on): Add warn-on-use.
27254         (Makefile.am): Provide new substitutions.
27255         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
27256         * lib/unistd.in.h (environ): Wrap with a warning helper function.
27257
27258         stdio: warn on suspicious uses
27259         * modules/stdio (Depends-on): Add warn-on-use.
27260         (Makefile.am): Provide new substitutions.
27261         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
27262         fseeko.
27263         * lib/stdio.in.h (gets): Always warn on use.
27264         (fseek, ftell): Adjust when warnings are issued, and honor
27265         _GL_NO_LARGE_FILES as a way to silence the warning.
27266         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
27267         any warning about large file offsets.
27268         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
27269         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
27270         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
27271         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
27272         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
27273         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
27274         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
27275         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
27276
27277         warn-on-use: new module
27278         * modules/warn-on-use: New file.
27279         * build-aux/warn-on-use.h: Likewise.
27280         * m4/warn-on-use.m4: Likewise.
27281         * MODULES.html.sh (Support for building): Mention it.
27282
27283 2010-01-10  Bruno Haible  <bruno@clisp.org>
27284
27285         Tests for module 'unistr/u32-strdup'.
27286         * modules/unistr/u32-strdup-tests: New file.
27287         * tests/unistr/test-u32-strdup.c: New file.
27288
27289         Tests for module 'unistr/u16-strdup'.
27290         * modules/unistr/u16-strdup-tests: New file.
27291         * tests/unistr/test-u16-strdup.c: New file.
27292
27293         Tests for module 'unistr/u8-strdup'.
27294         * modules/unistr/u8-strdup-tests: New file.
27295         * tests/unistr/test-u8-strdup.c: New file.
27296         * tests/unistr/test-strdup.h: New file.
27297
27298         Tests for module 'unistr/u32-strncmp'.
27299         * modules/unistr/u32-strncmp-tests: New file.
27300         * tests/unistr/test-u32-strncmp.c: New file.
27301
27302         Tests for module 'unistr/u16-strncmp'.
27303         * modules/unistr/u16-strncmp-tests: New file.
27304         * tests/unistr/test-u16-strncmp.c: New file.
27305
27306         Tests for module 'unistr/u8-strncmp'.
27307         * modules/unistr/u8-strncmp-tests: New file.
27308         * tests/unistr/test-u8-strncmp.c: New file.
27309         * tests/unistr/test-strncmp.h: New file.
27310
27311         Tests for module 'unistr/u32-strcoll'.
27312         * modules/unistr/u32-strcoll-tests: New file.
27313         * tests/unistr/test-u32-strcoll.c: New file.
27314
27315         Tests for module 'unistr/u16-strcoll'.
27316         * modules/unistr/u16-strcoll-tests: New file.
27317         * tests/unistr/test-u16-strcoll.c: New file.
27318
27319         Tests for module 'unistr/u8-strcoll'.
27320         * modules/unistr/u8-strcoll-tests: New file.
27321         * tests/unistr/test-u8-strcoll.c: New file.
27322
27323         Tests for module 'unistr/u32-strcmp'.
27324         * modules/unistr/u32-strcmp-tests: New file.
27325         * tests/unistr/test-u32-strcmp.c: New file.
27326         * tests/unistr/test-u32-strcmp.h: New file.
27327
27328         Tests for module 'unistr/u16-strcmp'.
27329         * modules/unistr/u16-strcmp-tests: New file.
27330         * tests/unistr/test-u16-strcmp.c: New file.
27331         * tests/unistr/test-u16-strcmp.h: New file.
27332
27333         Tests for module 'unistr/u8-strcmp'.
27334         * modules/unistr/u8-strcmp-tests: New file.
27335         * tests/unistr/test-u8-strcmp.c: New file.
27336         * tests/unistr/test-u8-strcmp.h: New file.
27337         * tests/unistr/test-strcmp.h: New file.
27338
27339         Tests for module 'unistr/u32-strncat'.
27340         * modules/unistr/u32-strncat-tests: New file.
27341         * tests/unistr/test-u32-strncat.c: New file.
27342
27343         Tests for module 'unistr/u16-strncat'.
27344         * modules/unistr/u16-strncat-tests: New file.
27345         * tests/unistr/test-u16-strncat.c: New file.
27346
27347         Tests for module 'unistr/u8-strncat'.
27348         * modules/unistr/u8-strncat-tests: New file.
27349         * tests/unistr/test-u8-strncat.c: New file.
27350         * tests/unistr/test-strncat.h: New file.
27351
27352         Tests for module 'unistr/u32-strcat'.
27353         * modules/unistr/u32-strcat-tests: New file.
27354         * tests/unistr/test-u32-strcat.c: New file.
27355
27356         Tests for module 'unistr/u16-strcat'.
27357         * modules/unistr/u16-strcat-tests: New file.
27358         * tests/unistr/test-u16-strcat.c: New file.
27359
27360         Tests for module 'unistr/u8-strcat'.
27361         * modules/unistr/u8-strcat-tests: New file.
27362         * tests/unistr/test-u8-strcat.c: New file.
27363         * tests/unistr/test-strcat.h: New file.
27364
27365         Tests for module 'unistr/u32-stpncpy'.
27366         * modules/unistr/u32-stpncpy-tests: New file.
27367         * tests/unistr/test-u32-stpncpy.c: New file.
27368
27369         Tests for module 'unistr/u16-stpncpy'.
27370         * modules/unistr/u16-stpncpy-tests: New file.
27371         * tests/unistr/test-u16-stpncpy.c: New file.
27372
27373         Tests for module 'unistr/u8-stpncpy'.
27374         * modules/unistr/u8-stpncpy-tests: New file.
27375         * tests/unistr/test-u8-stpncpy.c: New file.
27376         * tests/unistr/test-stpncpy.h: New file.
27377
27378         Tests for module 'unistr/u32-strncpy'.
27379         * modules/unistr/u32-strncpy-tests: New file.
27380         * tests/unistr/test-u32-strncpy.c: New file.
27381
27382         Tests for module 'unistr/u16-strncpy'.
27383         * modules/unistr/u16-strncpy-tests: New file.
27384         * tests/unistr/test-u16-strncpy.c: New file.
27385
27386         Tests for module 'unistr/u8-strncpy'.
27387         * modules/unistr/u8-strncpy-tests: New file.
27388         * tests/unistr/test-u8-strncpy.c: New file.
27389         * tests/unistr/test-strncpy.h: New file.
27390
27391         Tests for module 'unistr/u32-stpcpy'.
27392         * modules/unistr/u32-stpcpy-tests: New file.
27393         * tests/unistr/test-u32-stpcpy.c: New file.
27394
27395         Tests for module 'unistr/u16-stpcpy'.
27396         * modules/unistr/u16-stpcpy-tests: New file.
27397         * tests/unistr/test-u16-stpcpy.c: New file.
27398
27399         Tests for module 'unistr/u8-stpcpy'.
27400         * modules/unistr/u8-stpcpy-tests: New file.
27401         * tests/unistr/test-u8-stpcpy.c: New file.
27402         * tests/unistr/test-stpcpy.h: New file.
27403
27404         Tests for module 'unistr/u32-strcpy'.
27405         * modules/unistr/u32-strcpy-tests: New file.
27406         * tests/unistr/test-u32-strcpy.c: New file.
27407
27408         Tests for module 'unistr/u16-strcpy'.
27409         * modules/unistr/u16-strcpy-tests: New file.
27410         * tests/unistr/test-u16-strcpy.c: New file.
27411
27412         Tests for module 'unistr/u8-strcpy'.
27413         * modules/unistr/u8-strcpy-tests: New file.
27414         * tests/unistr/test-u8-strcpy.c: New file.
27415         * tests/unistr/test-strcpy.h: New file.
27416
27417         Tests for module 'unistr/u32-strnlen'.
27418         * modules/unistr/u32-strnlen-tests: New file.
27419         * tests/unistr/test-u32-strnlen.c: New file.
27420
27421         Tests for module 'unistr/u16-strnlen'.
27422         * modules/unistr/u16-strnlen-tests: New file.
27423         * tests/unistr/test-u16-strnlen.c: New file.
27424
27425         Tests for module 'unistr/u8-strnlen'.
27426         * modules/unistr/u8-strnlen-tests: New file.
27427         * tests/unistr/test-u8-strnlen.c: New file.
27428         * tests/unistr/test-strnlen.h: New file.
27429
27430         Tests for module 'unistr/u32-strlen'.
27431         * modules/unistr/u32-strlen-tests: New file.
27432         * tests/unistr/test-u32-strlen.c: New file.
27433
27434         Tests for module 'unistr/u16-strlen'.
27435         * modules/unistr/u16-strlen-tests: New file.
27436         * tests/unistr/test-u16-strlen.c: New file.
27437
27438         Tests for module 'unistr/u8-strlen'.
27439         * modules/unistr/u8-strlen-tests: New file.
27440         * tests/unistr/test-u8-strlen.c: New file.
27441
27442         Tests for module 'unistr/u32-prev'.
27443         * modules/unistr/u32-prev-tests: New file.
27444         * tests/unistr/test-u32-prev.c: New file.
27445
27446         Tests for module 'unistr/u16-prev'.
27447         * modules/unistr/u16-prev-tests: New file.
27448         * tests/unistr/test-u16-prev.c: New file.
27449
27450         Tests for module 'unistr/u8-prev'.
27451         * modules/unistr/u8-prev-tests: New file.
27452         * tests/unistr/test-u8-prev.c: New file.
27453
27454         Tests for module 'unistr/u32-next'.
27455         * modules/unistr/u32-next-tests: New file.
27456         * tests/unistr/test-u32-next.c: New file.
27457
27458         Tests for module 'unistr/u16-next'.
27459         * modules/unistr/u16-next-tests: New file.
27460         * tests/unistr/test-u16-next.c: New file.
27461
27462         Tests for module 'unistr/u8-next'.
27463         * modules/unistr/u8-next-tests: New file.
27464         * tests/unistr/test-u8-next.c: New file.
27465
27466         Tests for module 'unistr/u32-strmbtouc'.
27467         * modules/unistr/u32-strmbtouc-tests: New file.
27468         * tests/unistr/test-u32-strmbtouc.c: New file.
27469
27470         Tests for module 'unistr/u16-strmbtouc'.
27471         * modules/unistr/u16-strmbtouc-tests: New file.
27472         * tests/unistr/test-u16-strmbtouc.c: New file.
27473
27474         Tests for module 'unistr/u8-strmbtouc'.
27475         * modules/unistr/u8-strmbtouc-tests: New file.
27476         * tests/unistr/test-u8-strmbtouc.c: New file.
27477
27478         Tests for module 'unistr/u32-strmblen'.
27479         * modules/unistr/u32-strmblen-tests: New file.
27480         * tests/unistr/test-u32-strmblen.c: New file.
27481
27482         Tests for module 'unistr/u16-strmblen'.
27483         * modules/unistr/u16-strmblen-tests: New file.
27484         * tests/unistr/test-u16-strmblen.c: New file.
27485
27486         Tests for module 'unistr/u8-strmblen'.
27487         * modules/unistr/u8-strmblen-tests: New file.
27488         * tests/unistr/test-u8-strmblen.c: New file.
27489
27490         Tests for module 'unistr/u32-cpy-alloc'.
27491         * modules/unistr/u32-cpy-alloc-tests: New file.
27492         * tests/unistr/test-u32-cpy-alloc.c: New file.
27493
27494         Tests for module 'unistr/u16-cpy-alloc'.
27495         * modules/unistr/u16-cpy-alloc-tests: New file.
27496         * tests/unistr/test-u16-cpy-alloc.c: New file.
27497
27498         Tests for module 'unistr/u8-cpy-alloc'.
27499         * modules/unistr/u8-cpy-alloc-tests: New file.
27500         * tests/unistr/test-u8-cpy-alloc.c: New file.
27501         * tests/unistr/test-cpy-alloc.h: New file.
27502
27503         Tests for module 'unistr/u32-mbsnlen'.
27504         * modules/unistr/u32-mbsnlen-tests: New file.
27505         * tests/unistr/test-u32-mbsnlen.c: New file.
27506
27507         Tests for module 'unistr/u16-mbsnlen'.
27508         * modules/unistr/u16-mbsnlen-tests: New file.
27509         * tests/unistr/test-u16-mbsnlen.c: New file.
27510
27511         Tests for module 'unistr/u8-mbsnlen'.
27512         * modules/unistr/u8-mbsnlen-tests: New file.
27513         * tests/unistr/test-u8-mbsnlen.c: New file.
27514
27515         Tests for module 'unistr/u32-chr'.
27516         * modules/unistr/u32-chr-tests: New file.
27517         * tests/unistr/test-u32-chr.c: New file.
27518
27519         Tests for module 'unistr/u16-chr'.
27520         * modules/unistr/u16-chr-tests: New file.
27521         * tests/unistr/test-u16-chr.c: New file.
27522
27523         Tests for module 'unistr/u8-chr'.
27524         * modules/unistr/u8-chr-tests: New file.
27525         * tests/unistr/test-u8-chr.c: New file.
27526         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
27527
27528         Tests for module 'unistr/u32-cmp2'.
27529         * modules/unistr/u32-cmp2-tests: New file.
27530         * tests/unistr/test-u32-cmp2.c: New file.
27531
27532         Tests for module 'unistr/u16-cmp2'.
27533         * modules/unistr/u16-cmp2-tests: New file.
27534         * tests/unistr/test-u16-cmp2.c: New file.
27535
27536         Tests for module 'unistr/u8-cmp2'.
27537         * modules/unistr/u8-cmp2-tests: New file.
27538         * tests/unistr/test-u8-cmp2.c: New file.
27539         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
27540
27541         Tests for module 'unistr/u32-cmp'.
27542         * modules/unistr/u32-cmp-tests: New file.
27543         * tests/unistr/test-u32-cmp.c: New file.
27544
27545         Tests for module 'unistr/u16-cmp'.
27546         * modules/unistr/u16-cmp-tests: New file.
27547         * tests/unistr/test-u16-cmp.c: New file.
27548
27549         Tests for module 'unistr/u8-cmp'.
27550         * modules/unistr/u8-cmp-tests: New file.
27551         * tests/unistr/test-u8-cmp.c: New file.
27552         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
27553
27554         Tests for module 'unistr/u32-set'.
27555         * modules/unistr/u32-set-tests: New file.
27556         * tests/unistr/test-u32-set.c: New file.
27557
27558         Tests for module 'unistr/u16-set'.
27559         * modules/unistr/u16-set-tests: New file.
27560         * tests/unistr/test-u16-set.c: New file.
27561
27562         Tests for module 'unistr/u8-set'.
27563         * modules/unistr/u8-set-tests: New file.
27564         * tests/unistr/test-u8-set.c: New file.
27565         * tests/unistr/test-set.h: New file.
27566
27567         Tests for module 'unistr/u32-move'.
27568         * modules/unistr/u32-move-tests: New file.
27569         * tests/unistr/test-u32-move.c: New file.
27570
27571         Tests for module 'unistr/u16-move'.
27572         * modules/unistr/u16-move-tests: New file.
27573         * tests/unistr/test-u16-move.c: New file.
27574
27575         Tests for module 'unistr/u8-move'.
27576         * modules/unistr/u8-move-tests: New file.
27577         * tests/unistr/test-u8-move.c: New file.
27578         * tests/unistr/test-move.h: New file.
27579
27580         Tests for module 'unistr/u32-cpy'.
27581         * modules/unistr/u32-cpy-tests: New file.
27582         * tests/unistr/test-u32-cpy.c: New file.
27583
27584         Tests for module 'unistr/u16-cpy'.
27585         * modules/unistr/u16-cpy-tests: New file.
27586         * tests/unistr/test-u16-cpy.c: New file.
27587
27588         Tests for module 'unistr/u8-cpy'.
27589         * modules/unistr/u8-cpy-tests: New file.
27590         * tests/unistr/test-u8-cpy.c: New file.
27591         * tests/unistr/test-cpy.h: New file.
27592
27593 2010-01-09  Bruno Haible  <bruno@clisp.org>
27594
27595         Tests for module 'unistr/u32-uctomb'.
27596         * modules/unistr/u32-uctomb-tests: New file.
27597         * tests/unistr/test-u32-uctomb.c: New file.
27598
27599         Tests for module 'unistr/u16-uctomb'.
27600         * modules/unistr/u16-uctomb-tests: New file.
27601         * tests/unistr/test-u16-uctomb.c: New file.
27602
27603         Tests for module 'unistr/u8-uctomb'.
27604         * modules/unistr/u8-uctomb-tests: New file.
27605         * tests/unistr/test-u8-uctomb.c: New file.
27606
27607         Tests for module 'unistr/u32-mbtoucr'.
27608         * modules/unistr/u32-mbtoucr-tests: New file.
27609         * tests/unistr/test-u32-mbtoucr.c: New file.
27610
27611         Tests for module 'unistr/u16-mbtoucr'.
27612         * modules/unistr/u16-mbtoucr-tests: New file.
27613         * tests/unistr/test-u16-mbtoucr.c: New file.
27614
27615         Tests for module 'unistr/u8-mbtoucr'.
27616         * modules/unistr/u8-mbtoucr-tests: New file.
27617         * tests/unistr/test-u8-mbtoucr.c: New file.
27618
27619         Tests for module 'unistr/u32-mbtouc'.
27620         * modules/unistr/u32-mbtouc-tests: New file.
27621         * tests/unistr/test-u32-mbtouc.c: New file.
27622
27623         Tests for module 'unistr/u16-mbtouc'.
27624         * modules/unistr/u16-mbtouc-tests: New file.
27625         * tests/unistr/test-u16-mbtouc.c: New file.
27626
27627         Tests for module 'unistr/u8-mbtouc'.
27628         * modules/unistr/u8-mbtouc-tests: New file.
27629         * tests/unistr/test-u8-mbtouc.c: New file.
27630
27631         Tests for module 'unistr/u32-mbtouc-unsafe'.
27632         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
27633         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
27634         * tests/unistr/test-u32-mbtouc.h: New file.
27635
27636         Tests for module 'unistr/u16-mbtouc-unsafe'.
27637         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
27638         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
27639         * tests/unistr/test-u16-mbtouc.h: New file.
27640
27641         Tests for module 'unistr/u8-mbtouc-unsafe'.
27642         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
27643         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
27644         * tests/unistr/test-u8-mbtouc.h: New file.
27645
27646         Tests for module 'unistr/u32-mblen'.
27647         * modules/unistr/u32-mblen-tests: New file.
27648         * tests/unistr/test-u32-mblen.c: New file.
27649
27650         Tests for module 'unistr/u16-mblen'.
27651         * modules/unistr/u16-mblen-tests: New file.
27652         * tests/unistr/test-u16-mblen.c: New file.
27653
27654         Tests for module 'unistr/u8-mblen'.
27655         * modules/unistr/u8-mblen-tests: New file.
27656         * tests/unistr/test-u8-mblen.c: New file.
27657
27658         Tests for module 'unistr/u32-to-u16'.
27659         * modules/unistr/u32-to-u16-tests: New file.
27660         * tests/unistr/test-u32-to-u16.c: New file.
27661
27662         Tests for module 'unistr/u32-to-u8'.
27663         * modules/unistr/u32-to-u8-tests: New file.
27664         * tests/unistr/test-u32-to-u8.c: New file.
27665
27666         Tests for module 'unistr/u16-to-u32'.
27667         * modules/unistr/u16-to-u32-tests: New file.
27668         * tests/unistr/test-u16-to-u32.c: New file.
27669
27670         Tests for module 'unistr/u16-to-u8'.
27671         * modules/unistr/u16-to-u8-tests: New file.
27672         * tests/unistr/test-u16-to-u8.c: New file.
27673
27674         Tests for module 'unistr/u8-to-u32'.
27675         * modules/unistr/u8-to-u32-tests: New file.
27676         * tests/unistr/test-u8-to-u32.c: New file.
27677
27678         Tests for module 'unistr/u8-to-u16'.
27679         * modules/unistr/u8-to-u16-tests: New file.
27680         * tests/unistr/test-u8-to-u16.c: New file.
27681
27682         Tests for module 'unistr/u32-check'.
27683         * modules/unistr/u32-check-tests: New file.
27684         * tests/unistr/test-u32-check.c: New file.
27685
27686         Tests for module 'unistr/u16-check'.
27687         * modules/unistr/u16-check-tests: New file.
27688         * tests/unistr/test-u16-check.c: New file.
27689
27690         Tests for module 'unistr/u8-check'.
27691         * modules/unistr/u8-check-tests: New file.
27692         * tests/unistr/test-u8-check.c: New file.
27693
27694         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
27695         (category_equals): New function.
27696         (main): Add more tests.
27697         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
27698
27699         * tests/unictype/test-bidi_byname.c (main): Add more tests.
27700
27701 2010-01-10  Bruno Haible  <bruno@clisp.org>
27702
27703         unistr/u*-strcoll: Try harder to distinguish different strings.
27704         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
27705         compare s1 and s2 to see if they are different.
27706
27707 2010-01-10  Bruno Haible  <bruno@clisp.org>
27708
27709         unistr/u*-stpncpy: Fix the return value.
27710         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
27711         description of the return value consistent with stpncpy in glibc.
27712         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
27713         written non-NUL unit.
27714
27715 2010-01-10  Bruno Haible  <bruno@clisp.org>
27716
27717         unistr/u*-next: Add missing dependencies.
27718         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
27719         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
27720         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
27721
27722 2010-01-10  Bruno Haible  <bruno@clisp.org>
27723
27724         unistr/u8-mbsnlen: Fix return value for incomplete character.
27725         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
27726         u8_mblen.
27727         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
27728         Remove unistr/u8-mblen.
27729         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
27730         u16_mblen.
27731         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
27732         Remove unistr/u16-mblen.
27733
27734 2010-01-10  Bruno Haible  <bruno@clisp.org>
27735
27736         wchar: Fix compilation error when <wchar.h> is used from coreutils.
27737         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
27738         Reported by Brian Gough <bjg@gnu.org> and
27739         Chris Clayton <chris2553@googlemail.com> via
27740         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
27741
27742 2010-01-09  Bruno Haible  <bruno@clisp.org>
27743
27744         unistr/u16-to-u32: Reject invalid input.
27745         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
27746         u16_mbtouc.
27747         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
27748         Remove unistr/u16-mbtouc.
27749
27750         unistr/u16-to-u8: Reject invalid input.
27751         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
27752         u16_mbtouc.
27753         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
27754         Remove unistr/u16-mbtouc.
27755
27756         unistr/u8-to-u32: Reject invalid input.
27757         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
27758         u8_mbtouc.
27759         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
27760         Remove unistr/u8-mbtouc.
27761
27762         unistr/u8-to-u16: Reject invalid input.
27763         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
27764         u8_mbtouc.
27765         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
27766         Remove unistr/u8-mbtouc.
27767
27768 2010-01-09  Bruno Haible  <bruno@clisp.org>
27769
27770         Tests for module 'getlogin'.
27771         * modules/getlogin-tests: New file.
27772         * tests/test-getlogin.c: New file.
27773
27774         New module 'getlogin'.
27775         * lib/unistd.in.h (getlogin): New declaration.
27776         * lib/getlogin.c: New file.
27777         * m4/getlogin.m4: New file.
27778         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
27779         HAVE_GETLOGIN.
27780         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
27781         HAVE_GETLOGIN.
27782         * modules/getlogin: New file.
27783         * doc/posix-functions/getlogin.texi: Mention the new module.
27784         Reported by John W. Eaton <jwe@gnu.org>.
27785
27786 2010-01-09  Bruno Haible  <bruno@clisp.org>
27787
27788         getlogin_r: Support for native Windows.
27789         * lib/getlogin_r.c: Include <windows.h>
27790         (getlogin_r): Implement for native Windows.
27791         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
27792         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
27793         via John W. Eaton <jwe@gnu.org>.
27794
27795 2010-01-09  Bruno Haible  <bruno@clisp.org>
27796
27797         getlogin_r: Small fixes.
27798         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
27799         succeeds.
27800         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
27801         before testing whether getlogin_r is declared. No need to set
27802         HAVE_DECL_GETLOGIN_R to 1.
27803         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
27804
27805 2010-01-09  Bruno Haible  <bruno@clisp.org>
27806
27807         * lib/unistd.in.h (getlogin_r): Add comment.
27808
27809 2010-01-09  Bruno Haible  <bruno@clisp.org>
27810
27811         Tests for module 'getlogin_r'.
27812         * modules/getlogin_r-tests: New file.
27813         * tests/test-getlogin_r.c: New file.
27814
27815 2010-01-09  Jim Meyering  <meyering@redhat.com>
27816
27817         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
27818         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
27819         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
27820
27821 2010-01-08  Simon Josefsson  <simon@josefsson.org>
27822
27823         * lib/dup2.c (rpl_dup2): Improve comment.
27824
27825 2010-01-08  Eric Blake  <ebb9@byu.net>
27826
27827         maint.mk: allow packages to add makefile @@ exceptions
27828         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
27829         (sc_makefile_check): Rename...
27830         (sc_makefile_at_at_check): ...to this, and use hook.
27831
27832         dup2: work around mingw bug
27833         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
27834         Reported by Simon Josefsson.
27835
27836 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
27837
27838         glob: Fix C++ compilation.
27839         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
27840         C++.
27841
27842 2010-01-07  Bruno Haible  <bruno@clisp.org>
27843
27844         Fix indentation of wctype.in.h, broken since 2007-01-06.
27845         * lib/wctype.in.h: Fix indentation of preprocessor directives.
27846
27847 2010-01-07  Bruno Haible  <bruno@clisp.org>
27848
27849         mbslen: Avoid collision with system function.
27850         * lib/string.in.h [MirBSD]: Include <wchar.h>.
27851         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
27852         * m4/mbslen.m4: New file.
27853         * modules/mbslen (Files): Add it.
27854         (configure.ac): Invoke gl_MBSLEN.
27855         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
27856         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
27857         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
27858         via Ian Beckwith <ianb@erislabs.net>.
27859
27860 2010-01-07  Bruno Haible  <bruno@clisp.org>
27861
27862         dirent: Document the last fix.
27863         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
27864
27865 2010-01-07  Bruno Haible  <bruno@clisp.org>
27866
27867         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
27868         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
27869         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
27870         va_list are defined.
27871         * doc/posix-headers/stdio.texi: Document the bug of missing types.
27872         Reported by Eric Blake.
27873
27874 2010-01-07  Bruno Haible  <bruno@clisp.org>
27875
27876         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
27877         * modules/xlist (Depends-on): Add 'list',
27878         * modules/xoset (Depends-on): Add 'oset'.
27879         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27880
27881 2010-01-07  Bruno Haible  <bruno@clisp.org>
27882
27883         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
27884         * doc/posix-functions/strncasecmp.texi: Likewise.
27885
27886 2010-01-07  Bruno Haible  <bruno@clisp.org>
27887
27888         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
27889
27890 2010-01-07  John W. Eaton  <jwe@octave.org>
27891
27892         wctype: allow C++ use
27893         * lib/wctype.in.h: Add extern "C" block for C++.
27894
27895 2010-01-06  Eric Blake  <ebb9@byu.net>
27896
27897         maint.mk: detect incorrect GFDL usage
27898         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
27899
27900 2010-01-06  Jim Meyering  <meyering@redhat.com>
27901         and Eric Blake  <ebb9@byu.net>
27902
27903         maint.mk: ignore multi-line copyright in NEWS
27904         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
27905
27906 2010-01-06  Eric Blake  <ebb9@byu.net>
27907
27908         select: add missing dependency
27909         * modules/select-tests (Depends-on): Move sockets dependency...
27910         * modules/select (Depends-on): ...here.
27911         Reported by Ian Beckwith.
27912
27913         doc: regenerate INSTALL
27914         * doc/INSTALL: Reflect recent autoconf update.
27915         * doc/INSTALL.ISO: Likewise.
27916         * doc/INSTALL.UTF-8: Likewise.
27917
27918         pread: fix compilation on glibc
27919         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
27920         Reported by Ralf Wildenhues.
27921
27922         dirent: fix test failure
27923         * lib/dirent.in.h (includes): Guarantee ino_t.
27924         Reported by Ralf Wildenhues.
27925
27926 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
27927
27928         linkat, renameat: avoid bad free
27929         * lib/at-func2.c (at_func2): Fix typo.
27930         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
27931
27932 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27933
27934         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
27935         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
27936         to avoid failure of symlink test later.
27937
27938 2010-01-06  Eric Blake  <ebb9@byu.net>
27939
27940         stdio, unistd: guarantee ssize_t
27941         * lib/unistd.in.h (includes): Ensure that types required by POSIX
27942         2008 are exposed when needed.
27943         * lib/stdio.in.h (includes): Likewise.
27944         Reported by Ralf Wildenhues.
27945
27946 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
27947
27948         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
27949         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
27950         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
27951
27952 2010-01-06  Jim Meyering  <meyering@redhat.com>
27953
27954         readtokens: this module *does* require xalloc.h
27955         It uses only functions that were omitted by the old syntax-check rule.
27956         * lib/readtokens.c: Include "xalloc.h" once again.
27957         * modules/readtokens (Depends-on): Add xalloc.
27958         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
27959
27960 2010-01-05  Eric Blake  <ebb9@byu.net>
27961
27962         maint: support 'make announcement' from a VPATH build
27963         * top/maint.mk (announcement): Look for correct NEWS file.
27964
27965 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
27966
27967         utimens (fdutimens): ignore a negative FD, per contract
27968         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
27969         when we have a valid file descriptor.  Otherwise, using a brand
27970         new glibc (with just-patched futimens that now fails with EBADF)
27971         would cause this function to fail with ENOSYS.
27972         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
27973         See also http://bugzilla.redhat.com/552320.
27974
27975 2010-01-05  Eric Blake  <ebb9@byu.net>
27976
27977         strcase: document what it provides
27978         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
27979         gnulib module.
27980         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
27981         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
27982
27983 2010-01-05  Jim Meyering  <meyering@redhat.com>
27984
27985         maint: remove useless inclusions of "xalloc.h"
27986         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
27987         * lib/readtokens.c: Likewise.
27988         * lib/same.c: Likewise.
27989         * modules/getloadavg (Depends-on): Remove xalloc.
27990         * modules/readtokens: Likewise.
27991         * modules/same: Likewise.
27992
27993         maint.mk: include 4 more function names in alloca.h-checking regexp
27994         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
27995         regexp.  Before, we would give a false-positive (saying alloca.h
27996         is included unnecessarily) when the only uses involved omitted symbols.
27997
27998         xalloc.h: use consistent formatting
27999         * lib/xalloc.h: Move declarations to start in the first column.
28000
28001 2010-01-05  Eric Blake  <ebb9@byu.net>
28002
28003         mkdir: avoid xalloc
28004         * lib/mkdir.c (includes): Drop unused header.
28005         Reported by John W. Eaton.
28006
28007 2010-01-04  Jim Meyering  <meyering@redhat.com>
28008
28009         nl_langinfo: avoid configure-time syntax error
28010         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
28011         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
28012         the empty string.  Don't let that provoke a shell syntax error.
28013
28014         regcomp, regexec, fnmatch: avoid array bounds read error
28015         * lib/regcomp.c (build_equiv_class): From glibc:
28016         Use only the low 24 bits of a findidx return value as an index
28017         into the weights array.  Patch by Ulrich Drepper:
28018         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
28019         * lib/regexec.c (check_node_accept_bytes): Likewise.
28020         * lib/fnmatch_loop.c (FCT): Likewise.
28021
28022         regcomp: skip collseq lookup when there are no rules
28023         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
28024         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
28025
28026         regcomp: recognize ill-formed { } expressions
28027         * lib/regcomp.c (parse_dup_op): From glibc:
28028         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
28029
28030         regcomp: fix typo in comment
28031         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
28032         s/satisfy/satisfies/.
28033
28034         regcomp: sync from glibc: remove dead store
28035         * lib/regcomp.c (duplicate_node_closure): Remove useless
28036         search_duplicated_node call and dead store.
28037
28038         regcomp: sync from glibc; always use nl_langinfo
28039         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
28040         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
28041         * modules/regex (Depends-on): Add nl_langinfo.
28042
28043 2010-01-04  Eric Blake  <ebb9@byu.net>
28044
28045         fdopendir: fix configure test
28046         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
28047
28048 2010-01-01  Bruno Haible  <bruno@clisp.org>
28049
28050         wchar: Remove unused configure check.
28051         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
28052
28053 2010-01-01  Eric Blake  <ebb9@byu.net>
28054
28055         headers: make check of system header explicit
28056         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
28057         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
28058         ourselves.
28059         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
28060         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
28061         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
28062         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
28063         internals.
28064         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
28065         missing.
28066         Suggested by Bruno Haible.
28067
28068 2010-01-01  Jim Meyering  <meyering@redhat.com>
28069
28070         ChangeLog: tweak to eliminate unnecessary copyright line
28071         * ChangeLog: Remove a copyright line that was mistakenly updated
28072         by today's update-copyright run.  Reported by Eric Blake.
28073
28074         test-update-copyright: don't let envvar setting cause test failure
28075         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
28076
28077 2010-01-01  Bruno Haible  <bruno@clisp.org>
28078
28079         localename: Avoid gcc warning.
28080         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
28081         function if it is not used.
28082
28083 2010-01-01  Jim Meyering  <meyering@redhat.com>
28084
28085         update nearly all FSF copyright year lists to include 2010
28086         Use the same procedure as for 2009, outlined in
28087         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
28088
28089         version-etc: set COPYRIGHT_YEAR to 2010
28090         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
28091
28092 2009-12-31  Eric Blake  <ebb9@byu.net>
28093
28094         doc: correct availability of cygwin 1.5.x getopt
28095         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
28096         variables.
28097         * doc/posix-functions/opterr.texi (opterr): Likewise.
28098         * doc/posix-functions/optind.texi (optind): Likewise.
28099         * doc/posix-functions/optopt.texi (optopt): Likewise.
28100         * doc/posix-functions/tzname.texi (tzname): Likewise.
28101
28102         openat: update maintainer
28103         * modules/openat (Maintainer): Add myself.
28104
28105         utimens: avoid shadowing warning
28106         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
28107         buffers into one, to avoid shadowing, as well as avoiding a
28108         redundant stat.
28109         Reported by Jim Meyering.
28110
28111         test-dup2: avoid compiler warning
28112         * tests/test-dup2.c (is_inheritable): Only define if used.
28113
28114 2010-01-01  Bruno Haible  <bruno@clisp.org>
28115
28116         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
28117         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
28118         defined, use wctomb instead of wcrtomb.
28119
28120 2010-01-01  Bruno Haible  <bruno@clisp.org>
28121
28122         iconv: Reject native Solaris iconv.
28123         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
28124         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
28125
28126 2009-12-31  Bruno Haible  <bruno@clisp.org>
28127
28128         * tests/test-signal.c (main): Remove test of 'SIG'.
28129
28130 2009-12-31  Bruno Haible  <bruno@clisp.org>
28131
28132         spawn: Fix incomplete fix.
28133         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
28134         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
28135         warnings for GNULIB_POSIXCHECK again.
28136         Reported by Eric Blake.
28137
28138 2009-12-31  Bruno Haible  <bruno@clisp.org>
28139
28140         Avoid namespace pollution on glibc systems.
28141         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
28142         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
28143         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
28144         glibc systems.
28145
28146 2009-12-31  Bruno Haible  <bruno@clisp.org>
28147
28148         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
28149         (gl_REPLACE_WCHAR_H): Turn into a no-op.
28150         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
28151         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
28152         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
28153         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
28154         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
28155
28156 2009-12-31  Bruno Haible  <bruno@clisp.org>
28157
28158         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
28159         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
28160         afterwards.
28161
28162 2009-12-31  Bruno Haible  <bruno@clisp.org>
28163
28164         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
28165         SYS_UTSNAME_H.
28166
28167 2009-12-31  Bruno Haible  <bruno@clisp.org>
28168
28169         spawn: Fix misapplied patch.
28170         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
28171         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
28172         warnings for GNULIB_POSIXCHECK.
28173
28174 2009-12-31  Bruno Haible  <bruno@clisp.org>
28175
28176         times: Update after sys_times changed.
28177         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
28178         * modules/times (Files): Add it.
28179         (configure.ac): Invoke gl_FUNC_TIMES.
28180
28181 2009-12-31  Bruno Haible  <bruno@clisp.org>
28182
28183         Use AC_C_INLINE where necessary.
28184         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
28185         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
28186         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
28187         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
28188         * m4/mbfile.m4 (gl_MBFILE): Likewise.
28189         * m4/mbiter.m4 (gl_MBITER): Likewise.
28190         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
28191         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
28192         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
28193         * modules/u64 (configure.ac): Likewise.
28194
28195 2009-12-31  Bruno Haible  <bruno@clisp.org>
28196
28197         Use AC_C_INLINE instead of module 'inline' where possible.
28198         * modules/inline (Description): Clarify purpose.
28199         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
28200         * modules/count-one-bits (Depends-on): Remove inline.
28201         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
28202         * modules/openat (Depends-on): Remove inline.
28203         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
28204         instead of depending on module 'inline'.
28205         * modules/filevercmp (Depends-on, configure.ac): Likewise.
28206         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
28207         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
28208         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
28209         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
28210         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
28211         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
28212         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
28213         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
28214         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
28215         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
28216         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
28217         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
28218         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
28219         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
28220         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
28221         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
28222         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
28223         Likewise.
28224         * modules/unictype/property-ascii-hex-digit (Depends-on,
28225         configure.ac): Likewise.
28226         * modules/unictype/property-bidi-arabic-digit (Depends-on,
28227         configure.ac): Likewise.
28228         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
28229         configure.ac): Likewise.
28230         * modules/unictype/property-bidi-block-separator (Depends-on,
28231         configure.ac): Likewise.
28232         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
28233         configure.ac): Likewise.
28234         * modules/unictype/property-bidi-common-separator (Depends-on,
28235         configure.ac): Likewise.
28236         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
28237         Likewise.
28238         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
28239         configure.ac): Likewise.
28240         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
28241         configure.ac): Likewise.
28242         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
28243         configure.ac): Likewise.
28244         * modules/unictype/property-bidi-european-digit (Depends-on,
28245         configure.ac): Likewise.
28246         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
28247         configure.ac): Likewise.
28248         * modules/unictype/property-bidi-left-to-right (Depends-on,
28249         configure.ac): Likewise.
28250         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
28251         configure.ac): Likewise.
28252         * modules/unictype/property-bidi-other-neutral (Depends-on,
28253         configure.ac): Likewise.
28254         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
28255         Likewise.
28256         * modules/unictype/property-bidi-segment-separator (Depends-on,
28257         configure.ac): Likewise.
28258         * modules/unictype/property-bidi-whitespace (Depends-on,
28259         configure.ac): Likewise.
28260         * modules/unictype/property-combining (Depends-on, configure.ac):
28261         Likewise.
28262         * modules/unictype/property-composite (Depends-on, configure.ac):
28263         Likewise.
28264         * modules/unictype/property-currency-symbol (Depends-on,
28265         configure.ac): Likewise.
28266         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
28267         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
28268         Likewise.
28269         * modules/unictype/property-default-ignorable-code-point (Depends-on,
28270         configure.ac): Likewise.
28271         * modules/unictype/property-deprecated (Depends-on, configure.ac):
28272         Likewise.
28273         * modules/unictype/property-diacritic (Depends-on, configure.ac):
28274         Likewise.
28275         * modules/unictype/property-extender (Depends-on, configure.ac):
28276         Likewise.
28277         * modules/unictype/property-format-control (Depends-on, configure.ac):
28278         Likewise.
28279         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
28280         Likewise.
28281         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
28282         Likewise.
28283         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
28284         Likewise.
28285         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
28286         Likewise.
28287         * modules/unictype/property-hyphen (Depends-on, configure.ac):
28288         Likewise.
28289         * modules/unictype/property-id-continue (Depends-on, configure.ac):
28290         Likewise.
28291         * modules/unictype/property-id-start (Depends-on, configure.ac):
28292         Likewise.
28293         * modules/unictype/property-ideographic (Depends-on, configure.ac):
28294         Likewise.
28295         * modules/unictype/property-ids-binary-operator (Depends-on,
28296         configure.ac): Likewise.
28297         * modules/unictype/property-ids-trinary-operator (Depends-on,
28298         configure.ac): Likewise.
28299         * modules/unictype/property-ignorable-control (Depends-on,
28300         configure.ac): Likewise.
28301         * modules/unictype/property-iso-control (Depends-on, configure.ac):
28302         Likewise.
28303         * modules/unictype/property-join-control (Depends-on, configure.ac):
28304         Likewise.
28305         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
28306         Likewise.
28307         * modules/unictype/property-line-separator (Depends-on, configure.ac):
28308         Likewise.
28309         * modules/unictype/property-logical-order-exception (Depends-on,
28310         configure.ac): Likewise.
28311         * modules/unictype/property-lowercase (Depends-on, configure.ac):
28312         Likewise.
28313         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
28314         * modules/unictype/property-non-break (Depends-on, configure.ac):
28315         Likewise.
28316         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
28317         Likewise.
28318         * modules/unictype/property-numeric (Depends-on, configure.ac):
28319         Likewise.
28320         * modules/unictype/property-other-alphabetic (Depends-on,
28321         configure.ac): Likewise.
28322         * modules/unictype/property-other-default-ignorable-code-point
28323         (Depends-on, configure.ac): Likewise.
28324         * modules/unictype/property-other-grapheme-extend (Depends-on,
28325         configure.ac): Likewise.
28326         * modules/unictype/property-other-id-continue (Depends-on,
28327         configure.ac): Likewise.
28328         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
28329         Likewise.
28330         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
28331         Likewise.
28332         * modules/unictype/property-other-math (Depends-on, configure.ac):
28333         Likewise.
28334         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
28335         Likewise.
28336         * modules/unictype/property-paired-punctuation (Depends-on,
28337         configure.ac): Likewise.
28338         * modules/unictype/property-paragraph-separator (Depends-on,
28339         configure.ac): Likewise.
28340         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
28341         Likewise.
28342         * modules/unictype/property-pattern-white-space (Depends-on,
28343         configure.ac): Likewise.
28344         * modules/unictype/property-private-use (Depends-on, configure.ac):
28345         Likewise.
28346         * modules/unictype/property-punctuation (Depends-on, configure.ac):
28347         Likewise.
28348         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
28349         Likewise.
28350         * modules/unictype/property-radical (Depends-on, configure.ac):
28351         Likewise.
28352         * modules/unictype/property-sentence-terminal (Depends-on,
28353         configure.ac): Likewise.
28354         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
28355         Likewise.
28356         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
28357         * modules/unictype/property-terminal-punctuation (Depends-on,
28358         configure.ac): Likewise.
28359         * modules/unictype/property-titlecase (Depends-on, configure.ac):
28360         Likewise.
28361         * modules/unictype/property-unassigned-code-value (Depends-on,
28362         configure.ac): Likewise.
28363         * modules/unictype/property-unified-ideograph (Depends-on,
28364         configure.ac): Likewise.
28365         * modules/unictype/property-uppercase (Depends-on, configure.ac):
28366         Likewise.
28367         * modules/unictype/property-variation-selector (Depends-on,
28368         configure.ac): Likewise.
28369         * modules/unictype/property-white-space (Depends-on, configure.ac):
28370         Likewise.
28371         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
28372         Likewise.
28373         * modules/unictype/property-xid-start (Depends-on, configure.ac):
28374         Likewise.
28375         * modules/unictype/property-zero-width (Depends-on, configure.ac):
28376         Likewise.
28377         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
28378         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
28379         Likewise.
28380
28381 2009-12-31  Bruno Haible  <bruno@clisp.org>
28382
28383         Remove unnecessary AC_C_INLINE invocation.
28384         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
28385         since 2009-08-21.
28386
28387 2009-12-31  Jim Meyering  <meyering@redhat.com>
28388
28389         maint.mk: don't require explicit gpg_key_ID in cfg.mk
28390         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
28391         With this change, we can all remove the gpg_key_ID = ... definition
28392         from our respective cfg.mk files.
28393
28394         maint.mk: create announcement template in ~/, not in /tmp
28395         * top/maint.mk (emit_upload_commands): Adjust.
28396         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
28397         Remove temporary file, .ci-msg.
28398
28399 2009-12-31  Eric Blake  <ebb9@byu.net>
28400
28401         link-warning: always build headers with link warnings
28402         * modules/arpa_inet (Makefile.am): Always build replacement
28403         header.
28404         * modules/ctype (Makefile.am): Likewise.
28405         * modules/dirent (Makefile.am): Likewise.
28406         * modules/inttypes (Makefile.am): Likewise.
28407         * modules/langinfo (Makefile.am): Likewise.
28408         * modules/locale (Makefile.am): Likewise.
28409         * modules/spawn (Makefile.am): Likewise.
28410         * modules/sys_file (Makefile.am): Likewise.
28411         * modules/sys_ioctl (Makefile.am): Likewise.
28412         * modules/sys_select (Makefile.am): Likewise.
28413         * modules/sys_socket (Makefile.am): Likewise.
28414         * modules/sys_times (Makefile.am): Likewise.
28415         * modules/sys_utsname (Makefile.am): Likewise.
28416         * modules/sys_wait (Makefile.am): Likewise.
28417         * modules/wchar (Makefile.am): Likewise.
28418         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
28419         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
28420         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
28421         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
28422         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
28423         Likewise.
28424         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
28425         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
28426         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
28427         Likewise.
28428         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
28429         Likewise.
28430         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
28431         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
28432         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
28433         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
28434         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
28435         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
28436         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
28437         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
28438         (gl_WCHAR_H_DEFAULTS): Likewise.
28439
28440 2009-12-31  Eric Blake  <ebb9@byu.net>
28441
28442         signal, spawn: use link warnings
28443         * lib/signal.in.h (sigset_t): Make unconditional.
28444         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
28445         (sigpending, sigprocmask, sigaction): Add link warnings.
28446         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
28447         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
28448         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
28449         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
28450         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
28451         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
28452         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
28453         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
28454         (posix_spawn_file_actions_destroy)
28455         (posix_spawn_file_actions_addopen)
28456         (posix_spawn_file_actions_addclose)
28457         (posix_spawn_file_actions_adddup2): Likewise.
28458         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
28459         * tests/test-signal.c (main): Enhance test.
28460
28461         spawn: improve wrapper support
28462         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
28463         (gl_SPAWN_H_DEFAULTS): New defaults.
28464         * modules/spawn (Makefile.am): Substitute them.
28465         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
28466         Only declare if missing or broken.
28467
28468         sys_times, sys_utsname: use include_next
28469         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
28470         header.
28471         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
28472         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
28473         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
28474         * modules/sys_times (Depends-on): Add include_next.
28475         (Makefile.am): Substitute additional values.
28476         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
28477         * lib/sys_times.in.h (includes): Include native header, if
28478         available.
28479         * lib/sys_utsname.in.h (includes): Likewise.
28480         * tests/test-sys_times.c (main): Enhance test.
28481
28482         fdutimensat: revert prior patch
28483         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
28484         utimens.h.
28485         Reported by Bruno Haible.
28486
28487 2009-12-30  Eric Blake  <ebb9@byu.net>
28488
28489         sys_wait: drop link-warning dependency
28490         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
28491         link-warning efforts.
28492         * lib/sys_wait.in.h: Likewise.
28493
28494         fdutimensat: remove bogus dependency
28495         * modules/fdutimensat (Depends-on): Drop inline.
28496
28497         unistd: fix typo
28498         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
28499
28500 2009-12-30  Bruno Haible  <bruno@clisp.org>
28501
28502         Fix compilation error with Solaris cc.
28503         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
28504         * lib/unicase/u16-is-invariant.c: Likewise.
28505         * lib/unicase/u32-is-invariant.c: Likewise.
28506         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
28507
28508 2009-12-30  Bruno Haible  <bruno@clisp.org>
28509
28510         Fix test crash.
28511         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
28512         locales.
28513         Reported by Simon Josefsson <simon@josefsson.org>.
28514
28515 2009-12-30  Bruno Haible  <bruno@clisp.org>
28516
28517         Fix compilation error on most platforms.
28518         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
28519         Reported by Simon Josefsson <simon@josefsson.org>
28520         and Nelson H. F. Beebe <beebe@math.utah.edu>.
28521
28522 2009-12-30  Eric Blake  <ebb9@byu.net>
28523
28524         futimens, utimensat: work around ntfs-3g bug
28525         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
28526         a ctime bug is present, and expand workaround to cover ntfs-3g.
28527         * lib/utimens.c (fdutimens, lutimens): Likewise.
28528         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
28529         (validate_timespec): Adjust return value.
28530         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
28531         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
28532         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
28533
28534 2009-12-29  Eric Blake  <ebb9@byu.net>
28535
28536         link-warning: make usage consistent
28537         * modules/ctype (Depends-on): Add link-warning.
28538         (Makefile.am): Update rules accordingly.
28539         * modules/langinfo (Depends-on, Makefile.am): Likewise.
28540         * modules/locale (Depends-on, Makefile.am): Likewise.
28541         * modules/sys_file (Makefile.am): Likewise.
28542         * modules/getopt-posix (Makefile.am): Delete unused link warning
28543         efforts.
28544         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
28545         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
28546         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
28547         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
28548
28549         stdio: remove unused variables
28550         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
28551         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
28552         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
28553
28554         tests: test more substitute headers
28555         * modules/ctype-tests: New file.
28556         * modules/dirent-tests: Likewise.
28557         * modules/spawn-tests: Likewise.
28558         * modules/sys_file-tests: Likewise.
28559         * modules/sys_ioctl-tests: Likewise.
28560         * modules/sys_wait-tests: Likewise.
28561         * tests/test-ctype.c: Likewise.
28562         * tests/test-dirent.c: Likewise.
28563         * tests/test-spawn.c: Likewise.
28564         * tests/test-sys_file.c: Likewise.
28565         * tests/test-sys_ioctl.c: Likewise.
28566         * tests/test-sys_wait.c: Likewise.
28567         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
28568         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
28569         whether or not flock is in use.
28570
28571         tests: remove License section from module
28572         * modules/arpa_inet-tests: Remove unneeded section.
28573         * modules/byteswap-tests: Likewise.
28574         * modules/ceilf-tests: Likewise.
28575         * modules/ceill-tests: Likewise.
28576         * modules/crypto/des-tests: Likewise.
28577         * modules/crypto/gc-arcfour-tests: Likewise.
28578         * modules/crypto/gc-arctwo-tests: Likewise.
28579         * modules/crypto/gc-des-tests: Likewise.
28580         * modules/crypto/gc-hmac-md5-tests: Likewise.
28581         * modules/crypto/gc-hmac-sha1-tests: Likewise.
28582         * modules/crypto/gc-md2-tests: Likewise.
28583         * modules/crypto/gc-md4-tests: Likewise.
28584         * modules/crypto/gc-md5-tests: Likewise.
28585         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
28586         * modules/crypto/gc-rijndael-tests: Likewise.
28587         * modules/crypto/gc-sha1-tests: Likewise.
28588         * modules/crypto/gc-tests: Likewise.
28589         * modules/crypto/md2-tests: Likewise.
28590         * modules/crypto/md4-tests: Likewise.
28591         * modules/fcntl-h-tests: Likewise.
28592         * modules/floorf-tests: Likewise.
28593         * modules/floorl-tests: Likewise.
28594         * modules/frexp-nolibm-tests: Likewise.
28595         * modules/frexp-tests: Likewise.
28596         * modules/frexpl-nolibm-tests: Likewise.
28597         * modules/frexpl-tests: Likewise.
28598         * modules/getaddrinfo-tests: Likewise.
28599         * modules/inttypes-tests: Likewise.
28600         * modules/isfinite-tests: Likewise.
28601         * modules/isinf-tests: Likewise.
28602         * modules/ldexpl-tests: Likewise.
28603         * modules/locale-tests: Likewise.
28604         * modules/math-tests: Likewise.
28605         * modules/netdb-tests: Likewise.
28606         * modules/netinet_in-tests: Likewise.
28607         * modules/printf-frexp-tests: Likewise.
28608         * modules/printf-frexpl-tests: Likewise.
28609         * modules/priv-set-tests: Likewise.
28610         * modules/random_r-tests: Likewise.
28611         * modules/round-tests: Likewise.
28612         * modules/roundf-tests: Likewise.
28613         * modules/roundl-tests: Likewise.
28614         * modules/search-tests: Likewise.
28615         * modules/select-tests: Likewise.
28616         * modules/signal-tests: Likewise.
28617         * modules/stdbool-tests: Likewise.
28618         * modules/stddef-tests: Likewise.
28619         * modules/stdint-tests: Likewise.
28620         * modules/stdio-tests: Likewise.
28621         * modules/stdlib-tests: Likewise.
28622         * modules/string-tests: Likewise.
28623         * modules/strings-tests: Likewise.
28624         * modules/sys_select-tests: Likewise.
28625         * modules/sys_socket-tests: Likewise.
28626         * modules/sys_stat-tests: Likewise.
28627         * modules/sys_time-tests: Likewise.
28628         * modules/sys_utsname-tests: Likewise.
28629         * modules/sysexits-tests: Likewise.
28630         * modules/time-tests: Likewise.
28631         * modules/trunc-tests: Likewise.
28632         * modules/truncf-tests: Likewise.
28633         * modules/truncl-tests: Likewise.
28634         * modules/tsearch-tests: Likewise.
28635         * modules/unistd-tests: Likewise.
28636         * modules/wchar-tests: Likewise.
28637         * modules/wctype-tests: Likewise.
28638
28639         tests: fix license on several tests
28640         * tests/test-des.c: Update to GPLv3+.
28641         * tests/test-flock.c: Likewise.
28642         * tests/test-fsync.c: Likewise.
28643         * tests/test-futimens.h: Likewise.
28644         * tests/test-gc-arcfour.c: Likewise.
28645         * tests/test-gc-arctwo.c: Likewise.
28646         * tests/test-gc-des.c: Likewise.
28647         * tests/test-gc-hmac-md5.c: Likewise.
28648         * tests/test-gc-hmac-sha1.c: Likewise.
28649         * tests/test-gc-md2.c: Likewise.
28650         * tests/test-gc-md4.c: Likewise.
28651         * tests/test-gc-md5.c: Likewise.
28652         * tests/test-gc-pbkdf2-sha1.c: Likewise.
28653         * tests/test-gc-rijndael.c: Likewise.
28654         * tests/test-gc-sha1.c: Likewise.
28655         * tests/test-gc.c: Likewise.
28656         * tests/test-getcwd.c: Likewise.
28657         * tests/test-link.c: Likewise.
28658         * tests/test-link.h: Likewise.
28659         * tests/test-lutimens.h: Likewise.
28660         * tests/test-md2.c: Likewise.
28661         * tests/test-md4.c: Likewise.
28662         * tests/test-mkdir.h: Likewise.
28663         * tests/test-rename.c: Likewise.
28664         * tests/test-rename.h: Likewise.
28665         * tests/test-safe-alloc.c: Likewise.
28666         * tests/test-utimens-common.h: Likewise.
28667         * tests/test-utimens.h: Likewise.
28668
28669         maint: sync license texts
28670         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
28671         * doc/gpl-3.0.texi: Revert copyright year update.
28672         * doc/lgpl-3.0.texi: Likewise.
28673
28674 2009-12-29  Jim Meyering  <meyering@redhat.com>
28675
28676         update nearly all FSF copyright year lists to include 2009
28677         The files named by the following are exempted:
28678             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
28679               test -f "$dst" && { echo "$dst"; continue; }
28680               test -d "$dst" || continue
28681               echo "$dst"/$(basename "$src")
28682             done > exempt
28683             git ls-files tests/unictype >> exempt
28684         In the remaining files, convert to all-interval notation if
28685         - there is already at least one year interval like 2000-2003
28686         - the file is maintained by me
28687         - the file is in lib/uni*/, where that style already prevails
28688         Otherwise, use update-copyright's default.
28689
28690 2009-12-29  Simon Josefsson  <simon@josefsson.org>
28691         and Eric Blake  <ebb9@byu.net>
28692
28693         tests: don't require debug system() to pass
28694         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
28695         * tests/test-rmdir.h (test_rmdir_func): Likewise.
28696         * tests/test-unlink.h (test_unlink_func): Likewise.
28697         * tests/test-fstatat.c (main): ...into callers.
28698         * tests/test-lstat.c (main): Likewise.
28699         * tests/test-rmdir.c (main): Likewise.
28700         * tests/test-unlink.c (main): Likewise.
28701         * tests/test-unlinkat.c (main): Likewise.
28702         * tests/test-areadlink-with-size.c (main): Don't require a
28703         debug-only system call to pass, aiding cross-testing to mingw.
28704         * tests/test-areadlink.c (main): Likewise.
28705         * tests/test-areadlinkat-with-size.c (main): Likewise.
28706         * tests/test-areadlinkat.c (main): Likewise.
28707         * tests/test-canonicalize-lgpl.c (main): Likewise.
28708         * tests/test-canonicalize.c (main): Likewise.
28709         * tests/test-chown.c (main): Likewise.
28710         * tests/test-fchownat.c (main): Likewise.
28711         * tests/test-lchown.c (main): Likewise.
28712         * tests/test-fdutimensat.c (main): Likewise.
28713         * tests/test-futimens.c (main): Likewise.
28714         * tests/test-link.c (main): Likewise.
28715         * tests/test-linkat.c (main): Likewise.
28716         * tests/test-mkdir.c (main): Likewise.
28717         * tests/test-mkdirat.c (main): Likewise.
28718         * tests/test-mkfifo.c (main): Likewise.
28719         * tests/test-mkfifoat.c (main): Likewise.
28720         * tests/test-mknod.c (main): Likewise.
28721         * tests/test-readlink.c (main): Likewise.
28722         * tests/test-remove.c (main): Likewise.
28723         * tests/test-rename.c (main): Likewise.
28724         * tests/test-renameat.c (main): Likewise.
28725         * tests/test-symlink.c (main): Likewise.
28726         * tests/test-symlinkat.c (main): Likewise.
28727         * tests/test-utimens.c (main): Likewise.
28728         * tests/test-utimensat.c (main): Likewise.
28729
28730 2009-12-29  Simon Josefsson  <simon@josefsson.org>
28731
28732         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
28733         on $(UNUSED_PARAMETER_H) to avoid build failure.
28734
28735 2009-12-28  Jim Meyering  <meyering@redhat.com>
28736
28737         update-copyright: you may specify a max. line length other than 72
28738         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
28739
28740         maint: use consistent FSF copyright line syntax
28741         * lib/posixtm.c: Add missing comma in FSF copyright line.
28742         * lib/posixtm.h: Likewise.
28743         * lib/getugroups.c: Add missing ", Inc.".
28744
28745         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
28746         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
28747         FSF copyright line.  Remove trailing blanks.
28748
28749 2009-12-28  Eric Blake  <ebb9@byu.net>
28750
28751         test-dup2: reduce dependencies
28752         * modules/cloexec (Configure.ac): Set witness.
28753         * modules/dup2-tests (Depends-on): Drop cloexec.
28754         * tests/test-dup2.c (main): Skip portion of test if cloexec module
28755         not present.
28756         Suggested by Bruno Haible.
28757
28758 2009-12-26  Bruno Haible  <bruno@clisp.org>
28759
28760         Remove an unneeded dependency.
28761         * modules/fseterr (Depends-on): Remove dup2.
28762
28763 2009-12-26  Eric Blake  <ebb9@byu.net>
28764
28765         tests: use macros.h in more places
28766         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
28767         (ASSERT_STREAM): Provide default of stderr.
28768         * tests/test-dirent-safer.c: Include macros.h, using alternate
28769         stream for assertions.
28770         * tests/test-dup-safer.c: Likewise.
28771         * tests/test-freopen-safer.c: Likewise.
28772         * tests/test-getopt.c: Likewise.
28773         * tests/test-openat-safer.c: Likewise.
28774         * tests/test-pipe.c: Likewise.
28775         * tests/test-popen-safer.c: Likewise.
28776         * modules/dirent-safer-tests (Files): Include macros.h.
28777         * modules/unistd-safer-tests (Files): Likewise.
28778         * modules/freopen-safer-tests (Files): Likewise.
28779         * modules/getopt-posix-tests (Files): Likewise.
28780         * modules/openat-safer-tests (Files): Likewise.
28781         * modules/pipe-tests (Files): Likewise.
28782
28783 2009-12-26  Bruno Haible  <bruno@clisp.org>
28784
28785         javacomp: Portability fix.
28786         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
28787         that it also works on Solaris.
28788
28789 2009-12-26  Bruno Haible  <bruno@clisp.org>
28790
28791         localename: Fix storage allocation of gl_locale_name_thread's result.
28792         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
28793         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
28794         all platforms that have 'uselocale'.
28795         (gl_locale_name_thread_unsafe): New function, extracted from
28796         gl_locale_name_thread.
28797         (gl_locale_name_thread): Call struniq on all platforms that have
28798         'uselocale'.
28799         * tests/test-localename.c (test_locale_name_thread): Check that the
28800         resulting strings are permanently allocated.
28801         * modules/localename-tests (Depends-on): Add strdup.
28802
28803 2009-12-26  Bruno Haible  <bruno@clisp.org>
28804
28805         * tests/test-localename.c (categories): Fill in the strings.
28806
28807 2009-12-26  Jim Meyering  <meyering@redhat.com>
28808
28809         isdir: complete the removal of m4/isdir.m4
28810         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
28811
28812         isdir: clean up, since at least grep still uses it
28813         * lib/isdir.c: Include "isdir.h".
28814         (S_ISDIR): Remove now-unneeded definition.
28815         * modules/isdir (Files): Add lib/isdir.h.
28816         * lib/isdir.h: New file, with declaration.
28817         * m4/isdir.m4: Remove file -- unneeded.
28818
28819 2009-12-25  Bruno Haible  <bruno@clisp.org>
28820
28821         selinux-h: Make generated .h files standalone.
28822         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
28823         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
28824         * lib/se-selinux.in.h: Likewise.
28825         * modules/selinux-h (Depends-on): Add unused-parameter.
28826         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
28827         selinux/selinux.h and selinux/context.h.
28828         Suggested by Eric Blake.
28829
28830 2009-12-25  Bruno Haible  <bruno@clisp.org>
28831
28832         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
28833         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
28834         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
28835         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
28836         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
28837
28838 2009-12-24  Bruno Haible  <bruno@clisp.org>
28839
28840         openat: Fix warning.
28841         * lib/openat-proc.c: Include <unistd.h>.
28842
28843 2009-12-24  Bruno Haible  <bruno@clisp.org>
28844
28845         New module 'unused-parameter'.
28846         * build-aux/unused-parameter.h: New file, extracted from earlier
28847         gnulib-common.m4.
28848         * modules/unused-parameter: New file.
28849         * lib/unistr.h: Include unused-parameter.h.
28850         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
28851         _GL_UNUSED.
28852         * modules/unistr/base (Depends-on): Add unused-parameter.
28853
28854 2009-12-24  Bruno Haible  <bruno@clisp.org>
28855
28856         Add missing dependencies to 'extensions' module.
28857         * m4/extensions.m4: Add comment.
28858         * modules/accept4 (Depends-on): Add extensions.
28859         * modules/dup3 (Depends-on): Likewise.
28860         * modules/fcntl (Depends-on): Likewise.
28861         * modules/futimens (Depends-on): Likewise.
28862         * modules/mknod (Depends-on): Likewise.
28863         * modules/pipe2 (Depends-on): Likewise.
28864         * modules/stat-time (Depends-on): Likewise.
28865         * modules/strcasestr-simple (Depends-on): Likewise.
28866         * modules/strsignal (Depends-on): Likewise.
28867         * modules/utimensat (Depends-on): Likewise.
28868         * modules/localcharset (Depends-on): Likewise. Needed because of
28869         gl_FCNTL_O_FLAGS.
28870         * modules/wcrtomb (Depends-on): Likewise. Needed because of
28871         AC_TYPE_MBSTATE_T.
28872         * modules/wcsnrtombs (Depends-on): Likewise.
28873         * modules/wcsrtombs (Depends-on): Likewise.
28874
28875 2009-12-24  Bruno Haible  <bruno@clisp.org>
28876
28877         binary-io: Avoid gcc warning due to SET_BINARY.
28878         * lib/binary-io.h (SET_BINARY): Cast the result to void.
28879         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
28880
28881 2009-12-24  Bruno Haible  <bruno@clisp.org>
28882
28883         Avoid future namespace pollution on glibc systems.
28884         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
28885         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
28886         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
28887         glibc systems.
28888
28889 2009-12-24  Bruno Haible  <bruno@clisp.org>
28890
28891         Refactor common macros used in tests.
28892         * tests/macros.h: New file.
28893         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
28894         and/or <stdlib.h>, if appropriate.
28895         (ASSERT, SIZEOF): Remove macros.
28896         * tests/test-areadlink-with-size.c: Likewise.
28897         * tests/test-areadlinkat.c: Likewise.
28898         * tests/test-areadlinkat-with-size.c: Likewise.
28899         * tests/test-argmatch.c: Likewise.
28900         * tests/test-argv-iter.c: Likewise.
28901         * tests/test-array-mergesort.c: Likewise.
28902         * tests/test-array_list.c: Likewise.
28903         * tests/test-array_oset.c: Likewise.
28904         * tests/test-avltree_list.c: Likewise.
28905         * tests/test-avltree_oset.c: Likewise.
28906         * tests/test-avltreehash_list.c: Likewise.
28907         * tests/test-base64.c: Likewise.
28908         * tests/test-binary-io.c: Likewise.
28909         * tests/test-bitrotate.c: Likewise.
28910         * tests/test-btowc.c: Likewise.
28911         * tests/test-byteswap.c: Likewise.
28912         * tests/test-c-ctype.c: Likewise.
28913         * tests/test-c-stack.c: Likewise.
28914         * tests/test-c-strcasecmp.c: Likewise.
28915         * tests/test-c-strcasestr.c: Likewise.
28916         * tests/test-c-strncasecmp.c: Likewise.
28917         * tests/test-c-strstr.c: Likewise.
28918         * tests/test-canonicalize-lgpl.c: Likewise.
28919         * tests/test-canonicalize.c: Likewise.
28920         * tests/test-carray_list.c: Likewise.
28921         * tests/test-ceilf1.c: Likewise.
28922         * tests/test-ceilf2.c: Likewise.
28923         * tests/test-ceill.c: Likewise.
28924         * tests/test-chown.c: Likewise.
28925         * tests/test-cloexec.c: Likewise.
28926         * tests/test-copy-acl.c: Likewise.
28927         * tests/test-copy-file.c: Likewise.
28928         * tests/test-count-one-bits.c: Likewise.
28929         * tests/test-dprintf-posix.c: Likewise.
28930         * tests/test-dup2.c: Likewise.
28931         * tests/test-dup3.c: Likewise.
28932         * tests/test-duplocale.c: Likewise.
28933         * tests/test-fbufmode.c: Likewise.
28934         * tests/test-fchdir.c: Likewise.
28935         * tests/test-fchownat.c: Likewise.
28936         * tests/test-fcntl-safer.c: Likewise.
28937         * tests/test-fcntl.c: Likewise.
28938         * tests/test-fdopendir.c: Likewise.
28939         * tests/test-fdutimensat.c: Likewise.
28940         * tests/test-fflush2.c: Likewise.
28941         * tests/test-file-has-acl.c: Likewise.
28942         * tests/test-filevercmp.c: Likewise.
28943         * tests/test-flock.c: Likewise.
28944         * tests/test-floorf1.c: Likewise.
28945         * tests/test-floorf2.c: Likewise.
28946         * tests/test-floorl.c: Likewise.
28947         * tests/test-fnmatch.c: Likewise.
28948         * tests/test-fopen.h: Likewise.
28949         * tests/test-fpending.c: Likewise.
28950         * tests/test-fprintf-posix.c: Likewise.
28951         * tests/test-fpurge.c: Likewise.
28952         * tests/test-freadable.c: Likewise.
28953         * tests/test-freadahead.c: Likewise.
28954         * tests/test-freading.c: Likewise.
28955         * tests/test-freadptr.c: Likewise.
28956         * tests/test-freadptr2.c: Likewise.
28957         * tests/test-freadseek.c: Likewise.
28958         * tests/test-freopen.c: Likewise.
28959         * tests/test-frexp.c: Likewise.
28960         * tests/test-frexpl.c: Likewise.
28961         * tests/test-fseek.c: Likewise.
28962         * tests/test-fseeko.c: Likewise.
28963         * tests/test-fstatat.c: Likewise.
28964         * tests/test-fstrcmp.c: Likewise.
28965         * tests/test-fsync.c: Likewise.
28966         * tests/test-ftell.c: Likewise.
28967         * tests/test-ftello.c: Likewise.
28968         * tests/test-func.c: Likewise.
28969         * tests/test-futimens.c: Likewise.
28970         * tests/test-fwritable.c: Likewise.
28971         * tests/test-fwriting.c: Likewise.
28972         * tests/test-getcwd.c: Likewise.
28973         * tests/test-getdate.c: Likewise.
28974         * tests/test-getdelim.c: Likewise.
28975         * tests/test-getdtablesize.c: Likewise.
28976         * tests/test-getgroups.c: Likewise.
28977         * tests/test-getline.c: Likewise.
28978         * tests/test-getndelim2.c: Likewise.
28979         * tests/test-glob.c: Likewise.
28980         * tests/test-hash.c: Likewise.
28981         * tests/test-i-ring.c: Likewise.
28982         * tests/test-iconv-utf.c: Likewise.
28983         * tests/test-iconv.c: Likewise.
28984         * tests/test-idpriv-drop.c: Likewise.
28985         * tests/test-idpriv-droptemp.c: Likewise.
28986         * tests/test-inet_ntop.c: Likewise.
28987         * tests/test-inet_pton.c: Likewise.
28988         * tests/test-isblank.c: Likewise.
28989         * tests/test-isfinite.c: Likewise.
28990         * tests/test-isinf.c: Likewise.
28991         * tests/test-isnan.c: Likewise.
28992         * tests/test-isnand.h: Likewise.
28993         * tests/test-isnanf.h: Likewise.
28994         * tests/test-isnanl.h: Likewise.
28995         * tests/test-lchown.c: Likewise.
28996         * tests/test-ldexpl.c: Likewise.
28997         * tests/test-link.c: Likewise.
28998         * tests/test-linkat.c: Likewise.
28999         * tests/test-linked_list.c: Likewise.
29000         * tests/test-linkedhash_list.c: Likewise.
29001         * tests/test-localename.c: Likewise.
29002         * tests/test-lseek.c: Likewise.
29003         * tests/test-lstat.c: Likewise.
29004         * tests/test-mbmemcasecmp.c: Likewise.
29005         * tests/test-mbmemcasecoll.c: Likewise.
29006         * tests/test-mbrtowc.c: Likewise.
29007         * tests/test-mbscasecmp.c: Likewise.
29008         * tests/test-mbscasestr1.c: Likewise.
29009         * tests/test-mbscasestr2.c: Likewise.
29010         * tests/test-mbscasestr3.c: Likewise.
29011         * tests/test-mbscasestr4.c: Likewise.
29012         * tests/test-mbschr.c: Likewise.
29013         * tests/test-mbscspn.c: Likewise.
29014         * tests/test-mbsinit.c: Likewise.
29015         * tests/test-mbsncasecmp.c: Likewise.
29016         * tests/test-mbsnrtowcs.c: Likewise.
29017         * tests/test-mbspbrk.c: Likewise.
29018         * tests/test-mbspcasecmp.c: Likewise.
29019         * tests/test-mbsrchr.c: Likewise.
29020         * tests/test-mbsrtowcs.c: Likewise.
29021         * tests/test-mbsspn.c: Likewise.
29022         * tests/test-mbsstr1.c: Likewise.
29023         * tests/test-mbsstr2.c: Likewise.
29024         * tests/test-mbsstr3.c: Likewise.
29025         * tests/test-memchr.c: Likewise.
29026         * tests/test-memchr2.c: Likewise.
29027         * tests/test-memcmp.c: Likewise.
29028         * tests/test-memmem.c: Likewise.
29029         * tests/test-memrchr.c: Likewise.
29030         * tests/test-mkdir.c: Likewise.
29031         * tests/test-mkdirat.c: Likewise.
29032         * tests/test-mkfifo.c: Likewise.
29033         * tests/test-mkfifoat.c: Likewise.
29034         * tests/test-mknod.c: Likewise.
29035         * tests/test-nanosleep.c: Likewise.
29036         * tests/test-nl_langinfo.c: Likewise.
29037         * tests/test-obstack-printf.c: Likewise.
29038         * tests/test-open.c: Likewise.
29039         * tests/test-openat.c: Likewise.
29040         * tests/test-pipe-filter-gi1.c: Likewise.
29041         * tests/test-pipe-filter-gi2-main.c: Likewise.
29042         * tests/test-pipe-filter-ii1.c: Likewise.
29043         * tests/test-pipe-filter-ii2-main.c: Likewise.
29044         * tests/test-pipe2.c: Likewise.
29045         * tests/test-popen.h: Likewise.
29046         * tests/test-posixtm.c: Likewise.
29047         * tests/test-pread.c: Likewise.
29048         * tests/test-printf-frexp.c: Likewise.
29049         * tests/test-printf-frexpl.c: Likewise.
29050         * tests/test-printf-posix.c: Likewise.
29051         * tests/test-priv-set.c: Likewise.
29052         * tests/test-quotearg.c: Likewise.
29053         * tests/test-random_r.c: Likewise.
29054         * tests/test-rawmemchr.c: Likewise.
29055         * tests/test-rbtree_list.c: Likewise.
29056         * tests/test-rbtree_oset.c: Likewise.
29057         * tests/test-rbtreehash_list.c: Likewise.
29058         * tests/test-readlink.c: Likewise.
29059         * tests/test-remove.c: Likewise.
29060         * tests/test-rename.c: Likewise.
29061         * tests/test-renameat.c: Likewise.
29062         * tests/test-rmdir.c: Likewise.
29063         * tests/test-round1.c: Likewise.
29064         * tests/test-roundf1.c: Likewise.
29065         * tests/test-roundl.c: Likewise.
29066         * tests/test-safe-alloc.c: Likewise.
29067         * tests/test-sameacls.c: Likewise.
29068         * tests/test-set-mode-acl.c: Likewise.
29069         * tests/test-setenv.c: Likewise.
29070         * tests/test-sigaction.c: Likewise.
29071         * tests/test-signbit.c: Likewise.
29072         * tests/test-sleep.c: Likewise.
29073         * tests/test-snprintf-posix.c: Likewise.
29074         * tests/test-snprintf.c: Likewise.
29075         * tests/test-sprintf-posix.c: Likewise.
29076         * tests/test-stat-time.c: Likewise.
29077         * tests/test-stat.c: Likewise.
29078         * tests/test-strcasestr.c: Likewise.
29079         * tests/test-strchrnul.c: Likewise.
29080         * tests/test-strerror.c: Likewise.
29081         * tests/test-striconv.c: Likewise.
29082         * tests/test-striconveh.c: Likewise.
29083         * tests/test-striconveha.c: Likewise.
29084         * tests/test-strsignal.c: Likewise.
29085         * tests/test-strstr.c: Likewise.
29086         * tests/test-strtod.c: Likewise.
29087         * tests/test-strverscmp.c: Likewise.
29088         * tests/test-symlink.c: Likewise.
29089         * tests/test-symlinkat.c: Likewise.
29090         * tests/test-trunc1.c: Likewise.
29091         * tests/test-trunc2.c: Likewise.
29092         * tests/test-truncf1.c: Likewise.
29093         * tests/test-truncf2.c: Likewise.
29094         * tests/test-truncl.c: Likewise.
29095         * tests/test-uname.c: Likewise.
29096         * tests/test-unlink.c: Likewise.
29097         * tests/test-unlinkat.c: Likewise.
29098         * tests/test-unsetenv.c: Likewise.
29099         * tests/test-usleep.c: Likewise.
29100         * tests/test-utimens.c: Likewise.
29101         * tests/test-utimensat.c: Likewise.
29102         * tests/test-vasnprintf-posix.c: Likewise.
29103         * tests/test-vasnprintf-posix2.c: Likewise.
29104         * tests/test-vasnprintf.c: Likewise.
29105         * tests/test-vasprintf-posix.c: Likewise.
29106         * tests/test-vasprintf.c: Likewise.
29107         * tests/test-vdprintf-posix.c: Likewise.
29108         * tests/test-vfprintf-posix.c: Likewise.
29109         * tests/test-vprintf-posix.c: Likewise.
29110         * tests/test-vsnprintf-posix.c: Likewise.
29111         * tests/test-vsnprintf.c: Likewise.
29112         * tests/test-vsprintf-posix.c: Likewise.
29113         * tests/test-wcrtomb.c: Likewise.
29114         * tests/test-wcsnrtombs.c: Likewise.
29115         * tests/test-wcsrtombs.c: Likewise.
29116         * tests/test-wctype.c: Likewise.
29117         * tests/test-wcwidth.c: Likewise.
29118         * tests/test-xfprintf-posix.c: Likewise.
29119         * tests/test-xmemdup0.c: Likewise.
29120         * tests/test-xprintf-posix.c: Likewise.
29121         * tests/test-xvasprintf.c: Likewise.
29122         * tests/unicase/test-locale-language.c: Likewise.
29123         * tests/unicase/test-mapping-part1.h: Likewise.
29124         * tests/unicase/test-predicate-part1.h: Likewise.
29125         * tests/unicase/test-u8-casecmp.c: Likewise.
29126         * tests/unicase/test-u8-casecoll.c: Likewise.
29127         * tests/unicase/test-u8-casefold.c: Likewise.
29128         * tests/unicase/test-u8-is-cased.c: Likewise.
29129         * tests/unicase/test-u8-is-casefolded.c: Likewise.
29130         * tests/unicase/test-u8-is-lowercase.c: Likewise.
29131         * tests/unicase/test-u8-is-titlecase.c: Likewise.
29132         * tests/unicase/test-u8-is-uppercase.c: Likewise.
29133         * tests/unicase/test-u8-tolower.c: Likewise.
29134         * tests/unicase/test-u8-totitle.c: Likewise.
29135         * tests/unicase/test-u8-toupper.c: Likewise.
29136         * tests/unicase/test-u16-casecmp.c: Likewise.
29137         * tests/unicase/test-u16-casecoll.c: Likewise.
29138         * tests/unicase/test-u16-casefold.c: Likewise.
29139         * tests/unicase/test-u16-is-cased.c: Likewise.
29140         * tests/unicase/test-u16-is-casefolded.c: Likewise.
29141         * tests/unicase/test-u16-is-lowercase.c: Likewise.
29142         * tests/unicase/test-u16-is-titlecase.c: Likewise.
29143         * tests/unicase/test-u16-is-uppercase.c: Likewise.
29144         * tests/unicase/test-u16-tolower.c: Likewise.
29145         * tests/unicase/test-u16-totitle.c: Likewise.
29146         * tests/unicase/test-u16-toupper.c: Likewise.
29147         * tests/unicase/test-u32-casecmp.c: Likewise.
29148         * tests/unicase/test-u32-casecoll.c: Likewise.
29149         * tests/unicase/test-u32-casefold.c: Likewise.
29150         * tests/unicase/test-u32-is-cased.c: Likewise.
29151         * tests/unicase/test-u32-is-casefolded.c: Likewise.
29152         * tests/unicase/test-u32-is-lowercase.c: Likewise.
29153         * tests/unicase/test-u32-is-titlecase.c: Likewise.
29154         * tests/unicase/test-u32-is-uppercase.c: Likewise.
29155         * tests/unicase/test-u32-tolower.c: Likewise.
29156         * tests/unicase/test-u32-totitle.c: Likewise.
29157         * tests/unicase/test-u32-toupper.c: Likewise.
29158         * tests/unicase/test-ulc-casecmp.c: Likewise.
29159         * tests/unicase/test-ulc-casecoll.c: Likewise.
29160         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
29161         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
29162         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
29163         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
29164         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
29165         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
29166         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
29167         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
29168         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
29169         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
29170         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
29171         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
29172         * tests/unictype/test-bidi_byname.c: Likewise.
29173         * tests/unictype/test-bidi_name.c: Likewise.
29174         * tests/unictype/test-bidi_of.c: Likewise.
29175         * tests/unictype/test-bidi_test.c: Likewise.
29176         * tests/unictype/test-block_list.c: Likewise.
29177         * tests/unictype/test-block_of.c: Likewise.
29178         * tests/unictype/test-block_test.c: Likewise.
29179         * tests/unictype/test-categ_and.c: Likewise.
29180         * tests/unictype/test-categ_and_not.c: Likewise.
29181         * tests/unictype/test-categ_byname.c: Likewise.
29182         * tests/unictype/test-categ_name.c: Likewise.
29183         * tests/unictype/test-categ_none.c: Likewise.
29184         * tests/unictype/test-categ_of.c: Likewise.
29185         * tests/unictype/test-categ_or.c: Likewise.
29186         * tests/unictype/test-categ_test_withtable.c: Likewise.
29187         * tests/unictype/test-combining.c: Likewise.
29188         * tests/unictype/test-decdigit.c: Likewise.
29189         * tests/unictype/test-digit.c: Likewise.
29190         * tests/unictype/test-mirror.c: Likewise.
29191         * tests/unictype/test-numeric.c: Likewise.
29192         * tests/unictype/test-pr_byname.c: Likewise.
29193         * tests/unictype/test-pr_test.c: Likewise.
29194         * tests/unictype/test-predicate-part1.h: Likewise.
29195         * tests/unictype/test-scripts.c: Likewise.
29196         * tests/unictype/test-sy_c_ident.c: Likewise.
29197         * tests/unictype/test-sy_java_ident.c: Likewise.
29198         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
29199         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
29200         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
29201         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
29202         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
29203         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
29204         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
29205         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
29206         * tests/uninorm/test-canonical-decomposition.c: Likewise.
29207         * tests/uninorm/test-compat-decomposition.c: Likewise.
29208         * tests/uninorm/test-composition.c: Likewise.
29209         * tests/uninorm/test-decomposing-form.c: Likewise.
29210         * tests/uninorm/test-decomposition.c: Likewise.
29211         * tests/uninorm/test-u8-nfc.c: Likewise.
29212         * tests/uninorm/test-u8-nfd.c: Likewise.
29213         * tests/uninorm/test-u8-nfkc.c: Likewise.
29214         * tests/uninorm/test-u8-nfkd.c: Likewise.
29215         * tests/uninorm/test-u8-normcmp.c: Likewise.
29216         * tests/uninorm/test-u8-normcoll.c: Likewise.
29217         * tests/uninorm/test-u16-nfc.c: Likewise.
29218         * tests/uninorm/test-u16-nfd.c: Likewise.
29219         * tests/uninorm/test-u16-nfkc.c: Likewise.
29220         * tests/uninorm/test-u16-nfkd.c: Likewise.
29221         * tests/uninorm/test-u16-normcmp.c: Likewise.
29222         * tests/uninorm/test-u16-normcoll.c: Likewise.
29223         * tests/uninorm/test-u32-nfc.c: Likewise.
29224         * tests/uninorm/test-u32-nfd.c: Likewise.
29225         * tests/uninorm/test-u32-nfkc.c: Likewise.
29226         * tests/uninorm/test-u32-nfkd.c: Likewise.
29227         * tests/uninorm/test-u32-normalize-big.c: Likewise.
29228         * tests/uninorm/test-u32-normcmp.c: Likewise.
29229         * tests/uninorm/test-u32-normcoll.c: Likewise.
29230         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
29231         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
29232         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
29233         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
29234         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
29235         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
29236         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
29237         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
29238         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
29239         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
29240         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
29241         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
29242         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
29243         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
29244         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
29245         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
29246         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
29247         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
29248         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
29249         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
29250         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
29251         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
29252         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
29253         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
29254         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
29255         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
29256         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
29257         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
29258         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
29259         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
29260         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
29261         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
29262         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
29263         * tests/uniwidth/test-u8-strwidth.c: Likewise.
29264         * tests/uniwidth/test-u8-width.c: Likewise.
29265         * tests/uniwidth/test-u16-strwidth.c: Likewise.
29266         * tests/uniwidth/test-u16-width.c: Likewise.
29267         * tests/uniwidth/test-u32-strwidth.c: Likewise.
29268         * tests/uniwidth/test-u32-width.c: Likewise.
29269         * tests/uniwidth/test-uc_width.c: Likewise.
29270         * tests/uniwidth/test-uc_width2.c: Likewise.
29271         * modules/acl-tests (Files): Add tests/macros.h.
29272         * modules/areadlink-tests (Files): Likewise.
29273         * modules/areadlink-with-size-tests (Files): Likewise.
29274         * modules/areadlinkat-tests (Files): Likewise.
29275         * modules/areadlinkat-with-size-tests (Files): Likewise.
29276         * modules/argmatch-tests (Files): Likewise.
29277         * modules/argv-iter-tests (Files): Likewise.
29278         * modules/array-list-tests (Files): Likewise.
29279         * modules/array-mergesort-tests (Files): Likewise.
29280         * modules/array-oset-tests (Files): Likewise.
29281         * modules/avltree-list-tests (Files): Likewise.
29282         * modules/avltree-oset-tests (Files): Likewise.
29283         * modules/avltreehash-list-tests (Files): Likewise.
29284         * modules/base64-tests (Files): Likewise.
29285         * modules/binary-io-tests (Files): Likewise.
29286         * modules/bitrotate-tests (Files): Likewise.
29287         * modules/btowc-tests (Files): Likewise.
29288         * modules/byteswap-tests (Files): Likewise.
29289         * modules/c-ctype-tests (Files): Likewise.
29290         * modules/c-stack-tests (Files): Likewise.
29291         * modules/c-strcase-tests (Files): Likewise.
29292         * modules/c-strcasestr-tests (Files): Likewise.
29293         * modules/c-strstr-tests (Files): Likewise.
29294         * modules/canonicalize-lgpl-tests (Files): Likewise.
29295         * modules/canonicalize-tests (Files): Likewise.
29296         * modules/carray-list-tests (Files): Likewise.
29297         * modules/ceilf-tests (Files): Likewise.
29298         * modules/ceill-tests (Files): Likewise.
29299         * modules/chown-tests (Files): Likewise.
29300         * modules/cloexec-tests (Files): Likewise.
29301         * modules/copy-file-tests (Files): Likewise.
29302         * modules/count-one-bits-tests (Files): Likewise.
29303         * modules/dprintf-posix-tests (Files): Likewise.
29304         * modules/dup2-tests (Files): Likewise.
29305         * modules/dup3-tests (Files): Likewise.
29306         * modules/duplocale-tests (Files): Likewise.
29307         * modules/fbufmode-tests (Files): Likewise.
29308         * modules/fchdir-tests (Files): Likewise.
29309         * modules/fcntl-safer-tests (Files): Likewise.
29310         * modules/fcntl-tests (Files): Likewise.
29311         * modules/fdopendir-tests (Files): Likewise.
29312         * modules/fdutimensat-tests (Files): Likewise.
29313         * modules/fflush-tests (Files): Likewise.
29314         * modules/filevercmp-tests (Files): Likewise.
29315         * modules/flock-tests (Files): Likewise.
29316         * modules/floorf-tests (Files): Likewise.
29317         * modules/floorl-tests (Files): Likewise.
29318         * modules/fnmatch-tests (Files): Likewise.
29319         * modules/fopen-safer-tests (Files): Likewise.
29320         * modules/fopen-tests (Files): Likewise.
29321         * modules/fpending-tests (Files): Likewise.
29322         * modules/fprintf-posix-tests (Files): Likewise.
29323         * modules/fpurge-tests (Files): Likewise.
29324         * modules/freadable-tests (Files): Likewise.
29325         * modules/freadahead-tests (Files): Likewise.
29326         * modules/freading-tests (Files): Likewise.
29327         * modules/freadptr-tests (Files): Likewise.
29328         * modules/freadseek-tests (Files): Likewise.
29329         * modules/freopen-tests (Files): Likewise.
29330         * modules/frexp-nolibm-tests (Files): Likewise.
29331         * modules/frexp-tests (Files): Likewise.
29332         * modules/frexpl-nolibm-tests (Files): Likewise.
29333         * modules/frexpl-tests (Files): Likewise.
29334         * modules/fseek-tests (Files): Likewise.
29335         * modules/fseeko-tests (Files): Likewise.
29336         * modules/fstrcmp-tests (Files): Likewise.
29337         * modules/fsync-tests (Files): Likewise.
29338         * modules/ftell-tests (Files): Likewise.
29339         * modules/ftello-tests (Files): Likewise.
29340         * modules/func-tests (Files): Likewise.
29341         * modules/futimens-tests (Files): Likewise.
29342         * modules/fwritable-tests (Files): Likewise.
29343         * modules/fwriting-tests (Files): Likewise.
29344         * modules/getcwd-tests (Files): Likewise.
29345         * modules/getdate-tests (Files): Likewise.
29346         * modules/getdelim-tests (Files): Likewise.
29347         * modules/getdtablesize-tests (Files): Likewise.
29348         * modules/getgroups-tests (Files): Likewise.
29349         * modules/getline-tests (Files): Likewise.
29350         * modules/getndelim2-tests (Files): Likewise.
29351         * modules/glob-tests (Files): Likewise.
29352         * modules/hash-tests (Files): Likewise.
29353         * modules/i-ring-tests (Files): Likewise.
29354         * modules/iconv-tests (Files): Likewise.
29355         * modules/iconv_open-utf-tests (Files): Likewise.
29356         * modules/idpriv-drop-tests (Files): Likewise.
29357         * modules/idpriv-droptemp-tests (Files): Likewise.
29358         * modules/inet_ntop-tests (Files): Likewise.
29359         * modules/inet_pton-tests (Files): Likewise.
29360         * modules/isblank-tests (Files): Likewise.
29361         * modules/isfinite-tests (Files): Likewise.
29362         * modules/isinf-tests (Files): Likewise.
29363         * modules/isnan-tests (Files): Likewise.
29364         * modules/isnand-nolibm-tests (Files): Likewise.
29365         * modules/isnand-tests (Files): Likewise.
29366         * modules/isnanf-nolibm-tests (Files): Likewise.
29367         * modules/isnanf-tests (Files): Likewise.
29368         * modules/isnanl-nolibm-tests (Files): Likewise.
29369         * modules/isnanl-tests (Files): Likewise.
29370         * modules/lchown-tests (Files): Likewise.
29371         * modules/ldexpl-tests (Files): Likewise.
29372         * modules/link-tests (Files): Likewise.
29373         * modules/linkat-tests (Files): Likewise.
29374         * modules/linked-list-tests (Files): Likewise.
29375         * modules/linkedhash-list-tests (Files): Likewise.
29376         * modules/localename-tests (Files): Likewise.
29377         * modules/lseek-tests (Files): Likewise.
29378         * modules/lstat-tests (Files): Likewise.
29379         * modules/mbmemcasecmp-tests (Files): Likewise.
29380         * modules/mbmemcasecoll-tests (Files): Likewise.
29381         * modules/mbrtowc-tests (Files): Likewise.
29382         * modules/mbscasecmp-tests (Files): Likewise.
29383         * modules/mbscasestr-tests (Files): Likewise.
29384         * modules/mbschr-tests (Files): Likewise.
29385         * modules/mbscspn-tests (Files): Likewise.
29386         * modules/mbsinit-tests (Files): Likewise.
29387         * modules/mbsncasecmp-tests (Files): Likewise.
29388         * modules/mbsnrtowcs-tests (Files): Likewise.
29389         * modules/mbspbrk-tests (Files): Likewise.
29390         * modules/mbspcasecmp-tests (Files): Likewise.
29391         * modules/mbsrchr-tests (Files): Likewise.
29392         * modules/mbsrtowcs-tests (Files): Likewise.
29393         * modules/mbsspn-tests (Files): Likewise.
29394         * modules/mbsstr-tests (Files): Likewise.
29395         * modules/memchr-tests (Files): Likewise.
29396         * modules/memchr2-tests (Files): Likewise.
29397         * modules/memcmp-tests (Files): Likewise.
29398         * modules/memmem-tests (Files): Likewise.
29399         * modules/memrchr-tests (Files): Likewise.
29400         * modules/mkdir-tests (Files): Likewise.
29401         * modules/mkfifo-tests (Files): Likewise.
29402         * modules/mkfifoat-tests (Files): Likewise.
29403         * modules/mknod-tests (Files): Likewise.
29404         * modules/nanosleep-tests (Files): Likewise.
29405         * modules/nl_langinfo-tests (Files): Likewise.
29406         * modules/obstack-printf-tests (Files): Likewise.
29407         * modules/open-tests (Files): Likewise.
29408         * modules/openat-tests (Files): Likewise.
29409         * modules/pipe-filter-gi-tests (Files): Likewise.
29410         * modules/pipe-filter-ii-tests (Files): Likewise.
29411         * modules/pipe2-tests (Files): Likewise.
29412         * modules/popen-safer-tests (Files): Likewise.
29413         * modules/popen-tests (Files): Likewise.
29414         * modules/posixtm-tests (Files): Likewise.
29415         * modules/pread-tests (Files): Likewise.
29416         * modules/printf-frexp-tests (Files): Likewise.
29417         * modules/printf-frexpl-tests (Files): Likewise.
29418         * modules/printf-posix-tests (Files): Likewise.
29419         * modules/priv-set-tests (Files): Likewise.
29420         * modules/quotearg-tests (Files): Likewise.
29421         * modules/random_r-tests (Files): Likewise.
29422         * modules/rawmemchr-tests (Files): Likewise.
29423         * modules/rbtree-list-tests (Files): Likewise.
29424         * modules/rbtree-oset-tests (Files): Likewise.
29425         * modules/rbtreehash-list-tests (Files): Likewise.
29426         * modules/readlink-tests (Files): Likewise.
29427         * modules/remove-tests (Files): Likewise.
29428         * modules/rename-tests (Files): Likewise.
29429         * modules/renameat-tests (Files): Likewise.
29430         * modules/rmdir-tests (Files): Likewise.
29431         * modules/round-tests (Files): Likewise.
29432         * modules/roundf-tests (Files): Likewise.
29433         * modules/roundl-tests (Files): Likewise.
29434         * modules/safe-alloc-tests (Files): Likewise.
29435         * modules/setenv-tests (Files): Likewise.
29436         * modules/sigaction-tests (Files): Likewise.
29437         * modules/signbit-tests (Files): Likewise.
29438         * modules/sleep-tests (Files): Likewise.
29439         * modules/snprintf-posix-tests (Files): Likewise.
29440         * modules/snprintf-tests (Files): Likewise.
29441         * modules/sprintf-posix-tests (Files): Likewise.
29442         * modules/stat-tests (Files): Likewise.
29443         * modules/stat-time-tests (Files): Likewise.
29444         * modules/strcasestr-tests (Files): Likewise.
29445         * modules/strchrnul-tests (Files): Likewise.
29446         * modules/strerror-tests (Files): Likewise.
29447         * modules/striconv-tests (Files): Likewise.
29448         * modules/striconveh-tests (Files): Likewise.
29449         * modules/striconveha-tests (Files): Likewise.
29450         * modules/strsignal-tests (Files): Likewise.
29451         * modules/strstr-tests (Files): Likewise.
29452         * modules/strtod-tests (Files): Likewise.
29453         * modules/strverscmp-tests (Files): Likewise.
29454         * modules/symlink-tests (Files): Likewise.
29455         * modules/symlinkat-tests (Files): Likewise.
29456         * modules/trunc-tests (Files): Likewise.
29457         * modules/truncf-tests (Files): Likewise.
29458         * modules/truncl-tests (Files): Likewise.
29459         * modules/uname-tests (Files): Likewise.
29460         * modules/unicase/cased-tests (Files): Likewise.
29461         * modules/unicase/ignorable-tests (Files): Likewise.
29462         * modules/unicase/locale-language-tests (Files): Likewise.
29463         * modules/unicase/tolower-tests (Files): Likewise.
29464         * modules/unicase/totitle-tests (Files): Likewise.
29465         * modules/unicase/toupper-tests (Files): Likewise.
29466         * modules/unicase/u8-casecmp-tests (Files): Likewise.
29467         * modules/unicase/u8-casecoll-tests (Files): Likewise.
29468         * modules/unicase/u8-casefold-tests (Files): Likewise.
29469         * modules/unicase/u8-is-cased-tests (Files): Likewise.
29470         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
29471         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
29472         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
29473         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
29474         * modules/unicase/u8-tolower-tests (Files): Likewise.
29475         * modules/unicase/u8-totitle-tests (Files): Likewise.
29476         * modules/unicase/u8-toupper-tests (Files): Likewise.
29477         * modules/unicase/u16-casecmp-tests (Files): Likewise.
29478         * modules/unicase/u16-casecoll-tests (Files): Likewise.
29479         * modules/unicase/u16-casefold-tests (Files): Likewise.
29480         * modules/unicase/u16-is-cased-tests (Files): Likewise.
29481         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
29482         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
29483         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
29484         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
29485         * modules/unicase/u16-tolower-tests (Files): Likewise.
29486         * modules/unicase/u16-totitle-tests (Files): Likewise.
29487         * modules/unicase/u16-toupper-tests (Files): Likewise.
29488         * modules/unicase/u32-casecmp-tests (Files): Likewise.
29489         * modules/unicase/u32-casecoll-tests (Files): Likewise.
29490         * modules/unicase/u32-casefold-tests (Files): Likewise.
29491         * modules/unicase/u32-is-cased-tests (Files): Likewise.
29492         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
29493         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
29494         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
29495         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
29496         * modules/unicase/u32-tolower-tests (Files): Likewise.
29497         * modules/unicase/u32-totitle-tests (Files): Likewise.
29498         * modules/unicase/u32-toupper-tests (Files): Likewise.
29499         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
29500         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
29501         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
29502         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
29503         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
29504         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
29505         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
29506         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
29507         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
29508         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
29509         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
29510         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
29511         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
29512         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
29513         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
29514         * modules/unictype/bidicategory-name-tests (Files): Likewise.
29515         * modules/unictype/bidicategory-of-tests (Files): Likewise.
29516         * modules/unictype/bidicategory-test-tests (Files): Likewise.
29517         * modules/unictype/block-list-tests (Files): Likewise.
29518         * modules/unictype/block-of-tests (Files): Likewise.
29519         * modules/unictype/block-test-tests (Files): Likewise.
29520         * modules/unictype/category-C-tests (Files): Likewise.
29521         * modules/unictype/category-Cc-tests (Files): Likewise.
29522         * modules/unictype/category-Cf-tests (Files): Likewise.
29523         * modules/unictype/category-Cn-tests (Files): Likewise.
29524         * modules/unictype/category-Co-tests (Files): Likewise.
29525         * modules/unictype/category-Cs-tests (Files): Likewise.
29526         * modules/unictype/category-L-tests (Files): Likewise.
29527         * modules/unictype/category-Ll-tests (Files): Likewise.
29528         * modules/unictype/category-Lm-tests (Files): Likewise.
29529         * modules/unictype/category-Lo-tests (Files): Likewise.
29530         * modules/unictype/category-Lt-tests (Files): Likewise.
29531         * modules/unictype/category-Lu-tests (Files): Likewise.
29532         * modules/unictype/category-M-tests (Files): Likewise.
29533         * modules/unictype/category-Mc-tests (Files): Likewise.
29534         * modules/unictype/category-Me-tests (Files): Likewise.
29535         * modules/unictype/category-Mn-tests (Files): Likewise.
29536         * modules/unictype/category-N-tests (Files): Likewise.
29537         * modules/unictype/category-Nd-tests (Files): Likewise.
29538         * modules/unictype/category-Nl-tests (Files): Likewise.
29539         * modules/unictype/category-No-tests (Files): Likewise.
29540         * modules/unictype/category-P-tests (Files): Likewise.
29541         * modules/unictype/category-Pc-tests (Files): Likewise.
29542         * modules/unictype/category-Pd-tests (Files): Likewise.
29543         * modules/unictype/category-Pe-tests (Files): Likewise.
29544         * modules/unictype/category-Pf-tests (Files): Likewise.
29545         * modules/unictype/category-Pi-tests (Files): Likewise.
29546         * modules/unictype/category-Po-tests (Files): Likewise.
29547         * modules/unictype/category-Ps-tests (Files): Likewise.
29548         * modules/unictype/category-S-tests (Files): Likewise.
29549         * modules/unictype/category-Sc-tests (Files): Likewise.
29550         * modules/unictype/category-Sk-tests (Files): Likewise.
29551         * modules/unictype/category-Sm-tests (Files): Likewise.
29552         * modules/unictype/category-So-tests (Files): Likewise.
29553         * modules/unictype/category-Z-tests (Files): Likewise.
29554         * modules/unictype/category-Zl-tests (Files): Likewise.
29555         * modules/unictype/category-Zp-tests (Files): Likewise.
29556         * modules/unictype/category-Zs-tests (Files): Likewise.
29557         * modules/unictype/category-and-not-tests (Files): Likewise.
29558         * modules/unictype/category-and-tests (Files): Likewise.
29559         * modules/unictype/category-byname-tests (Files): Likewise.
29560         * modules/unictype/category-name-tests (Files): Likewise.
29561         * modules/unictype/category-none-tests (Files): Likewise.
29562         * modules/unictype/category-of-tests (Files): Likewise.
29563         * modules/unictype/category-or-tests (Files): Likewise.
29564         * modules/unictype/category-test-withtable-tests (Files): Likewise.
29565         * modules/unictype/combining-class-tests (Files): Likewise.
29566         * modules/unictype/ctype-alnum-tests (Files): Likewise.
29567         * modules/unictype/ctype-alpha-tests (Files): Likewise.
29568         * modules/unictype/ctype-blank-tests (Files): Likewise.
29569         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
29570         * modules/unictype/ctype-digit-tests (Files): Likewise.
29571         * modules/unictype/ctype-graph-tests (Files): Likewise.
29572         * modules/unictype/ctype-lower-tests (Files): Likewise.
29573         * modules/unictype/ctype-print-tests (Files): Likewise.
29574         * modules/unictype/ctype-punct-tests (Files): Likewise.
29575         * modules/unictype/ctype-space-tests (Files): Likewise.
29576         * modules/unictype/ctype-upper-tests (Files): Likewise.
29577         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
29578         * modules/unictype/decimal-digit-tests (Files): Likewise.
29579         * modules/unictype/digit-tests (Files): Likewise.
29580         * modules/unictype/mirror-tests (Files): Likewise.
29581         * modules/unictype/numeric-tests (Files): Likewise.
29582         * modules/unictype/property-alphabetic-tests (Files): Likewise.
29583         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
29584         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
29585         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
29586         Likewise.
29587         * modules/unictype/property-bidi-block-separator-tests (Files):
29588         Likewise.
29589         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
29590         Likewise.
29591         * modules/unictype/property-bidi-common-separator-tests (Files):
29592         Likewise.
29593         * modules/unictype/property-bidi-control-tests (Files): Likewise.
29594         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
29595         Likewise.
29596         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
29597         Likewise.
29598         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
29599         Likewise.
29600         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
29601         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
29602         Likewise.
29603         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
29604         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
29605         Likewise.
29606         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
29607         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
29608         * modules/unictype/property-bidi-segment-separator-tests (Files):
29609         Likewise.
29610         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
29611         * modules/unictype/property-byname-tests (Files): Likewise.
29612         * modules/unictype/property-combining-tests (Files): Likewise.
29613         * modules/unictype/property-composite-tests (Files): Likewise.
29614         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
29615         * modules/unictype/property-dash-tests (Files): Likewise.
29616         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
29617         * modules/unictype/property-default-ignorable-code-point-tests (Files):
29618         Likewise.
29619         * modules/unictype/property-deprecated-tests (Files): Likewise.
29620         * modules/unictype/property-diacritic-tests (Files): Likewise.
29621         * modules/unictype/property-extender-tests (Files): Likewise.
29622         * modules/unictype/property-format-control-tests (Files): Likewise.
29623         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
29624         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
29625         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
29626         * modules/unictype/property-hex-digit-tests (Files): Likewise.
29627         * modules/unictype/property-hyphen-tests (Files): Likewise.
29628         * modules/unictype/property-id-continue-tests (Files): Likewise.
29629         * modules/unictype/property-id-start-tests (Files): Likewise.
29630         * modules/unictype/property-ideographic-tests (Files): Likewise.
29631         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
29632         * modules/unictype/property-ids-trinary-operator-tests (Files):
29633         Likewise.
29634         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
29635         * modules/unictype/property-iso-control-tests (Files): Likewise.
29636         * modules/unictype/property-join-control-tests (Files): Likewise.
29637         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
29638         * modules/unictype/property-line-separator-tests (Files): Likewise.
29639         * modules/unictype/property-logical-order-exception-tests (Files):
29640         Likewise.
29641         * modules/unictype/property-lowercase-tests (Files): Likewise.
29642         * modules/unictype/property-math-tests (Files): Likewise.
29643         * modules/unictype/property-non-break-tests (Files): Likewise.
29644         * modules/unictype/property-not-a-character-tests (Files): Likewise.
29645         * modules/unictype/property-numeric-tests (Files): Likewise.
29646         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
29647         * modules/unictype/property-other-default-ignorable-code-point-tests
29648         (Files): Likewise.
29649         * modules/unictype/property-other-grapheme-extend-tests (Files):
29650         Likewise.
29651         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
29652         * modules/unictype/property-other-id-start-tests (Files): Likewise.
29653         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
29654         * modules/unictype/property-other-math-tests (Files): Likewise.
29655         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
29656         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
29657         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
29658         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
29659         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
29660         * modules/unictype/property-private-use-tests (Files): Likewise.
29661         * modules/unictype/property-punctuation-tests (Files): Likewise.
29662         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
29663         * modules/unictype/property-radical-tests (Files): Likewise.
29664         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
29665         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
29666         * modules/unictype/property-space-tests (Files): Likewise.
29667         * modules/unictype/property-terminal-punctuation-tests (Files):
29668         Likewise.
29669         * modules/unictype/property-test-tests (Files): Likewise.
29670         * modules/unictype/property-titlecase-tests (Files): Likewise.
29671         * modules/unictype/property-unassigned-code-value-tests (Files):
29672         Likewise.
29673         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
29674         * modules/unictype/property-uppercase-tests (Files): Likewise.
29675         * modules/unictype/property-variation-selector-tests (Files): Likewise.
29676         * modules/unictype/property-white-space-tests (Files): Likewise.
29677         * modules/unictype/property-xid-continue-tests (Files): Likewise.
29678         * modules/unictype/property-xid-start-tests (Files): Likewise.
29679         * modules/unictype/property-zero-width-tests (Files): Likewise.
29680         * modules/unictype/scripts-tests (Files): Likewise.
29681         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
29682         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
29683         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
29684         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
29685         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
29686         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
29687         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
29688         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
29689         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
29690         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
29691         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
29692         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
29693         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
29694         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
29695         * modules/uninorm/composition-tests (Files): Likewise.
29696         * modules/uninorm/decomposing-form-tests (Files): Likewise.
29697         * modules/uninorm/decomposition-tests (Files): Likewise.
29698         * modules/uninorm/filter-tests (Files): Likewise.
29699         * modules/uninorm/nfc-tests (Files): Likewise.
29700         * modules/uninorm/nfd-tests (Files): Likewise.
29701         * modules/uninorm/nfkc-tests (Files): Likewise.
29702         * modules/uninorm/nfkd-tests (Files): Likewise.
29703         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
29704         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
29705         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
29706         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
29707         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
29708         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
29709         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
29710         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
29711         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
29712         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
29713         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
29714         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
29715         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
29716         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
29717         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
29718         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
29719         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
29720         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
29721         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
29722         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
29723         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
29724         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
29725         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
29726         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
29727         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
29728         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
29729         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
29730         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
29731         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
29732         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
29733         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
29734         * modules/uniwidth/u8-width-tests (Files): Likewise.
29735         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
29736         * modules/uniwidth/u16-width-tests (Files): Likewise.
29737         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
29738         * modules/uniwidth/u32-width-tests (Files): Likewise.
29739         * modules/uniwidth/width-tests (Files): Likewise.
29740         * modules/unlink-tests (Files): Likewise.
29741         * modules/unsetenv-tests (Files): Likewise.
29742         * modules/usleep-tests (Files): Likewise.
29743         * modules/utimens-tests (Files): Likewise.
29744         * modules/utimensat-tests (Files): Likewise.
29745         * modules/vasnprintf-posix-tests (Files): Likewise.
29746         * modules/vasnprintf-tests (Files): Likewise.
29747         * modules/vasprintf-posix-tests (Files): Likewise.
29748         * modules/vasprintf-tests (Files): Likewise.
29749         * modules/vdprintf-posix-tests (Files): Likewise.
29750         * modules/vfprintf-posix-tests (Files): Likewise.
29751         * modules/vprintf-posix-tests (Files): Likewise.
29752         * modules/vsnprintf-posix-tests (Files): Likewise.
29753         * modules/vsnprintf-tests (Files): Likewise.
29754         * modules/vsprintf-posix-tests (Files): Likewise.
29755         * modules/wcrtomb-tests (Files): Likewise.
29756         * modules/wcsnrtombs-tests (Files): Likewise.
29757         * modules/wcsrtombs-tests (Files): Likewise.
29758         * modules/wctype-tests (Files): Likewise.
29759         * modules/wcwidth-tests (Files): Likewise.
29760         * modules/xmemdup0-tests (Files): Likewise.
29761         * modules/xprintf-posix-tests (Files): Likewise.
29762         * modules/xvasprintf-tests (Files): Likewise.
29763
29764 2009-12-24  Eric Blake  <ebb9@byu.net>
29765
29766         test-nanosleep: fix typo
29767         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
29768         patch.
29769         Reported by Bruno Haible.
29770
29771 2009-12-24  Bruno Haible  <bruno@clisp.org>
29772
29773         Reduce namespace pollution on glibc systems.
29774         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
29775         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
29776         systems.
29777         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
29778         <getopt.h> on glibc systems.
29779         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
29780         systems.
29781         * lib/fcntl.c: Include <unistd.h> here instead.
29782
29783 2009-12-24  Bruno Haible  <bruno@clisp.org>
29784
29785         * lib/stdlib.in.h (includes): Fix typo in today's commit.
29786
29787 2009-12-24  Eric Blake  <ebb9@byu.net>
29788
29789         tests: add signature checks
29790         * tests/signature.h (SIGNATURE_CHECK): New file.
29791         * modules/atexit-tests (Files): Use it.
29792         * modules/btowc-tests (Files): Likewise.
29793         * modules/canonicalize-lgpl-tests (Files): Likewise.
29794         * modules/ceilf-tests (Files): Likewise.
29795         * modules/ceill-tests (Files): Likewise.
29796         * modules/chown-tests (Files): Likewise.
29797         * modules/dprintf-posix-tests (Files): Likewise.
29798         * modules/dup2-tests (Files): Likewise.
29799         * modules/dup3-tests (Files): Likewise.
29800         * modules/duplocale-tests (Files): Likewise.
29801         * modules/fchdir-tests (Files): Likewise.
29802         * modules/fcntl-tests (Files): Likewise.
29803         * modules/fdopendir-tests (Files): Likewise.
29804         * modules/fflush-tests (Files): Likewise.
29805         * modules/flock-tests (Files): Likewise.
29806         * modules/floorf-tests (Files): Likewise.
29807         * modules/floorl-tests (Files): Likewise.
29808         * modules/fnmatch-tests (Files): Likewise.
29809         * modules/fopen-tests (Files): Likewise.
29810         * modules/fprintf-posix-tests (Files): Likewise.
29811         * modules/freopen-tests (Files): Likewise.
29812         * modules/frexp-nolibm-tests (Files): Likewise.
29813         * modules/frexp-tests (Files): Likewise.
29814         * modules/frexpl-nolibm-tests (Files): Likewise.
29815         * modules/frexpl-tests (Files): Likewise.
29816         * modules/fseek-tests (Files): Likewise.
29817         * modules/fseeko-tests (Files): Likewise.
29818         * modules/fsync-tests (Files): Likewise.
29819         * modules/ftell-tests (Files): Likewise.
29820         * modules/ftello-tests (Files): Likewise.
29821         * modules/futimens-tests (Files): Likewise.
29822         * modules/getaddrinfo-tests (Files): Likewise.
29823         * modules/getcwd-tests (Files): Likewise.
29824         * modules/getdelim-tests (Files): Likewise.
29825         * modules/getdtablesize-tests (Files): Likewise.
29826         * modules/getgroups-tests (Files): Likewise.
29827         * modules/gethostname-tests (Files): Likewise.
29828         * modules/getline-tests (Files): Likewise.
29829         * modules/getopt-posix-tests (Files): Likewise.
29830         * modules/gettimeofday-tests (Files): Likewise.
29831         * modules/glob-tests (Files): Likewise.
29832         * modules/iconv-tests (Files): Likewise.
29833         * modules/inet_ntop-tests (Files): Likewise.
29834         * modules/inet_pton-tests (Files): Likewise.
29835         * modules/isblank-tests (Files): Likewise.
29836         * modules/lchown-tests (Files): Likewise.
29837         * modules/ldexpl-tests (Files): Likewise.
29838         * modules/link-tests (Files): Likewise.
29839         * modules/linkat-tests (Files): Likewise.
29840         * modules/lseek-tests (Files): Likewise.
29841         * modules/lstat-tests (Files): Likewise.
29842         * modules/mbrtowc-tests (Files): Likewise.
29843         * modules/mbsinit-tests (Files): Likewise.
29844         * modules/mbsnrtowcs-tests (Files): Likewise.
29845         * modules/mbsrtowcs-tests (Files): Likewise.
29846         * modules/memchr-tests (Files): Likewise.
29847         * modules/memcmp-tests (Files): Likewise.
29848         * modules/memmem-tests (Files): Likewise.
29849         * modules/memrchr-tests (Files): Likewise.
29850         * modules/mkdir-tests (Files): Likewise.
29851         * modules/mkfifo-tests (Files): Likewise.
29852         * modules/mkfifoat-tests (Files): Likewise.
29853         * modules/mknod-tests (Files): Likewise.
29854         * modules/nanosleep-tests (Files): Likewise.
29855         * modules/nl_langinfo-tests (Files): Likewise.
29856         * modules/obstack-printf-tests (Files): Likewise.
29857         * modules/open-tests (Files): Likewise.
29858         * modules/openat-tests (Files): Likewise.
29859         * modules/perror-tests (Files): Likewise.
29860         * modules/pipe2-tests (Files): Likewise.
29861         * modules/poll-tests (Files): Likewise.
29862         * modules/popen-tests (Files): Likewise.
29863         * modules/posix_spawn-tests (Files): Likewise.
29864         * modules/posix_spawnp-tests (Files): Likewise.
29865         * modules/pread-tests (Files): Likewise.
29866         * modules/printf-posix-tests (Files): Likewise.
29867         * modules/pty-tests (Files): Likewise.
29868         * modules/random_r-tests (Files): Likewise.
29869         * modules/rawmemchr-tests (Files): Likewise.
29870         * modules/readlink-tests (Files): Likewise.
29871         * modules/remove-tests (Files): Likewise.
29872         * modules/rename-tests (Files): Likewise.
29873         * modules/renameat-tests (Files): Likewise.
29874         * modules/rmdir-tests (Files): Likewise.
29875         * modules/round-tests (Files): Likewise.
29876         * modules/roundf-tests (Files): Likewise.
29877         * modules/roundl-tests (Files): Likewise.
29878         * modules/select-tests (Files): Likewise.
29879         * modules/setenv-tests (Files): Likewise.
29880         * modules/sigaction-tests (Files): Likewise.
29881         * modules/sleep-tests (Files): Likewise.
29882         * modules/snprintf-posix-tests (Files): Likewise.
29883         * modules/snprintf-tests (Files): Likewise.
29884         * modules/sprintf-posix-tests (Files): Likewise.
29885         * modules/stat-tests (Files): Likewise.
29886         * modules/strcasestr-tests (Files): Likewise.
29887         * modules/strchrnul-tests (Files): Likewise.
29888         * modules/strerror-tests (Files): Likewise.
29889         * modules/strsignal-tests (Files): Likewise.
29890         * modules/strstr-tests (Files): Likewise.
29891         * modules/strtod-tests (Files): Likewise.
29892         * modules/strverscmp-tests (Files): Likewise.
29893         * modules/symlink-tests (Files): Likewise.
29894         * modules/symlinkat-tests (Files): Likewise.
29895         * modules/times-tests (Files): Likewise.
29896         * modules/trunc-tests (Files): Likewise.
29897         * modules/truncf-tests (Files): Likewise.
29898         * modules/truncl-tests (Files): Likewise.
29899         * modules/tsearch-tests (Files): Likewise.
29900         * modules/uname-tests (Files): Likewise.
29901         * modules/unlink-tests (Files): Likewise.
29902         * modules/unsetenv-tests (Files): Likewise.
29903         * modules/usleep-tests (Files): Likewise.
29904         * modules/utimensat-tests (Files): Likewise.
29905         * modules/vasprintf-tests (Files): Likewise.
29906         * modules/vdprintf-posix-tests (Files): Likewise.
29907         * modules/vfprintf-posix-tests (Files): Likewise.
29908         * modules/vprintf-posix-tests (Files): Likewise.
29909         * modules/vsnprintf-posix-tests (Files): Likewise.
29910         * modules/vsnprintf-tests (Files): Likewise.
29911         * modules/vsprintf-posix-tests (Files): Likewise.
29912         * modules/wcrtomb-tests (Files): Likewise.
29913         * modules/wcsnrtombs-tests (Files): Likewise.
29914         * modules/wcsrtombs-tests (Files): Likewise.
29915         * modules/wcwidth-tests (Files): Likewise.
29916         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
29917         * tests/test-isinf.c (isinf): Likewise.
29918         * tests/test-isnan.c (isnan): Likewise.
29919         * tests/test-signbit.c (signbit): Likewise.
29920         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
29921         declaration, either as macro or with correct signature.
29922         (select): Ensure function under test is declared with correct
29923         signature in correct header.
29924         * tests/test-atexit.c (atexit): Likewise.
29925         * tests/test-btowc.c (btowc): Likewise.
29926         * tests/test-canonicalize-lgpl.c (realpath)
29927         (canonicalize_file_name): Likewise.
29928         * tests/test-ceilf1.c (ceilf): Likewise.
29929         * tests/test-ceill.c (ceill): Likewise.
29930         * tests/test-chown.c (chown): Likewise.
29931         * tests/test-dprintf-posix.c (dprintf): Likewise.
29932         * tests/test-dup2.c (dup2): Likewise.
29933         * tests/test-dup3.c (dup3): Likewise.
29934         * tests/test-duplocale.c (duplocale): Likewise.
29935         * tests/test-fchdir.c (fchdir): Likewise.
29936         * tests/test-fchownat.c (fchownat): Likewise.
29937         * tests/test-fcntl.c (fcntl): Likewise.
29938         * tests/test-fdopendir.c (fdopendir): Likewise.
29939         * tests/test-fflush.c (fflush): Likewise.
29940         * tests/test-flock.c (flock): Likewise.
29941         * tests/test-floorf1.c (floorf): Likewise.
29942         * tests/test-floorl.c (floorl): Likewise.
29943         * tests/test-fnmatch.c (fnmatch): Likewise.
29944         * tests/test-fopen.c (fopen): Likewise.
29945         * tests/test-fprintf-posix.c (fprintf): Likewise.
29946         * tests/test-freopen.c (freopen): Likewise.
29947         * tests/test-frexp.c (frexp): Likewise.
29948         * tests/test-frexpl.c (frexpl): Likewise.
29949         * tests/test-fseek.c (fseek): Likewise.
29950         * tests/test-fseeko.c (fseeko): Likewise.
29951         * tests/test-fstatat.c (fstatat): Likewise.
29952         * tests/test-fsync.c (fsync): Likewise.
29953         * tests/test-ftell.c (ftell): Likewise.
29954         * tests/test-ftello.c (ftello): Likewise.
29955         * tests/test-futimens.c (futimens): Likewise.
29956         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
29957         (gai_strerror): Likewise.
29958         * tests/test-getcwd.c (getcwd): Likewise.
29959         * tests/test-getdelim.c (getdelim): Likewise.
29960         * tests/test-getdtablesize.c (getdtablesize): Likewise.
29961         * tests/test-getgroups.c (getgroups): Likewise.
29962         * tests/test-gethostname.c (gethostname): Likewise.
29963         * tests/test-getline.c (getline): Likewise.
29964         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
29965         Likewise.
29966         * tests/test-gettimeofday.c (gettimeofday): Likewise.
29967         * tests/test-glob.c (glob, globfree): Likewise.
29968         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
29969         * tests/test-inet_ntop.c (inet_ntop): Likewise.
29970         * tests/test-inet_pton.c (inet_pton): Likewise.
29971         * tests/test-isblank.c (isblank): Likewise.
29972         * tests/test-lchown.c (lchown): Likewise.
29973         * tests/test-ldexpl.c (ldexpl): Likewise.
29974         * tests/test-link.c (link): Likewise.
29975         * tests/test-linkat.c (linkat): Likewise.
29976         * tests/test-lseek.c (lseek): Likewise.
29977         * tests/test-lstat.c (lstat): Likewise.
29978         * tests/test-mbrtowc.c (mbrtowc): Likewise.
29979         * tests/test-mbsinit.c (mbsinit): Likewise.
29980         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
29981         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
29982         * tests/test-memchr.c (memchr): Likewise.
29983         * tests/test-memcmp.c (memcmp): Likewise.
29984         * tests/test-memmem.c (memmem): Likewise.
29985         * tests/test-memrchr.c (memrchr): Likewise.
29986         * tests/test-mkdir.c (mkdir): Likewise.
29987         * tests/test-mkdirat.c (mkdirat): Likewise.
29988         * tests/test-mkfifo.c (mkfifo): Likewise.
29989         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
29990         * tests/test-mknod.c (mknod): Likewise.
29991         * tests/test-nanosleep.c (nanosleep): Likewise.
29992         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
29993         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
29994         Likewise.
29995         * tests/test-open.c (open): Likewise.
29996         * tests/test-openat.c (openat): Likewise.
29997         * tests/test-perror.c (perror): Likewise.
29998         * tests/test-pipe2.c (pipe2): Likewise.
29999         * tests/test-poll.c (poll): Likewise.
30000         * tests/test-popen.c (popen, pclose): Likewise.
30001         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
30002         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
30003         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
30004         (posix_spawn_file_actions_destroy)
30005         (posix_spawn_file_actions_addclose)
30006         (posix_spawn_file_actions_addopen)
30007         (posix_spawn_file_actions_adddup2): Likewise.
30008         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
30009         * tests/test-pread.c (pread): Likewise.
30010         * tests/test-printf-posix.c (printf): Likewise.
30011         * tests/test-pty.c (openpty, forkpty): Likewise.
30012         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
30013         (random_r): Likewise.
30014         * tests/test-rawmemchr.c (rawmemchr): Likewise.
30015         * tests/test-readlink.c (readlink): Likewise.
30016         * tests/test-remove.c (remove): Likewise.
30017         * tests/test-rename.c (rename): Likewise.
30018         * tests/test-renameat.c (renameat): Likewise.
30019         * tests/test-rmdir.c (rmdir): Likewise.
30020         * tests/test-round1.c (round): Likewise.
30021         * tests/test-roundf1.c (roundf): Likewise.
30022         * tests/test-roundl.c (roundl): Likewise.
30023         * tests/test-setenv.c (setenv): Likewise.
30024         * tests/test-sigaction.c (sigaction): Likewise.
30025         * tests/test-sleep.c (sleep): Likewise.
30026         * tests/test-snprintf.c (snprintf): Likewise.
30027         * tests/test-sprintf-posix.c (sprintf): Likewise.
30028         * tests/test-stat.c (stat): Likewise.
30029         * tests/test-stpncpy.c (stpncpy): Likewise.
30030         * tests/test-strcasestr.c (strcasestr): Likewise.
30031         * tests/test-strchrnul.c (strchrnul): Likewise.
30032         * tests/test-strerror.c (strerror): Likewise.
30033         * tests/test-strsignal.c (strsignal): Likewise.
30034         * tests/test-strstr.c (strstr): Likewise.
30035         * tests/test-strtod.c (strtod): Likewise.
30036         * tests/test-strverscmp.c (strverscmp): Likewise.
30037         * tests/test-symlink.c (symlink): Likewise.
30038         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
30039         * tests/test-times.c (times): Likewise.
30040         * tests/test-trunc1.c (trunc): Likewise.
30041         * tests/test-truncf1.c (truncf): Likewise.
30042         * tests/test-truncl.c (truncl): Likewise.
30043         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
30044         Likewise.
30045         * tests/test-uname.c (uname): Likewise.
30046         * tests/test-unlink.c (unlink): Likewise.
30047         * tests/test-unlinkat.c (unlinkat): Likewise.
30048         * tests/test-unsetenv.c (unsetenv): Likewise.
30049         * tests/test-usleep.c (usleep): Likewise.
30050         * tests/test-utimensat.c (utimensat): Likewise.
30051         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
30052         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
30053         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
30054         * tests/test-vprintf-posix.c (vprintf): Likewise.
30055         * tests/test-vsnprintf.c (vsnprintf): Likewise.
30056         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
30057         * tests/test-wcrtomb.c (wcrtomb): Likewise.
30058         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
30059         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
30060         * tests/test-wcwidth.c (wcwidth): Likewise.
30061
30062         build: pull in conditional headers during GNULIB_POSIXCHECK
30063         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
30064         definitions from any conditionally-included headers.
30065         * lib/stdlib.in.h (includes): Likewise.
30066         * lib/unistd.in.h (includes): Likewise.
30067
30068 2009-12-24  Bruno Haible  <bruno@clisp.org>
30069
30070         * tests/test-argv-iter.c: Include header file being tested immediately
30071         after config.h.
30072         * tests/test-base64.c: Likewise.
30073         * tests/test-flock.c: Likewise.
30074         * tests/test-fsync.c: Likewise.
30075         * tests/test-getdate.c: Likewise.
30076         * tests/test-getndelim2.c: Likewise.
30077         * tests/test-isfinite.c: Likewise.
30078         * tests/test-isinf.c: Likewise.
30079         * tests/test-strerror.c: Likewise.
30080         * tests/test-strsignal.c: Likewise.
30081
30082 2009-12-23  Eric Blake  <ebb9@byu.net>
30083
30084         unistd: work around cygwin bug
30085         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
30086         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
30087         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
30088
30089 2009-12-23  Bruno Haible  <bruno@clisp.org>
30090
30091         localename: More tests.
30092         * tests/test-localename.c (SIZEOF): New macro.
30093         (categories): New variable.
30094         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
30095         test_locale_name_default): Add test w.r.t. thread locale.
30096         (test_locale_name_thread): New function.
30097         (main): Invoke it.
30098
30099         localename: Make aware of thread locale.
30100         * lib/localename.h (gl_locale_name_thread): New declaration.
30101         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
30102         behaviour with respect to thread locale.
30103         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
30104         <langinfo.h>, glthread/lock.h.
30105         (SIZE_BITS): New macro.
30106         (string_hash): New function.
30107         (struct hash_node): New type.
30108         (HASH_TABLE_SIZE): New macro.
30109         (struniq_hash_table, struniq_lock): New variables.
30110         (struniq): New function.
30111         (gl_locale_name_thread): New function.
30112         (gl_locale_name): Invoke it.
30113         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
30114         * modules/localename (Depends-on): Add lock.
30115         Reported by Mike Gran <spk121@yahoo.com>.
30116
30117 2009-12-23  Eric Blake  <ebb9@byu.net>
30118
30119         va-args: new module
30120         * modules/va-args: New file.
30121         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
30122         * MODULES.html.sh (Core language properties): Mention it.
30123
30124         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
30125         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
30126         named alias for __attribute__((__unused__)).
30127         * lib/chown.c: Update client.
30128         * lib/fchmodat.c: Likewise.
30129         * lib/fts.c: Likewise.
30130         * lib/getdate.y: Likewise.
30131         * lib/getgroups.c: Likewise.
30132         * lib/getopt.c: Likewise.
30133         * lib/getugroups.c: Likewise.
30134         * lib/mkdir.c: Likewise.
30135         * lib/mkfifo.c: Likewise.
30136         * lib/mkfifoat.c: Likewise.
30137         * lib/mknod.c: Likewise.
30138         * lib/mknodat.c: Likewise.
30139         * lib/readlink.c: Likewise.
30140         * lib/se-context.in.h: Likewise.
30141         * lib/se-selinux.in.h: Likewise.
30142         * lib/sockets.c: Likewise.
30143         * lib/symlink.c: Likewise.
30144         * lib/symlinkat.c: Likewise.
30145         * lib/unicodeio.c: Likewise.
30146         * lib/unistr.h: Likewise.
30147         * tests/test-areadlink.c: Likewise.
30148         * tests/test-areadlinkat.c: Likewise.
30149         * tests/test-filenamecat.c: Likewise.
30150         * tests/test-fseeko.c: Likewise.
30151         * tests/test-ftello.c: Likewise.
30152         * tests/test-getdate.c: Likewise.
30153         * tests/test-getgroups.c: Likewise.
30154         * tests/test-gethostname.c: Likewise.
30155         * tests/test-quotearg.c: Likewise.
30156         * tests/test-version-etc.c: Likewise.
30157         * tests/test-xalloc-die.c: Likewise.
30158         * tests/test-xfprintf-posix.c: Likewise.
30159         * tests/test-xprintf-posix.c: Likewise.
30160         * tests/test-xvasprintf.c: Likewise.
30161
30162         tests: avoid compiler warnings
30163         * tests/test-fcntl.c (main): Delete unused parameters.
30164         * tests/test-freopen-safer.c (main): Likewise.
30165         * tests/test-xalloc-die.c (main): Mark unused parameters.
30166         * tests/test-fseeko.c (main): Likewise.
30167         * tests/test-ftello.c (main): Likewise.
30168         * tests/test-nanosleep.c (main): Avoid declaration warning.
30169         * tests/test-sleep.c (main): Likewise.
30170         * tests/test-unsetenv.c (main): Silence warning about string
30171         literal.
30172         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
30173
30174 2009-12-23  Bruno Haible  <bruno@clisp.org>
30175
30176         * tests/test-localename.c (test_locale_name): New function, extracted
30177         from main. Also test mixed situations.
30178         (test_locale_name_posix, test_locale_name_environ,
30179         test_locale_name_default): New functions.
30180         (main): Invoke them all.
30181         * modules/localename-tests (configure.ac): Test for newlocale.
30182
30183 2009-12-23  Bruno Haible  <bruno@clisp.org>
30184
30185         unistd: Ensure getcwd gets declared before being overridden.
30186         * lib/unistd.in.h: Conditionally include <io.h>.
30187
30188 2009-12-22  Bruno Haible  <bruno@clisp.org>
30189
30190         wchar: Diagnose broken combination of glibc and gcc versions and flags.
30191         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
30192         (gl_WCHAR_H): Invoke it.
30193         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
30194         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
30195         Reported by Karl Berry <karl@freefriends.org>.
30196
30197 2009-12-22  Eric Blake  <ebb9@byu.net>
30198
30199         math, unistd: avoid redundant includes
30200         * lib/math.in.h (isnan): No need to re-include <math.h>.
30201         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
30202
30203         getsubopt: work around cygwin bug
30204         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
30205         avoid conflicting with system getsubopt.
30206         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
30207         bug.
30208
30209         getopt: synchronize from glibc
30210         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
30211         parameter order.  Adjust all callers.
30212         (_getopt_internal_r, main): Adjust quoting in error messages.
30213         Drop considerations for outdated POSIX 1003.2 error message.
30214         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
30215         callers.
30216         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
30217
30218         test-getopt: test stderr behavior
30219         * modules/getopt-posix-tests (Depends-on): Add dup2.
30220         * tests/test-getopt.c (ASSERT): Avoid stderr.
30221         (main): Move stderr to a temporary file.
30222         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
30223         Instead, add parameter to inform caller if output occurred.
30224         (test_getopt): Adjust all existing tests to expect silence, and
30225         add new tests of leading ":".
30226         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
30227         glibc shortcomings with leading "-:" or "+:" in optstring.
30228         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
30229         Likewise.
30230         * doc/posix-functions/getopt.texi (getopt): Likewise.
30231
30232         test-getopt: enhance test
30233         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
30234         supports optind=0.
30235         * tests/test-getopt.c (OPTIND_MIN): Move...
30236         * tests/test-getopt.h (OPTIND_MIN): ...here.
30237         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
30238         Require that optind=0 works, since modern BSD supports it in
30239         addition to optreset, and since coreutils expects it.
30240         (test_getopt_long_only): New test.
30241         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
30242         glibc shortcomings with 'W;', and enforcement of optind=0.
30243         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
30244         Likewise.
30245
30246 2009-12-21  Bruno Haible  <bruno@clisp.org>
30247
30248         localename: Improvements for MacOS X and Cygwin.
30249         * lib/localename.h (gl_locale_name_environ): New declaration.
30250         * lib/localename.c (gl_locale_name_environ): New function, extracted from
30251         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
30252         (gl_locale_name_posix): Invoke it.
30253         (gl_locale_name_default): Add comments. Use Windows native API also on
30254         Cygwin.
30255
30256 2009-12-21  Bruno Haible  <bruno@clisp.org>
30257
30258         Update list of Win32 locale ids.
30259         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
30260         (LANG_SAMI): Renamed from LANG_SAAMI.
30261         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
30262         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
30263         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
30264         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
30265         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
30266         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
30267         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
30268         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
30269         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
30270         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
30271         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
30272         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
30273         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
30274         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
30275         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
30276         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
30277         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
30278         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
30279         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
30280         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
30281         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
30282         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
30283         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
30284         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
30285         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
30286         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
30287         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
30288         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
30289         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
30290         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
30291         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
30292         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
30293         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
30294         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
30295         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
30296         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
30297         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
30298         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
30299         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
30300         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
30301         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
30302         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
30303         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
30304         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
30305         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
30306         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
30307         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
30308         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
30309         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
30310         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
30311         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
30312         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
30313         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
30314         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
30315         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
30316         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
30317         Add more languages and countries for Sami, Sorbian. Add more countries
30318         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
30319         for Pashto. Change country for Syriac, Tswana.
30320
30321 2009-12-21  Eric Blake  <ebb9@byu.net>
30322
30323         test-utimens: avoid spurious failure
30324         * tests/test-chown.h (nap): Factor...
30325         * tests/nap.h: ...into new file.
30326         * tests/test-lchown.h (nap): Avoid duplication.
30327         * tests/test-utimens-common.h (nap): Use shared implementation,
30328         necessary on file systems with 1-second resolution.
30329         * modules/chown-tests (Files): Include new file.
30330         * modules/fdutimensat-tests (Files): Likewise.
30331         * modules/futimens-tests (Files): Likewise.
30332         * modules/lchown-tests (Files): Likewise.
30333         * modules/openat-tests (Files): Likewise.
30334         * modules/utimens-tests (Files): Likewise.
30335         * modules/utimensat-tests (Files): Likewise.
30336
30337 2009-12-19  Eric Blake  <ebb9@byu.net>
30338
30339         futimens, utimensat: work around Linux bug
30340         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
30341         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
30342         * lib/utimensat.c (rpl_utimensat): Work around it.
30343         * lib/futimens.c (rpl_futimens): Adjust comment.
30344
30345         utimens: work around Linux ctime bug
30346         * lib/utimens.c (detect_ctime_bug): New helper function.
30347         (update_timespec): Differentiate between workaround needed for
30348         this bug vs. what is needed for systems that lack utimensat.
30349         (fdutimens, lutimens): Work around bug.
30350
30351         utimens: check for ctime update
30352         * tests/test-utimens-common.h (check_ctime): Define.
30353         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
30354         * tests/test-futimens.h (test_futimens): Likewise.
30355         * tests/test-lutimens.h (test_lutimens): Likewise.
30356         * doc/posix-functions/futimens.texi (futimens): Document the bug.
30357         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
30358
30359 2009-12-19  Bruno Haible  <bruno@clisp.org>
30360
30361         dprintf-posix: Check against memory leak fixed on 2009-12-15.
30362         * tests/test-dprintf-posix2.sh: New file.
30363         * tests/test-dprintf-posix2.c: New file.
30364         * modules/dprintf-posix-tests (Files): Add them.
30365         (configure.ac): Check for getrlimit and setrlimit.
30366         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
30367
30368 2009-12-19  Bruno Haible  <bruno@clisp.org>
30369
30370         fprintf-posix: Check against memory leak fixed on 2009-12-15.
30371         * tests/test-fprintf-posix3.sh: New file.
30372         * tests/test-fprintf-posix3.c: New file.
30373         * modules/fprintf-posix-tests (Files): Add them.
30374         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
30375
30376 2009-12-19  Eric Blake  <ebb9@byu.net>
30377
30378         dirfd: fix prototype
30379         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
30380         * lib/dirfd.c (dirfd): Likewise.
30381
30382         canonicalize: reduce memory usage
30383         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
30384         allocation to size.
30385         Reported by Solar Designer <solar@openwall.com>.
30386
30387 2009-12-19  Bruno Haible  <bruno@clisp.org>
30388
30389         New module attribute 'Applicability'.
30390         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
30391         * gnulib-tool: New option --extract-applicability.
30392         (func_usage): Document it.
30393         (sed_extract_prog): Recognize it.
30394         (func_get_applicability): New function.
30395         (func_import): Generalize handling of 'link-warning' module.
30396         * modules/link-warning (Applicability): New section.
30397         * modules/arg-nonnull (Applicability): New section.
30398         Repoted by Simon Josefsson <simon@josefsson.org>.
30399
30400 2009-12-19  Bruno Haible  <bruno@clisp.org>
30401
30402         fflush: tweak
30403         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
30404         * lib/fseeko.c (rpl_fseeko): Likewise.
30405
30406 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
30407
30408         * lib/gl_list.h: Fix typo in comment.
30409
30410 2009-12-16  Eric Blake  <ebb9@byu.net>
30411
30412         fcntl: use to simplify other modules
30413         * modules/cloexec (Depends-on): Add fcntl.
30414         * modules/fchdir (Depends-on): Likewise.
30415         * modules/fd-safer-flag (Depends-on): Likewise.
30416         * modules/unistd-safer (Depends-on): Likewise.
30417         * modules/dup3 (configure.ac): Set module indicator.
30418         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
30419         missing.
30420         * lib/fchdir.c (_gl_register_dup): Fix comment.
30421         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
30422         * lib/dup-safer.c (dup_safer): Likewise.
30423         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
30424         * lib/dup3.c (dup3): Likewise.
30425         * tests/test-fchdir.c (main): Enhance test.
30426         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
30427
30428         fcntl: port portions of fcntl to mingw
30429         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
30430         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
30431         replacement for mingw.
30432         * modules/fcntl (Description): Update.
30433         (Depends-on): Add dup2.
30434         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
30435         * modules/fcntl-h (Makefile.am): Substitute it.
30436         * lib/fcntl.in.h (fcntl): Update declaration.
30437         (F_DUPFD, F_GETFD): New macros, when needed.
30438         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
30439         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
30440         * tests/test-fcntl.c (check_flags, main): Enhance test for items
30441         we now guarantee.
30442
30443         fcntl: work around cygwin bug in F_DUPFD
30444         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
30445         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
30446         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
30447         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
30448         * doc/posix-functions/fcntl.texi (fcntl): Document it.
30449
30450         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
30451         * modules/fcntl (Files): List new files.
30452         (configure.ac): Run a test.
30453         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
30454         * lib/fcntl.c (rpl_fcntl): Likewise.
30455         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
30456         (gl_FCNTL_H): Always replace fcntl.h.
30457         * modules/fcntl-h (Makefile.am): Substitute witnesses.
30458         * lib/fcntl.in.h (fcntl): Declare replacement.
30459         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
30460         needed, plus a witness.
30461         * doc/posix-functions/fcntl.texi (fcntl): Document this.
30462         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
30463         * tests/test-fcntl.c: New file.
30464         * modules/fcntl-tests: Likewise.
30465
30466         binary-io: avoid potential compilation warning
30467         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
30468         directives.
30469
30470         fflush: avoid compilation error on NetBSD
30471         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
30472         between off_t and fpos_t, since the latter is sometimes a struct.
30473         * lib/fseeko.c (rpl_fseeko): Likewise.
30474         Reported by Alexander Nasonov <alnsn@yandex.ru>.
30475
30476 2009-12-15  Eric Blake  <ebb9@byu.net>
30477
30478         fcntl-h, stdio, sys_ioctl: fix declarations
30479         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
30480         function must not take arguments.
30481         * lib/sys_ioctl.in.h (ioctl): Likewise.
30482         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
30483         (open): Add a link warning.
30484
30485 2009-12-15  Jim Meyering  <meyering@redhat.com>
30486
30487         areadlink, areadlink-with-size: relax license to LGPLv2+
30488         * modules/areadlink (License): Relax to LGPLv2+.
30489         * modules/areadlink-with-size (License): Likewise.
30490
30491 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
30492             Bruno Haible  <bruno@clisp.org>
30493
30494         *printf: Fix memory leak.
30495         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
30496         * lib/vfprintf.c (vfprintf): Likewise.
30497         * lib/dprintf.c (dprintf): Likewise.
30498         * lib/vdprintf.c (vdprintf): Likewise.
30499
30500 2009-12-14  Eric Blake  <ebb9@byu.net>
30501
30502         accept4: adjust module dependencies
30503         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
30504
30505         utimens: one more try at avoiding compiler warning
30506         * lib/utimens.c (lutimens): Lower scope of result.
30507
30508 2009-12-13  Bruno Haible  <bruno@clisp.org>
30509
30510         Move the malloc checking from module 'list' to new module 'xlist'.
30511         * modules/xlist: New file.
30512         * lib/gl_xlist.h: New file.
30513         * lib/gl_xlist.c: New file.
30514         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
30515         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
30516         gl_list_add_last, gl_list_add_before, gl_list_add_after,
30517         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
30518         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
30519         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
30520         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
30521         gl_sortedlist_nx_add): New declarations.
30522         (struct gl_list_implementation): Rename and change methods accordingly.
30523         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
30524         (gl_list_nx_create): Renamed from gl_list_create.
30525         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
30526         (gl_list_nx_set_at): Renamed from gl_list_set_at.
30527         (gl_list_nx_add_first): Renamed from gl_list_add_first.
30528         (gl_list_nx_add_last): Renamed from gl_list_add_last.
30529         (gl_list_nx_add_before): Renamed from gl_list_add_before.
30530         (gl_list_nx_add_after): Renamed from gl_list_add_after.
30531         (gl_list_nx_add_at): Renamed from gl_list_add_at.
30532         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
30533         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
30534         gl_list_create_empty.
30535         (gl_list_nx_create): Renamed from gl_list_create.
30536         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
30537         (gl_list_nx_set_at): Renamed from gl_list_set_at.
30538         (gl_list_nx_add_first): Renamed from gl_list_add_first.
30539         (gl_list_nx_add_last): Renamed from gl_list_add_last.
30540         (gl_list_nx_add_before): Renamed from gl_list_add_before.
30541         (gl_list_nx_add_after): Renamed from gl_list_add_after.
30542         (gl_list_nx_add_at): Renamed from gl_list_add_at.
30543         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
30544         * lib/gl_array_list.c: Don't include xalloc.h.
30545         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
30546         NULL upon out-of-memory.
30547         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
30548         out-of-memory.
30549         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
30550         Change return type to 'int'.
30551         (gl_array_nx_set_at): Renamed from gl_array_set_at.
30552         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
30553         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
30554         upon out-of-memory.
30555         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
30556         upon out-of-memory.
30557         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
30558         upon out-of-memory.
30559         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
30560         upon out-of-memory.
30561         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
30562         out-of-memory.
30563         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
30564         Update.
30565         (gl_array_list_implementation): Update.
30566         * lib/gl_carray_list.c: Don't include xalloc.h.
30567         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
30568         Return NULL upon out-of-memory.
30569         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
30570         out-of-memory.
30571         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
30572         Change return type to 'int'.
30573         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
30574         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
30575         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
30576         upon out-of-memory.
30577         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
30578         upon out-of-memory.
30579         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
30580         out-of-memory.
30581         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
30582         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
30583         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
30584         Update.
30585         (gl_carray_list_implementation): Update.
30586         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
30587         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
30588         gl_linked_create_empty. Return NULL upon out-of-memory.
30589         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
30590         out-of-memory.
30591         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
30592         Change return type to 'int'. Return -1 upon out-of-memory.
30593         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
30594         out-of-memory.
30595         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
30596         upon out-of-memory.
30597         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
30598         upon out-of-memory.
30599         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
30600         NULL upon out-of-memory.
30601         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
30602         upon out-of-memory.
30603         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
30604         out-of-memory.
30605         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
30606         Update.
30607         * lib/gl_linked_list.c: Don't include xalloc.h.
30608         (gl_linked_list_implementation): Update.
30609         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
30610         (add_to_bucket): Change return type to 'int'.
30611         (gl_linkedhash_list_implementation): Update.
30612         * lib/gl_anytree_list1.h (free_subtree): New function.
30613         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
30614         gl_tree_create_empty. Return NULL upon out-of-memory.
30615         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
30616         Change return type to 'int'. Return -1 upon out-of-memory.
30617         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
30618         out-of-memory.
30619         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
30620         (gl_tree_remove_node): New function, moved here from
30621         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
30622         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
30623         Update.
30624         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
30625         malloc, not xmalloc. Return NULL upon out-of-memory.
30626         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
30627         out-of-memory.
30628         (gl_tree_remove_node_from_tree): New function, extracted from
30629         gl_tree_remove_node.
30630         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
30631         upon out-of-memory.
30632         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
30633         out-of-memory.
30634         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
30635         upon out-of-memory.
30636         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
30637         upon out-of-memory.
30638         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
30639         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
30640         not xmalloc. Return NULL upon out-of-memory.
30641         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
30642         out-of-memory.
30643         (gl_tree_remove_node_from_tree): New function, extracted from
30644         gl_tree_remove_node.
30645         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
30646         upon out-of-memory.
30647         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
30648         out-of-memory.
30649         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
30650         upon out-of-memory.
30651         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
30652         upon out-of-memory.
30653         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
30654         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
30655         gl_anytree_list1.h before gl_anyavltree_list2.h.
30656         (gl_avltree_list_implementation): Update.
30657         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
30658         gl_anytree_list1.h before gl_anyavltree_list2.h.
30659         (gl_rbtree_list_implementation): Update.
30660         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
30661         Change return type to 'int'. Return -1 upon out-of-memory. Use
30662         __builtin_expect.
30663         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
30664         (gl_avltreehash_list_implementation): Update.
30665         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
30666         (gl_rbtreehash_list_implementation): Update.
30667         * modules/array-list (Depends-on): Remove xalloc.
30668         * modules/carray-list (Depends-on): Likewise.
30669         * modules/linked-list (Depends-on): Likewise.
30670         * modules/linkedhash-list (Depends-on): Likewise.
30671         * modules/avltree-list (Depends-on): Likewise.
30672         * modules/rbtree-list (Depends-on): Likewise.
30673         * modules/avltreehash-list (Depends-on): Likewise.
30674         * modules/rbtreehash-list (Depends-on): Likewise.
30675
30676         * modules/xsublist: New file.
30677         * lib/gl_xsublist.h: New file.
30678         * lib/gl_xsublist.c: New file.
30679         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
30680         (gl_sublist_nx_create): New declaration.
30681         * lib/gl_sublist.c: Don't include xalloc.h.
30682         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
30683         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
30684         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
30685         Change return type to 'int'. Return -1 upon out-of-memory.
30686         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
30687         upon out-of-memory.
30688         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
30689         NULL upon out-of-memory.
30690         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
30691         upon out-of-memory.
30692         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
30693         NULL upon out-of-memory.
30694         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
30695         NULL upon out-of-memory.
30696         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
30697         upon out-of-memory.
30698         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
30699         (gl_sublist_list_implementation): Update.
30700         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
30701         upon out-of-memory.
30702         * modules/sublist (Depends-on): Remove xalloc.
30703
30704         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
30705         * tests/test-carray_list.c: Likewise.
30706         * tests/test-linked_list.c: Likewise.
30707         * tests/test-linkedhash_list.c: Likewise.
30708         * tests/test-avltree_list.c: Likewise.
30709         * tests/test-rbtree_list.c: Likewise.
30710         * tests/test-avltreehash_list.c: Likewise.
30711         * tests/test-rbtreehash_list.c: Likewise.
30712         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
30713         * modules/carray-list-tests (Makefile.am): Likewise.
30714         * modules/linked-list-tests (Makefile.am): Likewise.
30715         * modules/linkedhash-list-tests (Makefile.am): Likewise.
30716         * modules/avltree-list-tests (Makefile.am): Likewise.
30717         * modules/rbtree-list-tests (Makefile.am): Likewise.
30718         * modules/avltreehash-list-tests (Makefile.am): Likewise.
30719         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
30720
30721         * NEWS: Mention the changes.
30722
30723         * lib/clean-temp.c: Include gl_xlist.h.
30724         * modules/clean-temp (Depends-on): Add xlist.
30725
30726         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
30727         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
30728
30729         * tests/test-array_oset.c: Include gl_xlist.h.
30730         * modules/array-oset-tests (Depends-on): Add xlist.
30731
30732         Reported by José E. Marchesi <jemarch@gnu.org>.
30733
30734 2009-12-13  Bruno Haible  <bruno@clisp.org>
30735
30736         Move the malloc checking from module 'oset' to new module 'xoset'.
30737         * modules/xoset: New file.
30738         * lib/gl_xoset.h: New file.
30739         * lib/gl_xoset.c: New file.
30740         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
30741         declarations.
30742         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
30743         (struct gl_oset_implementation): Rename and change methods accordingly.
30744         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
30745         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
30746         'int'. Mark as __warn_unused_result__.
30747         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
30748         gl_oset_create_empty.
30749         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
30750         'int'.
30751         * lib/gl_array_oset.c: Don't include xalloc.h.
30752         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
30753         malloc, not xmalloc.
30754         (grow): Change return type to 'int'. Don't call xalloc_die.
30755         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
30756         to 'int'.
30757         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
30758         'int'.
30759         (gl_array_oset_implementation): Update.
30760         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
30761         gl_tree_create_empty.
30762         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
30763         'int'.
30764         * lib/gl_avltree_oset.c: Don't include xalloc.h.
30765         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
30766         xmalloc.
30767         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
30768         not xmalloc.
30769         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
30770         xmalloc.
30771         (gl_avltree_oset_implementation): Update.
30772         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
30773         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
30774         xmalloc.
30775         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
30776         not xmalloc.
30777         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
30778         xmalloc.
30779         (gl_rbtree_oset_implementation): Update.
30780         * modules/array-oset (Depends-on): Remove xalloc.
30781         * modules/avltree-oset (Depends-on): Likewise.
30782         * modules/rbtree-oset (Depends-on): Likewise.
30783         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
30784         * tests/test-avltree_oset.c: Likewise.
30785         * tests/test-rbtree_oset.c: Likewise.
30786         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
30787         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
30788         * modules/rbtree-oset-tests (Makefile.am): Likewise.
30789         * NEWS: Mention the change.
30790
30791 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
30792
30793         maint.mk: allow a project to override release-prep commands
30794         * top/maint.mk (alpha, beta, stable): Move release-preparatory
30795         commands into a new rule.
30796         (release-prep): New rule.
30797         (release-prep-hook): New overridable variable.
30798
30799 2009-12-13  Bruno Haible  <bruno@clisp.org>
30800
30801         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
30802
30803 2009-12-13  Jim Meyering  <meyering@redhat.com>
30804
30805         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
30806         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
30807
30808 2009-12-12  Bruno Haible  <bruno@clisp.org>
30809
30810         duplocale: Tweak.
30811         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
30812
30813 2009-12-12  Karl Berry  <karl@gnu.org>
30814
30815         * config/srclist.txt (strtoll.c): tab changes, no more sync.
30816
30817 2009-12-12  Bruno Haible  <bruno@clisp.org>
30818
30819         * m4/po.m4: Undo incorrect untabification.
30820
30821 2009-12-12  Bruno Haible  <bruno@clisp.org>
30822
30823         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
30824         * modules/c-strtod (Depends-on): Add locale.
30825         * modules/c-strtold (Depends-on): Likewise.
30826
30827 2009-12-12  Bruno Haible  <bruno@clisp.org>
30828
30829         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
30830
30831 2009-12-11  Eric Blake  <ebb9@byu.net>
30832
30833         setenv: relax requirement in light of POSIX ruling
30834         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
30835         not NULL.
30836         * tests/test-setenv.c (main): Relax test.
30837         * tests/test-unsetenv.c (main): Likewise.
30838         * doc/posix-functions/setenv.texi (setenv): Document this.
30839         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
30840
30841 2009-12-11  Bruno Haible  <bruno@clisp.org>
30842
30843         New module 'fd-safer-flag'.
30844         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
30845         * lib/dup-safer.c (dup_safer_flag): Remove function.
30846         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
30847         * lib/fd-safer.c (fd_safer_flag): Remove function.
30848         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
30849         * modules/cloexec (configure.ac): Drop indicator macro.
30850         * modules/fd-safer-flag: New file.
30851         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
30852         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
30853         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
30854
30855 2009-12-11  Bruno Haible  <bruno@clisp.org>
30856
30857         Tests for module 'nl_langinfo'.
30858         * modules/nl_langinfo-tests: New file.
30859         * tests/test-nl_langinfo.sh: New file.
30860         * tests/test-nl_langinfo.c: New file.
30861
30862         New module 'nl_langinfo'.
30863         * lib/nl_langinfo.c: New file.
30864         * m4/nl_langinfo.m4: New file.
30865         * modules/nl_langinfo: New file.
30866         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
30867
30868 2009-12-11  Bruno Haible  <bruno@clisp.org>
30869
30870         Tests for module 'langinfo'.
30871         * modules/langinfo-tests: New file.
30872         * tests/test-langinfo.c: New file.
30873
30874         New module 'langinfo'.
30875         * lib/langinfo.in.h: New file.
30876         * m4/langinfo_h.m4: New file.
30877         * modules/langinfo: New file.
30878         * doc/posix-headers/langinfo.texi: Mention the new module.
30879
30880 2009-12-11  Bruno Haible  <bruno@clisp.org>
30881
30882         * lib/config.charset: Untabify.
30883
30884 2009-12-11  Bruno Haible  <bruno@clisp.org>
30885
30886         * modules/unistd-safer (configure.ac): Drop indicator macro.
30887
30888 2009-12-11  Bruno Haible  <bruno@clisp.org>
30889
30890         Move pipe2-safer code to its own file.
30891         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
30892         * lib/pipe-safer.c (pipe2_safer): Remove function.
30893         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
30894         (Makefile.am): Add it to lib_SOURCES.
30895
30896 2009-12-10  Bruno Haible  <bruno@clisp.org>
30897
30898         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
30899
30900 2009-12-10  Bruno Haible  <bruno@clisp.org>
30901
30902         Declare which arguments expect non-NULL values, for GCC and clang.
30903         * build-aux/arg-nonnull.h: New file.
30904         * modules/arg-nonnull: New file.
30905         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
30906         (inet_ntop, inet_pton): Use it.
30907         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
30908         (closedir, dirfd, opendir, scandir, alphasort): Use it.
30909         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
30910         (open, openat): Use it.
30911         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
30912         (fnmatch): Use it.
30913         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
30914         (getopt, getopt_long, getopt_long_only): Use it.
30915         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
30916         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
30917         Use it.
30918         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
30919         (iconv_open): Use it.
30920         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
30921         (strtoimax, strtoumax): Use it.
30922         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
30923         (duplocale): Use it.
30924         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
30925         (frexp, frexpl): Use it.
30926         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
30927         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
30928         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
30929         (tsearch, tfind, tdelete, twalk): Use it.
30930         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
30931         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
30932         sigpending): Use it.
30933         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
30934         (posix_spawn, posix_spawnp, posix_spawnattr_init,
30935         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
30936         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
30937         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
30938         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
30939         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
30940         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
30941         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
30942         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
30943         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
30944         Use it.
30945         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
30946         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
30947         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
30948         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
30949         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
30950         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
30951         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
30952         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
30953         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
30954         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
30955         strtoull, unsetenv): Use it.
30956         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
30957         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
30958         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
30959         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
30960         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
30961         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
30962         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
30963         (strcasecmp, strncasecmp): Use it.
30964         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
30965         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
30966         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
30967         rpl_setsockopt): Use it.
30968         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
30969         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
30970         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
30971         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
30972         (gettimeofday): Use it.
30973         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
30974         (times): Use it.
30975         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
30976         (uname): Use it.
30977         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
30978         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
30979         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
30980         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
30981         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
30982         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
30983         unlinkat, write): Use it.
30984         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
30985         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
30986         * lib/argv-iter.h: Include arg-nonnull.h.
30987         (_ATTRIBUTE_NONNULL_): Remove macro.
30988         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
30989         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
30990         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
30991         optimization.
30992         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
30993         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
30994         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
30995         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
30996         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
30997         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
30998         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
30999         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
31000         * modules/arpa_inet (Depends-on): Add arg-nonnull.
31001         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
31002         * modules/dirent (Depends-on): Add arg-nonnull.
31003         (Makefile.am): Insert arg-nonnull.h into dirent.h.
31004         * modules/fcntl-h (Depends-on): Add arg-nonnull.
31005         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
31006         * modules/fnmatch (Depends-on): Add arg-nonnull.
31007         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
31008         * modules/getopt-posix (Depends-on): Add arg-nonnull.
31009         (Makefile.am): Insert arg-nonnull.h into getopt.h.
31010         * modules/glob (Depends-on): Add arg-nonnull.
31011         (Makefile.am): Insert arg-nonnull.h into glob.h.
31012         * modules/iconv_open (Depends-on): Add arg-nonnull.
31013         (Makefile.am): Insert arg-nonnull.h into iconv.h.
31014         * modules/inttypes (Depends-on): Add arg-nonnull.
31015         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
31016         * modules/locale (Depends-on): Add arg-nonnull.
31017         (Makefile.am): Insert arg-nonnull.h into locale.h.
31018         * modules/math (Depends-on): Add arg-nonnull.
31019         (Makefile.am): Insert arg-nonnull.h into math.h.
31020         * modules/netdb (Depends-on): Add arg-nonnull.
31021         (Makefile.am): Insert arg-nonnull.h into netdb.h.
31022         * modules/search (Depends-on): Add arg-nonnull.
31023         (Makefile.am): Insert arg-nonnull.h into search.h.
31024         * modules/signal (Depends-on): Add arg-nonnull.
31025         (Makefile.am): Insert arg-nonnull.h into signal.h.
31026         * modules/spawn (Depends-on): Add arg-nonnull.
31027         (Makefile.am): Insert arg-nonnull.h into spawn.h.
31028         * modules/stdio (Depends-on): Add arg-nonnull.
31029         (Makefile.am): Insert arg-nonnull.h into stdio.h.
31030         * modules/stdlib (Depends-on): Add arg-nonnull.
31031         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
31032         * modules/string (Depends-on): Add arg-nonnull.
31033         (Makefile.am): Insert arg-nonnull.h into string.h.
31034         * modules/strings (Depends-on): Add arg-nonnull.
31035         (Makefile.am): Insert arg-nonnull.h into strings.h.
31036         * modules/sys_socket (Depends-on): Add arg-nonnull.
31037         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
31038         * modules/sys_stat (Depends-on): Add arg-nonnull.
31039         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
31040         * modules/sys_time (Depends-on): Add arg-nonnull.
31041         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
31042         * modules/sys_times (Depends-on): Add arg-nonnull.
31043         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
31044         * modules/sys_utsname (Depends-on): Add arg-nonnull.
31045         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
31046         * modules/time (Depends-on): Add arg-nonnull.
31047         (Makefile.am): Insert arg-nonnull.h into time.h.
31048         * modules/unistd (Depends-on): Add arg-nonnull.
31049         (Makefile.am): Insert arg-nonnull.h into unistd.h.
31050         * modules/wchar (Depends-on): Add arg-nonnull.
31051         (Makefile.am): Insert arg-nonnull.h into wchar.h.
31052         * modules/argv-iter (Depends-on): Add arg-nonnull.
31053         * tests/test-canonicalize.c (null_ptr): New function.
31054         (main): Use it.
31055         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
31056         (main): Use it.
31057         * tests/test-memmem.c (null_ptr): New function.
31058         (main): Use it.
31059         Reported by Jim Meyering.
31060
31061 2009-12-10  Bruno Haible  <bruno@clisp.org>
31062
31063         Use spaces for indentation, not tabs.
31064         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
31065         * m4/*.m4: Untabify.
31066         * build-aux/*.h: Untabify.
31067         * tests/**/*.[hc]: Untabify.
31068         * README: New section "Indent with spaces, not TABs", based on
31069         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
31070         * NEWS: Mention the change.
31071
31072 2009-12-10  Bruno Haible  <bruno@clisp.org>
31073
31074         pty test: Fix link error.
31075         * modules/pty-tests (Makefile.am): Add the default LDADD value to
31076         test_pty_LDADD.
31077
31078 2009-12-07  Simon Josefsson  <simon@josefsson.org>
31079
31080         * modules/pty: New file.
31081         * modules/pty-tests: New file.
31082         * m4/pty.m4: New file.
31083         * tests/test-pty.c: New file.
31084         * doc/glibc-headers/pty.texi: Modified.
31085         * doc/glibc-functions/forkpty.texi: Modified.
31086         * doc/glibc-functions/openpty.texi: Modified.
31087
31088 2009-12-10  Bruno Haible  <bruno@clisp.org>
31089
31090         Avoid syntax error in C++ mode.
31091         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
31092
31093 2009-12-10  Bruno Haible  <bruno@clisp.org>
31094
31095         Use sed with option -e.
31096         * gnulib-tool (func_version, func_emit_copyright_notice,
31097         func_emit_initmacro_end, func_import, func_create_testdir): Pass
31098         option -e to sed.
31099         * modules/link-warning (Makefile.am): Likewise.
31100
31101 2009-12-10  Jim Meyering  <meyering@redhat.com>
31102
31103         mgetgroups: do not write bytes beyond end of malloc'd buffer
31104         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
31105         username, we call getgroups with a one-element-shorter buffer,
31106         but still told it the length was original, max_n_groups.
31107
31108 2009-12-09  Eric Blake  <ebb9@byu.net>
31109
31110         cloexec: relax license
31111         * modules/cloexec (Maintainer): Add myself.
31112         (License): Use LGPL, not GPL.
31113
31114         link-warning: optimize generation
31115         * modules/link-warning (Makefile.am): Reduce process usage.
31116
31117 2009-12-09  Bruno Haible  <bruno@clisp.org>
31118
31119         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
31120         workaround was added on 2009-11-17.
31121
31122 2009-12-09  Jim Meyering  <meyering@redhat.com>
31123             Bruno Haible  <bruno@clisp.org>
31124
31125         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
31126         * modules/link-warning (Makefile.am): Make the comment-removing sed
31127         command more robust in the face of bootstrap-prepended comment lines.
31128
31129 2009-12-09  Bruno Haible  <bruno@clisp.org>
31130
31131         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
31132         most one group.
31133
31134 2009-12-09  Simon Josefsson <simon@josefsson.org>
31135             Bruno Haible  <bruno@clisp.org>
31136
31137         * build-aux/link-warning.h: Add copyright notice.
31138         * modules/link-warning (Makefile.am): Generate link-warning.h from
31139         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
31140         * NEWS: Mention change in link-warning module.
31141         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
31142         * modules/dirent (Makefile.am): Add dependency to dirent.h.
31143         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
31144         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
31145         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
31146         * modules/math (Makefile.am): Add dependency to math.h.
31147         * modules/search (Makefile.am): Add dependency to search.h.
31148         * modules/signal (Makefile.am): Add dependency to signal.h.
31149         * modules/spawn (Makefile.am): Add dependency to spawn.h.
31150         * modules/stdio (Makefile.am): Add dependency to stdio.h.
31151         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
31152         * modules/string (Makefile.am): Add dependency to string.h.
31153         * modules/strings (Makefile.am): Add dependency to strings.h.
31154         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
31155         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
31156         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
31157         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
31158         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
31159         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
31160         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
31161         * modules/unistd (Makefile.am): Add dependency to unistd.h.
31162         * modules/wchar (Makefile.am): Add dependency to wchar.h.
31163
31164 2009-12-09  Bruno Haible  <bruno@clisp.org>
31165
31166         fchdir: Optimize away rpl_fstat when possible.
31167         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
31168         REPLACE_OPEN_DIRECTORY.
31169         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
31170
31171 2009-12-09  Bruno Haible  <bruno@clisp.org>
31172
31173         * lib/fchdir.c: Update comment.
31174
31175 2009-12-09  Bruno Haible  <bruno@clisp.org>
31176
31177         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
31178
31179 2009-12-08  Eric Blake  <ebb9@byu.net>
31180
31181         fchdir: avoid memory leak on re-registration.
31182         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
31183
31184 2009-12-08  Jim Meyering  <meyering@redhat.com>
31185
31186         init.sh: avoid Solaris 10 /bin/sh portability problem
31187         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
31188         sourced script:
31189           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
31190           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
31191           bar
31192         tests/init.sh relied on that, accepting a --set-path=DIR argument,
31193         and two tests used that idiom.
31194         * tests/init.sh: Update suggested usage comments.
31195         (path_prepend_): New function, to be used in place
31196         of the --src-path=DIR option.
31197         (setup_): Move PATH-prepending code into path_prepend_.
31198         * tests/test-pread.sh: Adapt to new usage.
31199         * tests/test-xalloc-die.sh: Likewise.
31200
31201 2009-12-08  Simon Josefsson  <simon@josefsson.org>
31202
31203         * doc/gnulib.texi (Glibc pty.h): Add.
31204         * doc/glibc-functions/forkpty.texi: Add.
31205         * doc/glibc-functions/openpty.texi: Add.
31206         Suggested by Bruno Haible.
31207
31208 2009-12-08  Eric Blake  <ebb9@byu.net>
31209
31210         fchdir: fix logic bugs
31211         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
31212         * tests/test-fchdir.c (main): Enhance test.
31213         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
31214         is in use.
31215
31216         dup2: fix logic bugs
31217         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
31218         REPLACE_DUP2 to decide when rpl_dup2 is needed.
31219         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
31220         exists.
31221         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
31222
31223 2009-12-07  Eric Blake  <ebb9@byu.net>
31224
31225         unlink: fix m4 detection
31226         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
31227
31228         unistd-safer: add unit test
31229         * modules/unistd-safer-tests: New file.
31230         * tests/test-dup-safer.c: Likewise.
31231         * tests/test-cloexec.c (setmode): Avoid compiler warning.
31232         * tests/test-dup2.c (setmode): Likewise.
31233         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
31234
31235         cloexec: preserve text vs. binary across dup_cloexec
31236         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
31237         mode.
31238         * modules/dup2-tests (Depends-on): Add binary-io.
31239         * modules/cloexec-tests (Depends-on): Likewise.
31240         * tests/test-dup2.c (setmode, is_mode): New helpers.
31241         (main): Add tests that translation mode is preserved.
31242         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
31243         Reported by Bruno Haible.
31244
31245         mgetgroups: reduce duplicate listings
31246         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
31247         resulting array.
31248         * tests/test-chown.h (test_chown): Simplify client.
31249         * tests/test-lchown.h (test_lchown): Likewise.
31250
31251 2009-12-06  Bruno Haible  <bruno@clisp.org>
31252
31253         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
31254         value.
31255
31256 2009-12-06  Bruno Haible  <bruno@clisp.org>
31257
31258         * lib/progname.c: Include stdio.h, stdlib.h.
31259         (set_program_name): Reject a NULL argument.
31260
31261 2009-12-05  Eric Blake  <ebb9@byu.net>
31262
31263         pipe2-safer: new module
31264         * modules/pipe2-safer: New file.
31265         * lib/unistd-safer.h (pipe2_safer): New prototype.
31266         * lib/unistd--.h (pipe2): New wrapper.
31267         * lib/pipe-safer.c (pipe2_safer): New function.
31268         * modules/pipe (Depends-on): Add pipe2-safer.
31269         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
31270
31271         stdlib-safer: preserve cloexec flag for mkostemp[s]
31272         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
31273         fd_safer_flag.
31274
31275         unistd-safer: allow preservation of cloexec status via flag
31276         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
31277         prototypes.
31278         * lib/dup-safer.c (dup_safer_flag): New function.
31279         * lib/fd-safer.c (fd_safer_flag): Likewise.
31280         * modules/cloexec (configure.ac): Set witness.
31281
31282         test-dup2: enhance test
31283         * modules/dup2-tests (Depends-on): Add cloexec.
31284         * tests/test-dup2.c (main): Enhance test.
31285
31286         cloexec: add dup_cloexec
31287         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
31288         header and comments.
31289         * lib/cloexec.c (set_cloexec_flag): Add comments.
31290         (dup_cloexec): New function, with mingw implementation borrowed
31291         from...
31292         * lib/w32spawn.h (dup_noinherit): ...here.
31293         * modules/execute (Depends-on): Add cloexec.
31294         * modules/pipe (Depends-on): Likewise.
31295         * modules/cloexec (Depends-on): Add dup2.
31296         * modules/cloexec-tests (Files): New file.
31297         * tests/test-cloexec.c: Likewise.
31298
31299         test-xalloc-die: fix test for mingw
31300         * modules/xalloc-die-tests (Files): Add tests/init.sh.
31301         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
31302         directory and .exe suffix off argv[0] output.
31303
31304         test-fseeko: fix test for mingw
31305         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
31306         than undefining fseek, so test will pass on mingw.
31307
31308 2009-12-05  Bruno Haible  <bruno@clisp.org>
31309
31310         * lib/progname.h (set_program_name): Clarify specification.
31311         * lib/progname.c (set_program_name): Likewise.
31312         Reported by Jim Meyering.
31313
31314 2009-12-05  Jim Meyering  <meyering@redhat.com>
31315
31316         maint.mk: backslash-escape parens in default regexp
31317         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
31318         backslash-escape the literal parentheses.
31319
31320         maint.mk: news-date-check: use grep -E
31321         * top/maint.mk (today): Define a Make variable, not a...
31322         (news-date-check): ...shell variable.
31323         (news-date-regexp): Use the Make variable.
31324         Use grep's -E option.  Change the failing diagnostic to mention
31325         the variable, $(news-date-regexp).
31326
31327 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
31328
31329         maintainer-makefile: allow customization of NEWS entry format
31330         * top/maint.mk (news-date-regexp): New overridable variable.
31331         (news-date-check): Use it.
31332
31333 2009-12-04  Eric Blake  <ebb9@byu.net>
31334
31335         mgetgroups: add xgetgroups, and avoid ENOSYS failures
31336         * lib/mgetgroups.h (xgetgroups): New prototype.
31337         * lib/mgetgroups.c (xgetgroups): New wrapper.
31338         (mgetgroups): Handle ENOSYS.
31339         * modules/mgetgroups (Depends-on): Add realloc.
31340         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
31341
31342         mgetgroups: avoid argument promotion issues with -1
31343         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
31344         for invalid gid_t.
31345         * tests/test-chown.h (getegid, test_chown): Likewise.
31346         * tests/test-lchown.h (getegid, test_lchown): Likewise.
31347
31348 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
31349
31350         exclude: Fix header file problems.
31351         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
31352
31353 2009-12-01  Jim Meyering  <meyering@redhat.com>
31354
31355         fts: fts_open: do not let an empty string cause immediate failure
31356         This is required in support of GNU rm, for which the command
31357         "rm A '' B" must process and remove both A and B, in spite of
31358         the empty string argument.
31359         * lib/fts.c (fts_open): Do not let the presence of an empty string
31360         cause fts_open to fail immediately.  Most fts-using tools must be
31361         able to process all arguments, in order, and can be expected to
31362         diagnose such arguments themselves.
31363
31364 2009-11-30  Eric Blake  <ebb9@byu.net>
31365
31366         utimens: fix compilation error
31367         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
31368         Declare variable at right scope.
31369
31370 2009-11-29  Jim Meyering  <meyering@redhat.com>
31371
31372         bootstrap: handle perl-5.11's changed --version output
31373         * build-aux/bootstrap (get_version): Handle perl separately,
31374         since perl-5.11's --version output is different.
31375
31376 2009-11-28  Jim Meyering  <meyering@redhat.com>
31377
31378         userspec: depend on the inttostr module, too
31379         * modules/userspec (Depends-on): Add inttostr.
31380
31381         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
31382         * lib/userspec.c (parse_with_separator): Do not accept a user ID
31383         number of MAXUID when it evaluates to (uid_t) -1.
31384         Likewise for group ID.  Reported by Matt McCutchen in
31385         <http://savannah.gnu.org/bugs/?28113>
31386
31387         userspec: reformat to use spaces, not TABs
31388         * lib/userspec.c: Expand TABs to spaces.
31389         Add Emacs' "indent-tabs-mode: nil" hint.
31390
31391 2009-11-27  Eric Blake  <ebb9@byu.net>
31392
31393         getopt-gnu: flush out another BSD bug
31394         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
31395         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
31396         flush out BSD bug.
31397         * tests/test-getopt.h (test_getopt): End lists with NULL.
31398         * tests/test-getopt_long.h (test_getopt_long): Likewise.
31399         (test_getopt_long_posix): Enhance test.
31400         * modules/getopt-posix-tests (Depends-on): Add stdbool.
31401         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
31402         getopt-gnu.
31403         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
31404         Likewise.
31405
31406 2009-11-27  Simon Josefsson  <simon@josefsson.org>
31407
31408         * modules/idpriv-droptemp-tests (Notice): Fix text.
31409
31410 2009-11-27  Jim Meyering  <meyering@redhat.com>
31411
31412         test-xalloc-die: avoid spurious failure due to libtool argv difference
31413         In a libtool-enabled project, this test would fail due to a difference
31414         in the emitted program name, e.g.,
31415         -test-xalloc-die: memory exhausted
31416         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
31417         Use program to avoid that.
31418         * modules/xalloc-die-tests (Depends-on): Add progname.
31419         * tests/test-xalloc-die.c: Include progname.h".
31420         (program_name): Remove decl.
31421         (main): Call set_program_name.
31422         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
31423
31424 2009-11-26  Richard Jones  <rjones@redhat.com>
31425
31426         w32sock: leave win32 error in place.
31427         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
31428
31429 2009-11-26  Eric Blake  <ebb9@byu.net>
31430
31431         init.sh: suggest to use skip_ and fail_ functions in comments
31432         * tests/init.sh: Add a sentence.
31433
31434 2009-11-25  Bruno Haible  <bruno@clisp.org>
31435
31436         init.sh: add documentation in comments
31437         * tests/init.sh: Add some developer and user documentation.
31438
31439 2009-11-26  Jim Meyering  <meyering@redhat.com>
31440
31441         init.sh: accommodate even those who specify bogus srcdir manually
31442         * tests/init.sh: Normally, srcdir is guaranteed by automake and
31443         configure-time tests to be sanitized, so that there is no need to
31444         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
31445         (with no double quotes) suffices.  However, since tests may be
31446         invoked manually, and since you may explicitly set srcdir to the
31447         name of a directory containing spaces, do quote its uses here.
31448         * tests/test-pread.sh: Likewise.
31449         Suggested by Bruno Haible.
31450
31451         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
31452         * tests/test-pread.sh: Write no data into the pipe, because
31453         test-pread actually reads none.  This avoids a diagnostic,
31454         "bash: echo: write error: Broken pipe", that arises in the unusual
31455         event something is ignoring SIGPIPE, and might be interpreted
31456         as some sort of failure.  Reported by Bruno Haible.
31457
31458 2009-11-25  Jim Meyering  <meyering@redhat.com>
31459
31460         test-pread: cover failure with ESPIPE and EINVAL
31461         * tests/test-pread.c (main): Test for failure, too.
31462         * tests/test-pread.sh: Invoke with stdin on a pipe.
31463         Suggested by Eric Blake.
31464
31465         pread: improvement and fix
31466         * modules/pread (Depends-on): Depend on lseek, for portability to
31467         e.g., mingw.  Suggested by Eric Blake.
31468         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
31469
31470         unistd.in.h: correct declaration of pread
31471         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
31472         Reported by Richard W.M. Jones.
31473
31474         test-pread.sh: distribute the test script
31475         * modules/pread-tests (Files): Include test-pread.sh.
31476
31477         test-pread.sh: clean up
31478         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
31479         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
31480         That is unnecessary, since it's always ".".
31481         Suggestion from Eric Blake.
31482
31483         test-pread.sh: make executable
31484         * tests/test-pread.sh: Set executable bit.
31485         Reported by Eric Blake.
31486
31487         correct typo in test-pread.sh
31488         * tests/test-pread.sh: Add #! line.
31489
31490         test pread
31491         * tests/test-pread.c: New file.
31492         * tests/test-pread.sh: Likewise.
31493         * modules/pread-tests: Likewise.
31494
31495         pread: new module
31496         * modules/pread: New file.
31497         * lib/unistd.in.h (pread): Define/declare.
31498         * lib/pread.c (pread): New file.
31499         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
31500         * modules/unistd (Makefile.am): Substitute witnesses.
31501         * doc/posix-functions/pread.texi (pread): Update.
31502         * MODULES.html.sh: Add pread.
31503
31504 2009-11-25  Jim Meyering  <meyering@redhat.com>
31505
31506         tests/init.sh: new file to be used via most *.sh tests
31507         * tests/init.sh: New file.
31508
31509 2009-11-25  Eric Blake  <ebb9@byu.net>
31510
31511         utimens: work around older Linux failure with symlinks
31512         * lib/utimens.c (lutimensat_works_really): New variable.
31513         (fdutimens, lutimens): Use it to manage kernels that support
31514         nanosecond times on files, but not on symlinks.
31515         Reported by OndÅ™ej Vašík.
31516
31517         utimes: fix configure grammar
31518         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
31519
31520 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
31521
31522         regex: Fix fastmap for multibyte character ranges.
31523         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
31524         characters when a multibyte character range is included.
31525
31526 2009-11-22  Andy Wingo  <wingo@pobox.com>
31527
31528         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
31529         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
31530
31531 2009-11-24  Bruno Haible  <bruno@clisp.org>
31532
31533         doc: Most *_l functions exist in MacOS X 10.5.
31534         * doc/posix-functions/duplocale.texi: Update platforms list.
31535         * doc/posix-functions/freelocale.texi: Likewise.
31536         * doc/posix-functions/newlocale.texi: Likewise.
31537         * doc/posix-functions/uselocale.texi: Likewise.
31538         * doc/posix-functions/isalnum_l.texi: Likewise.
31539         * doc/posix-functions/isalpha_l.texi: Likewise.
31540         * doc/posix-functions/isblank_l.texi: Likewise.
31541         * doc/posix-functions/iscntrl_l.texi: Likewise.
31542         * doc/posix-functions/isdigit_l.texi: Likewise.
31543         * doc/posix-functions/isgraph_l.texi: Likewise.
31544         * doc/posix-functions/islower_l.texi: Likewise.
31545         * doc/posix-functions/isprint_l.texi: Likewise.
31546         * doc/posix-functions/ispunct_l.texi: Likewise.
31547         * doc/posix-functions/isspace_l.texi: Likewise.
31548         * doc/posix-functions/isupper_l.texi: Likewise.
31549         * doc/posix-functions/iswalnum_l.texi: Likewise.
31550         * doc/posix-functions/iswalpha_l.texi: Likewise.
31551         * doc/posix-functions/iswblank_l.texi: Likewise.
31552         * doc/posix-functions/iswcntrl_l.texi: Likewise.
31553         * doc/posix-functions/iswctype_l.texi: Likewise.
31554         * doc/posix-functions/iswdigit_l.texi: Likewise.
31555         * doc/posix-functions/iswgraph_l.texi: Likewise.
31556         * doc/posix-functions/iswlower_l.texi: Likewise.
31557         * doc/posix-functions/iswprint_l.texi: Likewise.
31558         * doc/posix-functions/iswpunct_l.texi: Likewise.
31559         * doc/posix-functions/iswspace_l.texi: Likewise.
31560         * doc/posix-functions/iswupper_l.texi: Likewise.
31561         * doc/posix-functions/iswxdigit_l.texi: Likewise.
31562         * doc/posix-functions/isxdigit_l.texi: Likewise.
31563         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
31564         * doc/posix-functions/strcasecmp_l.texi: Likewise.
31565         * doc/posix-functions/strcoll_l.texi: Likewise.
31566         * doc/posix-functions/strfmon_l.texi: Likewise.
31567         * doc/posix-functions/strftime_l.texi: Likewise.
31568         * doc/posix-functions/strncasecmp_l.texi: Likewise.
31569         * doc/posix-functions/strxfrm_l.texi: Likewise.
31570         * doc/posix-functions/tolower_l.texi: Likewise.
31571         * doc/posix-functions/toupper_l.texi: Likewise.
31572         * doc/posix-functions/towctrans_l.texi: Likewise.
31573         * doc/posix-functions/towlower_l.texi: Likewise.
31574         * doc/posix-functions/towupper_l.texi: Likewise.
31575         * doc/posix-functions/wcscoll_l.texi: Likewise.
31576         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
31577         * doc/posix-functions/wctrans_l.texi: Likewise.
31578         * doc/posix-functions/wctype_l.texi: Likewise.
31579         * doc/glibc-functions/strptime_l.texi: Likewise.
31580         * doc/glibc-functions/strtod_l.texi: Likewise.
31581         * doc/glibc-functions/strtof_l.texi: Likewise.
31582         * doc/glibc-functions/strtol_l.texi: Likewise.
31583         * doc/glibc-functions/strtold_l.texi: Likewise.
31584         * doc/glibc-functions/strtoll_l.texi: Likewise.
31585         * doc/glibc-functions/strtoul_l.texi: Likewise.
31586         * doc/glibc-functions/strtoull_l.texi: Likewise.
31587         * doc/glibc-functions/wcsftime_l.texi: Likewise.
31588         * doc/glibc-functions/wcstod_l.texi: Likewise.
31589         * doc/glibc-functions/wcstof_l.texi: Likewise.
31590         * doc/glibc-functions/wcstol_l.texi: Likewise.
31591         * doc/glibc-functions/wcstold_l.texi: Likewise.
31592         * doc/glibc-functions/wcstoll_l.texi: Likewise.
31593         * doc/glibc-functions/wcstoul_l.texi: Likewise.
31594         * doc/glibc-functions/wcstoull_l.texi: Likewise.
31595
31596 2009-11-24  Bruno Haible  <bruno@clisp.org>
31597
31598         duplocale: Fix logic bug.
31599         * lib/duplocale.c: Don't include <langinfo.h>.
31600         (_NL_LOCALE_NAME): Remove macro.
31601         (rpl_duplocale): Use setlocale instead of nl_langinfo.
31602         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
31603
31604 2009-11-23  Jim Meyering  <meyering@redhat.com>
31605
31606         test-update-copyright: don't hard-code /usr/bin/perl
31607         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
31608         perl to print the current year.  Gilles Espinasse reported that
31609         the replaced use of perl was hard-coded as /usr/bin/perl.
31610
31611 2009-11-23  Bruno Haible  <bruno@clisp.org>
31612
31613         duplocale: Add support for glibc 2.3.x.
31614         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
31615
31616 2009-11-22  Bruno Haible  <bruno@clisp.org>
31617
31618         vasnprintf: Tiny optimization.
31619         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
31620         MacOS X.
31621
31622 2009-11-22  Bruno Haible  <bruno@clisp.org>
31623
31624         Tests for module 'duplocale'.
31625         * modules/duplocale-tests: New file.
31626         * tests/test-duplocale.c: New file.
31627
31628         New module 'duplocale'.
31629         * m4/duplocale.m4: New file.
31630         * lib/locale.in.h (duplocale): New declaration.
31631         * lib/duplocale.c: New file.
31632         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
31633         gl_LOCALE_H_DEFAULTS): New macros.
31634         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
31635         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
31636         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
31637         REPLACE_DUPLOCALE.
31638         * modules/duplocale: New file.
31639         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
31640
31641 2009-11-22  Bruno Haible  <bruno@clisp.org>
31642
31643         * modules/locale-tests (configure.ac): Test for newlocale function.
31644         * tests/test-locale.c: When the system has extended locale functions,
31645         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
31646
31647         locale: Make locale_t available when possible.
31648         * lib/locale.in.h: Include <xlocale.h> when it exists.
31649         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
31650         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
31651         * modules/locale (Depends-on): Add extensions.
31652         (Makefile.am): Also substitute HAVE_XLOCALE_H.
31653         * doc/posix-headers/locale.texi: Document the problem with locale_t.
31654
31655 2009-11-22  Bruno Haible  <bruno@clisp.org>
31656
31657         Add comments.
31658         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
31659         invocation.
31660         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
31661         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
31662         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
31663
31664 2009-11-22  Bruno Haible  <bruno@clisp.org>
31665
31666         error: account for the possibility of freopen (stdout).
31667         * lib/error.c: Include <unistd.h>.
31668         (flush_stdout): New function, extracted from error and error_at_line.
31669         Determine stdout's fd dynamically.
31670         (error, error_at_line): Invoke flush_stdout.
31671         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
31672         * modules/error (Depends-on): Add unistd.
31673
31674 2009-11-22  Bruno Haible  <bruno@clisp.org>
31675
31676         diffseq: Add comment.
31677         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
31678
31679 2009-11-22  Jim Meyering  <meyering@redhat.com>
31680
31681         c-stack: avoid defining an unused static function
31682         * lib/c-stack.c (find_stack_direction): Do not define this function
31683         when it will not be used.
31684
31685         diffseq: avoid spurious gcc warnings
31686         * lib/diffseq.h (IF_LINT2): Define.
31687         (compareseq): Use it to initialize two members of "part".
31688         This avoids two used-uninitialized warnings.
31689
31690 2009-11-21  Jim Meyering  <meyering@redhat.com>
31691
31692         c-stack: avoid "ignoring return value of `write'" warning
31693         * lib/c-stack.c: Include "ignore-value.h".
31694         (die): Explicitly ignore each write return value.
31695         * modules/c-stack (Depends-on): Add ignore-value.
31696
31697 2009-11-21  Bruno Haible  <bruno@clisp.org>
31698
31699         diffseq: reduce scope of variable 'best'.
31700         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
31701         variable, earlier used for two different purposes.
31702
31703 2009-11-21  Jim Meyering  <meyering@redhat.com>
31704
31705         diffseq: remove useless assignment to "best"
31706         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
31707         assignment.  At that point "best" is already guaranteed to be zero.
31708
31709 2009-11-20  Eric Blake  <ebb9@byu.net>
31710
31711         build: mention ftp redirector in release announcements
31712         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
31713         values that used to come from cfg.mk; mention FTP redirect URL.
31714         * build-aux/announce-gen: Mention the mirror list.
31715         Suggested by Karl Berry.
31716
31717         nanosleep: improve port to mingw
31718         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
31719         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
31720         LIB_NANOSLEEP, but only when needed.
31721         * modules/select (Link): Document LIBSOCKET.
31722         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
31723         enough.
31724
31725         nanosleep: work around cygwin bug
31726         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
31727         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
31728         bug.
31729         (getnow): Delete, not needed.
31730         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
31731         LIB_CLOCK_GETTIME.
31732         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
31733         clock-time, gettime.
31734         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
31735         bug.
31736         * modules/nanosleep-tests: New test.
31737         * tests/test-nanosleep.c: New file.
31738
31739         sleep: work around cygwin bug
31740         * lib/sleep.c (rpl_sleep): Work around the bug.
31741         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
31742         (gl_PREREQ_SLEEP): Delete unused macro.
31743         * modules/sleep (Depends-on): Add verify.
31744         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
31745         * modules/unistd (Makefile.am): Substitute witness.
31746         * lib/unistd.in.h (sleep): Update prototype.
31747         * doc/posix-functions/sleep.texi (sleep): Document the bug.
31748         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
31749         * modules/sleep-tests (Depends-on): Check for alarm.
31750
31751 2009-11-20  Jim Meyering  <meyering@redhat.com>
31752
31753         maint.mk: improve sc_prohibit_magic_number_exit
31754         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
31755         so it does not match uses like System.exit(1).
31756         Add comments showing how to correct all offenders.
31757
31758 2009-11-19  Eric Blake  <ebb9@byu.net>
31759
31760         xalloc-die-tests: add missing library
31761         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
31762
31763         test-xvasprintf: silence compiler warnings
31764         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
31765         empty string from gcc.
31766
31767 2009-11-19  Jim Meyering  <meyering@redhat.com>
31768
31769         xfreopen: new module, from coreutils
31770         * modules/xfreopen: New module.
31771         * lib/xfreopen.c: New file.
31772         * lib/xfreopen.h: New file.
31773         * MODULES.html.sh (File stream based Input/Output"): Add it.
31774
31775 2009-11-19  Eric Blake  <ebb9@byu.net>
31776
31777         manywarnings: depend on warnings
31778         * modules/manywarnings (Depends-on): Add warnings.
31779
31780         build: avoid compiler warnings
31781         * lib/select.c (rpl_select): Delete unused variable.
31782         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
31783
31784 2009-11-18  Eric Blake  <ebb9@byu.net>
31785
31786         tests: avoid false negative with --with-packager
31787         * tests/test-version-etc.sh: Discard packager information.
31788         * tests/test-argp-version-etc-1.sh: Likewise.
31789         Reported by Mike Frysinger.
31790
31791         utimens: fix regression on Solaris
31792         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
31793         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
31794         can only change fd timestamps via futimesat.  Instead, use an
31795         additional witness macro to avoid BSD bug.
31796         Reported by Jim Meyering.
31797
31798 2009-11-17  Eric Blake  <ebb9@byu.net>
31799
31800         usleep: use it to simplify tests
31801         * modules/stat-time-tests (Depends-on): Add usleep.
31802         (configure.ac): Drop usleep check.
31803         * modules/chown-tests (Depends-on, configure.ac): Likewise.
31804         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
31805         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
31806         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
31807         * modules/openat-tests (Depends-on, configure.ac): Likewise.
31808         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
31809         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
31810         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
31811         Likewise.
31812         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
31813         * tests/test-lchown.h (nap): Likewise.
31814         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
31815         * tests/test-stat-time.c (nap): Likewise.
31816         * tests/test-utimens-common.h (nap): Update comments.
31817
31818         usleep: new module
31819         * modules/usleep: New file.
31820         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
31821         * lib/usleep.c (usleep): Likewise.
31822         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
31823         * modules/unistd (Makefile.am): Substitute witnesses.
31824         * lib/unistd.in.h (usleep): Add declaration.
31825         * doc/pastposix-functions/usleep.texi (usleep): Document this.
31826         * MODULES.html.sh (Date and time): Likewise.
31827         * modules/usleep-tests (Depends-on): New test.
31828         * tests/test-usleep.c: New file.
31829
31830         chown: work around OpenBSD bug
31831         * lib/chown.c (rpl_chown): Work around the bug.
31832         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
31833         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
31834         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
31835         * modules/chown (Depends-on): Add stdbool.
31836         * modules/lchown (Depends-on): Likewise.
31837         * doc/posix-functions/chown.texi (chown): Document the bug.
31838         * doc/posix-functions/lchown.texi (lchown): Likewise.
31839         * tests/test-lchown.h (test_chown): Relax test.
31840
31841         mkstemp: avoid conflict with C++ keyword template
31842         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
31843         * lib/mkostemp.c (mkostemp): Likewise.
31844         * lib/mkostemps.c (mkostemps): Likewise.
31845         * lib/mkstemp.c (mkstemp): Likewise.
31846         * lib/mkstemps.c (mkstemps): Likewise.
31847
31848         xalloc-die-tests: optimize
31849         * tests/test-xalloc-die.sh: Reduce number of processes.
31850
31851 2009-11-17  Simon Josefsson  <simon@josefsson.org>
31852
31853         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
31854         patch from ludo@gnu.org (Ludovic Courtès).
31855
31856 2009-11-17  Jim Meyering  <meyering@redhat.com>
31857
31858         version-etc: use proper license string
31859         * modules/version-etc (License): Use LGPL, not LGPLv3+.
31860         * modules/version-etc-fsf: Likewise.
31861
31862 2009-11-17  Simon Josefsson  <simon@josefsson.org>
31863
31864         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
31865         printed to stdout.  Deal with EOL differences.
31866
31867 2009-11-17  Eric Blake  <ebb9@byu.net>
31868
31869         unsetenv: work around Solaris bug
31870         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
31871         * lib/unsetenv.c (rpl_unsetenv): Work around it.
31872         Reported by Jim Meyering.
31873
31874         vasnprintf: avoid compiler warnings
31875         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
31876         variables.
31877         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
31878
31879 2009-11-17  Simon Josefsson  <simon@josefsson.org>
31880
31881         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
31882         settings since xalloc-die is no longer the self test,
31883         xalloc-die.sh is.
31884
31885 2009-11-17  Jim Meyering  <meyering@redhat.com>
31886
31887         test-xalloc-die.sh: make the code agree with the commit log
31888         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
31889         at the end, just in case you happen to have a test-xalloc-die
31890         program in some other PATH directory.
31891
31892         test-xalloc-die.sh: fix a portability bug
31893         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
31894         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
31895         Otherwise, argv[0] (as often seen in diagnostics) would be too
31896         system-dependent, sometimes with, and sometimes without the leading "./".
31897
31898         version-etc-fsf: relax license to LGPLv3+
31899         * modules/version-etc-fsf (License): Relax license.
31900
31901 2009-11-16  Eric Blake  <ebb9@byu.net>
31902
31903         xalloc-die-tests: avoid printing null pointer
31904         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
31905         shell script.
31906         * tests/test-xalloc-die.c (program_name): Declare.
31907         * tests/test-xalloc-die.sh (tmpfiles): New file.
31908
31909         setenv, unsetenv: work around various bugs
31910         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
31911         (setenv) [HAVE_SETENV]: Work around bugs.
31912         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
31913         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
31914         for bugs.
31915         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
31916         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
31917         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
31918         * modules/stdlib (Makefile.am): Update substitutions.
31919         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
31920         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
31921         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
31922         * modules/setenv-tests: New test.
31923         * modules/unsetenv-tests: Likewise.
31924         * tests/test-setenv.c: New file.
31925         * tests/test-unsetenv.c: Likewise.
31926
31927 2009-11-16  Jim Meyering  <meyering@redhat.com>
31928
31929         version-etc: relax license to LGPLv3+
31930         * modules/version-etc (License): Relax license.
31931
31932         better AC_REQUIRE expanded-before-required-warning avoidance
31933         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
31934         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
31935         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
31936         which is no longer needed.
31937
31938 2009-11-16  Eric Blake  <ebb9@byu.net>
31939
31940         test-freading: clean up temporary file
31941         * tests/test-freading.c (main): Remove file on success, and use
31942         ASSERT more liberally.
31943         Reported by Jim Meyering.
31944
31945 2009-11-16  Jim Meyering  <meyering@redhat.com>
31946
31947         avoid new AC_REQUIRE expanded-before-required warnings
31948         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
31949         merely using it.
31950         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
31951         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
31952
31953 2009-11-15  Simon Josefsson  <simon@josefsson.org>
31954
31955         * tests/test-xalloc-die.c: New file.
31956         * modules/xalloc-die-tests: New file.
31957         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
31958         XFAIL_TESTS so it can be appended by modules.
31959
31960 2009-11-15  Simon Josefsson  <simon@josefsson.org>
31961
31962         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
31963         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
31964
31965 2009-11-14  Eric Blake  <ebb9@byu.net>
31966
31967         fnmatch: avoid compiler warning
31968         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
31969         to silence compiler warning about mismatch signedness in ?:.
31970         Reported by Robert Millan.
31971
31972         intprops: add double-inclusion guard
31973         * lib/intprops.h: Allow idempotent includes.
31974         Suggested by Bruce Korb.
31975
31976         openat: detect Solaris fchownat bug
31977         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
31978         penalizing glibc chownat when only lchownat is broken.
31979         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
31980         trailing slash bugs.
31981         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
31982         * modules/openat-tests (Files): Include more files.
31983         (Depends-on): Add mgetgroups, sleep, stat-time.
31984         (configure.ac): Add additional checks.
31985         (Makefile.am): Build new test.
31986         * tests/test-fchownat.c: New file.
31987
31988         lchown: detect Solaris and FreeBSD bug
31989         * lib/lchown.c (rpl_lchown): Work around bug.
31990         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
31991         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
31992         * modules/unistd (Makefile.am): Populate it.
31993         * lib/unistd.in.h (lchown): Update declaration.
31994         * doc/posix-functions/lchown.texi (lchown): Document the bug.
31995         * modules/lchown-tests: New file.
31996         * tests/test-lchown.h (test_lchown): Likewise.
31997         * tests/test-lchown.c (main): Likewise.
31998
31999         chown: detect Solaris and FreeBSD bug
32000         * lib/chown.c (rpl_chown): Work around bug.
32001         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
32002         (gl_PREREQ_CHOWN): Delete.
32003         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
32004         * modules/unistd (Makefile.am): Populate it.
32005         * lib/unistd.in.h (chown): Update declaration.
32006         * lib/lchown.c (chown): Update client.
32007         * modules/lchown (Depends-on): Add lstat.
32008         * doc/posix-functions/chown.texi (chown): Document the bug.
32009         * doc/posix-functions/getgroups.texi (getgroups): Document
32010         getgroups pitfall.
32011         * modules/chown-tests: New file.
32012         * tests/test-chown.h (test_chown): Likewise.
32013         * tests/test-chown.c (main): Likewise.
32014
32015 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
32016
32017         gnulib-tool: correctly detect absence of m4 directories
32018         * gnulib-tool: Avoid extra newline on data passed to wc -l.
32019
32020 2009-11-14  Jim Meyering  <meyering@redhat.com>
32021
32022         maint.mk: Prohibit inclusion of "xalloc.h" without use.
32023         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
32024
32025 2009-11-14  John W. Eaton  <jwe@gnu.org>
32026
32027         strftime.h: wrap funtion declaration in extern "C" block
32028         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
32029
32030 2009-11-13  Eric Blake  <ebb9@byu.net>
32031
32032         getgroups: avoid compiler warning
32033         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
32034
32035         getgroups: work around FreeBSD bug
32036         * lib/getgroups.c (rpl_getgroups): Work around the bug.
32037         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
32038         * doc/posix-functions/getgroups.texi (getgroups): Document it.
32039         * tests/test-getgroups.c (main): Fix buffer overrun.
32040
32041         getgroups: avoid compilation failure
32042         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
32043         * modules/getgroups (Depends-on): Add stdint.
32044
32045 2009-11-13  Jim Meyering  <meyering@redhat.com>
32046
32047         test-getgroups: avoid compilation failure
32048         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
32049
32050 2009-11-13  Eric Blake  <ebb9@byu.net>
32051
32052         mgetgroups: new module, taken from coreutils
32053         * modules/mgetgroups: New file.
32054         * lib/mgetgroups.h: Likewise.
32055         * lib/mgetgroups.c (mgetgroups): Likewise.
32056         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
32057         * MODULES.html.sh (Users and groups): Mention it.
32058
32059         getgroups: don't expose GETGROUPS_T to user
32060         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
32061         an element at a time if GETGROUPS_T is wrong size.
32062         * lib/getugroups.h (getugroups): Change signature.
32063         * lib/unistd.in.h (getgroups): Likewise.
32064         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
32065         signature needs fixing.
32066         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
32067         AC_TYPE_GETGROUPS.
32068         * modules/group-member (Depends-on): Add getgroups.
32069         * lib/group-member.c (group_info, get_group_info): Use gid_t.
32070         (group_member): Rely on getgroups replacement.
32071         * lib/getugroups.c (getugroups): Use gid_t.
32072         * tests/test-getgroups.c (main): Likewise.
32073         * NEWS: Mention the signature change.
32074         * doc/posix-functions/getgroups.texi (getgroups): Mention the
32075         problem with signature.
32076         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
32077         GETGROUPS_T is still useful for setgroups.
32078
32079         getgroups, getugroups: provide stubs for mingw
32080         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
32081         * lib/getugroups.c (getugroups): Likewise.
32082         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
32083         function.  Modernize replacement scheme.
32084         (gl_PREREQ_GETGROUPS): Delete.
32085         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
32086         * modules/getgroups (configure.ac): Declare witness.
32087         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
32088         * modules/unistd (Depends-on): Substitute witness.
32089         * lib/unistd.in.h (getgroups): Declare replacement.
32090
32091         getgroups: avoid calling exit
32092         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
32093         drop xalloc.
32094         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
32095         dependencies.
32096         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
32097         exiting, in the rare case of malloc failure.
32098
32099         getgroups: fix logic error
32100         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
32101         has more than 20 groups.
32102         * modules/getgroups-tests: New test.
32103         * tests/test-getgroups.c: New file.
32104
32105 2009-11-13  Simon Josefsson  <simon@josefsson.org>
32106
32107         * tests/test-base64.c: Improve.
32108
32109 2009-11-13  Simon Josefsson  <simon@josefsson.org>
32110
32111         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
32112         Blake <ebb9@byu.net>.
32113
32114 2009-11-13  Simon Josefsson  <simon@josefsson.org>
32115
32116         * tests/test-xvasprintf.c: Add %s%s related checks.
32117
32118 2009-11-12  Eric Blake  <ebb9@byu.net>
32119
32120         version-etc: match standards.texi style
32121         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
32122         and use <> only for URLs.
32123
32124 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
32125
32126         fts: do not fail on a submount during traversal
32127         * lib/fts.c (fts_build): Read the stat info again after opening
32128         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
32129         Original report at http://bugzilla.redhat.com/501848.
32130
32131 2009-11-12  Jim Meyering  <meyering@redhat.com>
32132
32133         bootstrap: sync from coreutils
32134         * build-aux/bootstrap (bootstrap_epilogue): New function.
32135         Use git_modules_config in one more place.  This make bootstrap's
32136         --gnulib-srcdir option more useful for testing.
32137
32138         bootstrap: generalize autoheader check
32139         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
32140         AC_CONFIG_HEADERS.
32141
32142 2009-11-11  Eric Blake  <ebb9@byu.net>
32143
32144         mkfifoat: use new modules for Solaris and BSD bugs
32145         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
32146         * lib/mkfifoat.c (mknodat): Split...
32147         * lib/mknodat.c (mknodat): ...into new file.
32148         * modules/mkfifoat (Files): Ship new file.
32149         (Depends-on): Add mkfifo, mknod.
32150         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
32151         (Depends-on): Add symlink.
32152         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
32153         redundant with test_mkfifo.h.
32154         (do_mkfifoat, do_mknodat): New helpers.
32155
32156         mknod: new module
32157         * modules/mknod: New file.
32158         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
32159         * lib/mknod.c (mknod): Likewise.
32160         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
32161         defaults.
32162         * modules/sys_stat (Makefile.am): Substitute them.
32163         * lib/sys_stat.in.h (mknod): Declare replacement.
32164         * MODULES.html.sh (Support for systems lacking POSIX:2008):
32165         Document it.
32166         * doc/posix-functions/mknod.texi (mknod): Likewise.
32167         * modules/mknod-tests: New test.
32168         * tests/test-mknod.c: Likewise.
32169
32170         mkfifo: new module
32171         * modules/mkfifo: New file.
32172         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
32173         * lib/mkfifo.c (mkfifo): Likewise.
32174         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
32175         defaults.
32176         * modules/sys_stat (Makefile.am): Substitute them.
32177         * lib/sys_stat.in.h (mkfifo): Declare replacement.
32178         * MODULES.html.sh (Support for systems lacking POSIX:2008):
32179         Document it.
32180         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
32181         * modules/mkfifo-tests: New test.
32182         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
32183         from test-mkfifoat.c.
32184         * tests/test-mkfifo.c: New file.
32185
32186         readlink: detect FreeBSD bug
32187         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
32188         slash on symlink.
32189         * doc/posix-functions/readlink.texi (readlink): Document the bug.
32190         * tests/test-readlink.h (test_readlink): Enhance test.
32191
32192         symlink: detect FreeBSD bug
32193         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
32194         slash on symlink.
32195         * doc/posix-functions/symlink.texi (symlink): Document the bug.
32196         * tests/test-symlink.h (test_symlink): Enhance test.
32197
32198 2009-11-10  Eric Blake  <ebb9@byu.net>
32199
32200         link: detect FreeBSD bug
32201         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
32202         symlink.
32203         * doc/posix-functions/link.texi (link): Document the bug.
32204         * tests/test-link.h (test_link): Enhance test.
32205         * tests/test-linkat.c (main): Update caller.
32206
32207         unlink, remove: detect FreeBSD bug
32208         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
32209         slash on symlink.
32210         * doc/posix-functions/unlink.texi (unlink): Document the bug.
32211         * doc/posix-functions/remove.texi (remove): Likewise.
32212         * tests/test-unlink.h (test_unlink): Enhance test.
32213         * tests/test-remove.c (main): Likewise.
32214
32215 2009-11-09  Eric Blake  <ebb9@byu.net>
32216
32217         rename: detect FreeBSD bug
32218         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
32219         slash on symlink.
32220         * modules/renameat-tests (Depends-on): Add filenamecat.
32221         * tests/test-rename.h (test_rename): Allow one more errno.
32222         * tests/test-renameat.c (main): Likewise.
32223         * doc/posix-functions/rename.texi (rename): Document the bug.
32224
32225         open: detect FreeBSD bug
32226         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
32227         symlink.
32228         * doc/posix-functions/open.texi (open): Document the bug.
32229         * doc/posix-functions/utimes.texi (utimes): Likewise.
32230         * tests/test-open.h (test_open): Add parameters, and test symlink
32231         handling.
32232         * tests/test-open.c (main): Adjust caller.
32233         * tests/test-fcntl-safer.c (main): Likewise.
32234         * modules/open-tests (Depends-on): Add stdbool, symlink.
32235         * modules/fcntl-safer-tests (Depends-on): Likewise.
32236         * tests/test-openat.c (main): Add test-open tests.
32237
32238         stat: detect FreeBSD bug
32239         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
32240         symlink.
32241         * doc/posix-functions/stat.texi (stat): Document the bug.
32242         * tests/test-stat.h (test_stat_func): Add argument.
32243         * tests/test-stat.c (main): Adjust caller.
32244         * tests/test-fstatat.c (main): Likewise.
32245         * modules/stat-tests (Depends-on): Add stdbool, symlink.
32246         Reported by Jim Meyering.
32247
32248 2009-11-09  James Youngman  <jay@gnu.org>
32249
32250         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
32251         * lib/strftime.c: Correct placement of #include "ignore-value.h".
32252
32253 2009-11-08  Jim Meyering  <meyering@redhat.com>
32254
32255         utimens: remove invalid futimesat call
32256         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
32257         It used the file descriptor of the target file as the DIR_FD
32258         parameter and NULL as the file name.  That caused failure with
32259         errno == EFAULT on FreeBSD-8.0-rc2
32260
32261 2009-11-07  Eric Blake  <ebb9@byu.net>
32262
32263         fflush, freadseek: use fseeko, not fseek
32264         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
32265         (clear_ungetc_buffer): Avoid potential problems on large files.
32266         * lib/freadseek.c (freadseek): Likewise.
32267         * modules/freadseek (Depends-on): Add fseeko.
32268         * modules/fseek (configure.ac): Set a witness.
32269         * tests/test-fflush.c (main): Use fseeko.
32270         * tests/test-fpurge.c (fseek): Disable link warning.
32271         * tests/test-freadable.c (fseek): Likewise.
32272         * tests/test-freading.c (fseek): Likewise.
32273         * tests/test-fseeko.c (fseek): Likewise.
32274         * tests/test-ftell.c (fseek): Likewise.
32275         * tests/test-ftello.c (fseek): Likewise.
32276         * tests/test-fwritable.c (fseek): Likewise.
32277         * tests/test-fwriting.c (fseek): Likewise.
32278
32279 2009-11-06  Simon Josefsson  <simon@josefsson.org>
32280
32281         * modules/memchr (Depends-on): Drop getpagesize dependency.
32282
32283 2009-11-06  Simon Josefsson  <simon@josefsson.org>
32284
32285         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
32286         Reported by Ludovic Courtès.
32287         * build-aux/pmccabe2html: Improve example usage.
32288         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
32289
32290 2009-11-06  Jim Meyering  <meyering@redhat.com>
32291
32292         do-release-commit-and-tag: New module.
32293         Automate the release-commit and tag process.
32294         * build-aux/do-release-commit-and-tag: New script, from coreutils.
32295         * modules/do-release-commit-and-tag: New file.
32296         * MODULES.html.sh (Support for maintaining and releasing): Add it.
32297
32298 2009-11-06  Simon Josefsson  <simon@josefsson.org>
32299
32300         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
32301         because test-select.c uses inet_pton.
32302
32303 2009-11-06  Simon Josefsson  <simon@josefsson.org>
32304
32305         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
32306         GETADDRINFO_LIB.  Bump serial number.
32307         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
32308         Suggested by Eric Blake <ebb9@byu.net>.
32309
32310 2009-11-05  Eric Blake  <ebb9@byu.net>
32311
32312         strtod: detect darwin bug
32313         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
32314         Reported by Leo Davis.
32315
32316         freopen-safer: new module
32317         * modules/freopen-safer: New module.
32318         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
32319         * lib/freopen-safer.c (freopen_safer): New file.
32320         * lib/stdio-safer.h (freopen_safer): New declaration.
32321         * lib/stdio--.h (freopen): New override.
32322         * MODULES.html.sh (File stream based Input/Output): Mention it.
32323         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
32324         freopen-safer module.
32325         * doc/posix-functions/stderr.texi (stderr): Likewise.
32326         * doc/posix-functions/stdin.texi (stdin): Likewise.
32327         * doc/posix-functions/stdout.texi (stdout): Likewise.
32328         * modules/freopen-safer-tests: New test.
32329         * tests/test-reopen-safer.c: New file.
32330
32331 2009-11-05  Jim Meyering  <meyering@redhat.com>
32332
32333         maint.mk: Prohibit inclusion of "close-stream.h" without use.
32334         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
32335
32336 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32337
32338         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
32339
32340 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32341
32342         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
32343
32344 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32345
32346         Fix link error.
32347         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
32348         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
32349
32350 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32351
32352         * tests/test-func.c: Also test value of __func__.
32353
32354 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32355
32356         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
32357         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
32358
32359 2009-11-05  Bruno Haible  <bruno@clisp.org>
32360
32361         Fix link error.
32362         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
32363         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
32364         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
32365
32366 2009-11-05  Bruno Haible  <bruno@clisp.org>
32367
32368         Tests for module 'inet_pton'.
32369         * modules/inet_pton-tests: New file.
32370         * tests/test-inet_pton.c: New file.
32371
32372 2009-11-05  Bruno Haible  <bruno@clisp.org>
32373
32374         Tests for module 'inet_ntop'.
32375         * modules/inet_ntop-tests: New file.
32376         * tests/test-inet_ntop.c: New file.
32377
32378 2009-11-04  Eric Blake  <ebb9@byu.net>
32379
32380         stdlib-safer: wrap all mkstemp variants
32381         * modules/mkostemp (configure.ac): Set witness.
32382         * modules/mkostemps (configure.ac): Likewise.
32383         * modules/mkstemps (configure.ac): Likewise.
32384         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
32385         (mkstemps_safer): Wrap more functions.
32386         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
32387         wrapping.
32388         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
32389         (mkstemps_safer): Implement the wrappers.
32390
32391         mkstemps, mkostemps: new modules
32392         * modules/mkostemps: New module.
32393         * modules/mkstemps: Likewise.
32394         * lib/mkostemps.c (mkostemps): New file.
32395         * lib/mkstemps.c (mkstemps): Likewise.
32396         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
32397         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
32398         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
32399         * modules/stdlib (Makefile.am): Substitute them.
32400         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
32401         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
32402         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
32403         * doc/gnulib.texi (Glibc stdlib.h): Include them.
32404         * MODULES.html.sh (File system functions): Mention them.
32405
32406         tempname: resync from glibc
32407         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
32408         same values for __GT_FILE as glibc.  Abort even when assertions
32409         are disabled.
32410         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
32411         match its value otherwise.  Allow idempotent inclusion.
32412         * lib/mkdtemp.c (mkdtemp): Adjust caller.
32413         * lib/mkostemp.c (mkostemp): Likewise.
32414         * lib/mkstemp.c (mkstemp): Likewise.
32415         * lib/tmpfile.c (tmpfile): Likewise.
32416         * NEWS: Document this.
32417
32418         utimens: fix use of futimens on older Linux
32419         * lib/utimens.c (fdutimens): Use updated, rather than original,
32420         timespec to avoid bug in older Linux kernel.
32421         Reported by Simon Josefsson.
32422
32423 2009-11-04  Bruno Haible  <bruno@clisp.org>
32424
32425         Make num_processors more flexible and consistent.
32426         * lib/nproc.h (enum nproc_query): New type.
32427         (num_processors): Add a 'query' argument.
32428         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
32429         (num_processors): Add a 'query' argument. Test the value of the
32430         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
32431         mingw, count the number of CPUs available for the current process.
32432         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
32433         Check for sched_getaffinity and sched_getaffinity_np.
32434         * modules/nproc (Depends-on): Add c-ctype, extensions.
32435         * NEWS: Mention the change.
32436
32437 2009-11-03  Bruno Haible  <bruno@clisp.org>
32438
32439         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
32440
32441 2009-11-03  Jim Meyering  <meyering@redhat.com>
32442
32443         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
32444         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
32445         if it is defined.
32446
32447 2009-11-02  Eric Blake  <ebb9@byu.net>
32448
32449         mktime, timegm: share common declaration
32450         * lib/mktime-internal.h: New file.
32451         * lib/mktime.c: Use it rather than open-coding a declaration.
32452         * lib/timegm.c: Likewise.
32453         * modules/mktime (Files): Ship it.
32454         * modules/timegm (Files): Likewise.
32455         Suggested by Bruno Haible.
32456
32457         test-update-copyright: update test to match script changes
32458         * tests/test-update-copyright.sh: Avoid hard-coding perl
32459         location.  Don't update *.bak created by earlier runs.
32460
32461 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
32462             Simon Josefsson  <simon@josefsson.org>
32463             Bruno Haible  <bruno@clisp.org>
32464
32465         Fix link error on Solaris 8.
32466         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
32467         also in libnsl. Define also INET_PTON_LIB.
32468         * modules/inet_pton (Link): New section.
32469
32470 2009-11-02  Simon Josefsson  <simon@josefsson.org>
32471             Bruno Haible  <bruno@clisp.org>
32472
32473         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
32474         * modules/inet_ntop (Link): New section.
32475         Reported by Boyan Kasarov <bkasarov@gmail.com>.
32476
32477 2009-11-02  Eric Blake  <ebb9@byu.net>
32478
32479         maint: avoid compiler warnings in m4 macros
32480         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
32481         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
32482
32483 2009-11-02  Simon Josefsson  <simon@josefsson.org>
32484
32485         * m4/pmccabe2html.m4: Remove file.
32486         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
32487         function.  Change maintainer.
32488         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
32489         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
32490         Courtès).
32491
32492 2009-10-31  Eric Blake  <ebb9@byu.net>
32493
32494         fseeko: fix m4 regression
32495         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
32496         regression from 2009-10-27.
32497         Reported by Ralf Wildenhues.
32498
32499 2009-10-31  Jim Meyering  <meyering@redhat.com>
32500
32501         inttostr: aesthetics and improved (compile-time) safety
32502         Define inttype_is_signed rather than inttype_is_unsigned,
32503         since the sole use is via "#if inttype_is_signed".
32504         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
32505         inttype_is_unsigned.
32506         * lib/offtostr.c (inttype_is_signed): Likewise.
32507         * lib/uinttostr.c (inttype_is_signed): Likewise.
32508         * lib/umaxtostr.c (inttype_is_signed): Likewise.
32509         * lib/inttostr.c (inttostr): Use verify to cross-check the
32510         inttype_is_signed value and the signedness of the actual type.
32511         * modules/inttostr (Depends-on): Add verify.
32512
32513 2009-10-30  Eric Blake  <ebb9@byu.net>
32514
32515         build: avoid compiler warnings
32516         * lib/fchmodat.c (lchmod): Mark unused variables.
32517         * lib/getopt.c (_getopt_initialize): Likewise.
32518         * lib/mktime.c (__mktime_internal): Provide prototype.
32519         * lib/inttostr.c (inttostr): Avoid compiler warning even with
32520         older gcc that do not understand #pragma GCC diagnostic.
32521         * lib/uinttostr.c (inttype_is_unsigned): Define.
32522         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
32523
32524 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
32525
32526         stat: fix compilation on AIX
32527         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
32528         only see struct stat64.
32529
32530 2009-10-30  Eric Blake  <ebb9@byu.net>
32531
32532         exclude: make more robust
32533         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
32534         rather than masking a coding bug.
32535         Suggested by Bruno Haible.
32536
32537 2009-10-30  Jim Meyering  <meyering@redhat.com>
32538
32539         perl scripts: remove #!/usr/bin/perl in favor of more portable...
32540         Rather than putting #!/usr/bin/perl on the first line,
32541         start with a variant of what's recommended by "man perlrun" that
32542         invokes the first "perl" program from your shell's search path.
32543         * build-aux/gitlog-to-changelog: Replace #!... as above.
32544         Add a "Local Variables" perl mode setting.
32545         Prompted by a patch from Ludovic Courtès.
32546         Improved by Eric Blake.
32547         * build-aux/useless-if-before-free: Likewise.
32548         * build-aux/announce-gen: Likewise.
32549         * build-aux/update-copyright: Likewise.
32550
32551 2009-10-29  Eric Blake  <ebb9@byu.net>
32552
32553         filenamecat-lgpl: adjust clients
32554         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
32555         filenamecat.
32556         * modules/renameat (Depends-on): Likewise.
32557
32558         filenamecat: split into filenamecat-lgpl
32559         * modules/filenamecat-lgpl: New module.
32560         * modules/filenamecat (Files): Move library-safe files into
32561         filenamecat-lgpl.
32562         (Depends-on): Add filenamecat-lgpl.
32563         (configure.ac): Declare witness.
32564         * lib/filenamecat.h (file_name_concat): Only declare when using
32565         GPL module.
32566         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
32567         Move...
32568         * lib/filenamecat-lgpl.c: ...into new file.
32569         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
32570         (gl_FILE_NAME_CONCAT): Use it.
32571         * MODULES.html.sh (File system functions): Mention new module.
32572
32573         argp: avoid memory leak
32574         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
32575         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
32576         base_name, since the latter malloc()s and can call exit().
32577         Leak introduced 2006-07-03.
32578
32579         dirname-lgpl: adjust clients that don't need full dirname
32580         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
32581         * modules/filenamecat (Depends-on): Likewise.
32582         * modules/linkat (Depends-on): Likewise.
32583         * modules/mkancesdirs (Depends-on): Likewise.
32584         * modules/mkdir (Depends-on): Likewise.
32585         * modules/openat (Depends-on): Likewise.
32586         * modules/savewd (Depends-on): Likewise.
32587         * modules/rename (Depends-on): Likewise.
32588         (License): Relax license.
32589         * modules/mkdir-tests (Depends-on): Drop progname.
32590         (Makefile.am): Delete unneeded LDADD.
32591         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
32592
32593         dirname: split into dirname-lgpl
32594         * modules/dirname-lgpl: New module.
32595         * modules/dirname (Files): Move library-safe files into
32596         dirname-lgpl.
32597         (Depends-on): Add dirname-lgpl.
32598         (configure.ac): Declare witness.
32599         * modules/double-slash-root (License): Relax license.
32600         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
32601         module.
32602         * lib/dirname.c (dir_len, mdir_name): Move...
32603         * lib/dirname-lgpl.c: ...into new file.
32604         * lib/basename.c (last_component, base_len): Move...
32605         * lib/basename-lgpl.c: ...into new file.
32606         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
32607         (gl_DIRNAME): Use it.
32608         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
32609         Mention new module.
32610         * modules/dirname-tests (Depends-on): Add progname.
32611         * tests/test-dirname.c (program_name): Delete.
32612
32613         mkdir: make safe for libraries
32614         * modules/mkdir (Depends-on): Drop xalloc.
32615         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
32616         exit.
32617
32618         tests: avoid some compiler warnings
32619         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
32620         literals.
32621         * tests/test-memchr.c (main): Avoid type mismatch.
32622         * tests/test-arpa_inet.c (main): Avoid unused parameters.
32623         * tests/test-base64.c (main): Likewise.
32624         * tests/test-getdelim.c (main): Likewise.
32625         * tests/test-gethostname.c (main): Likewise.
32626         * tests/test-getline.c (main): Likewise.
32627         * tests/test-netinet_in.c (main): Likewise.
32628         * tests/test-select.c (open_server_socket, main): Likewise.
32629         * tests/test-select-stdin.c (main): Likewise.
32630         * tests/test-sockets.c (main): Likewise.
32631         * tests/test-strsignal.c (main): Likewise.
32632         * tests/test-sys_select.c (main): Likewise.
32633         * tests/test-sys_socket.c (main): Likewise.
32634         * tests/test-u64.c (main): Likewise.
32635         * tests/test-xfprintf-posix.c (main): Likewise.
32636         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
32637
32638         sockets: avoid compiler warning
32639         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
32640
32641         maint: detect usage(1) and other suspicious exits
32642         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
32643
32644 2009-10-29  Jim Meyering  <meyering@redhat.com>
32645
32646         timespec: long-to-int truncation could make timespec_cmp malfunction
32647         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
32648         a multiple of 2^32 nanoseconds as no difference.
32649
32650 2009-10-28  Jim Meyering  <meyering@redhat.com>
32651
32652         fprintftime: wrap macro code argument in "do {...} while(0)"
32653         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
32654         cpy macro must be a statement that can be followed by a semicolon.
32655         Now that the else clause contains a comment and is hence longer
32656         than one line, I require curly braces.  That in turn requires
32657         that we wrap this code block in the standard do...while(0).
32658
32659         fprintftime: remove stray semicolon from previous change
32660         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
32661
32662         fprintftime: avoid a warning about ignored fwrite return value
32663         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
32664         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
32665         that is unsafe.
32666         * modules/fprintftime (Depends-on): Add ignore-value.
32667
32668         exclude: avoid an unwarranted warning
32669         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
32670
32671 2009-10-27  Eric Blake  <ebb9@byu.net>
32672
32673         fseek: avoid compilation failure when fflush is replaced
32674         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
32675         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
32676         module is in use.
32677         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
32678         module is not in use; since REPLACE_FSEEK worked otherwise.
32679         (GNULIB_FTELLO): Likewise for ftell.
32680         Reported by Ian Beckwith and others.
32681
32682 2009-10-27  Bruno Haible  <bruno@clisp.org>
32683
32684         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
32685         Reported by Jim Meyering.
32686
32687 2009-10-27  Jim Meyering  <jim@meyering.net>
32688             Bruno Haible  <bruno@clisp.org>
32689
32690         Avoid warning despite dropping the return value of fwrite.
32691         * lib/unicodeio.c: Include ignore-value.h.
32692         (fwrite_success_callback): Explicitly ignore fwrite's return value.
32693         * modules/unicodeio (Depends-on): Add ignore-value.
32694
32695 2009-10-26  Eric Blake  <ebb9@byu.net>
32696
32697         areadlinkat: fix fallback path
32698         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
32699         pointer and zero.
32700
32701 2009-10-22  Pádraig Brady  <P@draigBrady.com>
32702
32703         Use a better IO block size for modern systems
32704         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
32705         * lib/md2.c: Likewise.
32706         * lib/md4.c: Likewise.
32707         * lib/md5.c: Likewise.
32708         * lib/sha1.c: Likewise.
32709         * lib/sha256.c: Likewise.
32710         * lib/sha512.c: Likewise.
32711
32712 2009-10-22  Eric Blake  <ebb9@byu.net>
32713
32714         tests: avoid several compiler warnings
32715         * tests/test-getcwd.c (main): Avoid buffer underflow.
32716         * tests/test-getdate.c (main): String literals are not safe with
32717         putenv, so use setenv.  Declare unused argument.
32718         * modules/getdate-tests (Depends-on): Add setenv.
32719         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
32720         problems with string literals in char *.
32721         * tests/test-hash.c (main): Avoid shadowing declaration.
32722         (insert_new): Treat string literals as char const *.
32723         * tests/test-getopt.h (test_getopt): Likewise.
32724         (getopt_loop): Alter types to minimize casting elsewhere.
32725         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
32726         (test_getopt_long_posix): Likewise.
32727         (do_getopt_long): Add wrapper to minimize casting.
32728         * tests/test-atexit.c (clear_temp_file): Use void.
32729         * tests/test-areadlink-with-size.c (main): Declare unused
32730         arguments.
32731         * tests/test-areadlink.c (main): Likewise.
32732         * tests/test-areadlinkat-with-size.c (main): Likewise.
32733         * tests/test-areadlinkat.c (main): Likewise.
32734         * tests/test-canonicalize-lgpl.c (main): Likewise.
32735         * tests/test-canonicalize.c (main): Likewise.
32736         * tests/test-dirent-safer.c (main): Likewise.
32737         * tests/test-dirname.c (main): Likewise.
32738         * tests/test-dup2.c (main): Likewise.
32739         * tests/test-fchdir.c (main): Likewise.
32740         * tests/test-fcntl-h.c (main): Likewise.
32741         * tests/test-fcntl-safer.c (main): Likewise.
32742         * tests/test-fdopendir.c (main): Likewise.
32743         * tests/test-fdutimensat.c (main): Likewise.
32744         * tests/test-fflush.c (main): Likewise.
32745         * tests/test-filenamecat.c (main): Likewise.
32746         * tests/test-filevercmp.c (main): Likewise.
32747         * tests/test-fopen-safer.c (main): Likewise.
32748         * tests/test-fopen.c (main): Likewise.
32749         * tests/test-fpending.c (main): Likewise.
32750         * tests/test-fpurge.c (main): Likewise.
32751         * tests/test-freading.c (main): Likewise.
32752         * tests/test-fstatat.c (main): Likewise.
32753         * tests/test-fsync.c (main): Likewise.
32754         * tests/test-futimens.c (main): Likewise.
32755         * tests/test-getndelim2.c (main): Likewise.
32756         * tests/test-gettimeofday.c (main): Likewise.
32757         * tests/test-getopt.c (main): Likewise.
32758         * tests/test-i-ring.c (main): Likewise.
32759         * tests/test-inttypes.c (main): Likewise.
32760         * tests/test-link.c (main): Likewise.
32761         * tests/test-lstat.c (main): Likewise.
32762         * tests/test-math.c (main): Likewise.
32763         * tests/test-md5.c (main): Likewise.
32764         * tests/test-memchr2.c (main): Likewise.
32765         * tests/test-memrchr.c (main): Likewise.
32766         * tests/test-mkdir.c (main): Likewise.
32767         * tests/test-mkdirat.c (main): Likewise.
32768         * tests/test-mkfifoat.c (main): Likewise.
32769         * tests/test-open.c (main): Likewise.
32770         * tests/test-openat-safer.c (main): Likewise.
32771         * tests/test-openat.c (main): Likewise.
32772         * tests/test-quotearg.c (main): Likewise.
32773         * tests/test-rawmemchr.c (main): Likewise.
32774         * tests/test-readlink.c (main): Likewise.
32775         * tests/test-remove.c (main): Likewise.
32776         * tests/test-rename.c (main): Likewise.
32777         * tests/test-renameat.c (main): Likewise.
32778         * tests/test-rmdir.c (main): Likewise.
32779         * tests/test-sha1.c (main): Likewise.
32780         * tests/test-signal.c (main): Likewise.
32781         * tests/test-sigaction.c (main): Likewise.
32782         * tests/test-stat.c (main): Likewise.
32783         * tests/test-stat-time.c (main): Likewise.
32784         * tests/test-stddef.c (main): Likewise.
32785         * tests/test-stdint.c (main): Likewise.
32786         * tests/test-stdio.c (main): Likewise.
32787         * tests/test-stdlib.c (main): Likewise.
32788         * tests/test-strchrnul.c (main): Likewise.
32789         * tests/test-strerror.c (main): Likewise.
32790         * tests/test-string.c (main): Likewise.
32791         * tests/test-strtod.c (main): Likewise.
32792         * tests/test-strverscmp.c (main): Likewise.
32793         * tests/test-symlink.c (main): Likewise.
32794         * tests/test-symlinkat.c (main): Likewise.
32795         * tests/test-sys_stat.c (main): Likewise.
32796         * tests/test-sys_time.c (main): Likewise.
32797         * tests/test-time.c (main): Likewise.
32798         * tests/test-unistd.c (main): Likewise.
32799         * tests/test-unlink.c (main): Likewise.
32800         * tests/test-unlinkat.c (main): Likewise.
32801         * tests/test-utimens.c (main): Likewise.
32802         * tests/test-utimensat.c (main): Likewise.
32803         * tests/test-version-etc.c (main): Likewise.
32804         * tests/test-wchar.c (main): Likewise.
32805         * tests/test-wctype.c (main): Likewise.
32806         * tests/test-xprintf-posix.c (main): Likewise.
32807         * tests/test-posixtm.c (main): Likewise.
32808         (STREQ): Delete unused macro.
32809         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
32810         shadowed variables.
32811         * tests/test-memchr.c (main): Likewise.
32812
32813 2009-10-21  Eric Blake  <ebb9@byu.net>
32814
32815         areadlinkat: avoid failure on older glibc
32816         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
32817         rather than mis-comparing 0 against FUNC_RESULT of char*.
32818
32819 2009-10-21  Bruno Haible  <bruno@clisp.org>
32820
32821         * modules/stpncpy (License): Relicense under LGPLv2+.
32822         Reported by David Lutterkort <lutter@redhat.com>.
32823
32824 2009-10-20  Eric Blake  <ebb9@byu.net>
32825
32826         utimensat: work around Solaris 9 bug
32827         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
32828         has trailing slash bugs.
32829         * tests/test-lutimens.h (test_lutimens): Enhance test.
32830         * tests/test-utimens.h (test_utimens): Likewise.
32831         * doc/posix-functions/utime.texi (utime): Enhance documentation.
32832         * doc/posix-functions/utimes.texi (utimes): Likewise.
32833         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
32834         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
32835         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
32836         * doc/posix-functions/futimens.texi (futimens): Likewise.
32837
32838         fdutimensat: new module
32839         * modules/fdutimensat: New file.
32840         * lib/fdutimensat.c (fdutimensat): Likewise.
32841         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
32842         * MODULES.html.sh (File system functions): Mention module.
32843         * modules/fdutimensat-tests: New test.
32844         * tests/test-fdutimensat.c: Likewise.
32845
32846         doc: regenerate INSTALL
32847         * doc/INSTALL: Reflect recent autoconf update.
32848         * doc/INSTALL.ISO: Likewise.
32849         * doc/INSTALL.UTF-8: Likewise.
32850
32851 2009-10-20  Pádraig Brady  <P@draigBrady.com>
32852
32853         acl: warn if ACL support is not detected
32854         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
32855
32856 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
32857
32858         * lib/nproc.h: Add extern "C" block for C++.
32859
32860 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
32861             Bruno Haible  <bruno@clisp.org>
32862
32863         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
32864         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
32865         * doc/posix-functions/isalpha.texi: Likewise.
32866         * doc/posix-functions/isblank.texi: Likewise.
32867         * doc/posix-functions/iscntrl.texi: Likewise.
32868         * doc/posix-functions/isdigit.texi: Likewise.
32869         * doc/posix-functions/isgraph.texi: Likewise.
32870         * doc/posix-functions/islower.texi: Likewise.
32871         * doc/posix-functions/isprint.texi: Likewise.
32872         * doc/posix-functions/ispunct.texi: Likewise.
32873         * doc/posix-functions/isspace.texi: Likewise.
32874         * doc/posix-functions/isupper.texi: Likewise.
32875         * doc/posix-functions/isxdigit.texi: Likewise.
32876
32877 2009-10-18  Bruno Haible  <bruno@clisp.org>
32878
32879         Tests for module 'isblank'.
32880         * modules/isblank-tests: New file.
32881         * tests/test-isblank.c: New file.
32882
32883         New module 'isblank'.
32884         * lib/isblank.c: New file.
32885         * m4/isblank.m4: New file.
32886         * modules/isblank: New file.
32887         * doc/posix-functions/isblank.texi: Mention the new module.
32888
32889 2009-10-18  Bruno Haible  <bruno@clisp.org>
32890
32891         New module 'ctype'.
32892         * lib/ctype.in.h: New file.
32893         * m4/ctype.m4: New file.
32894         * modules/ctype: New file.
32895         * doc/posix-headers/ctype.texi: Mention the new module.
32896
32897 2009-10-18  Jim Meyering  <meyering@redhat.com>
32898
32899         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
32900         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
32901         right after its initialization, rather than farther down.
32902         Keeping these in close proximity makes it easier to ensure
32903         that each such variable is initialized.  E.g.,
32904
32905             LIB_CLOCK_GETTIME=
32906             AC_SUBST([LIB_CLOCK_GETTIME])
32907
32908         This change also increments these serial numbers.
32909         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
32910         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
32911         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
32912
32913 2009-10-18  Bruno Haible  <bruno@clisp.org>
32914
32915         Don't let environment variables perturb build.
32916         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
32917         (gl_PREREQ_GETHRXTIME): ... not here.
32918
32919 2009-10-18  Bruno Haible  <bruno@clisp.org>
32920
32921         Avoid symlink attack in localcharset module.
32922         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
32923         (O_NOFOLLOW): Define fallback.
32924         (get_charset_aliases): Don't open the file if it is a symbolic link.
32925         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
32926         gl_FCNTL_H.
32927         (gl_FCNTL_H): Require it.
32928         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
32929         * modules/localcharset (Files): Add m4/fcntl_h.m4.
32930         Reported by Fergal Glynn <fglynn@veracode.com>.
32931
32932 2009-10-18  Bruno Haible  <bruno@clisp.org>
32933
32934         Implement nproc for mingw.
32935         * lib/nproc.c: Include <windows.h>
32936         (num_processors): On native Windows platforms, try GetSystemInfo.
32937
32938 2009-10-18  Bruno Haible  <bruno@clisp.org>
32939
32940         Implement nproc for IRIX.
32941         * lib/nproc.c: Include <sys/sysmp.h>.
32942         (num_processors): On IRIX systems, try sysmp.
32943         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
32944
32945 2009-10-18  Bruno Haible  <bruno@clisp.org>
32946
32947         Implement nproc for HP-UX.
32948         * lib/nproc.c: Include <sys/pstat.h>
32949         (num_processors): On HP-UX systems, try pstat_getdynamic.
32950         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
32951         pstat_getdynamic.
32952
32953 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
32954             Bruno Haible  <bruno@clisp.org>
32955
32956         Implement nproc for NetBSD, OpenBSD.
32957         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
32958         (ARRAY_SIZE): New macro.
32959         (num_processors): On BSD systems, try sysctl of HW_NCPU.
32960         * m4/nproc.m4: New file.
32961         * modules/nproc (Files): Add m4/nproc.m4.
32962         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
32963         (Makefile.am): Instead, augment lib_SOURCES.
32964
32965 2009-10-18  Bruno Haible  <bruno@clisp.org>
32966
32967         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
32968         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
32969         sys/param.h.
32970
32971 2009-10-16  Eric Blake  <ebb9@byu.net>
32972
32973         utimensat: new module
32974         * modules/utimensat: New file.
32975         * lib/utimensat.c (utimensat): Likewise.
32976         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
32977         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
32978         so we can work around Linux bugs.
32979         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
32980         * modules/sys_stat (Makefile.am): Substitute them.
32981         * lib/sys_stat.in.h (utimensat): Declare it.
32982         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
32983         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
32984         * modules/utimensat-tests: New test.
32985         * tests/test-utimensat.c: Likewise.
32986
32987         utimens: let lutimens work on non-symlinks
32988         * lib/utimens.c (lutimens): Fall back to utimens rather than
32989         failing with ENOSYS, when file is not a symlink.
32990         (utimens): Reduce redirection.
32991         * tests/test-lutimens.h (test_lutimens): Update test to cover
32992         non-symlinks.
32993         * tests/test-utimens.h (test_utimens): Update test to cover
32994         symlinks.
32995         * tests/test-utimens.c (main): Update caller.
32996
32997         utimens: cache whether utimensat syscall works
32998         * lib/utimens.c (utimensat_works_really): New cache variable.
32999         (fdutimens, lutimens): Use it to avoid failing syscall.
33000
33001         test-stat-time, test-utimens: improve portability
33002         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
33003         ext4 on alpha, and for cygwin.
33004         * tests/test-utimens-common.h: New file.
33005         (nap): Factor delays into single function.
33006         * tests/test-lutimens.h (test_lutimens): Use new header.
33007         * tests/test-futimens.h (test_futimens): Likewise.
33008         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
33009         timestamps to occur from same machine, as was done previously for
33010         test_utimens.
33011         * modules/utimens-tests (Files): Ship new file.
33012         * modules/futimens-tests (Files): Likewise.
33013         Reported in part by Jim Meyering.
33014
33015         sys_stat: sort replacement declarations
33016         * lib/sys_stat.in.h: Sort declarations.
33017         * lib/futimens.c (futimens): Fix typo.
33018
33019 2009-10-15  Jim Meyering  <meyering@redhat.com>
33020
33021         don't let environment settings perturb build
33022         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
33023         could cause a configure-time and/or build-time malfunction.
33024         Typically, a configure-time function-in-library test is performed
33025         via code like this:
33026
33027           LIB_VAR=
33028           AC_SUBST([LIB_VAR])
33029           prefix_saved_LIBS=$LIBS
33030             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
33031                        [test "$ac_cv_search_FUNC" = "none required" ||
33032                         LIB_VAR=$ac_cv_search_FUNC])
33033           LIBS=$prefix_saved_LIBS
33034
33035         However, in each of the files affected by this change, the LIB_VAR=
33036         initialization was omitted.  Thus, when set in the environment, its
33037         value would propagate into generated Makefiles when FUNC is not found
33038         in LIB_NAME.
33039         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
33040         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
33041         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
33042
33043 2009-10-14  Eric Blake  <ebb9@byu.net>
33044
33045         fchdir: avoid infinite recursion in mingw
33046         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
33047         recursing.
33048
33049         test-stat-time: port to mingw
33050         * tests/test-stat-time.c (force_unlink): Return a value.
33051         (test_ctime) [W32]: Fix compilation error.
33052         (nap): Don't call usleep with too large an argument.  Use
33053         force_unlink.
33054         * doc/pastposix-functions/usleep.texi (usleep): Document the
33055         portability issue.
33056
33057 2009-10-13  Jim Meyering  <meyering@redhat.com>
33058
33059         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
33060         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
33061         * modules/pipe-filter-ii: Likewise.
33062         * modules/sys_socket-tests: Likewise.
33063         * modules/tsearch-tests: Likewise.
33064         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
33065         (check): Depend on it.
33066
33067 2009-10-12  Eric Blake  <ebb9@byu.net>
33068
33069         utimens-tests: port to NFS file systems
33070         * tests/test-utimens.h (test_utimens): Refactor utimecmp
33071         comparisons to avoid spurious failures from timestamp drift
33072         between NFS machines.
33073
33074 2009-10-12  Eric Blake  <ebb9@byu.net>
33075
33076         stat-time-tests: minor cleanups
33077         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
33078         * tests/test-stat-time.c (nap): Separate assignment from call.
33079         Suggested by Paolo Bonzini and Bruno Haible.
33080
33081         sys_stat: guarantee struct timespec
33082         * lib/sys_stat.in.h (includes): Always include <time.h>
33083         * modules/sys_stat (Depends-on): Add time.
33084         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
33085         mode_t permission values.
33086         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
33087         get at subsecond timestamps.
33088
33089 2009-10-10  Eric Blake  <ebb9@byu.net>
33090
33091         futimens: new module
33092         * modules/futimens: New file.
33093         * lib/futimens.c (futimens): Likewise.
33094         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
33095         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
33096         we can work around Linux bugs.
33097         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
33098         * modules/sys_stat (Makefile.am): Substitute them.
33099         * lib/sys_stat.in.h (futimens): Declare it.
33100         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
33101         * doc/posix-functions/futimens.texi (futimens): Likewise.
33102         * modules/futimens-tests: New test.
33103         * tests/test-futimens.c: Likewise.
33104
33105         utimens: introduce fdutimens
33106         * lib/utimens.h (fdutimens): New prototype.
33107         * lib/utimens.c (gl_futimens): Move guts...
33108         (fdutimens): ...to new interface.
33109         * tests/test-utimens.c (do_fdutimens): Use it.
33110
33111         utimens: add UTIME_NOW and UTIME_OMIT support
33112         * lib/utimens.c (validate_timespec, update_timespec): New helper
33113         functions.
33114         (gl_futimens, lutimens): Use them.
33115         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
33116         stdbool, sys_stat.
33117         (Link): Mention resulting library dependency.
33118         * modules/utimecmp (Link): Likewise.
33119         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
33120         (Makefile.am): Pick up library dependency.
33121         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
33122         definition.
33123         * tests/test-sys_stat.c: Test the definitions.
33124         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
33125         * NEWS: Document library dependency.
33126
33127         utimecmp: support symlink timestamps
33128         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
33129         hashing when possible.  Use pathconf when available.
33130         (SYSCALL_RESOLUTION): Recognize tighter resolution.
33131         * modules/utimecmp (Depends-on): Add lstat.
33132
33133         utimens: add lutimens interface
33134         * lib/utimens.c (lutimens): New function.
33135         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
33136         * lib/utimens.h (lutimens): Declare new interface.
33137         * tests/test-utimens.c (main): Enhance test.
33138         * tests/test-lutimens.h (test_lutimens): New file.
33139         * modules/utimens-tests (Files): Distribute it.
33140         (Depends-on): Add symlink.
33141         (configure.ac): Check for usleep.
33142
33143         utimens: validate futimens usage
33144         * lib/utimens.c (gl_futimens): Require valid fd up front, using
33145         fewer syscalls on failure later on.  Avoid compiler warning on
33146         mingw.
33147         * modules/utimens (Depends-on): Add dup2.
33148
33149         utimens: add test
33150         * modules/utimens-tests: New test.
33151         * tests/test-utimens.h: New file.
33152         * tests/test-futimens.h: Likewise.
33153         * tests/test-utimens.c: Likewise.
33154
33155         doc: mention timestamp portability issues
33156         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
33157         instead.
33158         * doc/posix-functions/utime.texi (utime): Likewise.
33159         * doc/posix-functions/utimes.texi (utimes): Likewise.
33160         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
33161         instead.
33162         * doc/posix-functions/futimens.texi (futimens): Mention utimens
33163         module.
33164         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
33165         Mention weakness with symlink timestamps.
33166         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
33167         to utimensat/futimens instead.
33168         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
33169
33170         test-dup2: enhance test
33171         * tests/test-dup2.c (main): Also check AT_FDCWD.
33172
33173         test-stat-time: avoid more spurious failures
33174         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
33175         xfs; and avoid race if the two timestamps cross quantization edge.
33176
33177         relocatable: prefer 'file system' over 'filesystem'
33178         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
33179         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
33180         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
33181         * doc/relocatable.texi (Enabling Relocatability): Likewise.
33182         * lib/relocatable.c (compute_curr_prefix): Likewise.
33183
33184 2009-10-10  Jim Meyering  <meyering@redhat.com>
33185
33186         stat-time-tests: check for the usleep function
33187         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
33188
33189 2009-10-10  Bruno Haible  <bruno@clisp.org>
33190
33191         * modules/xnanosleep: Put the Link section after the Include section.
33192
33193 2009-10-09  Eric Blake  <ebb9@byu.net>
33194
33195         dup2: work around FreeBSD 6.1 bug
33196         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
33197         * doc/posix-functions/dup2.texi (dup2): Document it.
33198         Reported by Nelson H. F. Beebe and Jim Meyering.
33199
33200         test-stat-time: port to buggy NFS clients
33201         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
33202         (test_ctime): Also skip test if mtime and ctime are skewed.
33203
33204         maint: prefer 'file system' over 'filesystem'
33205         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
33206         * doc/posix-functions/lstat.texi (lstat): Likewise.
33207         * lib/file-has-acl.c (file_has_acl): Likewise.
33208         * lib/fwriteerror.c [TEST]: Likewise.
33209         * tests/test-areadlink.h (test_areadlink): Likewise.
33210         * tests/test-areadlinkat-with-size.c (main): Likewise.
33211         * tests/test-areadlinkat.c (main): Likewise.
33212         * tests/test-canonicalize-lgpl.c (main): Likewise.
33213         * tests/test-canonicalize.c (main): Likewise.
33214         * tests/test-fstatat.c (main): Likewise.
33215         * tests/test-linkat.c (main): Likewise.
33216         * tests/test-lstat.h (test_lstat_func): Likewise.
33217         * tests/test-mkdir.h (test_mkdir): Likewise.
33218         * tests/test-readlink.h (test_readlink): Likewise.
33219         * tests/test-remove.c (main): Likewise.
33220         * tests/test-rename.h (test_rename): Likewise.
33221         * tests/test-renameat.c (main): Likewise.
33222         * tests/test-rmdir.h (test_rmdir_func): Likewise.
33223         * tests/test-symlink.h (test_symlink): Likewise.
33224         * tests/test-symlinkat.c (main): Likewise.
33225         * tests/test-unlink.h (test_unlink_func): Likewise.
33226         * tests/test-unlinkat.c (main): Likewise.
33227
33228         maint: make realtime library usage explicit
33229         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
33230         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
33231         * modules/settime (Link): Likewise.
33232         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
33233
33234         test-stat-time: speed up execution
33235         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
33236         warning on mingw.
33237         (nap): New helper function.
33238         (prepare_test): Use it to reduce sleep time.
33239         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
33240         execution.
33241         * modules/stat-time-tests (configure.ac): Check for usleep.
33242
33243 2009-10-09  Jim Meyering  <meyering@redhat.com>
33244
33245         selinux-h: always use getfilecon wrappers
33246         * lib/getfilecon.c: New file.
33247         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
33248         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
33249         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
33250         (fgetfilecon): Provide a stub.
33251         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
33252         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
33253         file unconditionally.
33254         When <selinux/selinux.h> is found, arrange to use wrappers.
33255         * modules/selinux-h (Files): Add getfilecon.c.
33256         (Makefile.am): Substitute include-next-related bits
33257         into the now-always-generated selinux/selinux.h file.
33258         * doc/glibc-functions/lgetfilecon.texi: New file.
33259         * doc/glibc-functions/fgetfilecon.texi: New file.
33260         * doc/glibc-functions/getfilecon.texi: New file.
33261         * doc/glibc-functions/getfilecon-desc.texi: New file.
33262         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
33263         which to pull in the new files.
33264         * MODULES.html.sh (Misc): Add selinux-h.
33265
33266 2009-10-08  Jim Meyering  <meyering@redhat.com>
33267
33268         unistd: fix comment typo
33269         * lib/unistd.in.h (euidaccess): Fix a comment typo.
33270
33271 2009-10-08  Eric Blake  <ebb9@byu.net>
33272
33273         areadlink: use SIZE_MAX consistently
33274         * modules/areadlink (Depends-on): Add stdint.
33275         * modules/areadlink-with-size (Depends-on): Likewise.
33276         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
33277         gives NULL; drop sys/types, since unistd gives size_t; and add
33278         stdint for SIZE_MAX.
33279         (SIZE_MAX): Rely on headers.
33280         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
33281         and add stdint.
33282         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
33283         (SIZE_MAX): Likewise.
33284         (INITIAL_BUF_SIZE): Turn into enum.
33285         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
33286
33287 2009-10-08  Jim Meyering  <meyering@redhat.com>
33288
33289         areadlinkat: avoid compilation failure
33290         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
33291         Fix typo in comment.
33292
33293 2009-10-07  Eric Blake  <ebb9@byu.net>
33294
33295         areadlinkat-with-size: new module
33296         * modules/areadlinkat-with-size: New module.
33297         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
33298         * lib/areadlink.h (areadlinkat): Declare it.
33299         * MODULES.html.sh (File system functions): Mention it.
33300         * modules/areadlinkat-with-size-tests: New test.
33301         * tests/test-areadlinkat-with-size.c: New file.
33302
33303         xreadlinkat: new module
33304         * modules/xreadlinkat: New module.
33305         * lib/xreadlinkat.c (xreadlinkat): New file.
33306         * lib/xreadlink.h (xreadlinkat): Declare it.
33307         * MODULES.html.sh (File system functions): Mention it.
33308
33309         areadlinkat: new module
33310         * lib/at-func.c (FUNC_FAIL): New define.
33311         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
33312         * modules/areadlinkat: New module.
33313         * lib/linkat.c (areadlinkat): Move...
33314         * lib/areadlinkat.c (areadlinkat): ...to new file.
33315         * lib/areadlink.h (areadlinkat): Declare it.
33316         * modules/linkat (Depends-on): Add areadlinkat.
33317         * MODULES.html.sh (File system functions): Mention it.
33318         * modules/areadlinkat-tests: New test.
33319         * tests/test-areadlinkat.c: New file.
33320
33321         areadlink, areadlink-with-size: add tests
33322         * modules/areadlink-tests: New test.
33323         * modules/areadlink-with-size-tests: Likewise.
33324         * tests/test-areadlink.h: New file.
33325         * tests/test-areadlink.c: Likewise.
33326         * tests/test-areadlink-with-size.c: Likewise.
33327
33328         maint: minor cleanups
33329         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
33330         _UNUSED_PARAMETER_ instead.
33331         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
33332         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
33333         * modules/linkat-tests (Files): Distribute test-link.h.
33334
33335         openat, utimens: whitespace cleanup
33336         * lib/openat.c: Prefer space throughout, rather than mix of 8
33337         spaces vs. tabs.
33338         * lib/at-func.c: Likewise.
33339         * lib/utimens.c: Likewise.
33340
33341         openat: avoid using wrong fd
33342         * lib/openat.c (openat_permissive): Reject user's fd if saving the
33343         working directory chooses same fd.
33344         * lib/at-func.c (AT_FUNC_NAME): Likewise.
33345
33346         mkdir, mkdirat: fix cygwin 1.5.x bug
33347         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
33348         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
33349         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
33350         bug.
33351         (gl_PREREQ_MKDIR): Delete unused macro.
33352         * modules/mkdir (Files): Track file rename.
33353         (configure.ac): Update macro name.
33354         * modules/openat (Depends-on): Add mkdir.
33355         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
33356
33357         mkdir, mkdirat: add tests
33358         * modules/mkdir-tests: New test.
33359         * tests/test-mkdir.h: New file.
33360         * tests/test-mkdir.c: Likewise.
33361         * tests/test-mkdirat.c: Likewise.
33362         * modules/openat-tests (Files): Add new files.
33363         (Makefile.am): Run new test.
33364
33365 2009-10-06  Eric Blake  <ebb9@byu.net>
33366
33367         doc: tweak *at function documentation
33368         * doc/posix-functions/faccessat.texi (faccessat): Mention
33369         known issue with replacement.
33370         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
33371         * doc/posix-functions/linkat.texi (linkat): Likewise.
33372         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
33373         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
33374         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
33375         * doc/posix-functions/renameat.texi (renameat): Likewise.
33376         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
33377
33378         openat: fix GNU/Hurd bug in unlinkat
33379         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
33380         broken.
33381         * doc/posix-functions/unlink.texi (unlink): Document this.
33382         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
33383
33384         fdopendir: fix GNU/Hurd bug
33385         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
33386         allowing non-directory fds.
33387         * lib/fdopendir.c (rpl_fdopendir): Work around it.
33388         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
33389         * modules/dirent (Makefile.am): Substitute it.
33390         * lib/dirent.in.h (fdopendir): Declare replacement.
33391         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
33392         * tests/test-fdopendir.c (main): Test something other than
33393         /dev/null, since on Hurd that behaves like a directory.
33394
33395         test-symlink: port to GNU/Hurd
33396         * tests/test-symlink.h (test_symlink): Relax expected errno.
33397
33398         doc: tweak more cygwin information
33399         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
33400         now compatible with glibc.
33401         * doc/posix-functions/getopt.texi (getopt): Likewise.
33402
33403         getopt-gnu: add another test
33404         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
33405         guarantee behavior relied on by m4.
33406         * tests/test-getopt.c (main): Use it.
33407         * modules/getopt-posix-tests (Depends-on): Add setenv.
33408         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
33409
33410         getopt: fix compilation on darwin
33411         * lib/getopt.in.h (includes): Leave breadcrumbs during system
33412         include.
33413         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
33414         Reported by Ludovic Courtès.
33415
33416 2009-10-06  Bruno Haible  <bruno@clisp.org>
33417
33418         * modules/size_max (Description): Discourage its use.
33419         Reported by Simon Josefsson.
33420
33421 2009-10-06  Jim Meyering  <meyering@redhat.com>
33422
33423         linkat: avoid compilation failure
33424         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
33425
33426 2009-10-05  Eric Blake  <ebb9@byu.net>
33427
33428         linkat: support Linux 2.6.17
33429         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
33430         linkat on Linux, but allow cache variable override.
33431         * lib/linkat.c (rpl_linkat): Define override.
33432         * modules/linkat (Depends-on): Add symlinkat.
33433         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
33434         * modules/unistd (Makefile.am): Substitute it.
33435         * lib/unistd.in.h (linkat): Declare replacement.
33436         Reported by Pádraig Brady.
33437
33438         quotearg: port test to systems with C.UTF-8 locale
33439         * tests/test-quotearg.c (struct result_strings): Add another
33440         member, differentiating between C.ASCII and C.UTF-8 handling.
33441         (compare_strings): Add parameter.
33442         (main): Adjust all callers.
33443
33444         getopt: avoid clash with FreeBSD _getopt_internal
33445         * lib/getopt.in.h (_getopt_internal): Override the name.
33446         * lib/getopt_int.h (includes): Pick up any overrides.
33447         Reported by Reuben Thomas.
33448
33449         hash: allow C89 compilation
33450         * lib/hash.c (check_tuning): Move declaration before statement.
33451         Reported by Reuben Thomas.
33452
33453 2009-10-05  Karl Berry  <karl@gnu.org>
33454
33455         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
33456
33457 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
33458             Bruno Haible  <bruno@clisp.org>
33459
33460         * lib/uname.c (uname): Use a table-driven algorithm to compute
33461         Windows NT versions.
33462
33463 2009-10-04  Bruno Haible  <bruno@clisp.org>
33464
33465         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
33466         program_invocation_short_name.
33467         * modules/progname (configure.ac): Test for presence of
33468         program_invocation_short_name.
33469         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
33470
33471 2009-10-04  Bruno Haible  <bruno@clisp.org>
33472
33473         * lib/progname.c (set_program_name): Fix comment.
33474         Reported by Jim Meyering.
33475
33476 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
33477             Bruno Haible  <bruno@clisp.org>
33478
33479         * lib/uname.c: Include <string.h>.
33480         (uname): Do only one call to GetVersionEx in the common case.
33481
33482 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
33483             Bruno Haible  <bruno@clisp.org>
33484
33485         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
33486         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
33487         (uname): Add support for Windows CE and various non-x86 CPU types.
33488
33489 2009-10-03  Bruno Haible  <bruno@clisp.org>
33490
33491         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
33492         invocation to tests/configure.ac.
33493         Reported by Ian Beckwith <ianb@erislabs.net>.
33494
33495 2009-10-02  Eric Blake  <ebb9@byu.net>
33496
33497         fchdir: avoid compiler warning
33498         * lib/fchdir.c (canonicalize_file_name)
33499         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
33500
33501         test-open: support mingw errno values
33502         * tests/test-open.h (test_open): Relax test.
33503         * tests/test-fopen.h (test_fopen): Likewise.
33504         * tests/test-openat-safer.c (main): Likewise.
33505
33506         open: fix opening directory on mingw
33507         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
33508
33509         test-open: on GNU/Hurd, /dev/null is a directory
33510         * tests/test-fopen.h (main): Rename...
33511         (test_fopen): ...to this.  Use a guaranteed non-directory when
33512         confirming open behavior on trailing slash.
33513         * tests/test-openat-safer.c (main): Likewise.
33514         * tests/test-open.h (main): Likewise....
33515         (test_open): ...to this.
33516         * tests/test-fopen.c (main): Adjust caller.
33517         * tests/test-fopen-safer.c (main): Likewise.
33518         * tests/test-open.c (main): Likewise.
33519         * tests/test-fcntl-safer.c (main): Likewise.
33520         Reported by Samuel Thibault.
33521
33522         rename, fchdir: don't ignore chdir failure
33523         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
33524         * lib/rename.c (rpl_rename) [W32]: Likewise.
33525         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
33526         an empty destination directory if source cannot be renamed,
33527         although there is still possibility for failure.
33528         * doc/posix-functions/rename.texi (rename): Document the race.
33529         Reported by Jim Meyering.
33530
33531         maint: cleanup whitespace in recent commits
33532         * lib/rename.c (rpl_rename): Remove tabs.
33533         * tests/test-link.h (test_link): Likewise.
33534         * lib/fchdir.c (get_name): Likewise.
33535         Reported by Jim Meyering.
33536
33537 2009-10-02  Ben Pfaff  <blp@gnu.org>
33538
33539         relocatable-prog-wrapper: Add missing dependency on
33540         double-slash-root.
33541         * modules/relocatable-prog-wrapper: Add dependency.
33542         Reported by Ian Beckwith <ianb@erislabs.net>.
33543
33544 2009-10-02  Eric Blake  <ebb9@byu.net>
33545
33546         renameat: fix Solaris bugs
33547         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
33548         needed fixing.
33549         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
33550         * modules/stdio (Makefile.am): Substitute it.
33551         * lib/stdio.in.h (renameat): Declare replacement.
33552         * lib/renameat.c (rpl_renameat): Implement fix.
33553
33554         renameat: new module
33555         * modules/renameat: New file.
33556         * lib/renameat.c (renameat): Likewise.
33557         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
33558         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
33559         * modules/stdio (Makefile.am): Substitute them.
33560         * lib/stdio.in.h (renameat): Declare it.
33561         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
33562         * doc/posix-functions/renameat.texi (renameat): Likewise.
33563         * modules/renameat-tests: New test.
33564         * tests/test-renameat.c: Likewise.
33565
33566         rename: fix mingw bugs
33567         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
33568         directory overwrite bugs.
33569
33570         rename: fix another cygwin 1.5 bug
33571         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
33572         checks.
33573         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
33574         unnecessary cygwin workarounds.  Also work around bug with moving
33575         full directory onto an empty one.
33576         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
33577
33578         rename-dest-slash: merge into rename module
33579         * modules/rename-dest-slash (Status): Mark obsolete.
33580         (Depends-on): Add rename.
33581         (Files): Let rename do it all.
33582         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
33583         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
33584         * m4/rename-dest-slash.m4: ...so this file can be deleted.
33585         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
33586         * lib/rename.c (rpl_rename): Update comments.
33587
33588         rename: fix cygwin 1.5.x bugs
33589         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
33590         * lib/rename.c (rpl_rename): Work around them.
33591         * modules/rename (Depends-on): Add same-inode.
33592
33593         rename: fix Solaris 10 bug
33594         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
33595         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
33596         was the only bug.
33597
33598         rename: fix Solaris 9 bug
33599         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
33600         on non-directory.  Avoid calling exit.
33601         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
33602         strdup.
33603         * modules/rename-tests (Depends-on): Drop lstat.
33604         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
33605         (gl_PREREQ_RENAME): Delete unused macro.
33606
33607         rename-dest-slash: fix NetBSD bug
33608         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
33609         links.
33610         * modules/rename-dest-slash (Depends-on): Add same-inode.
33611
33612         rename-tests: new test, exposes several platform bugs
33613         * modules/rename-tests: New file.
33614         * tests/test-rename.h: Likewise.
33615         * tests/test-rename.c: Likewise.
33616         * doc/posix-functions/rename.texi (rename): Improve documentation,
33617         including bugs that will eventually be fixed in gnulib.
33618
33619 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
33620
33621         * lib/uname.c: Include <stdlib.h>
33622         (uname): Assume version info is available.
33623
33624 2009-10-02  Jim Meyering  <meyering@redhat.com>
33625
33626         gnu-web-doc-update: correct --help output
33627         * build-aux/gnu-web-doc-update: Make --help output relevant.
33628
33629         gnu-web-doc-update: add standard options
33630         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
33631
33632         gnu-web-doc-update: New module.
33633         Use this script to automatically update the on-line web documentation
33634         for your GNU project at http://www.gnu.org/software/$pkg/manual/
33635         * modules/gnu-web-doc-update: New file, from coreutils.
33636         * build-aux/gnu-web-doc-update: New script.
33637
33638 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
33639
33640         link: LoadLibrary is not needed.
33641         * lib/link.c: Use GetModuleHandle.
33642
33643 2009-10-01  Eric Blake  <ebb9@byu.net>
33644
33645         getopt: bump serial number
33646         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
33647         change.
33648
33649         tests: tighten link, rmdir, and remove tests
33650         * tests/test-link.h (includes): No need to use <config.h> here.
33651         Clean up if directory hard link was created, otherwise test for
33652         trailing '.'.
33653         * tests/test-linkat.c (main): Simplify.
33654         * tests/test-remove.c (main): Enhance test for trailing '.'.
33655         * tests/test-rmdir.h (test_rmdir_func): Likewise.
33656
33657 2009-10-01  Jim Meyering  <meyering@redhat.com>
33658
33659         maint.mk: requiring "make major" was annoying, for a "minor" release.
33660         What is intended is "stable", to contrast with alpha and beta,
33661         so require "make stable", not "make major".
33662         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
33663         (get_tool_versions): Likewise.
33664         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
33665
33666 2009-09-30  Ben Pfaff  <blp@gnu.org>
33667
33668         Fix broken build of replacement for Windows tmpfile().
33669         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
33670         flags argument added along with the 'mkostemp' module.
33671
33672 2009-09-28  Bruno Haible  <bruno@clisp.org>
33673
33674         Avoid identifier clash with POSIX function 'remove' defined as a macro.
33675         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
33676         to 'remove_elt'.
33677         (gl_list_remove): Update.
33678         * lib/gl_list.c (gl_list_remove): Update.
33679         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
33680         to 'remove_elt'.
33681         (gl_oset_remove): Update.
33682         * lib/gl_list.c (gl_oset_remove): Update.
33683         Reported by Eric Blake.
33684
33685 2009-09-28  Eric Blake  <ebb9@byu.net>
33686
33687         doc: mention yet more cygwin 1.7 status
33688         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
33689         cygwin.
33690         * doc/glibc-functions/execvpe.texi (execvpe): New file.
33691         * doc/gnulib.texi (Glibc unistd.h): Mention it.
33692
33693         argp: fix test failure
33694         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
33695         that are not upper-case.  Pass correct range to tolower.
33696
33697 2009-09-27  Jim Meyering  <meyering@redhat.com>
33698
33699         test-yesno: work around sparc-dash here-document infelicity
33700         Without this change, the literal \177 byte in a here document
33701         would make dash 0.5.5.1-3 access uninitialized memory.
33702         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
33703         Instead, use a marker, "@", and filter through tr to create the desired
33704         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
33705
33706 2009-09-27  Bruno Haible  <bruno@clisp.org>
33707
33708         Disable untested support for new flavours of ACLs on AIX.
33709         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
33710         progress.
33711         * lib/set-mode-acl.c (qset_acl): Likewise.
33712
33713 2008-12-07  Bruno Haible  <bruno@clisp.org>
33714
33715         Add support for new flavours of ACLs on AIX. (Untested.)
33716         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
33717         (file_has_acl): Add support for newer AIX.
33718         * lib/set-mode-acl.c (qset_acl): Likewise.
33719         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
33720         Rainer Tammer <tammer@tammer.net>.
33721
33722 2009-09-26  Eric Blake  <ebb9@byu.net>
33723
33724         argp: fix compilation of getopt
33725         * lib/getopt.in.h (includes): Use different guard than glibc.
33726         Reported by Sergey Poznyakoff.
33727
33728         doc: mention more cygwin 1.7 status
33729         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
33730         bug.
33731         * doc/posix-functions/execl.texi (execl): Likewise.
33732         * doc/posix-functions/execle.texi (execle): Likewise.
33733         * doc/posix-functions/execlp.texi (execlp): Likewise.
33734         * doc/posix-functions/execv.texi (execv): Likewise.
33735         * doc/posix-functions/execve.texi (execve): Likewise.
33736         * doc/posix-functions/execvp.texi (execvp): Likewise.
33737         * doc/glibc-functions/canonicalize_file_name.texi
33738         (canonicalize_file_name): Cygwin 1.7 now provides this.
33739         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
33740         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
33741         on AT_SYMLINK_NOFOLLOW.
33742
33743 2009-09-24  Eric Blake  <ebb9@byu.net>
33744
33745         test-linkat: make test more robust
33746         * tests/test-linkat.c (main): Avoid collision with EEXIST.
33747
33748         getopt: fix inclusion guards for cygwin
33749         * modules/getopt-posix (Depends-on): Add include-next.
33750         (Makefile.am): Substitute more items in replacement header.
33751         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
33752         <getopt.h>.
33753         * lib/getopt.in.h (includes): Use split inclusion guard, and
33754         prefer <getopt.h> over include <unistd.h> when one is present.
33755         (option): Also override name of 'struct option'.
33756
33757         same-inode: revert prior change; it is not yet ready
33758         * NEWS: Undo mention of this change.
33759         * lib/same-inode.h (same-inode.h): Undo tri-state change.
33760         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
33761         * lib/cycle-check.c (cycle_check): Likewise.
33762         * lib/same.c (same_name): Likewise.
33763         * lib/at-func2.c (at_func2): Likewise.
33764
33765 2009-09-23  Eric Blake  <ebb9@byu.net>
33766
33767         linkat: new module
33768         * modules/linkat: New file.
33769         * lib/at-func2.c (at_func2): Likewise.
33770         * lib/linkat.c (linkat): Likewise.
33771         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
33772         * lib/openat-priv.h (at_func2): Add declaration.
33773         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
33774         * modules/unistd (Makefile.am): Substitute them.
33775         * lib/unistd.in.h (linkat): Declare it.
33776         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
33777         * doc/posix-functions/linkat.texi (linkat): Likewise.
33778         * doc/posix-functions/link.texi (link): Tweak wording.
33779         * tests/test-link.c (main): Move guts...
33780         * tests/test-link.h (test_link): ...into new file.
33781         * modules/linkat-tests: New test.
33782         * tests/test-linkat.c: Likewise.
33783         * modules/link-tests (Files): Ship new file.
33784         (Depends-on): Add stdbool.
33785
33786         dirname: add library-safe mdir_name
33787         * lib/dirname.h (mdir_name): New prototype.
33788         * lib/dirname.c (dir_name): Move guts...
33789         (mdir_name): ...to new function that avoids xalloc_die.
33790
33791         fchdir: another mingw fix
33792         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
33793         * lib/fchdir.c (get_name): New helper method; skips canonicalize
33794         on mingw (where it has not yet been ported), and make it optional
33795         elsewhere.
33796         (_gl_register_fd): Use it.
33797
33798         same-inode: make SAME_INODE tri-state, to port to mingw
33799         * NEWS: Mention this change.
33800         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
33801         st_ino always being 0.
33802         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
33803         * lib/cycle-check.c (cycle_check): Likewise.
33804         * lib/same.c (same_name): Likewise.
33805
33806         lstat: avoid mingw compilation error
33807         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
33808         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
33809         lstat ourselves.
33810         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
33811         was adequate.
33812         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
33813         the checks for lstat.
33814         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
33815
33816         link: fix test failure on Solaris 9
33817         * lib/link.c (rpl_link): Don't assume link will catch bogus
33818         trailing slash on source.
33819
33820         test-symlinkat: enhance test
33821         * tests/test-readlink.c (main): Move guts...
33822         * tests/test-readlink.h (test_readlink): ...into new file.
33823         * tests/test-symlink.c (main): Move guts...
33824         * tests/test-symlink.h (test_symlink): ...into new file.
33825         * tests/test-symlinkat.c (main): Use new files for further
33826         coverage.
33827         (do_symlink, do_readlink): New helper functions.
33828         * modules/symlink-tests (Files): Ship new file.
33829         (Depends-on): Add stdbool.
33830         * modules/readlink-tests (Files): Ship new file.
33831         (Depends-on): Add stdbool.
33832         * modules/symlinkat-tests (Files): Use new files.
33833
33834 2009-09-23  Eric Blake  <ebb9@byu.net>
33835
33836         readlink: document portability issue with symlink length
33837         * doc/posix-functions/lstat.texi (lstat): Mention that some file
33838         systems have bogus st_size on symlinks, and mention the
33839         areadlink-with-size module.
33840         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
33841         * doc/posix-functions/readlink.texi (readlink): Mention the
33842         areadlink module, and ERANGE failure.
33843         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
33844         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
33845
33846         readlink: fix Solaris 9 bug with trailing slash
33847         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
33848         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
33849         * doc/posix-functions/readlink.texi (readlink): Document this.
33850         * modules/readlink-tests: New test.
33851         * tests/test-readlink.c: Likewise.
33852
33853         readlink: fix cygwin 1.5.x bug with return type
33854         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
33855         * lib/unistd.in.h (readlink): Use ssize_t.
33856         * lib/readlink.c (readlink): Likewise.
33857         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
33858         * modules/unistd (Makefile.am): Substitute it.
33859         * lib/unistd.in.h (readlink): Declare replacement.
33860         * doc/posix-functions/readlink.texi (readlink): Document this.
33861
33862         symlink: use throughout gnulib
33863         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
33864         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
33865         symlink is not used.
33866         * modules/symlinkat (Depends-on): Add symlink.
33867         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
33868         * modules/canonicalize-tests (Depends-on): Likewise.
33869         * modules/lstat-tests (Depends-on): Likewise.
33870         * modules/openat-tests (Depends-on): Likewise.
33871         * modules/remove-tests (Depends-on): Likewise.
33872         * modules/rmdir-tests (Depends-on): Likewise.
33873         * modules/unlink-tests (Depends-on): Likewise.
33874         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
33875         * tests/test-canonicalize.c (symlink): Likewise.
33876         * tests/test-fstatat.c (symlink): Likewise.
33877         * tests/test-lstat.c (symlink): Likewise.
33878         * tests/test-remove.c (symlink): Likewise.
33879         * tests/test-rmdir.c (symlink): Likewise.
33880         * tests/test-unlink.c (symlink): Likewise.
33881         * tests/test-unlinkat.c (symlink): Likewise.
33882
33883         symlink: new module, for Solaris 9 bug
33884         * modules/symlink: New file.
33885         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
33886         * lib/symlink.c: Likewise.
33887         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
33888         * modules/unistd (Makefile.am): Substitute them.
33889         * lib/unistd.in.h (symlink): Declare replacement.
33890         * MODULES.html.sh (File system functions): Mention it.
33891         * doc/posix-functions/symlink.texi (symlink): Likewise.
33892         * modules/symlink-tests: New test.
33893         * tests/test-symlink.c: Likewise.
33894
33895 2009-09-23  Bruno Haible  <bruno@clisp.org>
33896
33897         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
33898         when needed.
33899         Test case: gnulib-tool --import --with-tests atexit inttypes.
33900         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
33901
33902 2009-09-23  Bruno Haible  <bruno@clisp.org>
33903
33904         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
33905         subcommand, not in a subshell.
33906
33907 2009-09-22  Eric Blake  <ebb9@byu.net>
33908
33909         unistd: sort replacement declarations
33910         * lib/unistd.in.h: Sort declarations.
33911
33912         open, openat: minor optimization
33913         * lib/open.c (open): If open succeeded, len is non-zero.
33914         * lib/openat.c (rpl_openat): Likewise.
33915
33916         link-follow: ensure correct result
33917         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
33918         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
33919         distinguish between possible failures.
33920
33921 2009-09-21  Eric Blake  <ebb9@byu.net>
33922
33923         fts: avoid compiler warning
33924         * lib/fts.c (dirent_inode_sort_may_be_useful)
33925         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
33926
33927 2009-09-19  Bruno Haible  <bruno@clisp.org>
33928
33929         * lib/progreloc.c (canonicalize_file_name): New declaration.
33930
33931 2009-09-19  Eric Blake  <ebb9@byu.net>
33932
33933         link: fix quoting
33934         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
33935
33936         openat: fix openat bugs on Solaris 9
33937         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
33938         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
33939         * modules/openat (Depends-on): Add open.
33940         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
33941         * modules/fcntl-h (Makefile.am): Substitute it.
33942         * lib/fcntl.in.h (openat): Declare replacement.
33943         * doc/posix-functions/openat.texi (openat): Document this.
33944
33945         openat: move fstatat and unlinkat into correct files
33946         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
33947         compiled.
33948         * lib/openat.c (fstatat, unlinkat): Move...
33949         * lib/fstatat.c (fstatat): ...into correct files.
33950         * lib/unlinkat.c (unlinkat): Likewise.
33951
33952         openat: fix unlinkat bugs on Solaris 9
33953         * lib/unlinkat.c (unlinkat): New file.
33954         * modules/openat (Depends-on): Add unlink.
33955         (Files): Distribute it.
33956         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
33957         trailing slash behavior is broken.
33958         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
33959         * modules/unistd (Makefile.am): Substitute it.
33960         * lib/unistd.in.h (unlinkat): Declare replacement.
33961         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
33962
33963         openat: fix fstatat bugs on Solaris 9
33964         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
33965         stat.
33966         * doc/posix-functions/fstatat.texi (fstatat): Document this.
33967
33968         test-unlinkat: enhance test, to expose Solaris 9 bug
33969         * tests/test-unlink.c (main): Factor guts...
33970         * tests/test-unlink.h (test_rmdir_func): ...into new file.
33971         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
33972         * tests/test-rmdir.c (main): Adjust caller.
33973         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
33974         (unlinker): New helper function.
33975         (rmdirat): Enhance check.
33976         * modules/rmdir-tests (Depends-on): Add stdbool.
33977         * modules/unlink-tests (Depends-on): Likewise.
33978         (Files): Add test-unlink.h.
33979         * modules/openat-tests (Files): Likewise.
33980         (Depends-on): Add unlinkdir.
33981
33982         test-fstatat: new test, to expose Solaris 9 bugs
33983         * tests/test-stat.c (main): Factor guts...
33984         * tests/test-stat.h (test_stat_func): ...into new file.
33985         * tests/test-lstat.c (main): Factor guts...
33986         * tests/test-lstat.h (test_lstat_func): ...into new file.
33987         * tests/test-fstatat.c: New file.
33988         * modules/stat-tests (Files): Add test-stat.h.
33989         * modules/lstat-tests (Files): Add test-lstat.h.
33990         (Depends-on): Add stdbool.
33991         * modules/openat-tests (Depends-on): Add pathmax.
33992         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
33993         (Makefile.am): Run new test.
33994
33995         remove: new module, for mingw and Solaris 9 bugs
33996         * modules/remove: New file.
33997         * lib/remove.c: Likewise.
33998         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
33999         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
34000         * modules/stdio (Makefile.am): Use them.
34001         * lib/stdio.in.h (remove): Declare replacement.
34002         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34003         * doc/posix-functions/remove.texi (remove): Likewise.
34004         * modules/remove-tests: New test.
34005         * tests/test-remove.c: Likewise.
34006
34007         unlink: new module, for Solaris 9 bug
34008         * modules/unlink: New file.
34009         * lib/unlink.c: Likewise.
34010         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
34011         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
34012         * modules/unistd (Makefile.am): Use them.
34013         * lib/unistd.in.h (stat): Declare replacement.
34014         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34015         * doc/posix-functions/unlink.texi (unlink): Likewise.
34016         * modules/unlink-tests: New test.
34017         * tests/test-unlink.c: Likewise.
34018
34019         lstat: fix Solaris 9 bug
34020         * lib/lstat.c (lstat): Also check for trailing slash on
34021         non-symlink, non-directories.  Use stat module to simplify logic.
34022         * doc/posix-functions/lstat.texi (lstat): Document it.
34023         * modules/lstat-tests (Depends-on): Add errno, same-inode.
34024         (configure.ac): Check for symlink.
34025         * tests/test-lstat.c (main): Add more tests.
34026
34027         stat: add as dependency to other modules
34028         * modules/chown (Depends-on): Add stat.
34029         * modules/euidaccess (Depends-on): Likewise.
34030         * modules/fchdir (Depends-on): Likewise.
34031         * modules/isdir (Depends-on): Likewise.
34032         * modules/link (Depends-on): Likewise.
34033         * modules/lstat (Depends-on): Likewise.
34034         * modules/mkdir-p (Depends-on): Likewise.
34035         * modules/modechange (Depends-on): Likewise.
34036         * modules/open (Depends-on): Likewise.
34037         * modules/readlink (Depends-on): Likewise.
34038         * modules/same (Depends-on): Likewise.
34039
34040         stat: fix Solaris 9 bug
34041         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
34042         slash.
34043         * lib/stat.c (rpl_stat): Work around it.
34044         * doc/posix-functions/stat.texi (stat): Update documentation.
34045
34046         stat: new module, for mingw bug
34047         * modules/stat: New file.
34048         * lib/stat.c: Likewise.
34049         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
34050         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
34051         * modules/sys_stat (Makefile.am): Use them.
34052         * lib/sys_stat.in.h (stat): Declare replacement.
34053         * lib/openat.c (fstatat): Deal with lstat and stat being function
34054         macros.
34055         * modules/openat (Depends-on): Add inline.
34056         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34057         * doc/posix-functions/stat.texi (stat): Likewise.
34058         * modules/stat-tests: New test.
34059         * tests/test-stat.c: Likewise.
34060
34061 2009-09-19  Jim Meyering  <meyering@redhat.com>
34062
34063         syntax-check: detect unnecessary inclusion of canonicalize.h
34064         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
34065
34066 2009-09-19  Eric Blake  <ebb9@byu.net>
34067
34068         canonicalize-lgpl: adjust clients to use correct header
34069         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
34070         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
34071         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
34072         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
34073         * lib/progreloc.c (includes): Likewise.
34074
34075 2009-09-19  Jim Meyering  <meyering@redhat.com>
34076
34077         test-posixtm.c: correct a comment
34078         * tests/test-posixtm.c: Correct first-line comment.
34079         Spotted by Eric Blake.
34080
34081 2009-09-16  Jim Meyering  <meyering@redhat.com>
34082
34083         posixtm-tests: make T const-correct; add a test case
34084         * tests/test-posixtm.c (T): Declare const.
34085         Add a test for -(2^31+1).
34086         Remove useless can-succeed-only-in-2002 test.
34087
34088         posixtm-tests: adjust the sole failing test
34089         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
34090         expected output matches what mktime now produces.  Cross-checked via
34091         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
34092
34093         posixtm: move #ifdef'd tests into a new module
34094         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
34095         * tests/test-posixtm.c: ... this new file.
34096         * modules/posixtm-tests: New module.
34097
34098 2009-09-19  Eric Blake  <ebb9@byu.net>
34099
34100         openat: simplify use of at-func.c
34101         * lib/at-func.c (includes): Include prerequisites here, to
34102         simplify requirements on client files.
34103         * lib/openat-priv.h: Add double-inclusion guard.
34104         * lib/faccessat.c (includes): Simplify.
34105         * lib/fchmodat.c (includes): Likewise.
34106         * lib/fchownat.c (includes): Likewise.
34107         * lib/mkdirat.c (includes): Likewise.
34108         * lib/mkfifoat.c (includes): Likewise.
34109         * lib/symlinkat.c (includes): Likewise.
34110
34111         openat: allow return of fd 0
34112         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
34113         * modules/save-cwd (Depends-on): Replace fcntl-safer with
34114         unistd-safer.
34115         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
34116         <fcntl.h>; this module does not leak fds.
34117         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
34118         must be allowed to return 0, leaving openat_safer to add the
34119         safety.
34120         (openat_permissive): Avoid writing to just-opened fd 2 if
34121         restoring the current directory fails.
34122         * lib/openat-die.c (openat_restore_fail): Add comment.
34123         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
34124         (save_cwd): Guarantee safe fd, but without use of open_safer.
34125         * tests/test-openat.c: New test.
34126         * modules/openat-tests (Files, Makefile.am): Distribute and build
34127         new file.
34128
34129         relocatable-prog-wrapper: fix build
34130         * modules/relocatable-prog-wrapper (Files): Update name of
34131         canonicalize m4 file, broken on 2009-09-17.
34132         Reported by emad hajjar <aleppos@hotmail.com>.
34133
34134 2009-09-19  Bruno Haible  <bruno@clisp.org>
34135
34136         * lib/safe-alloc.h: Use the standard header with GPL copyright.
34137         * lib/safe-alloc.c: Likewise.
34138         Reported by Ian Beckwith <ianb@erislabs.net>.
34139
34140 2009-09-18  Bruno Haible  <bruno@clisp.org>
34141
34142         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
34143         Reported by <erobles@sensacd.com.mx>.
34144
34145 2009-09-17  Eric Blake  <ebb9@byu.net>
34146
34147         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
34148         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
34149         slashes when checking if last component is missing.
34150         * tests/test-canonicalize.c (main): Test this.
34151
34152         canonicalize, canonicalize-lgpl: honor // if distinct from /
34153         * modules/canonicalize (Files): Add double-slash-root.m4.
34154         * modules/canonicalize-lgpl (Files): Likewise.
34155         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
34156         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
34157         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
34158         fallback definition.
34159         (canonicalize_filename_mode): Use it to protect //.
34160         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
34161         (__realpath): Likewise.
34162         * tests/test-canonicalize.c (main): Test this.
34163         * tests/test-canonicalize-lgpl.c (main): Likewise.
34164         * modules/canonicalize-tests (Depends-on): Add same-inode.
34165         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
34166
34167         canonicalize-lgpl: fix glibc bug with trailing slash
34168         * m4/canonicalize-lgpl.m4: Move contents...
34169         * m4/canonicalize.m4: ...here.
34170         (gl_CANONICALIZE_LGPL): Factor realpath check...
34171         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
34172         glibc 2.3.5 bug, fixed 2005-04-27.
34173         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
34174         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
34175         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
34176         * modules/canonicalize-lgpl (Files): Manage file rename.
34177         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
34178         * modules/stdlib (Makefile.am): Substitute witness.
34179         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
34180         is needed.
34181         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
34182         replacement is required.
34183         * lib/canonicalize.c (canonicalize_file_name): Likewise.
34184         * doc/glibc-functions/canonicalize_file_name.texi
34185         (canonicalize_file_name): Document this.
34186         * doc/posix-functions/realpath.texi (realpath): Likewise.
34187
34188         canonicalize-lgpl: reject non-directory with trailing slash
34189         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
34190         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
34191         catches failures in glibc 2.3.5.
34192         * tests/test-canonicalize.c (main): Likewise.
34193
34194         canonicalize-lgpl: use native realpath if it works
34195         * lib/canonicalize-lgpl.c (realpath): Guard with
34196         FUNC_REALPATH_WORKS.
34197         * lib/stdlib.in.h (realpath): Make declaration optional based on
34198         HAVE_REALPATH.
34199         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
34200         native realpath works.
34201         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
34202         * modules/stdlib (Makefile.am): Substitute witness.
34203
34204         canonicalize, canonicalize-lgpl: use <stdlib.h>
34205         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
34206         (Include): Mention <stdlib.h>.
34207         (configure.ac): Mention functions we provide.
34208         * modules/canonicalize (configure.ac): Likewise.
34209         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
34210         realpath if canonicalize_file_name is missing.
34211         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
34212         * modules/stdlib (Makefile.am): Substitute witnesses.
34213         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
34214         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
34215         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
34216         * NEWS: Document this.
34217         * doc/glibc-functions/canonicalize_file_name.texi
34218         (canonicalize_file_name): Likewise.
34219         * doc/posix-functions/realpath.texi (realpath): Likewise.
34220         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
34221
34222         test-canonicalize: consolidate into single C program
34223         * tests/test-canonicalize.sh: Delete; move setup into...
34224         * tests/test-canonicalize.c (main): ...the program, making it
34225         easier to run in debugger.  Add some tests.
34226         * modules/canonicalize-tests (Files): Remove unused file.
34227         (Depends-on): Add progname.
34228         (configure.ac, Makefile.am): Simplify.
34229
34230         test-canonicalize-lgpl: consolidate into single C program
34231         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
34232         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
34233         easier to run in debugger.  Add some tests.
34234         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
34235         (configure.ac, Makefile.am): Simplify.
34236
34237         canonicalize: avoid resolvepath
34238         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
34239         unnecessary checks.
34240         * lib/canonicalize.c (includes): Simplify.
34241         (canonicalize_file_name): Drop resolvepath implementation.
34242         * modules/canonicalize (Depends-on): Drop filenamecat.
34243
34244         canonicalize: don't lose errno
34245         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
34246         over calls to free.
34247
34248         canonicalize: simplify errno handling
34249         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
34250         assignment.
34251
34252         canonicalize, canonicalize-lgpl: update module dependencies
34253         * modules/canonicalize (Depends-on): Add extensions, lstat,
34254         pathmax, stdlib.
34255         (Files): Drop pathmax.h.
34256         (configure.ac): Adjust macro name.
34257         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
34258         lstat, stdlib, sys_stat.
34259         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
34260         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
34261         extensions.
34262         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
34263         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
34264         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
34265         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
34266         declaration, if available.
34267         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
34268         we can rely on the readlink module.
34269         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
34270         (includes): Use <unistd.h> unconditionally.
34271
34272 2009-09-17  Eric Blake  <ebb9@byu.net>
34273
34274         maint: make Include sections of modules consistent
34275         * modules/alloca: Use only header name; no need to list #include.
34276         * modules/alloca-opt: Likewise.
34277         * modules/arpa_inet: Likewise.
34278         * modules/canon-host: Likewise.
34279         * modules/configmake: Likewise.
34280         * modules/dirent: Likewise.
34281         * modules/eealloc: Likewise.
34282         * modules/environ: Likewise.
34283         * modules/fchdir: Likewise.
34284         * modules/fcntl: Likewise.
34285         * modules/fcntl-h: Likewise.
34286         * modules/gethrxtime: Likewise.
34287         * modules/gettime: Likewise.
34288         * modules/ignore-value: Likewise.
34289         * modules/inet_ntop: Likewise.
34290         * modules/inet_pton: Likewise.
34291         * modules/inttypes: Likewise.
34292         * modules/isnand-nolibm: Likewise.
34293         * modules/isnanf-nolibm: Likewise.
34294         * modules/mbchar: Likewise.
34295         * modules/mbfile: Likewise.
34296         * modules/mbiter: Likewise.
34297         * modules/mbuiter: Likewise.
34298         * modules/netdb: Likewise.
34299         * modules/netinet_in: Likewise.
34300         * modules/nproc: Likewise.
34301         * modules/pagealign_alloc: Likewise.
34302         * modules/poll: Likewise.
34303         * modules/printf-frexp: Likewise.
34304         * modules/pthread: Likewise.
34305         * modules/putenv: Likewise.
34306         * modules/random_r: Likewise.
34307         * modules/relocatable-prog: Likewise.
34308         * modules/search: Likewise.
34309         * modules/select: Likewise.
34310         * modules/selinux-h: Likewise.
34311         * modules/settime: Likewise.
34312         * modules/signal: Likewise.
34313         * modules/size_max: Likewise.
34314         * modules/socklen: Likewise.
34315         * modules/ssize_t: Likewise.
34316         * modules/stdarg: Likewise.
34317         * modules/stdbool: Likewise.
34318         * modules/stddef: Likewise.
34319         * modules/stdint: Likewise.
34320         * modules/stdio: Likewise.
34321         * modules/stdlib: Likewise.
34322         * modules/string: Likewise.
34323         * modules/strings: Likewise.
34324         * modules/sys_file: Likewise.
34325         * modules/sys_ioctl: Likewise.
34326         * modules/sys_select: Likewise.
34327         * modules/sys_socket: Likewise.
34328         * modules/sys_stat: Likewise.
34329         * modules/sys_time: Likewise.
34330         * modules/sys_times: Likewise.
34331         * modules/sys_utsname: Likewise.
34332         * modules/sys_wait: Likewise.
34333         * modules/sysexits: Likewise.
34334         * modules/time: Likewise.
34335         * modules/times: Likewise.
34336         * modules/tmpfile: Likewise.
34337         * modules/trim: Likewise.
34338         * modules/unistd: Likewise.
34339         * modules/wchar: Likewise.
34340         * modules/wctype: Likewise.
34341
34342 2009-09-17  Bruno Haible  <bruno@clisp.org>
34343
34344         Make getdate.y compile on QNX and NetBSD 5 / i386.
34345         * m4/getdate.m4 (gl_GETDATE): Conditionally define
34346         TIME_T_FITS_IN_LONG_INT.
34347         * lib/getdate.y (long_time_t): New type.
34348         (relative_time): Change type of 'seconds' field to long_time_t.
34349         (get_date): Update types of local variables. Check against overflow
34350         during conversion from long_time_t to time_t.
34351         Reported by Matt Kraai <kraai@ftbfs.org>
34352         and Hasso Tepper <hasso@netbsd.org>.
34353
34354 2009-09-17  Bruno Haible  <bruno@clisp.org>
34355
34356         * modules/COPYING: Update copyright years.
34357         * modules/README: Likeiwse.
34358         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
34359         Reported by Ian Beckwith <ianb@erislabs.net>.
34360
34361 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
34362
34363         * users.txt: Update references for gnuit package.
34364
34365 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
34366
34367         * m4/getdelim.m4: Fix typo in copyright line.
34368
34369 2009-09-17  Bruno Haible  <bruno@clisp.org>
34370
34371         * lib/atoll.c: Use the standard header with GPL copyright.
34372         * lib/argz.in.h: Likewise.
34373         * lib/glob.c: Likewise.
34374         * lib/glob-libc.h: Likewise.
34375         * lib/random_r.c: Likewise.
34376         * lib/siglist.h: Likewise.
34377         * lib/strsignal.c: Likewise.
34378         Reported by Ian Beckwith <ianb@erislabs.net>.
34379
34380 2009-09-17  Eric Blake  <ebb9@byu.net>
34381
34382         rmdir: ensure correct dependency order
34383         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
34384
34385 2009-09-17  Bruno Haible  <bruno@clisp.org>
34386
34387         Disable assertion that fails on NetBSD 5 / i386.
34388         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
34389         Reported by Sam Steingold <sds@gnu.org>
34390         and Hasso Tepper <hasso@netbsd.org>.
34391
34392 2009-09-16  Eric Blake  <ebb9@byu.net>
34393
34394         unlinkdir: port to mingw
34395         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
34396         on which no one can unlink a directory.
34397
34398         stdlib: sort witness names
34399         * modules/stdlib (Makefile.am): Sort replacements.
34400         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
34401         * lib/stdlib.in.h: Likewise.
34402
34403         parse-duration-tests: avoid link failure
34404         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
34405         LIBINTL.
34406         Reported by Tom G. Christensen.
34407
34408         openat-tests: ensure unlinkat behaves like rmdir
34409         * tests/test-rmdir.c (main): Factor guts...
34410         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
34411         * modules/rmdir-tests (Files): Ship new file.
34412         * modules/openat-tests: New test.
34413         * tests/test-unlinkat.c: Likewise.
34414
34415         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
34416         * modules/rmdir-errno (Status, Notice): Now obsolete.
34417
34418         rmdir: work around cygwin 1.5.x and mingw bugs
34419         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
34420         * lib/rmdir.c (rmdir): Work around it.
34421         * modules/rmdir (Status, Notice): No longer obsolete.
34422         (Files): Add dos.m4.
34423         (Depends-on): Add unistd.
34424         (configure.ac): Set witnesses.
34425         (License): Relax to LGPLv2+.
34426         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
34427         * modules/unistd (Makefile.am): Substitute witnesses.
34428         * lib/unistd.in.h (rmdir): Declare replacement.
34429         * doc/posix-functions/rmdir.texi (rmdir): Document this.
34430         * modules/rmdir-tests: New tests.
34431         * tests/test-rmdir.c: Likewise.
34432
34433 2009-09-15  Eric Blake  <ebb9@byu.net>
34434
34435         fchdir: improve use of replacement functions
34436         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
34437         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
34438         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
34439         REPLACE_CLOSEDIR.
34440         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
34441         * modules/sys_stat (Makefile.am): Substitute correct witness.
34442         * modules/dirent (Makefile.am): Likewise.
34443         * modules/unistd (Makefile.am): Likewise.
34444         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
34445         * lib/unistd.in.h (dup): Likewise.
34446         * lib/sys_stat.in.h (fstat): Likewise.
34447
34448         maint: ignore gnulib-tool temp files
34449         * .gitignore: Ignore files created during gnulib-tool --test.
34450
34451 2009-09-13  Jim Meyering  <meyering@redhat.com>
34452
34453         posixtm: don't reject a time that specify "60" as the number of seconds
34454         * lib/posixtm.c (posixtime): The code to reject invalid dates
34455         would also reject a time specified with the .60 suffix.
34456         But POSIX allows that, in order to accommodate leap seconds.
34457         So don't reject it.
34458         (main): Adjust tests accordingly.
34459         * modules/posixtm (Depends-on): Add stpcpy.
34460
34461 2009-09-11  Jim Meyering  <meyering@redhat.com>
34462
34463         announce-gen: include [$release_type] in emitted Subject:
34464         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
34465         e.g., [stable] in the emitted Subject: line.
34466
34467 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34468
34469         Remove obsolete macros from several modules.
34470         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
34471         obsolete Autoconf macros with their modern counterparts.
34472         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
34473         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
34474         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
34475         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
34476         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
34477         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
34478         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
34479         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
34480         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
34481         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
34482         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
34483         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
34484         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
34485         * m4/sockets.m4 (gl_SOCKETS): Likewise.
34486         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
34487         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
34488         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
34489         * m4/time_r.m4 (gl_TIME_R): Likewise.
34490         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
34491         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
34492         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
34493
34494         Fix copyright header in build-aux scripts.
34495         * build-aux/git-version-gen: Fix copyright header to match GPLv3
34496         recommendation.
34497         * build-aux/ncftpput-ftp: Likewise.
34498         * build-aux/update-copyright: Likewise.
34499
34500 2009-09-09  Eric Blake  <ebb9@byu.net>
34501
34502         test-link: allow Linux choice of errno
34503         * tests/test-link.c (main): Relax test for alternate error.
34504
34505         strndup: fix improper m4 caching
34506         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
34507         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
34508         (gl_PREREQ_STRNDUP): Delete.
34509         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
34510         * modules/string (Makefile.am): Substitute it.
34511         * lib/string.in.h (strndup): Modernize prototype.
34512
34513         getcwd: port to mingw
34514         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
34515         different from the POSIX assumptions made throughout the getcwd
34516         module; fortunately, the mingw getcwd does not need replacement.
34517         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
34518         * modules/getcwd-tests: New test.
34519         * tests/test-getcwd.c: Likewise.
34520
34521         link: fix platform bugs
34522         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
34523         * lib/link.c (link): Work around them.  Fix related mingw bug.
34524         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
34525         * modules/unistd (Makefile.am): Substitute it.
34526         * lib/unistd.in.h (link): Declare replacement.
34527         * doc/posix-functions/link.texi (link): Document this.
34528         * modules/link (Depends-on): Add strdup-posix, sys_stat.
34529
34530         test-link: consolidate into single C program, test more cases
34531         * tests/test-link.sh: Delete.
34532         * tests/test-link.c: Test more error conditions.  Exposes bugs on
34533         at least Cygwin and Solaris.
34534         * modules/link-tests (Files): Remove unused file.
34535         (Depends-on): Add errno, sys_stat.
34536         (Makefile.am): Simplify.
34537
34538 2009-09-08  Bruno Haible  <bruno@clisp.org>
34539
34540         Work around towlower, towupper bug on mingw.
34541         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
34542         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
34543         * doc/posix-functions/towlower.texi: Mention the mingw bug.
34544         * doc/posix-functions/towupper.texi: Likewise.
34545         Reported by Eric Blake.
34546
34547 2009-09-08  Jim Meyering  <meyering@redhat.com>
34548
34549         build: don't try to run autoheader if we don't use it
34550         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
34551         is not used in configure.ac.
34552
34553 2009-09-08  Eric Blake  <ebb9@byu.net>
34554
34555         euidaccess: fix compilation error
34556         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
34557
34558         rawmemchr: relax license
34559         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
34560         okay.
34561         Reported by Jim Meyering.
34562
34563         mkfifoat: new module
34564         * modules/mkfifoat: New file.
34565         * lib/mkfifoat.c: Likewise.
34566         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
34567         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
34568         * modules/sys_stat (Makefile.am): Use them.
34569         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
34570         * MODULES.html.sh (File system functions): Mention module.
34571         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
34572         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
34573         * modules/mkfifoat-tests: New test.
34574         * tests/test-mkfifoat.c: Likewise.
34575
34576         strchrnul: relax license
34577         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
34578         okay.
34579         Reported by Jim Meyering.
34580
34581 2009-09-08  Eric Blake  <ebb9@byu.net>
34582
34583         fstatat: fix compilation on Solaris
34584         * lib/fstatat.c (includes): Add fcntl.h.
34585         Reported by Pádraig Brady.
34586
34587 2009-09-07  Eric Blake  <ebb9@byu.net>
34588
34589         rename: modernize replacement
34590         * modules/rename (Depends-on): Add stdio.
34591         (configure.ac): Declare witness.
34592         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
34593         stdio take care of replacement.
34594         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
34595         * modules/stdio (Makefile.am): Substitute them.
34596         * lib/stdio.in.h (rename): Declare replacement.
34597         * lib/rename.c (includes): Allow cross-compilation to non-windows
34598         machines.
34599         * doc/posix-functions/rename.texi (rename): Improve
34600         documentation.
34601
34602         stdio: sort witness names
34603         * modules/stdio (Makefile.am): Sort replacements.
34604         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
34605         * lib/stdio.in.h: Likewise.
34606
34607         getcwd: minor cleanups
34608         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
34609         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
34610
34611         openat: provide more convenience names
34612         * modules/faccessat (configure.ac): Add C witness.
34613         * lib/unistd.in.h (readlinkat): Fix typo.
34614         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
34615         convenience wrappers.
34616         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
34617         wrappers in syntax checks.
34618
34619 2009-09-06  Eric Blake  <ebb9@byu.net>
34620
34621         doc: fix comments in recent patches
34622         * lib/faccessat.c: Mention correct function.
34623         * lib/fchmodat.c: Likewise.
34624         * lib/fchownat.c: Likewise.
34625         * lib/symlinkat.c: Likewise.
34626         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
34627         constants.
34628
34629         faccessat, symlinkat: continue cleanup of previous patch
34630         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
34631         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
34632         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
34633         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
34634         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
34635         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
34636         set.
34637
34638 2009-09-06  Bruno Haible  <bruno@clisp.org>
34639
34640         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
34641         (fstatat): Declare if GNULIB_FSTATAT is set.
34642         (mkdirat): Declare if GNULIB_MKDIRAT is set.
34643         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
34644         (unlinkat): Declare if GNULIB_UNLINKAT is set.
34645         * modules/fcntl-h (Files): Remove m4/openat.m4.
34646         * modules/sys_stat (Files): Remove m4/openat.m4.
34647         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
34648         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
34649         * modules/unistd (Files): Remove m4/openat.m4.
34650         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
34651         GNULIB_OPENAT.
34652         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
34653         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
34654         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
34655         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
34656         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
34657         gl_OPENAT_DEFAULTS.
34658         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
34659         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
34660         Don't require gl_OPENAT_DEFAULTS.
34661         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
34662         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
34663         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
34664         (gl_OPENAT_DEFAULTS): Remove macro.
34665
34666 2009-09-06  Bruno Haible  <bruno@clisp.org>
34667
34668         * modules/openat (configure.ac): Remove unneeded witness.
34669
34670 2009-09-06  Bruno Haible  <bruno@clisp.org>
34671
34672         Set errno to ENOSYS when a function is entirely unsupported.
34673         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
34674         EOPNOTSUPP.
34675         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
34676         * modules/chown (Depends-on): Remove errno.
34677
34678 2009-09-06  Bruno Haible  <bruno@clisp.org>
34679
34680         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
34681
34682 2009-09-06  Bruno Haible  <bruno@clisp.org>
34683
34684         * lib/sys_stat.in.h: Fix preprocessor command indentation.
34685
34686 2009-09-06  Ben Pfaff  <blp@gnu.org>
34687             Bruno Haible  <bruno@clisp.org>
34688
34689         Work around a glibc bug in strtok_r.
34690         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
34691         Undefine if UNDEFINE_STRTOK_R is set.
34692         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
34693         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
34694         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
34695         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
34696         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
34697         UNDEFINE_STRTOK_R.
34698         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
34699
34700 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
34701
34702         exclude: minor fix
34703         * lib/exclude.c: Include wctype.h
34704
34705 2009-09-06  Akim Demaille  <demaille@gostai.com>
34706
34707         bootstrap: improve error message
34708         * build-aux/bootstrap (find_tool): Upon failure, report the list
34709         of candidates.
34710         Honor the initial value of the envvar.
34711
34712 2009-09-05  Eric Blake  <ebb9@byu.net>
34713
34714         symlinkat: new module
34715         * modules/symlinkat: New file.
34716         * lib/symlinkat.c: Likewise.
34717         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
34718         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
34719         * modules/unistd (Makefile.am): Use them.
34720         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
34721         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
34722         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
34723         * MODULES.html.sh (File system functions): Mention module.
34724         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
34725         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
34726         * modules/symlinkat-tests: New test.
34727         * tests/test-symlinkat.c: Likewise.
34728
34729         test-openat-safer: add more checks
34730         * tests/test-openat-safer.c (main): Check more code paths.
34731
34732 2009-09-05  Jim Meyering  <meyering@redhat.com>
34733
34734         syntax-check: detect unnecessary inclusion of openat.h
34735         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
34736
34737 2009-09-05  Bruno Haible  <bruno@clisp.org>
34738
34739         Support towlower, towupper.
34740         * doc/posix-functions/towlower.texi: Mention module wctype.
34741         * doc/posix-functions/towupper.texi: Likewise.
34742         * lib/wctype.in.h (towlower, towupper): New functions.
34743         * tests/test-wctype.c: Include stdio.h, stdlib.h.
34744         (ASSERT): New macro.
34745         (e): New variable.
34746         (main): Test also towlower, towupper. Test WEOF argument.
34747         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
34748
34749 2009-09-05  Bruno Haible  <bruno@clisp.org>
34750
34751         Fix conversion behaviour when the input is invalid.
34752         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
34753         mark occurring in first pass of indirect conversion.
34754         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
34755         input.
34756         Found by clang's static analyzer.
34757
34758 2009-09-05  Bruno Haible  <bruno@clisp.org>
34759
34760         * tests/test-striconveh.c (main): Test indirect conversion on platforms
34761         where direct conversion is possible.
34762
34763 2009-09-04  Eric Blake  <ebb9@byu.net>
34764
34765         openat: fail with ENOENT on empty name
34766         * lib/openat-proc.c (openat_proc_name): Special-case the empty
34767         buffer.
34768
34769         link-follow: fix logic bug in prior patch
34770         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
34771         reversed sense of yes and no in prior patch.  Avoid confusing
34772         compilation failure with desired semantics.
34773
34774         link-follow: accomodate mingw and cross-compilation
34775         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
34776         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
34777         cross-compilation results to -1, to make linkat easier to
34778         implement when cross-compiling.  Trivially support mingw.
34779         * modules/link-follow (configure.ac): Call new name.
34780         * NEWS: Mention this.
34781
34782 2009-09-03  Eric Blake  <ebb9@byu.net>
34783
34784         faccessat: compile replacement
34785         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
34786         needed.
34787
34788         fts: fix compilation error
34789         * lib/fts.c (includes): Re-add "openat.h", for
34790         openat_needs_fchdir.
34791
34792         faccessat: new module
34793         * modules/faccessat: New file.
34794         * lib/faccessat.c: Likewise.
34795         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
34796         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
34797         * modules/unistd (Makefile.am): Use it.
34798         * lib/unistd.in.h (faccessat): Declare it.
34799         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
34800         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
34801         * MODULES.html.sh (File system functions): Mention it.
34802         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
34803         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
34804
34805         euidaccess: prefer POSIX over non-standard implementation
34806         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
34807         * lib/euidaccess.c (euidaccess): Use it if available.
34808
34809         openat: make template easier to use
34810         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
34811         AT_FUNC_F2 to be undefined.
34812         (VALIDATE_FLAG): New macro; use it to reject bad flags.
34813         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
34814         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
34815         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
34816         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
34817         Likewise.
34818         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
34819         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
34820         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
34821         Likewise.
34822
34823         openat: declare in POSIX headers
34824         * NEWS: Mention this.
34825         * modules/openat (configure.ac): Declare witnesses.
34826         (Depends-on): Add fcntl-h, sys_stat, unistd.
34827         (Include): Mention correct headers.
34828         * modules/fcntl-h (Depends-on): Add link-warning.
34829         (Files): Add openat.m4.
34830         (Makefile.am): Substitute witnesses.
34831         * modules/sys_stat (Files, Makefile.am): Likewise.
34832         * modules/unistd (Files, Makefile.am): Likewise.
34833         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
34834         (gl_OPENAT_DEFAULTS): New macro.
34835         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
34836         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
34837         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
34838         (SYS_STAT_H): Remove unused variable.
34839         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
34840         * lib/fcntl--.h (includes): Remove unneeded header.
34841         * lib/openat-safer.c (includes): Likewise.
34842         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
34843         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
34844         appropriate headers.
34845         (__OPENAT_PREFIX): Delete.
34846         * lib/fcntl.in.h (openat): Provide declaration.
34847         (AT_FDCWD): Fix Solaris bug.
34848         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
34849         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
34850         * lib/fchmodat.c (includes):  Adjust to find declaration.
34851         * lib/fchownat.c (includes): Likewise.
34852         * lib/mkdirat.c (includes): Likewise.
34853         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
34854         still visible.
34855
34856 2009-09-02  Eric Blake  <ebb9@byu.net>
34857
34858         errno: use consistently
34859         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
34860         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
34861         * lib/canonicalize.c (ELOOP): Likewise.
34862         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
34863         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
34864         * lib/lchown.c (EOPNOTSUPP): Likewise.
34865         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
34866         * lib/savewd.c (ESTALE): Likewise.
34867         * lib/settime.c (ENOSYS): Likewise.
34868         * lib/utimens.c (ENOSYS): Likewise.
34869         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
34870         * lib/chdir-safer.c (ELOOP): Likewise.
34871         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
34872         * modules/c-stack (Depends-on): Add errno.
34873         * modules/canonicalize (Depends-on): Likewise.
34874         * modules/chdir-safer (Depends-on): Likewise.
34875         * modules/fdopendir (Depends-on): Likewise.
34876         * modules/inet_ntop (Depends-on): Likewise.
34877         * modules/inet_pton (Depends-on): Likewise.
34878         * modules/lchown (Depends-on): Likewise.
34879         * modules/openat (Depends-on): Likewise.
34880         * modules/savewd (Depends-on): Likewise.
34881         * modules/settime (Depends-on): Likewise.
34882         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
34883
34884         fts: avoid leaking fds
34885         * modules/fts (Depends-on): Add cloexec.
34886         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
34887         flag.
34888
34889         fts: make directory fds more robust
34890         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
34891         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
34892
34893         backupfile, chdir-long, fts, savedir: make safer
34894         * lib/backupfile.c (includes): Use "dirent--.h", since
34895         numbered_backup can write to stderr during readdir.
34896         * lib/savedir.c (includes): Likewise.
34897         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
34898         emulation can write to stderr on failure.
34899         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
34900         * lib/getcwd.c: Document why opendir_safer is unused.
34901         * lib/glob.c: Likewise.
34902         * lib/scandir.c: Likewise.
34903         * lib/openat-proc.c: Likewise, for open_safer.
34904         * modules/backupfile (Depends-on): Add dirent-safer.
34905         * modules/savedir (Depends-on): Likewise.
34906         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
34907         * modules/chdir-long (Depends-on): Add openat-safer.
34908
34909         openat-safer: new module
34910         * modules/openat-safer: New file.
34911         * lib/openat-safer.c: Likewise.
34912         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
34913         * lib/fcntl-safer.h (openat_safer): Declare.
34914         * lib/fcntl--.h (openat): Override.
34915         * MODULES.html.sh (File descriptor based I/O): Mention it.
34916         * lib/openat.h: Add double-inclusion guards.
34917         * lib/openat.c (includes): Only include "fcntl-safer.h", not
34918         "fcntl--.h", so we can implement openat.
34919         * modules/openat-safer-tests: New test.
34920         * tests/test-openat-safer.c: New file.
34921
34922         dirent-safer: new module
34923         * modules/dirent-safer: New file.
34924         * lib/dirent--.h: Likewise.
34925         * lib/dirent-safer.h: Likewise.
34926         * lib/opendir-safer.c: Likewise.
34927         * m4/dirent-safer.m4: Likewise.
34928         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
34929         * modules/dirent-safer-tests: New test.
34930         * tests/test-dirent-safer.c: New file.
34931         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
34932
34933         fdopendir: optimize on mingw
34934         * lib/unistd.in.h (_gl_directory_name): New prototype.
34935         * lib/fchdir.c (_gl_directory_name): Implement it.
34936         (fchdir): Use it to simplify implementation.
34937         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
34938         fchdir, when available, to avoid calling [f]chdir().
34939
34940         fdopendir: split into its own module
34941         * lib/openat.c (fdopendir): Move...
34942         * lib/fdopendir.c: ...into new file.
34943         * modules/fdopendir: New module.
34944         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
34945         * modules/openat (Depends-on): Add fdopendir.
34946         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
34947         fdopendir here.
34948         * modules/savedir (Depends-on): Only need fdopendir, not full
34949         openat.
34950         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
34951         * lib/openat.h (fdopendir): Drop prototype.
34952         * lib/dirent.in.h (fdopendir): Provide prototype.
34953         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
34954         * modules/dirent (Makefile.am): Substitute them.
34955         * MODULES.html.sh (File system functions): Mention it.
34956         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
34957         * modules/fdopendir-tests: New file.
34958         * tests/test-fdopendir.c: Likewise.
34959
34960         fchdir: use more consistent macro convention
34961         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
34962         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
34963         REPLACE_FCHDIR, rather than relying on config.h macros.
34964         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
34965         inside a single make-time REPLACE_FCHDIR block, rather than using
34966         the config.h FCHDIR_REPLACEMENT.
34967         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
34968         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
34969         Manage fstat replacement.
34970         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
34971         REPLACE_FCHDIR.
34972         * modules/sys_stat (Files): Add m4/unistd_h.m4.
34973         (Makefile.am): Substitute REPLACE_FCHDIR.
34974         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
34975         FCHDIR_REPLACEMENT.
34976         * lib/dup-safer.c (dup_safer): Likewise.
34977         * lib/dup2.c (rpl_dup2): Likewise.
34978         * lib/dup3.c (rpl_dup3): Likewise.
34979         * lib/open.c (rpl_open): Likewise.
34980
34981         fchdir: simplify error handling, and support dup3
34982         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
34983         stdbool, malloc-posix, realloc-posix.
34984         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
34985         (ensure_dirs_slot): Return false on allocation failure.
34986         (rpl_dup2): Delete.
34987         (_gl_register_dup): New function.
34988         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
34989         (_gl_register_fd): Close fd on allocation failure.
34990         * lib/fcntl.in.h (_gl_register_fd): Update signature.
34991         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
34992         prototype.
34993         (rpl_dup2_fchdir): Delete prototype.
34994         * lib/open.c (open): Update caller.
34995         * lib/dup2.c (dup2): Track fchdir metadata.
34996         * lib/dup3.c (dup3): Likewise.
34997         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
34998         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
34999
35000 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35001
35002         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
35003         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
35004         don't pass arguments to AC_OUTPUT.
35005
35006 2009-09-02  Bruno Haible  <bruno@clisp.org>
35007
35008         * modules/mkdtemp (License): Relicense under LGPLv2+.
35009         Reported by Paolo Bonzini.
35010
35011 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35012
35013         Replace uses of obsolete autoconf macros in Jim's modules.
35014         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
35015         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
35016         can evoke a warning from autoconf when run with -Wobsolete
35017         enabled.  They were declared obsolete for good reasons (see
35018         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
35019         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
35020         should not continue using the deprecated macros.
35021         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
35022         obsolete Autoconf macros with modern counterparts.
35023         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
35024         * m4/dos.m4 (gl_AC_DOS): Likewise.
35025         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
35026         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
35027         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
35028         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
35029         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
35030         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
35031         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
35032         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
35033         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
35034         Likewise.
35035         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
35036         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
35037         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
35038         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
35039         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
35040         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
35041
35042 2009-09-01  Eric Blake  <ebb9@byu.net>
35043
35044         fchdir: fix off-by-one bug in previous patch
35045         * lib/fchdir.c (rpl_fstat): Use correct bounds.
35046         (_gl_unregister_fd): Delete useless if.
35047
35048 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
35049
35050         maint.mk: sort the list of syntax-check rules
35051         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
35052         easier to get a sense of progress when the rules are run sequentially
35053         and take a long time.
35054
35055 2009-09-01  Simon Josefsson  <simon@josefsson.org>
35056
35057         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
35058         * modules/netinet_in: Likewise.
35059         * modules/sys_file: Likewise.
35060         * modules/sys_ioctl: Likewise.
35061         * modules/sys_select: Likewise.
35062         * modules/sys_socket: Likewise.
35063         * modules/sys_stat: Likewise.
35064         * modules/sys_time: Likewise.
35065         * modules/sys_times: Likewise.
35066         * modules/sys_utsname: Likewise.
35067         * modules/sys_wait: Likewise.
35068
35069 2009-09-01  Jim Meyering  <meyering@redhat.com>
35070
35071         fts: help ensure that return values are not ignored
35072         * lib/fts_.h (__GNUC_PREREQ): Define.
35073         (__attribute_warn_unused_result__): Define.
35074         (fts_children, fts_close, fts_open, fts_read): Declare with
35075         __attribute_warn_unused_result__.
35076
35077         fts: fts_close now fails also when closing a dir file descriptor fails
35078         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
35079         and propagate to caller, along with errno.
35080
35081         announce-gen: correct formatting in --help output
35082         * build-aux/announce-gen (usage): Move the one-line description in
35083         --help output "up", to where it belongs, just after Usage:.
35084
35085 2009-08-31  Eric Blake  <ebb9@byu.net>
35086
35087         fchdir: port to mingw
35088         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
35089         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
35090         opened, then use a substitute.
35091         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
35092         replacement.
35093         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
35094         (_gl_register_fd): No need to check stat if open already filters
35095         all directories.
35096         (fchdir): Fix error condition to match POSIX.
35097         * modules/fchdir (Depends-on): Add sys_stat.
35098         * doc/posix-functions/open.texi (open): Document the limitation.
35099         * modules/fchdir-tests: New file.
35100         * tests/test-fchdir.c: Likewise.
35101
35102         canonicalize: allow cross-testing from cygwin to mingw
35103         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
35104         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
35105         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
35106         Likewise.
35107         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
35108         target does not support symlinks.
35109         * tests/test-canonicalize-lgpl.sh: Likewise.
35110
35111         chown: avoid compilation warning on mingw
35112         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
35113         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
35114         mingw.
35115         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
35116         * modules/chown (Depends-on): Add errno.
35117
35118 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
35119
35120         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
35121         command.
35122
35123 2009-08-31  Jim Meyering  <meyering@redhat.com>
35124
35125         canonicalize: remove useless initialization
35126         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
35127         initialization of local, "end".
35128
35129 2009-08-30  Bruno Haible  <bruno@clisp.org>
35130
35131         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
35132         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
35133         ENOSYS.
35134
35135 2009-08-30  Bruno Haible  <bruno@clisp.org>
35136
35137         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
35138         /usr/xpg4/bin/tr when it exists.
35139         * tests/test-pipe-filter-gi1.sh: Likewise.
35140
35141 2009-08-30  Bruno Haible  <bruno@clisp.org>
35142
35143         Work around deficient /usr/bin/id program on Solaris.
35144         * tests/test-file-has-acl.sh (ID): New variable.
35145         * tests/test-set-mode-acl.sh (ID): Likewise.
35146         * tests/test-copy-acl.sh (ID): Likewise.
35147         * tests/test-copy-file.sh (ID): Likewise.
35148
35149 2009-08-30  Bruno Haible  <bruno@clisp.org>
35150
35151         New module 'xstriconveh'.
35152         * lib/xstriconveh.h: New file.
35153         * lib/xstriconveh.c: New file.
35154         * modules/xstriconveh: New file.
35155
35156 2009-08-30  Bruno Haible  <bruno@clisp.org>
35157
35158         Make it easier to use mem_cd_iconveh.
35159         * lib/striconveh.h (iconveh_t): New type.
35160         (iconveh_open, iconveh_close): New declarations.
35161         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
35162         with a single 'const iconveh_t *' argument.
35163         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
35164         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
35165         with a single 'const iconveh_t *' argument.
35166         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
35167         * tests/test-striconveh.c (main): Update.
35168         * NEWS: Mention the change.
35169
35170 2009-08-30  Bruno Haible  <bruno@clisp.org>
35171
35172         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
35173         problem.
35174
35175 2009-08-30  Bruno Haible  <bruno@clisp.org>
35176
35177         Work around iconv_open problem on Solaris.
35178         * lib/iconv_open-solaris.gperf: New file.
35179         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
35180         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
35181         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
35182         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
35183         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
35184         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
35185
35186 2009-08-29  Jim Meyering  <meyering@redhat.com>
35187
35188         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
35189         * top/maint.mk (cvs-check): Remove target; it was just an alias
35190         to the better-named vc-diff-check.
35191         (maintainer-distcheck): Remove rule.  It was used only from
35192         the (alpha/beta/major) target, and all of its commands but one
35193         were coreutils-specific.
35194         (vc-dist): Remove rule.
35195         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
35196         Run vc-diff-check, not vc-dist.
35197         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
35198
35199 2009-08-27  Bruno Haible  <bruno@clisp.org>
35200
35201         * tests/test-bitrotate.c (main): Remove test that uses a shift count
35202         of 0.
35203
35204 2009-08-27  Bruno Haible  <bruno@clisp.org>
35205
35206         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
35207         compilers.
35208         * doc/func.texi: Document the SunPRO C bug.
35209
35210 2009-08-27  Bruno Haible  <bruno@clisp.org>
35211
35212         Fix link error on Solaris.
35213         * tests/test-parse-duration.c (xstrdup): Remove function.
35214
35215 2009-08-26  Pádraig Brady  <P@draigbrady.com>
35216
35217         ignore-value: handle pointer types, too
35218         * lib/ignore-value.h (__attribute__): Remove definition.
35219         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
35220         of a more concise and more-often effective "(void) i" statement.
35221         (ignore_ptr): New function to suppress warnings from functions that
35222         return pointers, and to make it explicit that one function doesn't
35223         handle all cases.
35224
35225 2009-08-25  Bruno Haible  <bruno@clisp.org>
35226
35227         dup2: work around a Linux bug.
35228         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
35229         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
35230         * doc/posix-functions/dup2.texi: Mention the Linux bug.
35231         Reported by Simon Josefsson.
35232
35233 2009-08-25  Jim Meyering  <meyering@redhat.com>
35234
35235         libguestfs uses gnulib
35236         * users.txt: Add libguestfs.
35237
35238 2009-08-24  Eric Blake  <ebb9@byu.net>
35239
35240         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
35241         * lib/pipe2.c (includes): Add binary-io.h.
35242         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
35243
35244 2009-08-24  Bruno Haible  <bruno@clisp.org>
35245
35246         Tolerate declared but missing accept4 syscall.
35247         * lib/accept4.c (accept4): Invoke original accept4 function first, if
35248         available.
35249         * lib/sys_socket.in.h (accept4): If the function is already present,
35250         override it.
35251         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
35252         * modules/accept4 (Makefile.am): Compile accept4.c always.
35253         Reported by Paolo Bonzini and Eric Blake.
35254
35255 2009-08-23  Bruno Haible  <bruno@clisp.org>
35256
35257         New module 'accept4'.
35258         * lib/sys_socket.in.h (accept4): New declaration.
35259         * lib/accept4.c: New file.
35260         * m4/accept4.m4: New file.
35261         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
35262         GNULIB_ACCEPT4, HAVE_ACCEPT4.
35263         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
35264         HAVE_ACCEPT4.
35265         * modules/accept4: New file.
35266         * doc/glibc-functions/accept4.texi: Mention the new module.
35267
35268 2009-08-24  Jim Meyering  <meyering@redhat.com>
35269
35270         progname: also set global program_invocation_name, when possible
35271         Before this change, a libtool-enabled program that calls glibc's
35272         error function would report the program name as
35273         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
35274         * modules/progname (configure.ac): Check for a declaration of
35275         program_invocation_name.
35276         * lib/progname.c:  Include <errno.h>.
35277         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
35278         Set program_invocation_name.
35279
35280 2009-08-23  Bruno Haible  <bruno@clisp.org>
35281
35282         * lib/dup3.c: Include <string.h>.
35283
35284 2009-08-23  Bruno Haible  <bruno@clisp.org>
35285
35286         * lib/dup3.c (dup3): Test only once whether the system actually exists.
35287         * lib/pipe2.c (pipe2): Likewise.
35288         Suggested by Eric Blake.
35289
35290 2009-08-23  Bruno Haible  <bruno@clisp.org>
35291
35292         Tolerate declared but missing dup3 syscall.
35293         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
35294         * lib/unistd.in.h (dup3): If the function is already present,
35295         override it.
35296         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
35297         * modules/dup3 (Makefile.am): Compile dup3.c always.
35298         Reported by Paolo Bonzini.
35299
35300 2009-08-23  Bruno Haible  <bruno@clisp.org>
35301
35302         Tolerate declared but missing pipe2 syscall.
35303         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
35304         available.
35305         * lib/unistd.in.h (pipe2): If the function is already present,
35306         override it.
35307         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
35308         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
35309         Reported by Paolo Bonzini.
35310
35311 2009-08-23  Bruno Haible  <bruno@clisp.org>
35312
35313         * lib/pipe2.c (pipe2): Move #ifs inside function.
35314
35315 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
35316
35317         quotearg: document limitations of quote_these_too
35318         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
35319         those limitations are created.
35320         * lib/quotearg.h (set_char_quoting): Document that digits and
35321         letters that are special after backslash are not permitted.
35322         (quotearg_char): Cross-reference set_char_quoting documentation.
35323
35324 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
35325
35326         quotearg: implement custom_quoting_style
35327         * lib/quotearg.c: (struct quoting_options): Add left_quote and
35328         right_quote fields.
35329         (set_custom_quoting): New public function.
35330         (quotearg_buffer_restyled): Add left_quote and right_quote
35331         arguments, handle them very much like locale quoting, and update
35332         all uses.
35333         (quotearg_n_custom): New public function.
35334         (quotearg_n_custom_mem): New public function.
35335         (quotearg_custom): New public function.
35336         (quotearg_custom_mem): New public function.
35337         * lib/quotearg.h: Prototype and document new public functions.
35338         (enum quoting_style): For escape_quoting_style and
35339         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
35340         ignored even though they're otherwise like c_quoting_style.
35341         Add custom_quoting_style member and document with comparison to
35342         clocale_quoting_style.
35343         * tests/test-quotearg.c (custom_quotes): New array.
35344         (custom_results): New array.
35345         (main): Extend to test custom quoting.
35346
35347 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
35348
35349         quotearg: fix right quote escaping when it's in quote_these_too
35350         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
35351         quote, be sure to prepend only one backslash.
35352         * tests/test-quotearg.c (use_quote_double_quotes): New function.
35353         (main): Test it.
35354
35355 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
35356
35357         quotearg-tests: test escaping of embedded locale quotes
35358         * tests/test-quotearg.c (struct result_strings): Add member for
35359         new input.
35360         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
35361         (inputs): Add new input.
35362         (results_g): Add expected results.
35363         (flag_results): Likewise.
35364         (locale_results): Likewise.
35365         (compare_strings): Check those.
35366
35367 2009-08-23  Bruno Haible  <bruno@clisp.org>
35368
35369         Tests for module 'dup3'.
35370         * modules/dup3-tests: New file.
35371         * tests/test-dup3.c: New file.
35372
35373         New module 'dup3'.
35374         * lib/unistd.in.h (dup3): New declaration.
35375         * lib/dup3.c: New file.
35376         * m4/dup3.m4: New file.
35377         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
35378         HAVE_DUP3.
35379         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
35380         * modules/dup3: New file.
35381         * doc/glibc-functions/dup3.texi: Mention the new module.
35382
35383 2009-08-23  Bruno Haible  <bruno@clisp.org>
35384
35385         Tweak the dup2 test.
35386         * tests/test-dup2.c (main): Create the test file empty. Verify that an
35387         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
35388         the test file is still empty. Fix argument order of lseek.
35389
35390 2009-08-23  Bruno Haible  <bruno@clisp.org>
35391
35392         Avoid test link errors when the modules getopt-gnu, gettext are used.
35393         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
35394         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35395
35396 2009-08-23  Bruno Haible  <bruno@clisp.org>
35397
35398         Fix getdtablesize() on mingw.
35399         * lib/getdtablesize.c (getdtablesize): Implement differently.
35400         * lib/unistd.in.h (getdtablesize): Improve comment.
35401
35402 2009-08-23  Bruno Haible  <bruno@clisp.org>
35403
35404         New module 'mkostemp'.
35405         Based on Ulrich Drepper's 2007-08-10 change in glibc.
35406         * lib/stdlib.in.h (mksotemp): New declaration.
35407         * lib/mkostemp.c: New file, from glibc with modifications.
35408         * lib/tempname.h (GT_FILE): Remove outdated comment.
35409         (gen_tempname): Add flags argument.
35410         * lib/tempname.c (__GT_BIGFILE): Remove macro.
35411         (__GT_FILE): Map to 1.
35412         (small_open, large_open): Remove macros.
35413         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
35414         * lib/mkstemp.c (mkstemp): Update.
35415         * lib/mkdtemp.c (mkdtemp): Likewise.
35416         * m4/mkostemp.m4: New file.
35417         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
35418         HAVE_MKOSTEMP.
35419         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
35420         HAVE_MKOSTEMP.
35421         * modules/mkostemp: New file, based on modules/mkstemp.
35422         * doc/glibc-functions/mkostemp.texi: Mention the new module.
35423         * NEWS: Mention the change.
35424
35425 2009-08-23  Bruno Haible  <bruno@clisp.org>
35426
35427         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
35428         Reported by Eric Blake.
35429
35430 2009-08-23  Bruno Haible  <bruno@clisp.org>
35431
35432         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
35433         Reported by Eric Blake.
35434
35435 2009-08-23  Bruno Haible  <bruno@clisp.org>
35436
35437         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
35438         * modules/pipe2 (Depends-on): Likewise.
35439
35440 2009-08-23  Eric Blake  <ebb9@byu.net>
35441
35442         fcntl-h: add O_TTY_INIT support
35443         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
35444         * tests/test-fcntl-h.c (o): Test it.
35445         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
35446
35447         fcntl-h: rename from fcntl, in preparation for fcntl(2)
35448         * modules/fcntl: Move <fcntl.h> header replacement...
35449         * modules/fcntl-h: ...to new name, so as not to collide with
35450         like-named function.
35451         * tests/test-fcntl.c: Rename...
35452         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
35453         * modules/fcntl-tests: Rename...
35454         * modules/fcntl-h-tests: ...to this.  Update test file name.
35455         * modules/chdir-long (Depends-on): Update clients.
35456         * modules/chdir-safer (Depends-on): Likewise.
35457         * modules/fcntl-safer (Depends-on): Likewise.
35458         * modules/fts (Depends-on): Likewise.
35459         * modules/mkancesdirs (Depends-on): Likewise.
35460         * modules/mkdir-p (Depends-on): Likewise.
35461         * modules/open (Depends-on): Likewise.
35462         * modules/savewd (Depends-on): Likewise.
35463         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
35464         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
35465
35466 2009-08-22  Bruno Haible  <bruno@clisp.org>
35467
35468         * modules/binary-io (License): Relicense under LGPL.
35469         * modules/pipe2 (License): Likewise.
35470
35471 2009-08-22  Bruno Haible  <bruno@clisp.org>
35472
35473         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
35474         return value.
35475         * lib/pipe-filter-gi.c (filter_init): Likewise.
35476         Reported by Eric Blake.
35477
35478 2009-08-22  Bruno Haible  <bruno@clisp.org>
35479
35480         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
35481         * modules/pipe (Depends-on): Add pipe2.
35482
35483 2009-08-22  Bruno Haible  <bruno@clisp.org>
35484
35485         Tests for module 'pipe2'.
35486         * modules/pipe2-tests: New file.
35487         * tests/test-pipe2.c: New file.
35488
35489         New module 'pipe2'.
35490         * lib/unistd.in.h (pipe2): New declaration.
35491         * lib/pipe2.c: New file.
35492         * m4/pipe2.m4: New file.
35493         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
35494         HAVE_PIPE2.
35495         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
35496         * modules/pipe2: New file.
35497         * doc/glibc-functions/pipe2.texi: Mention the new module.
35498
35499 2009-08-22  Bruno Haible  <bruno@clisp.org>
35500
35501         Reference some new glibc functions.
35502         * doc/glibc-functions/accept4.texi: New file.
35503         * doc/glibc-functions/dup3.texi: New file.
35504         * doc/glibc-functions/mkostemp.texi: New file.
35505         * doc/glibc-functions/pipe2.texi: New file.
35506         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
35507         (Glibc sys/socket.h): Refer to accept4.
35508         (Glibc unistd.h): Refer to dup3, pipe2.
35509         Reported by Eric Blake.
35510
35511 2009-08-22  Jim Meyering  <meyering@redhat.com>
35512             Bruno Haible  <bruno@clisp.org>
35513
35514         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
35515         This makes it so packages using automake-1.11's silent-rules option
35516         can print e.g., a single "GEN    configmake.h" line, rather than
35517         the 30+ statements that perform the job.  If you want to see the
35518         actual commands, you can still run "make V=1".
35519         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
35520         so that make output is abbreviated when those variables are defined
35521         appropriately.
35522         * modules/argz: Likewise.
35523         * modules/arpa_inet: Likewise.
35524         * modules/byteswap: Likewise.
35525         * modules/configmake: Likewise.
35526         * modules/dirent: Likewise.
35527         * modules/errno: Likewise.
35528         * modules/fcntl: Likewise.
35529         * modules/float: Likewise.
35530         * modules/fnmatch: Likewise.
35531         * modules/getopt-posix: Likewise.
35532         * modules/glob: Likewise.
35533         * modules/iconv_open: Likewise.
35534         * modules/inttypes: Likewise.
35535         * modules/localcharset: Likewise.
35536         * modules/locale: Likewise.
35537         * modules/math: Likewise.
35538         * modules/netdb: Likewise.
35539         * modules/netinet_in: Likewise.
35540         * modules/poll: Likewise.
35541         * modules/posix_spawnp-tests: Likewise.
35542         * modules/sched: Likewise.
35543         * modules/search: Likewise.
35544         * modules/selinux-h: Likewise.
35545         * modules/signal: Likewise.
35546         * modules/spawn: Likewise.
35547         * modules/stdarg: Likewise.
35548         * modules/stdbool: Likewise.
35549         * modules/stddef: Likewise.
35550         * modules/stdint: Likewise.
35551         * modules/stdio: Likewise.
35552         * modules/stdlib: Likewise.
35553         * modules/string: Likewise.
35554         * modules/strings: Likewise.
35555         * modules/sys_file: Likewise.
35556         * modules/sys_ioctl: Likewise.
35557         * modules/sys_select: Likewise.
35558         * modules/sys_socket: Likewise.
35559         * modules/sys_stat: Likewise.
35560         * modules/sys_time: Likewise.
35561         * modules/sys_times: Likewise.
35562         * modules/sys_utsname: Likewise.
35563         * modules/sys_wait: Likewise.
35564         * modules/sysexits: Likewise.
35565         * modules/time: Likewise.
35566         * modules/unistd: Likewise.
35567         * modules/wchar: Likewise.
35568         * modules/wctype: Likewise.
35569
35570 2009-08-22  Jim Meyering  <meyering@redhat.com>
35571
35572         announce-gen: detect write failure
35573         * build-aux/announce-gen: Add Coda at end.
35574         Remove equivalent-but-more-verbose block at top.
35575
35576 2009-08-19  Akim Demaille  <demaille@gostai.com>
35577
35578         bootstrap: --help to stdout.
35579         * bootstrap (usage): Don't send --help to stderr.
35580         Use a here doc instead of a long string.
35581
35582 2009-08-21  Eric Blake  <ebb9@byu.net>
35583
35584         test-popen-safer: split from test-popen
35585         * tests/test-popen.c (main): Move...
35586         * tests/test-popen.h: ...into new file.
35587         * tests/test-popen-safer2.c: New file.
35588         * modules/popen-tests (Files): Add test-popen.h.
35589         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
35590         Suggested by Bruno Haible.
35591
35592         test-fcntl-safer: split from test-open
35593         * tests/test-open.c (main): Move...
35594         * tests/test-open.h: ...into new file.
35595         * tests/test-fcntl-safer.c: New file.
35596         * modules/open-tests (Files): Add test-open.h.
35597         * modules/fcntl-safer-tests: New file.
35598         Suggested by Bruno Haible.
35599
35600         test-fopen-safer: split from test-fopen
35601         * tests/test-fopen.c (main): Move...
35602         * tests/test-fopen.h: ...into new file.
35603         * tests/test-fopen-safer.c: New file.
35604         * modules/fopen-tests (Files): Add test-fopen.h.
35605         * modules/fopen-safer-tests: New file.
35606         Suggested by Bruno Haible.
35607
35608 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
35609
35610         popen-safer: test O_CLOEXEC at run-time.
35611         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
35612
35613 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
35614
35615         fcntl: move more flags to the header
35616         * lib/cloexec.c: Do not define FD_CLOEXEC here.
35617         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
35618         * lib/fcntl.in.h: Do both things here.
35619
35620 2009-08-21  Jim Meyering  <meyering@redhat.com>
35621
35622         consistently remove $@-t before redirecting to it
35623         * modules/argz: Remove $@-t and $@ before redirecting to the former.
35624         * modules/alloca-opt: Likewise.
35625         * modules/byteswap: Likewise.
35626         * modules/fnmatch: Likewise.
35627         * modules/getopt-posix: Likewise.
35628         * modules/glob: Likewise.
35629         * modules/poll: Likewise.
35630         * modules/posix_spawnp-tests: Likewise.
35631         * modules/sys_socket: Likewise.
35632         * modules/sysexits: Likewise.
35633
35634 2009-08-21  Eric Blake  <ebb9@byu.net>
35635
35636         popen: simplify access to original popen
35637         * lib/popen.c (rpl_popen): No need to worry about popen being a
35638         macro.
35639         Reported by Bruno Haible.
35640
35641 2009-08-20  Eric Blake  <ebb9@byu.net>
35642
35643         build: avoid some compiler warnings
35644         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
35645         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
35646         type.
35647         (new_exclude_segment, excluded_file_pattern_p)
35648         (excluded_file_name_p): Reduce scope.
35649         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
35650         old-style declaration.
35651
35652 2009-08-20  Simon Josefsson  <simon@josefsson.org>
35653
35654         * tests/test-exclude1.sh: Handle Windows EOL.
35655         * tests/test-exclude2.sh: Likewise.
35656         * tests/test-exclude3.sh: Likewise.
35657         * tests/test-exclude4.sh: Likewise.
35658         * tests/test-exclude5.sh: Likewise.
35659         * tests/test-exclude6.sh: Likewise.
35660         * tests/test-exclude7.sh: Likewise.
35661
35662 2009-08-19  Akim Demaille  <demaille@gostai.com>
35663
35664         bootstrap: find sha1sum when named gsha1sum.
35665         * bootstrap (find_tool): New.
35666         ($SHA1SUM): New.
35667         Use it.
35668
35669 2009-08-20  Jim Meyering  <meyering@redhat.com>
35670
35671         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
35672         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
35673         expression that converts "." in a file name to "\." in the resulting
35674         regexp.  Start with a dummy statement, so that prior shell variable
35675         definitions are expanded portably.  Reported by Simon Josefsson.
35676
35677 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
35678
35679         Fix polling for writeability of a screen buffer.
35680         * lib/poll.c: Distinguish input and screen buffers for the
35681         Win32 implementation.
35682         * lib/select.c: Likewise.
35683
35684 2009-08-19  Eric Blake  <ebb9@byu.net>
35685
35686         popen-safer: prevent popen from clobbering std descriptors
35687         * modules/popen-safer: New file.
35688         * lib/popen-safer.c: Likewise.
35689         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
35690         * lib/stdio--.h (popen): Provide override.
35691         * lib/stdio-safer.h (popen_safer): Provide declaration.
35692         * tests/test-popen.c (includes): Partially test this.
35693         * modules/popen-safer-tests: New file, for more tests.
35694         * tests/test-popen-safer.c: Likewise.
35695         * MODULES.html.sh (file stream based Input/Output): Mention it.
35696
35697         tests: test some of the *-safer modules
35698         * modules/fopen-safer (Depends-on): Add fopen.
35699         * modules/fcntl-safer (Depends-on): Add fcntl.
35700         * modules/stdlib-safer (Depends-on): Add stdlib.
35701         (configure.ac): Set indicator.
35702         * modules/unistd-safer (configure.ac): Likewise.
35703         * modules/tmpfile-safer (configure.ac): Likewise.
35704         (Depends-on): Add tmpfile.
35705         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
35706         active.
35707         * tests/test-fopen.c (includes): Test safer versions when they are
35708         in use.
35709         * tests/test-open.c (includes): Likewise.
35710
35711         popen: fix cygwin 1.5 bug when stdin closed
35712         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
35713         * modules/popen: New file.
35714         * modules/popen-tests: Likewise.
35715         * tests/test-popen.c: Likewise.
35716         * m4/popen.m4: Likewise.
35717         * lib/popen.c: Likewise.
35718         * lib/stdio.in.h (popen): New declaration.
35719         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
35720         * modules/stdio (Makefile.am): Likewise.
35721         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
35722
35723 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
35724
35725         maint.mk: give full control over update-copyright exclusions
35726         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
35727         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
35728         (update-copyright): Don't force inclusion of top-level
35729         ChangeLog.  Don't force exclusion of all COPYING files, but make
35730         them the default exclusion instead.
35731
35732 2009-08-16  Bruno Haible  <bruno@clisp.org>
35733
35734         Fix test failures on Solaris 10.
35735         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
35736         tests when Solaris iconv() is used.
35737         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
35738         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
35739         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
35740         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
35741         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
35742
35743 2009-08-16  Bruno Haible  <bruno@clisp.org>
35744
35745         Fix test failures on Solaris 10.
35746         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
35747         'tr' program and pass it as first argument.
35748         * tests/test-pipe-filter-gi1.sh: Likewise.
35749         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
35750         program as first argument.
35751         * tests/test-pipe-filter-gi1.c (main): Likewise.
35752
35753 2009-08-16  Eric Blake  <ebb9@byu.net>
35754
35755         fpurge: fix previous commits
35756         * modules/fpurge (Makefile.am): Make replacement conditional,
35757         partially reverting 2007-04-29 change; missed in previous
35758         attempt.
35759         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
35760         is missing.
35761
35762 2009-08-16  Bruno Haible  <bruno@clisp.org>
35763
35764         Clarify fpurge's effect on the file position.
35765         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
35766         * tests/test-fpurge.c (main): Make a second pass for checking the file
35767         position.
35768
35769 2009-08-16  Bruno Haible  <bruno@clisp.org>
35770
35771         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
35772         declaration of fpurge is missing.
35773         * tests/test-fpurge.c (main): Check that the file has not more contents
35774         than expected. Close the file before removing it.
35775
35776 2009-08-15  Eric Blake  <ebb9@byu.net>
35777
35778         fpurge: don't wrap working cygwin implementation
35779         * lib/fpurge.c (fpurge): Fix comment typo.
35780         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
35781         1.7 to avoid replacement.
35782         * tests/test-fpurge.c (main): Enhance test.
35783
35784 2009-08-15  Eric Blake  <ebb9@byu.net>
35785         and Jim Meyering  <meyering@redhat.com>
35786
35787         test-update-copyright: skip if perl is insufficient
35788         * tests/test-update-copyright.sh: Failure to run maintainer tool
35789         should not cause testsuite failure on cygwin 1.5.
35790
35791 2009-08-14  Eric Blake  <ebb9@byu.net>
35792
35793         doc: mention more functions added in cygwin 1.7.0
35794         * doc/posix-headers/limits.texi (limits.h): Update for recent
35795         cygwin additions.
35796         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
35797         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
35798         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
35799         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
35800         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
35801
35802 2009-08-14  Eric Blake  <ebb9@byu.net>
35803
35804         maint.mk: simplify update-copyright rule
35805         * top/maint.mk (update-copyright-local): Delete, and document how
35806         to do it in cfg.mk instead.
35807         (update-copyright-exclude-regexp): Delete, and document how to do
35808         it in .x-update-copyright instead.
35809         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
35810         exclude ChangeLog.
35811
35812 2009-08-14  Bruno Haible  <bruno@clisp.org>
35813
35814         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
35815
35816 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
35817
35818         maint.mk: support update-copyright-env
35819         * top/maint.mk (update-copyright-env): Define place-holder.
35820         (update-copyright): Expand $(update-copyright-env) before
35821         invoking update-copyright.
35822
35823 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
35824
35825         update-copyright: implement forced reformatting
35826         * build-aux/update-copyright: Implement and document
35827         UPDATE_COPYRIGHT_FORCE.
35828         * tests/test-update-copyright.sh: Test it.
35829
35830 2009-08-14  Eric Blake  <ebb9@byu.net>
35831         and Bruno Haible  <bruno@clisp.org>
35832
35833         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
35834         * tests/test-locale.c: Revert previous patch related to NULL.
35835         * tests/test-stdio.c: Likewise.
35836         * tests/test-stdlib.c: Likewise.
35837         * tests/test-string.c: Likewise.
35838         * tests/test-unistd.c: Likewise.
35839         * modules/time-tests (Depends-on): Add verify.
35840         * modules/wchar-tests (Depends-on): Likewise.
35841         * tests/test-time.c: Test for NULL compliance.
35842         * tests/test-wchar.c: Likewise.
35843         * modules/locale (Depends-on): Add stddef.
35844         * modules/stdio (Depends-on): Likewise.
35845         * modules/stdlib (Depends-on): Likewise.
35846         * modules/string (Depends-on): Likewise.
35847         * modules/time (Depends-on): Likewise.
35848         * modules/unistd (Depends-on): Likewise.
35849         * modules/wchar (Depends-on): Likewise.
35850         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
35851         * lib/stdlib.in.h (includes): Likewise.
35852         * lib/string.in.h (includes): Likewise.
35853         * lib/time.in.h (includes): Likewise.
35854         * lib/unistd.in.h (includes): Likewise.
35855         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
35856         replaced.
35857         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
35858         * m4/stddef_h.m4: New file.
35859         * modules/stddef: Likewise.
35860         * lib/stddef.in.h: Likewise.
35861         * modules/stddef-tests: Likewise.
35862         * tests/test-stddef.c: Likewise.
35863         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
35864         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
35865         * doc/posix-headers/locale.texi (locale.h): Likewise.
35866         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
35867         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
35868         * doc/posix-headers/string.texi (string.h): Likewise.
35869         * doc/posix-headers/time.texi (time.h): Likewise.
35870         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
35871         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
35872
35873 2009-08-14  Eric Blake  <ebb9@byu.net>
35874
35875         doc: improve git diff of texinfo files
35876         * .gitattributes: Add rule for *.texi files, with hint on how to
35877         use it.
35878         Copied from m4, and based on a report by Bruno Haible.
35879
35880 2009-08-14  Bruno Haible  <bruno@clisp.org>
35881
35882         Disable multithread support by default on Cygwin 1.5.x for real.
35883         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
35884
35885 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
35886
35887         update-copyright: much ado about intervals
35888         * build-aux/update-copyright: Implement and document
35889         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
35890         of copyright year intervals.
35891         Also, document UPDATE_COPYRIGHT_YEAR.
35892         * tests/test-update-copyright.sh: Test it.
35893
35894         update-copyright: convert 2-digit to 4-digit years
35895         * build-aux/update-copyright: Implement and document.
35896         * tests/test-update-copyright.sh: Update.
35897
35898 2009-08-14  Jim Meyering  <meyering@redhat.com>
35899
35900         test-exclude: avoid coreutils "make check" failure
35901         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
35902         just as in test-argmatch.c.
35903
35904 2009-08-13  Eric Blake  <ebb9@byu.net>
35905
35906         test-dup2: fix bad assumption
35907         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
35908         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
35909
35910         test-version-etc: fix CRLF portability issue
35911         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
35912         recognize \r.
35913         * tests/test-argp-version-etc-1.sh: Likewise.
35914
35915         getopt: update client modules
35916         * modules/argp (Depends-on): Use getopt-gnu.
35917         * modules/git-merge-changelog (Depends-on): Likewise.
35918         * modules/long-options (Depends-on): Likewise.
35919         * modules/xstrtol (Depends-on): Likewise.
35920
35921 2009-08-13  Simon Josefsson  <simon@josefsson.org>
35922
35923         * tests/test-version-etc.sh: Don't fail on different
35924         project/version.  Don't fail on CRLF differences.  Rewrite to use
35925         multiple -e instead of multiple sed forks, suggested by Eric Blake
35926         <ebb9@byu.net>.
35927         * tests/test-argp-version-etc-1.sh: Likewise.
35928
35929 2009-08-13  Simon Josefsson  <simon@josefsson.org>
35930
35931         * tests/test-version-etc.sh: Don't fail on different
35932         project/version.
35933
35934 2009-08-12  Bruno Haible  <bruno@clisp.org>
35935
35936         Tests for modules 'getopt-posix', 'getopt-gnu'.
35937         * modules/getopt-posix-tests: New file.
35938         * tests/test-getopt.c: New file.
35939         * tests/test-getopt.h: New file.
35940         * tests/test-getopt_long.h: New file.
35941
35942         New modules 'getopt-posix', 'getopt-gnu'.
35943         * modules/getopt-gnu: New file, renamed from modules/getopt.
35944         * modules/getopt-posix: New file.
35945         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
35946         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
35947         (gl_GETOPT): Remove macro.
35948         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
35949         Disable the test against BSD systems that declare optreset. Test
35950         against mingw bug. Test against lack of support of optional arguments
35951         on many platforms.
35952         * doc/glibc-headers/getopt.texi: Update module name and list of
35953         relevant platforms.
35954         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
35955         'getopt-gnu' and more portability problems.
35956         * NEWS: Mention the changes.
35957
35958 2009-08-12  Bruno Haible  <bruno@clisp.org>
35959
35960         Ensure that optarg etc. get declared by <unistd.h>.
35961         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
35962         AC_USE_SYSTEM_EXTENSIONS.
35963         * modules/getopt (Depends-on): Add 'extensions'.
35964
35965 2009-08-12  Bruno Haible  <bruno@clisp.org>
35966
35967         Avoid test link errors.
35968         * modules/pipe-filter-ii-tests (Makefile.am): Define
35969         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
35970         * modules/pipe-filter-gi-tests (Makefile.am): Define
35971         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
35972         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35973
35974 2009-08-12  Bruno Haible  <bruno@clisp.org>
35975
35976         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
35977         gl_GETOPT_SUBSTITUTE before.
35978         (gl_GETOPT): Use it.
35979         * m4/argp.m4 (gl_ARGP): Update.
35980         Reported by Sergey Poznyakoff.
35981
35982         * m4/getopt.m4: Reorder macros.
35983         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
35984         (gl_GETOPT_SUBSTITUTE): Remove macro.
35985
35986 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
35987
35988         Minor improvement in gitlog-to-changelog
35989
35990         * build-aux/gitlog-to-changelog: New option `--format' makes
35991         output format string configurable.
35992
35993 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
35994
35995         Optimize exclude: use hash tables for non-wildcard patterns.
35996
35997         * lib/exclude.c: Include hash.h and mbuiter.h
35998         (struct exclude_pattern, exclude_segment): New data types.
35999         (struct exclude): Rewrite.
36000         (fnmatch_pattern_has_wildcards): New function.
36001         (new_exclude_segment, free_exclude_segment): New functions.
36002         (excluded_file_pattern_p, excluded_file_name_p): New functions.
36003         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
36004         * lib/exclude.h (is_fnmatch_pattern): New prototype.
36005         * modules/exclude: Depend on hash and mbuiter.
36006
36007         * modules/exclude-tests: New file.
36008         * tests/test-exclude.c: New file.
36009         * tests/test-exclude1.sh: New file.
36010         * tests/test-exclude2.sh: New file.
36011         * tests/test-exclude3.sh: New file.
36012         * tests/test-exclude4.sh: New file.
36013         * tests/test-exclude5.sh: New file.
36014         * tests/test-exclude6.sh: New file.
36015         * tests/test-exclude7.sh: New file.
36016
36017 2009-08-12  Bruno Haible  <bruno@clisp.org>
36018
36019         Ensure that getopt() gets declared by <unistd.h>.
36020         * lib/unistd.in.h: Conditionally include getopt.h.
36021         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
36022         Set GNULIB_UNISTD_H_GETOPT.
36023         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36024         GNULIB_UNISTD_H_GETOPT.
36025         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
36026
36027 2009-08-12  Bruno Haible  <bruno@clisp.org>
36028
36029         Clarify logic.
36030         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
36031         gl_replace_getopt instead of GETOPT_H.
36032
36033 2009-08-12  Bruno Haible  <bruno@clisp.org>
36034
36035         * m4/getopt.m4: Add comments.
36036
36037 2009-08-12  Bruno Haible  <bruno@clisp.org>
36038
36039         Disable multithread support by default on Cygwin 1.5.x.
36040         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
36041         set gl_use_threads=no if not specified otherwise.
36042
36043 2009-08-11  Bruno Haible  <bruno@clisp.org>
36044
36045         Avoid compilation error on NetBSD 5.0.
36046         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
36047         * tests/test-stdio.c: Likewise.
36048         * tests/test-stdlib.c: Likewise.
36049         * tests/test-string.c: Likewise.
36050         * tests/test-unistd.c: Likewise.
36051         Reported by Greg Troxel <gdt@ir.bbn.com>
36052         at <https://savannah.gnu.org/support/?106973>.
36053
36054 2009-08-11  Bruno Haible  <bruno@clisp.org>
36055
36056         * modules/dup2-tests (Depends-on): Remove close.
36057
36058         Undo 2009-07-19 commit.
36059         * modules/acl-tests (Depends-on): Remove close.
36060         * modules/binary-io-tests (Depends-on): Likewise.
36061         * modules/closein-tests (Depends-on): Likewise.
36062         * modules/flock-tests (Depends-on): Likewise.
36063         * modules/fsync-tests (Depends-on): Likewise.
36064         * modules/lseek-tests (Depends-on): Likewise.
36065         * modules/pipe-tests (Depends-on): Likewise.
36066         * modules/posix_spawn-tests (Depends-on): Likewise.
36067         * modules/posix_spawnp-tests (Depends-on): Likewise.
36068         * modules/stat-time-tests (Depends-on): Likewise.
36069         * modules/yesno-tests (Depends-on): Likewise.
36070
36071 2009-08-10  Bruno Haible  <bruno@clisp.org>
36072
36073         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
36074
36075 2009-08-10  Bruno Haible  <bruno@clisp.org>
36076
36077         Fix a gcc warning.
36078         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
36079
36080 2009-08-10  Bruno Haible  <bruno@clisp.org>
36081
36082         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
36083         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
36084         not only the first time.
36085         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
36086         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
36087         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
36088         is 1, not only the the first time.
36089
36090 2009-08-10  Bruno Haible  <bruno@clisp.org>
36091
36092         Make it possible to use module 'gethostname' without module 'close'.
36093         * lib/unistd.in.h (close): Evoke a link error only if
36094         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
36095         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36096         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36097         * modules/unistd (Makefile.am): Substitute
36098         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36099         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
36100         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
36101         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
36102         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36103         * modules/sys_ioctl (Makefile.am): Substitute
36104         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36105         * modules/socket (configure.ac): On native Windows, set
36106         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
36107         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36108         Reported by Sam Steingold <sds@gnu.org>.
36109
36110 2009-08-10  Bruno Haible  <bruno@clisp.org>
36111
36112         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
36113         * modules/ioctl (configure.ac): Likewise.
36114
36115 2009-08-10  Bruno Haible  <bruno@clisp.org>
36116
36117         Avoid collision between gnulib wrapper and libintl wrapper.
36118         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
36119         already defined in intl/printf.c.
36120         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
36121         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
36122
36123 2009-08-09  Bruno Haible  <bruno@clisp.org>
36124
36125         Make <sys/select.h> really self-contained, also on Solaris 10.
36126         * lib/sys_select.in.h: Include <string.h>.
36127         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
36128         Solaris 10 problem.
36129         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
36130         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
36131         Reported by Jim Meyering.
36132
36133 2009-08-09  Bruno Haible  <bruno@clisp.org>
36134
36135         Avoid warnings from 'aclocal' that are due to a use of macro name
36136         AM_XGETTEXT_OPTION that is not defined in automake.
36137         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
36138         automake.
36139         * modules/error (configure.ac): Likewise.
36140         * modules/propername (configure.ac): Likewise.
36141         * modules/vasprintf (configure.ac): Likewise.
36142         * modules/verror (configure.ac): Likewise.
36143         * modules/xprintf (configure.ac): Likewise.
36144         * modules/xvasprintf (configure.ac): Likewise.
36145
36146 2009-08-08  Bruno Haible  <bruno@clisp.org>
36147
36148         Avoid compilation error in C++ mode.
36149         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
36150         Reported by Sam Steingold <sds@gnu.org>.
36151
36152 2009-08-08  Bruno Haible  <bruno@clisp.org>
36153
36154         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
36155         for the various Unix platforms.
36156         * doc/posix-headers/limits.texi: Update platforms list regarding
36157         HOST_NAME_MAX.
36158         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36159
36160 2009-08-07  Jim Meyering  <meyering@redhat.com>
36161
36162         selinux-at: fix typo in a comment
36163         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
36164         Spotted by Paolo Bonzini.
36165
36166         selinux-at: remove redundant m4 code, add documentation
36167         * modules/selinux-at (configure.ac): Remove redundant code.
36168         LIB_SELINUX is already set via the dependent module, selinux-h.
36169         (Include): Add quotes around selinux-at.h.
36170         * lib/selinux-at.h: Add documentation.
36171         Reported by Bruno Haible in
36172         http://marc.info/?l=gnulib-bug&m=124958988300749
36173
36174 2009-08-07  Bruno Haible  <bruno@clisp.org>
36175
36176         Avoid link error on MacOS X 10.3 and 10.4.
36177         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
36178         on non-ELF systems.
36179         * lib/argp-pv.c (argp_program_version): Likewise.
36180         Reported by Simon Josefsson.
36181
36182 2009-08-07  Simon Josefsson  <simon@josefsson.org>
36183
36184         * tests/test-version-etc.sh: Use $EXEEXT.
36185
36186 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
36187
36188         update-copyright: update documentation to point to maint.mk
36189         * build-aux/update-copyright: Here.
36190
36191 2009-08-06  Jim Meyering  <meyering@redhat.com>
36192
36193         maint.mk: support update-copyright-local
36194         * top/maint.mk (update-copyright-local): Define place-holder.
36195         (update-copyright): Depend on $(update-copyright-local).
36196
36197 2009-08-06  Jim Meyering  <meyering@redhat.com>
36198
36199         selinux-at: new module
36200         Initially written for coreutils, this module will soon be
36201         used by findutils, too.
36202         * MODULES.html.sh [Misc]: Add selinux-at.
36203         * lib/selinux-at.h: New file, from coreutils.
36204         * lib/selinux-at.c: Likewise.
36205         * modules/selinux-at: Likewise.
36206         (License): Change from LGPL to GPL, since it depends
36207         on the GPL'd openat module.
36208
36209         doc: update README
36210         * README: Remove references to cogito.
36211         Remove cvs-repo-updating instructions from 2007.
36212         Don't imply that CVS is better if you have limited disk space.
36213
36214 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36215
36216         update-copyright: support C-style comments
36217         * build-aux/update-copyright: Implement and document.
36218         * tests/test-update-copyright.sh: Test.
36219
36220 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36221
36222         update-copyright: support omitted "(C)"
36223         * build-aux/update-copyright: Implement and document.  Also,
36224         allow variable whitespace before "(C)".
36225         * tests/test-update-copyright.sh: Test.
36226
36227 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36228
36229         update-copyright: don't trip on non-FSF copyright statements
36230         * build-aux/update-copyright: Fix so that the first correctly
36231         formatted FSF copyright statement is recognized no matter what
36232         appears before it.  Update documentation.
36233         * tests/test-update-copyright.sh: Test that.
36234
36235 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36236
36237         update-copyright: clean up code a little
36238         * build-aux/update-copyright: Append "_re" to the name of any
36239         variable holding a regular expression.
36240         Replace "old" and "new" with "stmt" in variable names.
36241         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
36242         handled correctly.
36243         Format code more consistently.
36244
36245 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36246
36247         update-copyright-tests: improve portability
36248         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
36249         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
36250
36251 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
36252
36253         update-copyright: support @copyright{} and &copy;
36254         * build-aux/update-copyright: Implement and document.
36255         * tests/test-update-copyright.sh: Test.
36256
36257 2009-08-04  Jim Meyering  <meyering@redhat.com>
36258
36259         update-copyright-tests: correctly test EOL=\r\n handling
36260         * tests/test-update-copyright.sh: Put \r at the end of some lines
36261         for the dos-eol tests.  Based on a patch by Joel E. Denny.
36262
36263         maint.mk: make update-copyright exclusion list more configurable
36264         * top/maint.mk (update-copyright): Default to excluding COPYING,
36265         but allow an override, in case someone does want to update that file.
36266
36267         maint.mk: don't update copyright date in COPYING
36268         * top/maint.mk (update-copyright): Exclude COPYING.
36269
36270         maint.mk: add a copyright-updating rule
36271         * top/maint.mk (update-copyright): New rule.
36272         Derived from coreutils/Makefile.am.
36273
36274         update-copyright: rename some variables
36275         * build-aux/update-copyright: Rename a few variables for clarity.
36276         Tweak syntax.  List Joel E. Denny as coauthor.
36277
36278 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
36279
36280         update-copyright: fix bug for 2-digit last year and add tests
36281         * build-aux/update-copyright: Fix bug.
36282         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
36283         specified.
36284         * modules/update-copyright-tests: New
36285         * tests/test-update-copyright.sh: New.
36286
36287 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
36288
36289         update-copyright: handle leading tabs in line prefix
36290         * build-aux/update-copyright: Count leading tabs as 8 spaces
36291         when computing margin.  This helps with the formatting of
36292         ChangeLogs, for example.
36293         Fix documentation a little.
36294
36295 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
36296
36297         update-copyright: support EOL=\r\n
36298         * build-aux/update-copyright: Implement that.
36299
36300 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
36301
36302         update-copyright: automatically format copyright statements
36303         * build-aux/update-copyright: Implement that.
36304         Also, be a little more predictable and safer by always failing
36305         when the full copyright format is not perfectly recognized as an
36306         unbroken whole.  Discussed at
36307         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
36308         Rewrite documentation.
36309
36310 2009-08-03  Bruno Haible  <bruno@clisp.org>
36311
36312         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
36313
36314 2009-08-02  Bruno Haible  <bruno@clisp.org>
36315
36316         Tests for module 'uname'.
36317         * modules/uname-tests: New file.
36318         * tests/test-uname.c: New file.
36319
36320         New module 'uname'.
36321         * lib/uname.c: New file.
36322         * m4/uname.m4: New file.
36323         * modules/uname: New file.
36324         * doc/posix-functions/uname.texi: Mention the new module.
36325
36326 2009-08-02  Bruno Haible  <bruno@clisp.org>
36327
36328         Tests for module 'sys_utsname'.
36329         * modules/sys_utsname-tests: New file.
36330         * tests/test-sys_utsname.c: New file.
36331
36332         New module 'sys_utsname'.
36333         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
36334         * m4/sys_utsname_h.m4: New file.
36335         * modules/sys_utsname: New file.
36336         * doc/posix-headers/sys_utsname.texi: Mention the new module.
36337
36338 2009-08-02  Bruno Haible  <bruno@clisp.org>
36339
36340         Implicitly initialize the sockets library.
36341         * lib/gethostname.c: Include sockets.h.
36342         (rpl_gethostname): Invoke gl_sockets_startup.
36343         * lib/socket.c: Include sockets.h.
36344         (rpl_socket): Invoke gl_sockets_startup.
36345         * modules/gethostname (Depends-on): Add sockets.
36346         * modules/socket (Depends-on): Likewise.
36347         * tests/test-poll.c: Don't include sockets.h.
36348         (main): Don't invoke gl_sockets_startup.
36349         * tests/test-select.c: Don't include sockets.h.
36350         (main): Don't invoke gl_sockets_startup.
36351
36352 2009-08-02  Bruno Haible  <bruno@clisp.org>
36353
36354         Allow multiple calls to gl_sockets_startup.
36355         * lib/sockets.c (initialized_sockets_version): New variable.
36356         (gl_sockets_startup): Do nothing if already called for this or a higher
36357         version.
36358         (gl_sockets_cleanup): Reset initialized_sockets_version.
36359
36360 2009-08-03  Simon Josefsson  <simon@josefsson.org>
36361
36362         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
36363         different project/version.
36364
36365 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
36366             Bruno Haible  <bruno@clisp.org>
36367
36368         Tests for module 'pipe-filter-gi'.
36369         * modules/pipe-filter-gi-tests: New file.
36370         * tests/test-pipe-filter-gi1.sh: New file.
36371         * tests/test-pipe-filter-gi1.c: New file.
36372         * tests/test-pipe-filter-gi2.sh: New file.
36373         * tests/test-pipe-filter-gi2-main.c: New file.
36374         * tests/test-pipe-filter-gi2-child.c: New file.
36375
36376         New module 'pipe-filter-gi'.
36377         * lib/pipe-filter-gi.c: New file.
36378         * modules/pipe-filter-gi: New file.
36379
36380 2009-08-02  Bruno Haible  <bruno@clisp.org>
36381             Paolo Bonzini  <bonzini@gnu.org>
36382
36383         Tests for module 'pipe-filter-ii'.
36384         * modules/pipe-filter-ii-tests: New file.
36385         * tests/test-pipe-filter-ii1.sh: New file.
36386         * tests/test-pipe-filter-ii1.c: New file.
36387         * tests/test-pipe-filter-ii2.sh: New file.
36388         * tests/test-pipe-filter-ii2-main.c: New file.
36389         * tests/test-pipe-filter-ii2-child.c: New file.
36390
36391         New module 'pipe-filter-ii'.
36392         * lib/pipe-filter.h: New file.
36393         * lib/pipe-filter-ii.c: New file.
36394         * lib/pipe-filter-aux.h: New file.
36395         * modules/pipe-filter-ii: New file.
36396
36397 2009-08-02  Simon Josefsson  <simon@josefsson.org>
36398
36399         * lib/gc-libgcrypt.c: Change copyright to FSF.
36400         * lib/gc-gnulib.c: Likewise.
36401
36402 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
36403
36404         * lib/gethostname.c: Include limits.h.
36405
36406 2009-08-02  Simon Josefsson  <simon@josefsson.org>
36407             Bruno Haible  <bruno@clisp.org>
36408
36409         Ensure HOST_NAME_MAX as part of the gethostname module.
36410         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
36411         define also HOST_NAME_MAX.
36412         * tests/test-gethostname.c: Include <limits.h>.
36413         (main): Check also HOST_NAME_MAX.
36414         * doc/posix-headers/limits.texi: Document the mingw problem.
36415
36416 2009-08-02  Bruno Haible  <bruno@clisp.org>
36417
36418         * lib/gethostname.c (gethostname): Fix handling of large len argument.
36419         Add comments.
36420
36421 2009-03-31  Simon Josefsson  <simon@josefsson.org>
36422
36423         * lib/gethostname.c: Add Windows wrapper.
36424         * m4/gethostname.m4: Look for gethostname in -lws2_32.
36425         * modules/gethostname: Depend on sys_socket & errno, for also
36426         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
36427         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
36428
36429 2009-07-31  Jim Meyering  <meyering@redhat.com>
36430
36431         getloadavg: fix symbol name in comment
36432         * lib/getloadavg.c: Correct a typo I introduced when adding
36433         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
36434         Matt Kraai spotted the problem.
36435
36436 2009-07-29  Matt Kraai  <mkraai@beckman.com>
36437
36438         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
36439         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
36440         code also if ! defined N_NAME_POINTER.
36441         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
36442         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
36443         but the n_name member is a 12-byte array.
36444
36445 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
36446
36447         update-copyright: generalize comment handling
36448         * build-aux/update-copyright: Handle copyright statements
36449         within more comment styles.
36450         Document usage.
36451         Report any file with an external copyright holder or parse failure.
36452
36453 2009-07-29  Jim Meyering  <meyering@redhat.com>
36454
36455         mktime: correct setting of REPLACE_MKTIME
36456         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
36457
36458         update-copyright: new module
36459         * modules/update-copyright: New file.
36460         * build-aux/update-copyright: New file.
36461         * MODULES.html.sh (maint+release support): Add update-copyright.
36462
36463 2009-07-27  Bruno Haible  <bruno@clisp.org>
36464
36465         Fix compilation error when <ctime> is used and mktime is replaced.
36466         * lib/time.in.h (mktime): New declaration.
36467         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
36468         REPLACE_MKTIME instead of defining mktime in config.h.
36469         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
36470         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
36471         Reported by Ross McFarland <rwmcfa1@neces.com>.
36472
36473 2009-07-27  Bruno Haible  <bruno@clisp.org>
36474
36475         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
36476         Reported by Matt Kraai <mkraai@beckman.com>.
36477
36478 2009-07-25  Jim Meyering  <meyering@redhat.com>
36479
36480         maint.mk: avoid warnings about missing files
36481         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
36482         diagnostic when .prev-version does not exist.
36483         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
36484         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
36485         nonexistent cfg.mk.
36486         Suggestions from Simon Josefsson.
36487
36488 2009-07-25  Bruno Haible  <bruno@clisp.org>
36489
36490         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
36491         defined as macros. Needed on QNX 6.4.1.
36492         Reported by Matt Kraai <mkraai@beckman.com>.
36493
36494 2009-07-23  Jim Meyering  <meyering@redhat.com>
36495
36496         maint.mk: invoke "make dist" with a working value of XZ_OPT
36497         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
36498
36499 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
36500
36501         Make fseeko.c compile on QNX.
36502         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
36503
36504 2009-07-22  Peter Simons  <simons@cryp.to>
36505
36506         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
36507         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
36508         * lib/md4.h: Likewise.
36509         * lib/md5.h: Likewise.
36510         * lib/sha1.h: Likewise.
36511         * lib/sha256.h: Likewise.
36512         * lib/sha512.h: Likewise.
36513
36514         tests-sha1: don't assign literal string to 'char *' variable
36515         * tests/test-sha1.c (main): Declare locals with "const" to match
36516         attributes of the right hand side.
36517
36518 2009-07-21  Eric Blake  <ebb9@byu.net>
36519
36520         dup2: fix more mingw problems
36521         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
36522         fd to itself.
36523         * doc/posix-functions/dup2.texi (dup2): Document the bug.
36524         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
36525         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
36526         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
36527         care of mingw bugs.
36528
36529 2009-07-21  Jim Meyering  <meyering@redhat.com>
36530
36531         vc-list-files: avoid failure when /bin/sh is dash
36532         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
36533         On some Debian based systems, /bin/sh is a symlink to dash, and running
36534         this command would omit the "/" following each 'tests' prefix:
36535           dash -x build-aux/vc-list-files -C . tests
36536         That is because bash and dash work differently:
36537           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
36538           bash ok
36539           dash odd
36540
36541 2009-07-21  Eric Blake  <ebb9@byu.net>
36542
36543         dup2-tests: test previous patch
36544         * modules/dup2-tests: New file.
36545         * tests/test-dup2.c: Likewise.
36546         * tests/test-open.c (main): Avoid unspecified behavior.
36547         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
36548         test.
36549
36550         dup2: work around mingw and cygwin 1.5 bug
36551         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
36552         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
36553         * modules/unistd (Makefile.am): Substitute it.
36554         * lib/unistd.in.h (dup2): Declare the replacement.
36555         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
36556         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
36557         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
36558         * modules/execute (Depends-on): Add dup2.
36559         * modules/fseterr (Depends-on): Likewise.
36560         * modules/pipe (Depends-on): Likewise.
36561         * modules/posix_spawn-internal (Depends-on): Likewise.
36562
36563 2009-07-21  Bruno Haible  <bruno@clisp.org>
36564
36565         * modules/.gitattributes: New file.
36566
36567 2009-07-20  Bruno Haible  <bruno@clisp.org>
36568
36569         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
36570         (main): Use it.
36571
36572 2009-07-20  Eric Blake  <ebb9@byu.net>
36573
36574         test-pipe: make a bit more robust.
36575         * tests/test-pipe.c (myerr): Allow error messages regardless of
36576         what we do to stderr.
36577         (test_pipe): Rearrange to avoid deadlock.
36578         (child_main): Try a larger read, to ensure we avoided deadlock.
36579         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
36580         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
36581         if misused.
36582
36583 2009-07-19  Jim Meyering  <meyering@redhat.com>
36584
36585         fts: avoid false-positive cycle-detection
36586         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
36587         for each new command line argument.
36588
36589 2009-07-19  Bruno Haible  <bruno@clisp.org>
36590
36591         Fix build error on mingw with the modules sys_select and unistd.
36592         * modules/acl-tests (Depends-on): Add close.
36593         * modules/binary-io-tests (Depends-on): Likewise.
36594         * modules/closein-tests (Depends-on): Likewise.
36595         * modules/flock-tests (Depends-on): Likewise.
36596         * modules/fsync-tests (Depends-on): Likewise.
36597         * modules/lseek-tests (Depends-on): Likewise.
36598         * modules/pipe-tests (Depends-on): Likewise.
36599         * modules/posix_spawn-tests (Depends-on): Likewise.
36600         * modules/posix_spawnp-tests (Depends-on): Likewise.
36601         * modules/stat-time-tests (Depends-on): Likewise.
36602         * modules/yesno-tests (Depends-on): Likewise.
36603
36604 2009-07-19  Bruno Haible  <bruno@clisp.org>
36605
36606         Unify conditionals.
36607         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
36608         macros, not at the compiler macros.
36609         * lib/pipe.c: Likewise.
36610         * lib/execute.c: Likewise.
36611         * lib/spawni.c: Likewise.
36612
36613 2009-07-19  Bruno Haible  <bruno@clisp.org>
36614
36615         Fix handling of closed stdin/stdout/stderr on mingw.
36616         * lib/w32spawn.h: Include unistd.h.
36617         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
36618         file descriptor with O_NOINHERIT flag.
36619         (fd_safer_noinherit): New function, based on fd-safer.c.
36620         (dup_safer_noinherit): New function, based on dup-safer.c.
36621         (undup_safer_noinherit): New function.
36622         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
36623         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
36624         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
36625         instead of fd_safer.
36626         * tests/test-pipe.c: Include <windows.h>.
36627         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
36628         result.
36629
36630         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
36631         from main.
36632         (test_pipe): Pass an extra argument for disambiguation.
36633         (main): Invoke parent_main or child_main.
36634
36635         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
36636         consistently.
36637
36638 2009-07-18  Eric Blake  <ebb9@byu.net>
36639
36640         test-pipe: fix mingw build
36641         * tests/test-pipe.c (main): Avoid fcntl on mingw.
36642
36643 2009-07-18  Bruno Haible  <bruno@clisp.org>
36644
36645         * modules/pipe-tests (Makefile.am): Fix typo.
36646
36647 2009-07-18  Eric Blake  <ebb9@byu.net>
36648
36649         error: fix mingw build
36650         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
36651         Reported by Bruno Haible.
36652
36653         error: avoid undefined use of stdout
36654         * lib/error.c (error, error_at_line): Check that fd 1 is open
36655         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
36656         is handling faults and the close_stdout module wants to report the
36657         detection of closed stdout as an error.
36658
36659 2009-07-17  Eric Blake  <ebb9@byu.net>
36660
36661         pipe: be robust in face of closed fds
36662         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
36663         should cause child to misbehave.
36664         * modules/pipe-tests: New module.
36665         * tests/test-pipe.c: New file.
36666         * tests/test-pipe.sh: New file.
36667         Reported by Akim Demaille.
36668
36669 2009-07-14  Bruno Haible  <bruno@clisp.org>
36670
36671         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
36672         Reported by anonymous kc.
36673
36674 2009-07-07  Jim Meyering  <meyering@redhat.com>
36675
36676         maint.mk: don't look for translatable strings in *.m4 or *.mk
36677         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
36678         when searching for translatable strings.
36679
36680 2009-07-05  Jim Meyering  <meyering@redhat.com>
36681
36682         remove superfluous parentheses in STREQ definition
36683         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
36684         * lib/getugroups.c (STREQ): Likewise.
36685         * lib/fnmatch.c (STREQ): Likewise.
36686         Spotted by Bruno Haible.
36687
36688 2009-07-04  Jim Meyering  <meyering@redhat.com>
36689
36690         argv-iter: new module
36691         * MODULES.html.sh: Add argv-iter.
36692         * lib/argv-iter.c, lib/argv-iter.h: New files.
36693         * modules/argv-iter: New file.
36694         * modules/argv-iter-tests: New file.
36695         * tests/test-argv-iter.c: Test it.
36696
36697 2009-07-04  Bruno Haible  <bruno@clisp.org>
36698
36699         Fix assertion.
36700         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
36701         contains more exact copies of a given entry than file2, leave the extra
36702         copies unpaired rather than aborting.
36703         Reported by Eric Blake.
36704
36705 2009-07-02  Bruno Haible  <bruno@clisp.org>
36706
36707         Speedup git-merge-changelog for git cherry-pick.
36708         * lib/git-merge-changelog.c (struct entries_mapping): New type.
36709         (entries_mapping_get): New function, extracted from compute_mapping.
36710         (entries_mapping_reverse_get): New function.
36711         (compute_mapping): Add a 'full' argument. Return the result in a
36712         'struct entries_mapping'.
36713         (main): Update. Access the mappings through entries_mapping_get.
36714         Reported by Eric Blake.
36715
36716 2009-07-02  Bruno Haible  <bruno@clisp.org>
36717
36718         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
36719         best_i.
36720
36721 2009-07-02  Bruno Haible  <bruno@clisp.org>
36722
36723         Speed up approximate search for matching ChangeLog entries.
36724         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
36725         argument. Call fstrcmp_bounded instead of fstrcmp.
36726         (compute_mapping, try_split_merged_entry, main): Update callers.
36727
36728 2009-07-02  Bruno Haible  <bruno@clisp.org>
36729
36730         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
36731
36732 2009-06-30  Bruno Haible  <bruno@clisp.org>
36733
36734         Reduce the number of uc_is_cased calls.
36735         * lib/unicase.h (casing_suffix_context_t): Add
36736         'first_char_except_ignorable' field.
36737         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
36738         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
36739         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
36740         Update initializer.
36741         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
36742         case-ignorable characters.
36743         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
36744         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
36745         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
36746         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
36747         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
36748
36749 2009-06-30  Bruno Haible  <bruno@clisp.org>
36750
36751         Tests for module 'unicase/ignorable'.
36752         * modules/unicase/ignorable-tests: New file.
36753         * tests/unicase/test-ignorable.c: New file, generated by
36754         gen-uni-tables.
36755
36756         Tests for module 'unicase/cased'.
36757         * modules/unicase/cased-tests: New file.
36758         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
36759         * tests/unicase/test-predicate-part1.h: New file, derived from
36760         tests/unictype/test-predicate-part1.h.
36761         * tests/unicase/test-predicate-part2.h: New file, same as
36762         tests/unictype/test-predicate-part2.h.
36763
36764         Fix evaluation of "Before C" condition of FINAL_SIGMA.
36765         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
36766         (output_casing_properties): New function.
36767         (main): Call it.
36768         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
36769         * lib/unicase/cased.c: Include unictype/bitmap.h.
36770         (uc_is_cased): Define through a bitmap lookup.
36771         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
36772         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
36773         (uc_is_case_ignorable): Define through a bitmap lookup.
36774         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
36775         lib/unictype/bitmap.h.
36776         (Depends-on): Add inline. Clean up.
36777         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
36778         lib/unictype/bitmap.h.
36779         (Depends-on): Add inline. Clean up.
36780         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
36781         recognition.
36782         * tests/unicase/test-u16-tolower.c (main): Likewise.
36783         * tests/unicase/test-u32-tolower.c (main): Likewise.
36784
36785 2009-06-30  Bruno Haible  <bruno@clisp.org>
36786
36787         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
36788         * lib/unicase/u16-casemap.c: Likewise.
36789         * lib/unicase/u32-casemap.c: Likewise.
36790
36791 2009-06-29  Bruno Haible  <bruno@clisp.org>
36792
36793         Define u32_casefold as a wrapper around u32_ct_casefold.
36794         * lib/unicase/u32-casefold.c: Update.
36795         * modules/unicase/u32-casefold (Depends-on): Add
36796         unicase/u32-ct-casefold, unicase/empty-prefix-context,
36797         unicase/empty-suffix-context. Clean up.
36798
36799         Define u16_casefold as a wrapper around u16_ct_casefold.
36800         * lib/unicase/u16-casefold.c: Update.
36801         * modules/unicase/u16-casefold (Depends-on): Add
36802         unicase/u16-ct-casefold, unicase/empty-prefix-context,
36803         unicase/empty-suffix-context. Clean up.
36804
36805         Define u8_casefold as a wrapper around u8_ct_casefold.
36806         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
36807         * lib/unicase/u8-casefold.c: Update.
36808         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
36809         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
36810
36811         Define u32_totitle as a wrapper around u32_ct_totitle.
36812         * lib/unicase/u32-totitle.c: Update.
36813         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
36814         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
36815
36816         Define u16_totitle as a wrapper around u16_ct_totitle.
36817         * lib/unicase/u16-totitle.c: Update.
36818         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
36819         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
36820
36821         Define u8_totitle as a wrapper around u8_ct_totitle.
36822         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
36823         functions.
36824         (FUNC): Delegate to U_CT_TOTITLE.
36825         * lib/unicase/u8-totitle.c: Update.
36826         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
36827         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
36828
36829         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
36830         invocation.
36831         * modules/unicase/u32-tolower (Depends-on): Add
36832         unicase/empty-prefix-context, unicase/empty-suffix-context.
36833
36834         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
36835         invocation.
36836         * modules/unicase/u16-tolower (Depends-on): Add
36837         unicase/empty-prefix-context, unicase/empty-suffix-context.
36838
36839         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
36840         * modules/unicase/u8-tolower (Depends-on): Add
36841         unicase/empty-prefix-context, unicase/empty-suffix-context.
36842
36843         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
36844         invocation.
36845         * modules/unicase/u32-toupper (Depends-on): Add
36846         unicase/empty-prefix-context, unicase/empty-suffix-context.
36847
36848         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
36849         invocation.
36850         * modules/unicase/u16-toupper (Depends-on): Add
36851         unicase/empty-prefix-context, unicase/empty-suffix-context.
36852
36853         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
36854         * modules/unicase/u8-toupper (Depends-on): Add
36855         unicase/empty-prefix-context, unicase/empty-suffix-context.
36856
36857         New module 'unicase/u32-ct-casefold'.
36858         * lib/unicase/u32-ct-casefold.c: New file.
36859         * modules/unicase/u32-ct-casefold: New file.
36860
36861         New module 'unicase/u16-ct-casefold'.
36862         * lib/unicase/u16-ct-casefold.c: New file.
36863         * modules/unicase/u16-ct-casefold: New file.
36864
36865         New module 'unicase/u8-ct-casefold'.
36866         * lib/unicase/u8-ct-casefold.c: New file.
36867         * lib/unicase/u-ct-casefold.h: New file, derived from
36868         lib/unicase/u-casefold.h.
36869         * modules/unicase/u8-ct-casefold: New file.
36870
36871         New module 'unicase/u32-ct-totitle'.
36872         * lib/unicase/u32-ct-totitle.c: New file.
36873         * modules/unicase/u32-ct-totitle: New file.
36874
36875         New module 'unicase/u16-ct-totitle'.
36876         * lib/unicase/u16-ct-totitle.c: New file.
36877         * modules/unicase/u16-ct-totitle: New file.
36878
36879         New module 'unicase/u8-ct-totitle'.
36880         * lib/unicase/u8-ct-totitle.c: New file.
36881         * lib/unicase/u-ct-totitle.h: New file, derived from
36882         lib/unicase/u-totitle.h.
36883         * modules/unicase/u8-ct-totitle: New file.
36884
36885         New module 'unicase/u32-ct-tolower'.
36886         * lib/unicase/u32-ct-tolower.c: New file.
36887         * modules/unicase/u32-ct-tolower: New file.
36888
36889         New module 'unicase/u16-ct-tolower'.
36890         * lib/unicase/u16-ct-tolower.c: New file.
36891         * modules/unicase/u16-ct-tolower: New file.
36892
36893         New module 'unicase/u8-ct-tolower'.
36894         * lib/unicase/u8-ct-tolower.c: New file.
36895         * modules/unicase/u8-ct-tolower: New file.
36896
36897         New module 'unicase/u32-ct-toupper'.
36898         * lib/unicase/u32-ct-toupper.c: New file.
36899         * modules/unicase/u32-ct-toupper: New file.
36900
36901         New module 'unicase/u16-ct-toupper'.
36902         * lib/unicase/u16-ct-toupper.c: New file.
36903         * modules/unicase/u16-ct-toupper: New file.
36904
36905         New module 'unicase/u8-ct-toupper'.
36906         * lib/unicase/u8-ct-toupper.c: New file.
36907         * modules/unicase/u8-ct-toupper: New file.
36908
36909         Add context arguments to u*_casemap functions.
36910         * lib/unicase/unicasemap.h: Include unicase.h.
36911         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
36912         suffix_context arguments.
36913         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
36914         functions.
36915         (FUNC): Add prefix_context and suffix_context arguments. Use
36916         uc_is_cased and uc_is_case_ignorable.
36917         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
36918         * lib/unicase/u16-casemap.c: Likewise.
36919         * lib/unicase/u32-casemap.c: Likewise.
36920         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
36921         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
36922         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
36923         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
36924         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
36925         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
36926
36927         New module 'unicase/u32-suffix-context'.
36928         * lib/unicase/u32-suffix-context.c: New file.
36929         * modules/unicase/u32-suffix-context: New file.
36930
36931         New module 'unicase/u16-suffix-context'.
36932         * lib/unicase/u16-suffix-context.c: New file.
36933         * modules/unicase/u16-suffix-context: New file.
36934
36935         New module 'unicase/u8-suffix-context'.
36936         * lib/unicase/u8-suffix-context.c: New file.
36937         * lib/unicase/u-suffix-context.h: New file.
36938         * modules/unicase/u8-suffix-context: New file.
36939
36940         New module 'unicase/empty-suffix-context'.
36941         * lib/unicase/empty-suffix-context.c: New file.
36942         * modules/unicase/empty-suffix-context: New file.
36943
36944         New module 'unicase/u32-prefix-context'.
36945         * lib/unicase/u32-prefix-context.c: New file.
36946         * modules/unicase/u32-prefix-context: New file.
36947
36948         New module 'unicase/u16-prefix-context'.
36949         * lib/unicase/u16-prefix-context.c: New file.
36950         * modules/unicase/u16-prefix-context: New file.
36951
36952         New module 'unicase/u8-prefix-context'.
36953         * lib/unicase/u8-prefix-context.c: New file.
36954         * lib/unicase/u-prefix-context.h: New file.
36955         * lib/unicase/context.h: New file.
36956         * modules/unicase/u8-prefix-context: New file.
36957
36958         New module 'unicase/empty-prefix-context'.
36959         * lib/unicase/empty-prefix-context.c: New file.
36960         * modules/unicase/empty-prefix-context: New file.
36961
36962         New module 'unicase/ignorable'.
36963         * lib/unicase/ignorable.c: New file.
36964         * modules/unicase/ignorable: New file.
36965
36966         New module 'unicase/cased'.
36967         * lib/unicase/caseprop.h: New file.
36968         * lib/unicase/cased.c: New file.
36969         * modules/unicase/cased: New file.
36970
36971         New functions for case mapping of substrings.
36972         * lib/unicase.h (casing_prefix_context_t): New type.
36973         (unicase_empty_prefix_context): New variable.
36974         (u8_casing_prefix_context, u16_casing_prefix_context,
36975         u32_casing_prefix_context, u8_casing_prefixes_context,
36976         u16_casing_prefixes_context, u32_casing_prefixes_context): New
36977         declarations.
36978         (casing_suffix_context_t): New type.
36979         (unicase_empty_suffix_context): New variable.
36980         (u8_casing_suffix_context, u16_casing_suffix_context,
36981         u32_casing_suffix_context, u8_casing_suffixes_context,
36982         u16_casing_suffixes_context, u32_casing_suffixes_context,
36983         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
36984         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
36985         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
36986         declarations.
36987
36988 2009-06-28  Jim Meyering  <meyering@redhat.com>
36989
36990         boostrap: indent only with spaces
36991         * build-aux/bootstrap: Indent only with spaces, never TABs.
36992
36993         bootstrap: split long lines
36994         * build-aux/bootstrap: Keep line length < 80.
36995
36996         bootstrap: sync from coreutils
36997         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
36998         just as autoreconf does.  Verify a list of prerequisite
36999         package-name,version-number pairs if defined in bootstrap.conf.
37000         Refer to README-prereq, if prerequisites are not satisfied.
37001
37002 2009-06-27  Eric Blake  <ebb9@byu.net>
37003
37004         tests: add test for bogus NULL definition
37005         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
37006         * tests/test-stdlib.c: Likewise.
37007         * tests/test-string.c: Likewise.
37008         * tests/test-locale.c: Likewise.
37009         * tests/test-unistd.c: Likewise.
37010         * modules/stdio-tests (Depends-on): Add verify.
37011         * modules/stdlib-tests (Depends-on): Likewise.
37012         * modules/string-tests (Depends-on): Likewise.
37013         * modules/locale-tests (Depends-on): Likewise.
37014         * modules/unistd-tests (Depends-on): Likewise.
37015
37016 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
37017
37018         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
37019         self-explaining comment.
37020         * m4/selinux-selinux-h: Update serial.
37021         (gl_LIBSELINUX): New macro, adding a warning for missing development
37022         packages to code extracted from...
37023         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
37024         Add warning for missing development packages here, too.
37025
37026 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
37027
37028         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
37029
37030 2009-06-25  Eric Blake  <ebb9@byu.net>
37031
37032         version-etc: fix regression
37033         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
37034         gcc.
37035         (version_etc): Use it, to catch bugs with trailing NULL.
37036         * lib/version-etc.c (version_etc_arn): Delete unused argument.
37037         (version_etc_va): Fix logic bug.
37038         * modules/version-etc-tests: Add test.
37039         * tests/test-version-etc.c: New file.
37040         * tests/test-version-etc.sh: Likewise.
37041
37042 2009-06-25  Sam Steingold  <sds@gnu.org>
37043
37044         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
37045         mbtowc declaration.
37046
37047 2009-06-25  Eric Blake  <ebb9@byu.net>
37048
37049         fpurge: migrate into <stdio.h>
37050         * lib/fpurge.h: Delete...
37051         * lib/stdio.in.h (fpurge): ...and declare here, instead.
37052         * lib/fpurge.c (fpurge): Change declaring header.
37053         * modules/fpurge (Files): Drop deleted file.
37054         (Depends-on): Add stdio.
37055         (configure.ac): Set witness.
37056         * modules/stdio (Makefile.am): Support fpurge macros.
37057         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
37058         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
37059         * lib/fflush.c: Update client.
37060         * tests/test-fpurge.c: Likewise.
37061         * NEWS: Mention the change.
37062
37063 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
37064
37065         * lib/argp-version-etc.c (program_authors): Add const
37066         qualifier.
37067         * lib/version-etc.c: Fix typos in the comments.
37068         * modules/argp-version-etc: Depends on version-etc.
37069
37070 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
37071
37072         argp-version-etc: new module.
37073
37074         * lib/argp-version-etc.c: New file.
37075         * lib/argp-version-etc.h: New file.
37076         * modules/argp-version-etc: New file.
37077         * modules/argp-version-etc-tests: New file.
37078         * tests/test-argp-version-etc.c: New test.
37079         * tests/test-argp-version-etc-1.sh: New test.
37080
37081 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
37082
37083         Provide additional interfaces and documentation for version-etc
37084         module.
37085
37086         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
37087         interfaces.
37088         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
37089         prototypes.
37090
37091 2009-06-24  Bruno Haible  <bruno@clisp.org>
37092
37093         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
37094         HAVE_LIB${NAME} macro.
37095         Reported by Sam Steingold <sds@gnu.org>.
37096
37097 2009-06-23  Simon Josefsson  <simon@josefsson.org>
37098
37099         * modules/hash-tests (test_hash_LDADD): Link to libintl when
37100         needed.
37101
37102 2009-06-21  Bruno Haible  <bruno@clisp.org>
37103
37104         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
37105         work.
37106         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
37107         together with LIB${NAME}, LTLIB${NAME}.
37108         Reported by Sam Steingold <sds@gnu.org>.
37109
37110 2009-06-20  Jim Meyering  <meyering@redhat.com>
37111
37112         tests: make sc_require_test_exit_idiom more generic
37113         * top/maint.mk (Exit_witness_file): New overridable variable.
37114         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
37115         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
37116
37117 2009-06-19  Jim Meyering  <meyering@redhat.com>
37118
37119         hash: reverse order of src/dst parameters in an internal interface
37120         * lib/hash.c (transfer_entries): Reverse order of parameters to
37121         put DST before SRC.  Adjust callers.
37122
37123         tests: test-hash: avoid wholesale duplication
37124         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
37125         Instead, use a loop and add a single conditional.
37126
37127         tests: test-hash: allow seed selection via a command line argument
37128         * tests/test-hash.c (get_seed): New function.
37129         (main): Use it.
37130
37131 2009-06-19  Eric Blake  <ebb9@byu.net>
37132
37133         hash: avoid memory leak on allocation failure
37134         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
37135         failure.  Factor repeated algorithm...
37136         (transfer_entries): ...into new helper routine.
37137         (hash_delete): React to hash_rehash return value.
37138
37139         hash: reduce memory pressure in hash_rehash no-op case
37140         * lib/hash.c (next_prime): Avoid overflow.
37141         (hash_initialize): Factor bucket size computation...
37142         (compute_bucket_size): ...into new helper function.
37143         (hash_rehash): Use new function and open coding to reduce memory
37144         pressure, and avoid a memory leak in USE_OBSTACK code.
37145         Reported by Jim Meyering.
37146
37147 2009-06-18  Eric Blake  <ebb9@byu.net>
37148
37149         hash: make rotation more obvious
37150         * modules/hash (Depends-on): Add bitrotate and stdint.
37151         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
37152         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
37153         (SIZE_MAX): Rely on headers for definition.
37154         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
37155         (raw_hasher): Use rotr_sz.
37156         Suggested by Jim Meyering.
37157
37158         hash: fix memory leak in last patch
37159         * lib/hash.c (hash_rehash): Avoid memory leak.
37160
37161         hash: avoid no-op rehashing
37162         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
37163
37164         hash: provide default callback functions
37165         * lib/hash.c (raw_hasher, raw_comparator): New functions.
37166         (hash_initialize): Use them as defaults.
37167         * tests/test-hash.c (main): Test this.
37168
37169         hash: minor optimization
37170         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
37171         when possible.
37172         (hash_initialize): Document this promise.
37173         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
37174         * tests/test-hash.c (hash_compare_strings): Test this.
37175
37176 2009-06-18  Bruno Haible  <bruno@clisp.org>
37177
37178         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
37179         going to be replaced anyway.
37180
37181 2009-06-18  Bruno Haible  <bruno@clisp.org>
37182
37183         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
37184         in one place.
37185         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
37186         be replaced anyway.
37187
37188 2009-06-18  Eric Blake  <ebb9@byu.net>
37189
37190         hash: check for resize before insertion
37191         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
37192         threshold before insertion, so that a pathological hash_rehash
37193         that fills every bucket can still trigger another rehash.
37194
37195 2009-06-18  Jim Meyering  <meyering@redhat.com>
37196
37197         hash-tests: add a loop around the small tests
37198         * tests/test-hash.c (main): Repeat small tests with selected
37199         small initial table sizes.
37200
37201 2009-06-17  Eric Blake  <ebb9@byu.net>
37202
37203         hash: minor cleanups
37204         * lib/hash.h (hash_entry): Make opaque, by moving...
37205         * lib/hash.c (hash_entry): ...here.
37206         (hash_insert): Clarify restrictions on what can be inserted.
37207         (hash_get_next): Clarify when it is safe to remove an element
37208         during traversal.
37209         (check_tuning): Skip verification when tuning is known safe.
37210         (hash_initialize): Clarify restrictions on tuning.
37211
37212 2009-06-17  Jim Meyering  <jim@meyering.net>
37213         and Eric Blake  <ebb9@byu.net>
37214
37215         hash-tests: new module
37216         * modules/hash-tests: New file.
37217         * tests/test-hash.c: New file.
37218
37219 2009-06-17  Eric Blake  <ebb9@byu.net>
37220
37221         strstr-simple: document new module
37222         * MODULES.html.sh: Document new module.
37223
37224         strstr, strcasestr: replace on platforms with broken memchr
37225         * modules/strstr: Split into...
37226         * modules/strstr-simple: ...new module that does not care about
37227         performance, but does care about glibc bug.
37228         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
37229         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
37230         if platform memchr is broken, per Debian bug 521737.
37231         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
37232         memchr.
37233         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
37234         * doc/posix-functions/strstr.texi (strstr): Document the fix.
37235         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
37236         * modules/mountlist (Depends-on): Add strstr-simple.
37237         * modules/gen-uni-tables (Depends-on): Likewise.
37238         * modules/argz (Depends-on): Add strstr.
37239
37240 2009-06-17  Bruno Haible  <bruno@clisp.org>
37241
37242         * modules/posix_spawn-internal (Depends-on): Add errno.
37243
37244 2009-06-17  Bruno Haible  <bruno@clisp.org>
37245
37246         Define missing ESTALE on Interix 3.5.
37247         * lib/errno.in.h (ESTALE): Assign a value if missing.
37248         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
37249         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
37250         missing.
37251         * doc/posix-headers/errno.texi: Mention the Interix bug.
37252         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
37253
37254 2009-06-15  Eric Blake  <ebb9@byu.net>
37255
37256         memchr, memchr2: add valgrind exception
37257         * lib/memchr.valgrind: New file.
37258         * lib/memchr2.valgrind: New file.
37259         * modules/memchr (Files): Distribute valgrind file.
37260         * modules/memchr2 (Files): Likewise.
37261
37262         docs: memchr is no longer obsolete
37263         * MODULES.html.sh: Move memchr from obsolete to string.h section.
37264         * lib/string.in.h (memchr): Simplify logic.
37265
37266 2009-06-14  Jim Meyering  <meyering@redhat.com>
37267
37268         link-follow: fix the "checking..." message to not mention trailing slash
37269         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
37270         never considered trailing slashes.
37271
37272 2009-06-14  Bruno Haible  <bruno@clisp.org>
37273
37274         * m4/memchr.m4: Mention also the bug on IA-64.
37275         * doc/posix-functions/memchr.texi: Likewise.
37276
37277 2009-06-12  Eric Blake  <ebb9@byu.net>
37278
37279         memchr: detect broken x86_64 and alpha implementations
37280         * modules/memchr-tests (Depends-on): Move mmap detection...
37281         * modules/memchr (Depends-on): ...here.
37282         (configure.ac): Set indicator.
37283         * lib/string.in.h (memchr): Declare replacement.
37284         * modules/string (Makefile.am): Trigger replacement.
37285         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
37286         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
37287         bugs.
37288         * doc/posix-functions/memchr.texi (memchr): Document the bug.
37289         * modules/getpagesize (License): Relax license.
37290
37291 2009-06-11  Bruno Haible  <bruno@clisp.org>
37292
37293         * lib/idpriv.h: Add more references.
37294
37295 2009-06-08  Bruno Haible  <bruno@clisp.org>
37296
37297         Tests for module 'idpriv-droptemp'.
37298         * modules/idpriv-droptemp-tests: New file.
37299         * tests/test-idpriv-droptemp.sh: New file.
37300         * tests/test-idpriv-droptemp.su.sh: New file.
37301         * tests/test-idpriv-droptemp.c: New file.
37302
37303         New module 'idpriv-droptemp'.
37304         * lib/idpriv-droptemp.c: New file.
37305         * modules/idpriv-droptemp: New file.
37306
37307 2009-06-08  Bruno Haible  <bruno@clisp.org>
37308
37309         Tests for module 'idpriv-drop'.
37310         * modules/idpriv-drop-tests: New file.
37311         * tests/test-idpriv-drop.sh: New file.
37312         * tests/test-idpriv-drop.su.sh: New file.
37313         * tests/test-idpriv-drop.c: New file.
37314
37315         New module 'idpriv-drop'.
37316         * lib/idpriv.h: New file.
37317         * lib-idpriv-drop.c: New file.
37318         * m4/idpriv.m4: New file.
37319         * modules/idpriv-drop: New file.
37320
37321 2009-06-08  Bruno Haible  <bruno@clisp.org>
37322
37323         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
37324         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
37325         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
37326         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
37327         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
37328         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
37329         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
37330
37331 2009-06-08  Eric Blake  <ebb9@byu.net>
37332
37333         test-strstr: use memory fence, when possible
37334         * tests/test-strstr.c (main): Use memory fence, in order to be
37335         more likely to trigger Debian bug 521737.
37336         * modules/strstr-tests (Files): Pull in additional files.
37337
37338         memchr: no longer obsolete, for wider field testing
37339         * modules/memchr (Status, Notice): Delete, this module is no
37340         longer obsolete.
37341         * modules/vasnprintf (Depends-on): Add memchr.
37342
37343 2009-06-07  Jim Meyering  <meyering@redhat.com>
37344
37345         hash: declare some functions with the warn_unused_result attribute
37346         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
37347
37348 2009-06-07  Bruno Haible  <bruno@clisp.org>
37349
37350         * tests/test-alignof.c: Don't test int64_t if it does not exist.
37351         Reported by Eric Blake.
37352
37353 2009-06-06  Eric Blake  <ebb9@byu.net>
37354
37355         test-alignof: fix typo with long double
37356         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
37357         compiler error.
37358
37359 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
37360
37361         Escape non-texinfo { and }s.
37362         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
37363         markup error.
37364
37365 2009-06-04  Jim Meyering  <meyering@redhat.com>
37366
37367         gitlog-to-changelog: don't infloop on an empty commit log
37368         * build-aux/gitlog-to-changelog: Warn about an empty log message.
37369         Reported by Boris Petersen <transacid@centerim.org>.
37370
37371 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
37372
37373         version-etc: extend for packagers
37374         Add three new configure options, intended for packagers:
37375           --with-packager="packager name"
37376           --with-packager-version="packager-specific version"
37377           --with-packager-bug-reports="packager bug reporting"
37378         An example with coreutils:
37379           $ ./configure \
37380             --with-packager=Gentoo \
37381             --with-packager-bug-report=http://bugs.gentoo.org/ \
37382             --with-packager-version="patchset 1.6"
37383           $ ./src/ls --version | head -n2
37384           ls (GNU coreutils) 7.1-dirty
37385           Packaged by Gentoo (patchset 1.6)
37386         Note that the bug reporting info via --help doesn't show up because
37387         coreutils uses its own custom emit_bug_reporting_address() implementation
37388         in src/system.h.  If it didn't, it'd look like:
37389           $ ./src/ls --help | tail -n4
37390           Report bugs to <bug-coreutils@gnu.org>.
37391           Report Gentoo bugs to <http://bugs.gentoo.org/>.
37392           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
37393           General help using GNU software: <http://www.gnu.org/gethelp/>.
37394         * lib/version-etc.c: Print new information, if provided.
37395         * m4/version-etc.m4: New file.
37396         * modules/version-etc (Files): Add m4/version-etc.m4.
37397         (configure.ac): Add gl_VERSION_ETC.
37398
37399 2009-05-31  Bruno Haible  <bruno@clisp.org>
37400
37401         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
37402         and 'int64_t'.
37403         * modules/alignof-tests (Dependencies): Add stdint.
37404         Reported by Eric Blake.
37405
37406 2009-05-31  Bruno Haible  <bruno@clisp.org>
37407
37408         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
37409         restriction due to compiler bugs.
37410         Reported by Eric Blake.
37411
37412 2009-05-31  Simon Josefsson  <simon@josefsson.org>
37413             Bruno Haible  <bruno@clisp.org>
37414
37415         Fix test-alignof failure.
37416         * lib/alignof.h (alignof_slot): New macro.
37417         (alignof_type): New macro, with the same semantics as the previous
37418         'alignof'.
37419         (alignof): Alias to alignof_slot.
37420         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
37421         check that the results are usable as constant expressions.
37422
37423 2009-05-31  Bruno Haible  <bruno@clisp.org>
37424
37425         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
37426         * tests/test-memchr.c (main): Check that memchr does not read past the
37427         first occurrence of the byte.
37428         * tests/test-strstr.c (main): Update comment.
37429         Suggested by Eric Blake.
37430
37431 2009-05-30  Bruno Haible  <bruno@clisp.org>
37432
37433         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
37434         detail how to use dumpbin.
37435         Reported by David Byron <dbyron@dbyron.com>.
37436
37437 2009-06-02  Simon Josefsson  <simon@josefsson.org>
37438
37439         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
37440
37441 2009-06-02  Simon Josefsson  <simon@josefsson.org>
37442
37443         * m4/manywarnings.m4: Add GCC 4.4 warnings.
37444
37445 2009-05-28  Bruno Haible  <bruno@clisp.org>
37446
37447         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
37448         build-aux/ files.
37449
37450 2009-05-28  Simon Josefsson  <simon@josefsson.org>
37451
37452         * gnulib-tool (func_import): Transform license on build-aux/ files too.
37453
37454 2009-05-27  Simon Josefsson  <simon@josefsson.org>
37455
37456         * gnulib-tool (sed_transform_main_lib_file)
37457         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
37458         regexps.
37459
37460 2009-05-26  Simon Josefsson  <simon@josefsson.org>
37461
37462         * tests/test-strstr.c: Add another self-test.
37463         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
37464         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
37465
37466 2009-05-23  Bruno Haible  <bruno@clisp.org>
37467
37468         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
37469         change.
37470
37471 2009-05-21  Bruno Haible  <bruno@clisp.org>
37472
37473         Simplify use of mode_t varargs.
37474         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
37475         uses 'mode_t' or 'int'.
37476         * lib/openat.c (openat): Likewise.
37477         * lib/open-safer.c (open_safer): Likewise.
37478         * m4/mode_t.m4: New file.
37479         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
37480         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
37481         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
37482         * modules/open (Files): Add m4/mode_t.m4.
37483         * modules/openat (Files): Likewise.
37484         * modules/fcntl-safer (Files): Likewise.
37485         Suggested by Eric Blake.
37486
37487 2009-05-21  Pádraig Brady  <P@draigbrady.com>
37488
37489         * doc/glibc-functions/fallocate.texi: New file.
37490         * doc/gnulib.texi: Include it.
37491
37492 2009-05-21  Eric Blake  <ebb9@byu.net>
37493             Bruno Haible  <bruno@clisp.org>
37494
37495         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
37496         invocations.
37497         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
37498
37499 2009-05-21  Eric Blake  <ebb9@byu.net>
37500             Bruno Haible  <bruno@clisp.org>
37501
37502         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
37503         include_next. Fix of 2008-11-20 commit.
37504         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
37505         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
37506         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
37507         NEXT_MATH_H.
37508         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
37509         instead of NEXT_MATH_H.
37510
37511 2009-05-21  Bruno Haible  <bruno@clisp.org>
37512
37513         Avoid redefinition warnings for SIZE_MAX.
37514         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
37515         Reported by Simon Josefsson.
37516
37517 2009-05-21  Bruno Haible  <bruno@clisp.org>
37518
37519         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
37520         AC_CACHE_VAL.
37521
37522 2009-05-20  Bruno Haible  <bruno@clisp.org>
37523
37524         Make zeroptr.h work on mingw.
37525         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
37526         mprotect.
37527         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
37528         * modules/memchr2-tests (configure.ac): Likewise.
37529         * modules/memcmp-tests (configure.ac): Likewise.
37530         * modules/memmem-tests (configure.ac): Likewise.
37531         * modules/memrchr-tests (configure.ac): Likewise.
37532         Reported by Simon Josefsson.
37533
37534 2009-05-20  Simon Josefsson  <simon@josefsson.org>
37535
37536         * tests/test-glob.c: Include string.h for strcmp prototype.
37537
37538 2009-05-20  Simon Josefsson  <simon@josefsson.org>
37539
37540         * modules/getdelim (Depends-on): Add explicit stdint, although it
37541         was implicitly already pulled in via realloc-posix.
37542         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
37543
37544 2009-05-20  Simon Josefsson  <simon@josefsson.org>
37545
37546         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
37547         G. Christensen" <tgc@jupiterrise.com>.
37548         * m4/sys_socket_h.m4: Check for sa_family_t.
37549         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
37550         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
37551         * tests/test-sys_socket.c: Check that sa_family_t works.
37552
37553 2009-05-18  Eric Blake  <ebb9@byu.net>
37554
37555         maint.mk: allow gnulib_dir in VPATH build
37556         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
37557
37558 2009-05-15  Jim Meyering  <meyering@redhat.com>
37559
37560         maint.mk: Give gnulib_dir a default definition.
37561         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
37562         Thus, most packages no longer need to specify this variable in cfg.mk
37563
37564 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
37565
37566         rename.m4: fix typos that would make non-mingw cross-configure fail
37567         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
37568
37569 2009-05-13  Eric Blake  <ebb9@byu.net>
37570
37571         mmap-anon: avoid out-of-order autoconf expansion
37572         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
37573         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
37574         * modules/memchr-tests (Depends-on): Add extensions.
37575         * modules/memchr2-tests (Depends-on): Add extensions.
37576         * modules/memcmp-tests (Depends-on): Add extensions.
37577         * modules/memmem-tests (Depends-on): Add extensions.
37578         * modules/memrchr-tests (Depends-on): Add extensions.
37579
37580 2009-05-13  Bruno Haible  <bruno@clisp.org>
37581
37582         Make some tests ISO C 99 compliant.
37583         * tests/zerosize-ptr.h: New file.
37584         * tests/test-memchr.c: Include zerosize-ptr.h.
37585         (main): Use a zero-size object pointer instead of NULL.
37586         * tests/test-memchr2.c: Include zerosize-ptr.h.
37587         (main): Use a zero-size object pointer instead of NULL.
37588         * tests/test-memcmp.c: Include zerosize-ptr.h.
37589         (main): Use a zero-size object pointer instead of NULL.
37590         * tests/test-memmem.c: Include zerosize-ptr.h.
37591         (main): Use a zero-size object pointer instead of NULL.
37592         * tests/test-memrchr.c: Include zerosize-ptr.h.
37593         (main): Use a zero-size object pointer instead of NULL.
37594         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
37595         m4/mmap-anon.m4.
37596         (Depends-on): Add getpagesize.
37597         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
37598         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
37599         m4/mmap-anon.m4.
37600         (Depends-on): Add getpagesize.
37601         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
37602         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
37603         m4/mmap-anon.m4.
37604         (Depends-on): Add getpagesize.
37605         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
37606         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
37607         m4/mmap-anon.m4.
37608         (Depends-on): Add getpagesize.
37609         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
37610         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
37611         m4/mmap-anon.m4.
37612         (Depends-on): Add getpagesize.
37613         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
37614
37615 2009-05-12  Bruno Haible  <bruno@clisp.org>
37616
37617         Tests for module 'alignof'.
37618         * modules/alignof-tests: New file.
37619         * tests/test-alignof.c: New file.
37620
37621 2009-05-12  Bruno Haible  <bruno@clisp.org>
37622
37623         Fix alignof macro.
37624         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
37625         vendor compilers that are always correct.
37626
37627 2009-05-12  Bruno Haible  <bruno@clisp.org>
37628
37629         Make the MAP_ANONYMOUS detection work on HP-UX 11.
37630         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
37631         not whether its fully works.
37632
37633 2009-05-12  Bruno Haible  <bruno@clisp.org>
37634
37635         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
37636
37637 2009-05-12  Jim Meyering  <meyering@redhat.com>
37638
37639         * top/maint.mk: Adjust backslash alignment.
37640
37641 2009-05-11  Simon Josefsson  <simon@josefsson.org>
37642
37643         * top/maint.mk: Make $(srcdir)/build-aux configurable.
37644
37645 2009-05-11  Eric Blake  <ebb9@byu.net>
37646
37647         argp: avoid undefined behavior
37648         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
37649         macros.
37650
37651 2009-05-08  Simon Josefsson  <simon@josefsson.org>
37652
37653         * tests/test-vc-list-files-git.sh: Do git config of user.email and
37654         user.name to prevent git commit from complaining.
37655
37656 2009-05-10  Bruno Haible  <bruno@clisp.org>
37657
37658         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
37659         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
37660         it rewrites every file name only once.
37661         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
37662
37663 2009-05-08  Bruno Haible  <bruno@clisp.org>
37664
37665         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
37666         instead of 'max'.
37667
37668 2009-05-08  Simon Josefsson  <simon@josefsson.org>
37669
37670         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
37671         sockaddr_storage test.
37672
37673 2009-05-07  Simon Josefsson  <simon@josefsson.org>
37674
37675         * modules/sys_socket (Makefile.am): Substitute
37676         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
37677         * m4/sys_socket_h.m4: Check for sockaddr_storage.
37678         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
37679         * tests/test-sys_socket.c: Check sockaddr_storage.
37680
37681 2009-05-08  Bruno Haible  <bruno@clisp.org>
37682
37683         New module 'alignof'.
37684         * lib/alignof.h: New file.
37685         * modules/alignof: New file.
37686
37687 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
37688             Bruno Haible  <bruno@clisp.org>
37689
37690         Fix test-file-has-acl on FreeBSD.
37691         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
37692         mask is implicitly added.
37693         * tests/test-file-has-acl.c: Include <signal.h>.
37694         (main): Terminate the test after 5 seconds.
37695         * modules/acl-tests (configure.ac): Check for alarm function.
37696
37697 2009-05-04  Bruno Haible  <bruno@clisp.org>
37698
37699         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
37700         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
37701         * modules/errno (configure.ac): Drop AC_REQUIRE.
37702         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
37703         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
37704
37705 2009-05-04  Simon Josefsson  <simon@josefsson.org>
37706
37707         * modules/glob-tests: New module.
37708         * tests/test-glob.c: Add.
37709
37710 2009-05-04  Simon Josefsson  <simon@josefsson.org>
37711
37712         * modules/fnmatch-tests: New module.
37713         * tests/test-fnmatch.c: Add.
37714
37715 2009-05-04  Eric Blake  <ebb9@byu.net>
37716
37717         maint: make the new no-submodule-changes rule VPATH-safe
37718         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
37719
37720 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
37721             Bruno Haible  <bruno@clisp.org>
37722
37723         acl: Fix infinite loop on FreeBSD.
37724         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
37725         of return value from acl_get_entry.
37726         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
37727         Likewise.
37728
37729 2009-05-03  Bruno Haible  <bruno@clisp.org>
37730
37731         * lib/acl-internal.h (acl_entries): Clarify return value.
37732         * lib/acl_entries.c (acl_entries): Likewise.
37733
37734 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
37735
37736         Bug fix in acl module.
37737         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
37738
37739 2009-05-03  Bruno Haible  <bruno@clisp.org>
37740
37741         Create gperf-generated file in the source dir, not in the build dir.
37742         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
37743         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
37744         * modules/unicase/locale-language (unicase/locale-languages.h):
37745         Likewise.
37746         * modules/unicase/special-casing (unicase/special-casing-table.h):
37747         Likewise.
37748         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
37749         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
37750         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
37751         Reported by Ralf Wildenhues.
37752
37753 2009-05-03  Bruno Haible  <bruno@clisp.org>
37754
37755         * modules/fnmatch (Description, configure.ac): Taken from
37756         fnmatch-posix.
37757         * modules/fnmatch-posix: Turn into a symbolic reference to the
37758         'fnmatch' module, and deprecate.
37759         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
37760
37761 2009-05-03  Bruno Haible  <bruno@clisp.org>
37762
37763         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
37764         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
37765         Reported by Ralf Wildenhues.
37766
37767 2009-05-04  Simon Josefsson  <simon@josefsson.org>
37768
37769         * m4/fnmatch.m4: Fix fnmatch re-define.
37770
37771 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
37772
37773         priv-set: new module and tests; adapt write-any-file
37774         * lib/priv-set.c: New file.
37775         * lib/priv-set.h: New file.
37776         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
37777         * lib/write-any-file.c: Simplify by using priv-set module.
37778         * m4/priv-set.m4: New file.
37779         * modules/priv-set: New file.
37780         * modules/unlinkdir: Add dependency on priv-set module.
37781         * modules/write-any-file: Likewise.
37782
37783         Tests for module 'priv-set'.
37784         * modules/priv-set-tests: New file.
37785         * tests/test-priv-set.c: New file.
37786
37787 2009-05-03  Jim Meyering  <meyering@redhat.com>
37788             Bruno Haible  <bruno@clisp.org>
37789
37790         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
37791         use the converted UTF-8 variant of the name instead.
37792
37793 2009-05-03  Jim Meyering  <meyering@redhat.com>
37794
37795         tests: tighten some getdate tests
37796         * tests/test-getdate.c (main): Tighten tests: require equality,
37797         not just greater than.  Set TZ envvar to UTC0.
37798
37799 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
37800
37801         getdate: correctly interpret "next monday" when run on a Monday
37802         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
37803         that e.g., "next tues" (when run on a tuesday) results in a date
37804         that is one week in the future, and not today's date.
37805         I.e., add a week when the wday is the same as the current one.
37806         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
37807         and earlier by Martin Bernreuther and Jan Minář.
37808         * tests/test-getdate.c (main): Check that "next DAY" is always in
37809         the future and that "last DAY" is always in the past.
37810
37811 2009-05-02  Jim Meyering  <meyering@redhat.com>
37812
37813         build: ensure that a release build fails when a submodule is unclean
37814         * top/maint.mk (no-submodule-changes): New rule.
37815         (alpha beta major): Depend on it.
37816
37817 2009-05-02  Bruno Haible  <bruno@clisp.org>
37818
37819         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
37820         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
37821         shell variable gl_fnmatch_required to detect which variant is
37822         requested.
37823         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
37824         gl_FUNC_FNMATCH_POSIX.
37825         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
37826         exclude fnmatch-posix.
37827
37828 2009-05-02  Bruno Haible  <bruno@clisp.org>
37829
37830         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
37831         * modules/mbsrtowcs (License): Change to LGPLv2+.
37832         * modules/strnlen1 (License): Likewise.
37833         Reported by Simon Josefsson.
37834
37835 2009-05-02  Bruno Haible  <bruno@clisp.org>
37836
37837         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
37838         "cross".
37839         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
37840         gnulib-tool was called with option --source-base=lib.
37841
37842 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37843
37844         Use automake *-local hooks without commands, for extensibility.
37845         * modules/localcharset (Makefile.am): Rename install-exec-local
37846         rule to install-exec-localcharset, and make it a prerequisite of
37847         install-exec-local.  Likewise, rename the uninstall-local rule to
37848         uninstall-localcharset, and make it a prerequisite of the former.
37849
37850 2009-05-01  Bruno Haible  <bruno@clisp.org>
37851
37852         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
37853         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
37854         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
37855         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
37856         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
37857         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
37858         m4/locale-zh.m4, m4/codeset.m4.
37859
37860         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
37861         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
37862         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
37863         m4/locale-zh.m4.
37864
37865         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
37866         REPLACE_WCRTOMB if mbstate_t must be replaced.
37867         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
37868         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
37869
37870 2009-05-01  Bruno Haible  <bruno@clisp.org>
37871
37872         Avoid compiler warnings when redefining macros defined by <libintl.h>.
37873         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
37874         dngettext, dcngettext, textdomain, bindtextdomain,
37875         bind_textdomain_codeset): Undefine before redefining.
37876
37877 2009-04-30  Bruno Haible  <bruno@clisp.org>
37878
37879         Fix bug introduced on 2009-04-25.
37880         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
37881         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
37882         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
37883         is defined.
37884         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
37885         is defined.
37886         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
37887         is defined.
37888         Reported by Elbert_Pol <elbert.pol@gmail.com>.
37889
37890 2009-04-28  Bruno Haible  <bruno@clisp.org>
37891
37892         Comment tweaks.
37893         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
37894         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
37895         * lib/unicase.h (u*_casexfrm): Likewise.
37896         Reported by Paolo Bonzini.
37897
37898 2009-04-28  Bruno Haible  <bruno@clisp.org>
37899
37900         Fix a compilation error.
37901         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
37902         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
37903         Reported by Jim Meyering.
37904
37905 2009-04-27  Bruno Haible  <bruno@clisp.org>
37906
37907         New module 'libunistring'.
37908         * modules/libunistring: New file.
37909         * m4/libunistring.m4: New file.
37910         * MODULES.html.sh (Unicode string functions): Add it.
37911
37912 2009-04-27  Eric Blake  <ebb9@byu.net>
37913
37914         maint.mk: allow package-specific header to provide <config.h>
37915         * top/maint.mk (sc_require_config_h): New variable.
37916         (sc_require_config_h, sc_require_config_h_first): Use it.
37917
37918 2009-04-27  Simon Josefsson  <simon@josefsson.org>
37919
37920         * top/maint.mk (sc_avoid_if_before_free): Except
37921         useless-if-before-free script.
37922
37923 2009-04-27  Eric Blake  <ebb9@byu.net>
37924
37925         maintainer-makefile: depend on all required helper scripts
37926         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
37927         useless-if-before-free.
37928         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
37929         version, rather than assuming gnulib checkout is available.
37930         Reported by Simen Josefsson.
37931
37932 2009-04-26  Bruno Haible  <bruno@clisp.org>
37933
37934         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
37935         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
37936         "../" or "..".
37937
37938 2009-04-26  Bruno Haible  <bruno@clisp.org>
37939
37940         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
37941         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
37942         AC_LIB_HAVE_LINKFLAGS.
37943
37944 2009-04-26  Bruno Haible  <bruno@clisp.org>
37945
37946         Simplify calling convention of u*_conv_from_encoding.
37947         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
37948         u32_conv_from_encoding): Expect a resultbuf argument and return the
37949         result directly as a pointer.
37950         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
37951         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
37952         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
37953         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
37954         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
37955         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
37956         Update.
37957         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
37958         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
37959         * lib/vasnprintf.c (VASNPRINTF): Update.
37960         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
37961         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
37962         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
37963         * NEWS: Mention the change.
37964
37965 2009-04-26  Bruno Haible  <bruno@clisp.org>
37966
37967         Simplify calling convention of u*_conv_to_encoding.
37968         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
37969         u32_conv_to_encoding): Expect a resultbuf argument and return the
37970         result directly as a pointer.
37971         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
37972         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
37973         freeing scaled_offsets if mem_iconveha failed.
37974         * lib/unicase/u-casexfrm.h (FUNC): Update.
37975         * lib/uninorm/u-normxfrm.h (FUNC): Update.
37976         * lib/vasnprintf.c (VASNPRINTF): Update.
37977         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
37978         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
37979         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
37980         * NEWS: Mention the change.
37981
37982 2009-04-26  Bruno Haible  <bruno@clisp.org>
37983
37984         Avoid test failures on AIX and OSF/1.
37985         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
37986         malloc(0).
37987         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
37988         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
37989         Likewise.
37990         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
37991         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
37992         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
37993         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
37994         * doc/posix-functions/malloc.texi: Document the portability problem
37995         related to malloc(0).
37996
37997 2009-04-26  Bruno Haible  <bruno@clisp.org>
37998
37999         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
38000         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
38001         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
38002
38003 2009-04-25  Bruno Haible  <bruno@clisp.org>
38004
38005         Avoid link error when creating a namespace clean library.
38006         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
38007         as macro with arguments if already defined as an alias.
38008         * lib/signbitf.c (gl_signbitf): Don't undefine.
38009         * lib/signbitd.c (gl_signbitd): Don't undefine.
38010         * lib/signbitl.c (gl_signbitl): Don't undefine.
38011
38012 2009-04-25  Jim Meyering  <meyering@redhat.com>
38013
38014         vc-list-files: fix another quoting bug
38015         * build-aux/vc-list-files: Avoid sed backslash expansion
38016         of pathological directory names.
38017
38018 2009-04-25  Eric Blake  <ebb9@byu.net>
38019
38020         vc-list-files: fix shell quoting error
38021         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
38022         timestamp.
38023
38024 2009-04-25  Jim Meyering  <meyering@redhat.com>
38025
38026         vc-list-files: restore lost functionality with subdir argument
38027         * build-aux/vc-list-files: When given a non-"." sub-directory
38028         argument, substitute the $dir/ prefix back onto each resulting name.
38029         Otherwise, coreutils' root_tests check would fail.
38030
38031 2009-04-24  Eric Blake  <ebb9@byu.net>
38032
38033         vc-list-files: ignore git symlinks
38034         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
38035         than ls-files, to ignore git symlinks.
38036
38037         maint.mk: import improvements from m4
38038         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
38039         (move_if_change): Delete unused macro.
38040         (news-date-check, vc-diff-check): Support VPATH builds.
38041         (announcement): Likewise.  Split --bootstrap-tools list...
38042         (boostrap-tools): ...into separate list, which can be overridden
38043         in cfg.mk.
38044         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
38045         requiring dependency on useless-if-before-free module.
38046         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
38047         Support VPATH builds.
38048
38049 2009-04-24  Jim Meyering  <meyering@redhat.com>
38050
38051         maint.mk: remove coreutils-specific rules and variables
38052         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
38053         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
38054         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
38055
38056         maint.mk: remove obsolete rule
38057         * top/maint.mk (rel-check): Remove rule.
38058         (WGET, WGETFLAGS): Remove now-unused variables.
38059
38060 2009-04-24  Simon Josefsson  <simon@josefsson.org>
38061
38062         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
38063         consistency.
38064
38065         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
38066         '$(PATH_SEPARATOR)' instead of ':'.
38067
38068 2009-04-24  Simon Josefsson  <simon@josefsson.org>
38069
38070         * lib/getopt1.c (main): Use 'const' for static array.
38071
38072 2009-04-24  Simon Josefsson  <simon@josefsson.org>
38073
38074         * top/maint.mk: Sync with coreutils.
38075         * NEWS: Explain incompatibilities.
38076
38077 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38078             Bruno Haible  <bruno@clisp.org>
38079
38080         Fix cross-compilation results.
38081         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
38082         statement, as third argument of AC_TRY_RUN.
38083         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
38084         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
38085         Likewise.
38086         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
38087         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
38088         Likewise.
38089         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
38090         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
38091         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
38092
38093 2009-04-20  Bruno Haible  <bruno@clisp.org>
38094
38095         Avoid test failure on mingw.
38096         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
38097
38098 2009-04-20  Bruno Haible  <bruno@clisp.org>
38099
38100         Avoid compilation error on mingw.
38101         * modules/localename-tests (Depends-on): Add locale.
38102
38103 2009-04-19  Bruno Haible  <bruno@clisp.org>
38104
38105         Support for building a shared library on Windows platforms.
38106         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
38107         (main): Test the presence of UNINORM_NFC here.
38108         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
38109         (main): Test the presence of UNINORM_NFD here.
38110         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
38111         (main): Test the presence of UNINORM_NFKC here.
38112         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
38113         (main): Test the presence of UNINORM_NFKD here.
38114
38115 2009-04-19  Bruno Haible  <bruno@clisp.org>
38116
38117         Avoid a compiler warning.
38118         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
38119         Change type of variable 'sequence'.
38120
38121 2009-04-19  Bruno Haible  <bruno@clisp.org>
38122
38123         * modules/configmake (Makefile.am): When the contents of configmake.h
38124         does not change, arrange to preserve its modification time.
38125
38126 2009-04-17  Simon Josefsson  <simon@josefsson.org>
38127
38128         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
38129         gettext domain.
38130
38131 2009-04-16  Jim Meyering  <meyering@redhat.com>
38132
38133         useless-if-before-free: improve conversion code
38134         * build-aux/useless-if-before-free: Adjust code-in-comment to match
38135         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
38136
38137 2009-04-14  Bruno Haible  <bruno@clisp.org>
38138
38139         * modules/fcntl (Depends-on): Add extensions.
38140         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
38141
38142 2009-04-12  Ben Pfaff  <blp@gnu.org>
38143
38144         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
38145         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
38146
38147 2009-03-20  Ben Pfaff  <blp@gnu.org>
38148
38149         Make rename replace existing destinations on Windows.
38150         * m4/rename.m4: Add test for Mingw.
38151         * lib/rename.c: Add rename replacement that uses MoveFileEx with
38152         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
38153         * doc/posix-functions/rename.texi: Document.
38154
38155 2009-04-10  Bruno Haible  <bruno@clisp.org>
38156
38157         New include file "iconveh.h".
38158         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
38159         * lib/striconveh.h: Include it.
38160         (enum iconv_ilseq_handler): Remove definition.
38161         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
38162         striconveh.h.
38163         * lib/striconveha.c: Include striconveh.h.
38164         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
38165         * modules/striconveh (Files): Add lib/iconveh.h.
38166         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
38167         lib/striconveh.h.
38168
38169 2009-04-10  Bruno Haible  <bruno@clisp.org>
38170
38171         * lib/uniconv.h: Update comment.
38172
38173 2009-04-10  Bruno Haible  <bruno@clisp.org>
38174
38175         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
38176         always.
38177         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
38178         * lib/unistr/u16-mbtouc-aux.c: Likewise.
38179         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
38180         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
38181         "unistring-notinline.h", so that the function gets defined always.
38182         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
38183         * lib/unistr/u8-uctomb.c: Likewise.
38184         * lib/unistr/u16-mbtouc.c: Likewise.
38185         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
38186         * lib/unistr/u16-uctomb.c: Likewise.
38187         * lib/unistr/u32-mbtouc.c: Likewise.
38188         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
38189         * lib/unistr/u32-uctomb.c: Likewise.
38190
38191 2009-04-10  Bruno Haible  <bruno@clisp.org>
38192
38193         Mark 'utime' obsolete.
38194         * modules/utime (Status, Notice): New sections.
38195         Suggested by Jim Meyering.
38196
38197         Fix cross-compile guess for utime test.
38198         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
38199         autoconf.
38200         * doc/posix-functions/utime.texi: Give more precisions.
38201         Reported by Jan <ipif@ymail.com>.
38202
38203 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
38204
38205         filevercmp: correct today's change
38206         * lib/filevercmp.c: Also handle coreutils' test inputs.
38207         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
38208
38209         Fix regression in 'filevercmp' module. Thanks Sven Joachim
38210         for reporting it.
38211         * lib/filevercmp.c: Special handle for "", "." and "..".
38212         * tests/test-filevercmp.c: Enlarge the set suite.
38213
38214 2009-04-07  Jim Meyering  <meyering@redhat.com>
38215
38216         useless-if-before-free: show how to remove braced useless free, too
38217         * build-aux/useless-if-before-free: still only in a comment, though.
38218
38219 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
38220
38221         maint.mk: import changes to syntax-check macros from coreutils
38222         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
38223         Use them in the relevant macros.
38224
38225 2009-04-06  Bruno Haible  <bruno@clisp.org>
38226
38227         Fix unportable use of bit-fields.
38228         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
38229         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
38230         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
38231
38232 2009-04-06  Bruno Haible  <bruno@clisp.org>
38233
38234         Avoid test failures on AIX and OSF/1.
38235         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
38236         that malloc(0) = NULL.
38237         * tests/unicase/test-u8-tolower.c (check): Likewise.
38238         * tests/unicase/test-u8-totitle.c (check): Likewise.
38239         * tests/unicase/test-u8-toupper.c (check): Likewise.
38240         * tests/unicase/test-u16-casefold.c (check): Likewise.
38241         * tests/unicase/test-u16-tolower.c (check): Likewise.
38242         * tests/unicase/test-u16-totitle.c (check): Likewise.
38243         * tests/unicase/test-u16-toupper.c (check): Likewise.
38244         * tests/unicase/test-u32-casefold.c (check): Likewise.
38245         * tests/unicase/test-u32-tolower.c (check): Likewise.
38246         * tests/unicase/test-u32-totitle.c (check): Likewise.
38247         * tests/unicase/test-u32-toupper.c (check): Likewise.
38248         * tests/uninorm/test-u8-nfc.c (check): Likewise.
38249         * tests/uninorm/test-u8-nfd.c (check): Likewise.
38250         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
38251         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
38252         * tests/uninorm/test-u16-nfc.c (check): Likewise.
38253         * tests/uninorm/test-u16-nfd.c (check): Likewise.
38254         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
38255         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
38256         * tests/uninorm/test-u32-nfc.c (check): Likewise.
38257         * tests/uninorm/test-u32-nfd.c (check): Likewise.
38258         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
38259         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
38260
38261 2009-04-05  Bruno Haible  <bruno@clisp.org>
38262
38263         Work around an autoconf limitation.
38264         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
38265         comment line if it would be longer than 3 KB.
38266
38267 2009-04-05  Bruno Haible  <bruno@clisp.org>
38268
38269         Avoid test failure with libiconv-1.13.
38270         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
38271         of the expected test results.
38272
38273 2009-04-05  Bruno Haible  <bruno@clisp.org>
38274
38275         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
38276         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
38277         that it should be installed.
38278
38279 2009-04-05  Bruno Haible  <bruno@clisp.org>
38280
38281         * gnulib-tool: New option --copy-file.
38282         (func_usage): Document it.
38283         (func_dest_tmpfilename): Moved out of func_import.
38284         (func_add_file, func_update_file): New functions, extracted from
38285         func_import.
38286         (func_import): Update.
38287
38288 2009-04-05  Karl Berry  <karl@gnu.org>
38289
38290         * README: prominently mention gnulib-tool.
38291         Rearrange sections so getting the code is near the top.
38292
38293 2009-04-05  Bruno Haible  <bruno@clisp.org>
38294
38295         * lib/unicase.h: Mention u*_cmp2.
38296         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
38297         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
38298         * lib/unicase/ulc-casecmp.c: Likewise.
38299         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
38300         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
38301         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
38302         unistr/u8-cmp.
38303         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
38304         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
38305         unistr/u16-cmp.
38306         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
38307         unistr/u32-cmp.
38308
38309         * lib/uninorm.h: Mention u*_cmp2.
38310         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
38311         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
38312         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
38313         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
38314         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
38315         unistr/u8-cmp.
38316         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
38317         unistr/u16-cmp.
38318         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
38319         unistr/u32-cmp.
38320
38321         New module 'unistr/u32-cmp2'.
38322         * lib/unistr/u32-cmp2.c: New file.
38323         * modules/unistr/u32-cmp2: New file.
38324
38325         New module 'unistr/u16-cmp2'.
38326         * lib/unistr/u16-cmp2.c: New file.
38327         * modules/unistr/u16-cmp2: New file.
38328
38329         New module 'unistr/u8-cmp2'.
38330         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
38331         * lib/unistr/u8-cmp2.c: New file.
38332         * lib/unistr/u-cmp2.h: New file.
38333         * modules/unistr/u8-cmp2: New file.
38334
38335 2009-04-05  Bruno Haible  <bruno@clisp.org>
38336
38337         * lib/unictype.h (uc_property_is_valid): New macro.
38338         * tests/unictype/test-pr_byname.c (main): Use it.
38339
38340         * lib/unistr.h: Doc fixes.
38341         * lib/uniconv.h: Doc fixes.
38342         * lib/unictype.h: Doc fixes.
38343
38344 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
38345
38346         Port coreutils 7.2 to Solaris 8.
38347
38348         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
38349         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
38350         for Solaris 8.  This is a bit of a hack, as it means it's the
38351         caller's responsibility to add -lnsl if needed, but most likely it
38352         won't be needed since only getaddrinfo uses this and getaddrinfo
38353         isn't needed on Solaris 8.
38354
38355         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
38356         problem to Solaris 8 encountered with coreutils 7.2, which
38357         resulted in a message "fnmatch.c:292: warning: passing argument 4
38358         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
38359         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
38360
38361 2009-04-03  Simon Josefsson  <simon@josefsson.org>
38362
38363         * m4/ld-version-script.m4: Add FIXME comment.
38364
38365 2009-04-02  Simon Josefsson  <simon@josefsson.org>
38366
38367         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
38368         SOVERSION variable.
38369
38370 2009-04-02  Bruno Haible  <bruno@clisp.org>
38371
38372         * Makefile (info, html, dvi, pdf): Combine the rules.
38373         Suggested by Jim Meyering.
38374
38375 2009-04-01  Bruno Haible  <bruno@clisp.org>
38376
38377         * Makefile (info, html, dvi, pdf): New targets.
38378         Reported by Reuben Thomas <rrt@sc3d.org>.
38379
38380 2009-04-01  Bruno Haible  <bruno@clisp.org>
38381
38382         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
38383         can be put into PATH.
38384         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
38385
38386 2009-04-01  Bruno Haible  <bruno@clisp.org>
38387
38388         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
38389
38390 2009-04-01  Bruno Haible  <bruno@clisp.org>
38391
38392         Rename module 'visibility'.
38393         * modules/lib-symbol-visibility: Renamed from modules/visibility.
38394         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
38395         * doc/gnulib.texi: Update.
38396         * MODULES.html.sh (Misc): Update.
38397         * NEWS: Mention the change.
38398
38399 2009-04-01  Simon Josefsson  <simon@josefsson.org>
38400
38401         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
38402         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
38403         Eric Blake <ebb9@byu.net> for review.
38404         * MODULES.html.sh: Add lib-msvc-compat.
38405         * doc/gnulib.texi: Link to new section.
38406         * m4/ld-output-def.m4: New file.
38407         * doc/ld-output-def.texi: New file.
38408
38409 2009-04-01  Simon Josefsson  <simon@josefsson.org>
38410
38411         Rename ld-version-script to lib-symbol-versions.  Suggested by
38412         Bruno Haible <bruno@clisp.org>.
38413         * modules/ld-version-script: Renamed to lib-symbol-versions.
38414         * doc/ld-version-script.texi: Fix module name.
38415         * MODULES.html.sh: Add lib-symbol-versions.
38416
38417 2009-03-31  Simon Josefsson  <simon@josefsson.org>
38418
38419         * modules/u64-tests: New file.
38420         * tests/test-u64.c: New file.
38421
38422 2009-03-04  Simon Josefsson  <simon@josefsson.org>
38423
38424         * MODULES.html.sh: Mention u64.
38425         * modules/u64: New module.
38426         * modules/crypto/sha512: Depend on u64 module instead of providing
38427         u64.h.
38428
38429 2009-03-27  Eric Blake  <ebb9@byu.net>
38430
38431         test-strerror: make debugging EAI_SYSTEM easier
38432         * modules/getaddrinfo-tests (Depends-on): Add strerror.
38433         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
38434         failure was EAI_SYSTEM.
38435
38436 2009-03-25  Bruno Haible  <bruno@clisp.org>
38437
38438         Fix a problem with --enable-relocatable on Solaris 7.
38439         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
38440         since 2008-02-24.
38441
38442 2009-03-25  Eric Blake  <ebb9@byu.net>
38443
38444         test-sockets: avoid gcc warning
38445         * tests/test-sockets.c (main): Silence compiler warning.
38446
38447 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
38448
38449         New modules nproc, pthread, contributed by Glen Lenker.
38450
38451         * MODULES.html.sh: Add pthread, nproc.
38452         * lib/nproc.c: New file.
38453         * lib/nproc.h: New file.
38454         * lib/pthread.in.h: New file.
38455         * m4/pthread.m4: New file.
38456         * modules/nproc: New file.
38457         * modules/pthread: New file.
38458
38459 2009-03-24  Simon Josefsson  <simon@josefsson.org>
38460
38461         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
38462         New variable.
38463
38464 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
38465
38466         filevercmp: handle simple~ and numbered.~3~ backup suffixes
38467         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
38468         * tests/test-filevercmp.c: Add tests for backup suffixes.
38469
38470 2009-03-24  Simon Josefsson  <simon@josefsson.org>
38471
38472         * modules/stdlib (Depends-on): Add stdint, needed when defining
38473         struct random_data on, for example, HP-UX 10.20.  Reported by
38474         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
38475
38476 2009-03-24  Simon Josefsson  <simon@josefsson.org>
38477
38478         * lib/readline.c (readline): Call fflush on stdout after printing
38479         prompt.
38480
38481 2009-03-20  Bruno Haible  <bruno@clisp.org>
38482
38483         Remove dependency from 'close' module to -lws2_32 on native Windows.
38484         * lib/close-hook.h: New file.
38485         * lib/close-hook.c: New file.
38486         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
38487         w32sock.h.
38488         (_gl_close_fd_maybe_socket): Remove function.
38489         (rpl_close): Invoke execute_all_close_hooks instead of
38490         _gl_close_fd_maybe_socket.
38491         * lib/sockets.c: Include close-hook.h, w32sock.h.
38492         (close_fd_maybe_socket): New function, essentially from lib/close.c.
38493         (close_sockets_hook): New variable.
38494         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
38495         (gl_sockets_cleanup): Unregister it.
38496         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
38497         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
38498         * modules/close-hook: New file.
38499         * modules/close (Files): Remove lib/w32sock.h.
38500         (Depends-on): Add close-hook.
38501         (Link): Remove section.
38502         * modules/sockets (Files): Add lib/w32sock.h.
38503         (Depends-on): Add close-hook.
38504         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
38505         invocation.
38506         * NEWS: Mention that LIB_CLOSE is gone.
38507
38508 2009-03-23  Eric Blake  <ebb9@byu.net>
38509
38510         signal-tests: test previous patch
38511         * tests/test-signal.c: New file.
38512         * modules/signal-tests: Likewise.
38513
38514         signal.h: always support 'volatile sig_atomic_t'
38515         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
38516         (gl_SIGNAL_H_DEFAULTS): Add a default.
38517         * modules/signal (Makefile.am): Substitute if needed.
38518         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
38519         users can blindly add volatile.
38520         * doc/posix-headers/signal.texi (signal.h): Document it.
38521         Reported by Matthew Woehlke.
38522
38523 2009-03-23  Jim Meyering  <meyering@redhat.com>
38524
38525         pathmax: PATH_MAX: use pathconf only when available
38526         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
38527         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
38528         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
38529         This avoids a link failure in a PSP cross-compilation environment
38530         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
38531
38532         * lib/vasnprintf.c (divide): Fix typo in comment.
38533
38534 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38535
38536         * gnulib-tool (func_filter_filelist): Fix comment.
38537
38538 2009-03-20  Bruno Haible  <bruno@clisp.org>
38539
38540         Make sockets.h self-contained.
38541         * lib/sockets.c: Include sockets.h first.
38542         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
38543
38544 2009-03-19  Eric Blake  <ebb9@byu.net>
38545
38546         doc: mention more functions added in cygwin 1.7.0
38547         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
38548         addition.
38549         * doc/posix-functions/log2f.texi: Likewise.
38550
38551 2009-03-19  Jim Meyering  <meyering@redhat.com>
38552
38553         fsusage: avoid syntax error due to statement-before-declaration
38554         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
38555         after all declarations.  Reported by Matthew Woehlke in
38556         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
38557
38558 2009-03-18  Eric Blake  <ebb9@byu.net>
38559
38560         build-aux/compile: sync from automake
38561         * build-aux/compile: New file, from automake.
38562         * config/srclist.txt: Mention build-aux/compile.
38563
38564 2009-03-17  Bruno Haible  <bruno@clisp.org>
38565
38566         * lib/git-merge-changelog.c: Fix typo in comment.
38567         Reported by Reuben Thomas <rrt@sc3d.org>.
38568
38569 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
38570
38571         * m4/regex.m4: update and improve help for
38572         --without-included-regex.
38573
38574 2009-03-17  Simon Josefsson  <simon@josefsson.org>
38575
38576         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
38577         failure on missing include files.
38578
38579 2009-03-17  Eric Blake  <ebb9@byu.net>
38580
38581         doc: mention more functions added in cygwin 1.7.0
38582         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
38583         addition.
38584         * doc/posix-functions/fwscanf.texi: Likewise.
38585         * doc/posix-functions/swprintf.texi: Likewise.
38586         * doc/posix-functions/swscanf.texi: Likewise.
38587         * doc/posix-functions/vfwprintf.texi: Likewise.
38588         * doc/posix-functions/vfwscanf.texi: Likewise.
38589         * doc/posix-functions/vswprintf.texi: Likewise.
38590         * doc/posix-functions/vswscanf.texi: Likewise.
38591         * doc/posix-functions/vwprintf.texi: Likewise.
38592         * doc/posix-functions/vwscanf.texi: Likewise.
38593         * doc/posix-functions/wcscasecmp.texi: Likewise.
38594         * doc/posix-functions/wcsdup.texi: Likewise.
38595         * doc/posix-functions/wcsftime.texi: Likewise.
38596         * doc/posix-functions/wcsncasecmp.texi: Likewise.
38597         * doc/posix-functions/wprintf.texi: Likewise.
38598         * doc/posix-functions/wscanf.texi: Likewise.
38599         * doc/glibc-functions/gethostbyname2.texi: Likewise.
38600
38601 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38602
38603         maint.mk: really add $(AM_MAKEFLAGS)
38604         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
38605         was inadvertently omitted in the last commit.
38606         Spotted by Bruno Haible.
38607
38608         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
38609         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
38610         $(AM_MAKEFLAGS)' rather than plain `make'.
38611
38612         gnulib-tool: execute $MAKE not make
38613         * gnulib-tool: Default $MAKE to 'make'.
38614         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
38615         than make.  Initialize $MAKE in the do-autobuild script.
38616
38617         gnulib-tool: use $MAKE not make in generated files
38618         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
38619         make, in generated files.  Initialize $MAKE in the do-autobuild
38620         script.
38621
38622         * top/GNUmakefile (_have-git-version-gen): Fix typo.
38623
38624         GNUmakefile: disable parallelism only for multiple, recursive targets
38625         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
38626         additions in the Makefile.
38627         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
38628         by Automake.
38629         (.NOTPARALLEL): Only disable parallel builds if multiple targets
38630         are listed on the command line and at least one of them is
38631         listed in $(ALL_RECURSIVE_TARGETS).
38632
38633 2009-03-14  Bruno Haible  <bruno@clisp.org>
38634
38635         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
38636         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
38637         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
38638         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
38639         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
38640         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
38641         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
38642         unistr/u8-uctomb.
38643         * modules/unistr/u8-strchr (Depends-on): Likewise.
38644         * modules/unistr/u8-strrchr (Depends-on): Likewise.
38645         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
38646         unistr/u16-uctomb.
38647         * modules/unistr/u16-strchr (Depends-on): Likewise.
38648         * modules/unistr/u16-strrchr (Depends-on): Likewise.
38649
38650 2009-03-12  Bruno Haible  <bruno@clisp.org>
38651
38652         Work around select() bug on Interix 3.5.
38653         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
38654         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
38655         * m4/select.m4: New file.
38656         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
38657         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
38658         * modules/select (Files): Add m4/select.m4.
38659         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
38660         * modules/nanosleep (Depends-on): Add select.
38661         * modules/poll (Depends-on): Likewise.
38662         * doc/posix-functions/select.texi: Mention the Interix bug.
38663         Reported by Markus Duft <mduft@gentoo.org>.
38664
38665         * lib/select.c: Renamed from lib/winsock-select.c.
38666         * modules/select (Files): Add lib/select.c, remove
38667         lib/winsock-select.c.
38668         (configure.ac): Update.
38669
38670 2009-03-12  Jim Meyering  <meyering@redhat.com>
38671
38672         avoid gcc warnings about unused macro definitions
38673         * lib/readtokens.c (STREQ): Remove unused definition.
38674         * lib/xmalloc.c (SIZE_MAX): Likewise.
38675         * lib/openat-die.c (N_): Likewise.
38676         * lib/mountlist.c (SIZE_MAX): Remove definition.
38677         Instead, include <stdint.h>.
38678         * lib/readutmp.c: Likewise.
38679         * modules/readutmp (Depends-on): Add stdint.
38680         * modules/mountlist (Depends-on): Add stdint.
38681         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
38682
38683 2009-03-10  Bruno Haible  <bruno@clisp.org>
38684
38685         Tests for module 'mbmemcasecoll'.
38686         * modules/mbmemcasecoll-tests: New file.
38687         * tests/test-mbmemcasecoll1.sh: New file.
38688         * tests/test-mbmemcasecoll2.sh: New file.
38689         * tests/test-mbmemcasecoll3.sh: New file.
38690         * tests/test-mbmemcasecoll.c: New file.
38691
38692         New module 'mbmemcasecoll'.
38693         * lib/mbmemcasecoll.h: New file.
38694         * lib/mbmemcasecoll.c: New file.
38695         * modules/mbmemcasecoll: New file.
38696
38697         * tests/test-mbmemcasecmp.h: New file, extracted from
38698         tests/test-mbmemcasecmp.c.
38699         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
38700         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
38701         (main): Update.
38702         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
38703
38704 2009-03-09  Bruno Haible  <bruno@clisp.org>
38705
38706         Tests for module 'mbmemcasecmp'.
38707         * modules/mbmemcasecmp-tests: New file.
38708         * tests/test-mbmemcasecmp1.sh: New file.
38709         * tests/test-mbmemcasecmp2.sh: New file.
38710         * tests/test-mbmemcasecmp3.sh: New file.
38711         * tests/test-mbmemcasecmp.c: New file.
38712
38713         New module 'mbmemcasecmp'.
38714         * lib/mbmemcasecmp.h: New file.
38715         * lib/mbmemcasecmp.c: New file.
38716         * modules/mbmemcasecmp: New file.
38717
38718 2009-03-09  Bruno Haible  <bruno@clisp.org>
38719
38720         Tests for module 'unicase/ulc-casecoll'.
38721         * modules/unicase/ulc-casecoll-tests: New file.
38722         * tests/unicase/test-ulc-casecoll1.sh: New file.
38723         * tests/unicase/test-ulc-casecoll2.sh: New file.
38724         * tests/unicase/test-ulc-casecoll.c: New file.
38725
38726         New module 'unicase/ulc-casecoll'.
38727         * lib/unicase.h (ulc_casecoll): New declaration.
38728         * lib/unicase/ulc-casecoll.c: New file.
38729         * modules/unicase/ulc-casecoll: New file.
38730
38731         New module 'unicase/ulc-casexfrm'.
38732         * lib/unicase.h (ulc_casexfrm): New declaration.
38733         * lib/unicase/ulc-casexfrm.c: New file.
38734         * modules/unicase/ulc-casexfrm: New file.
38735
38736 2009-03-09  Bruno Haible  <bruno@clisp.org>
38737
38738         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
38739         invocations.
38740
38741         * m4/mbscasecmp.m4: Remove file.
38742         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
38743         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
38744
38745         * m4/mbscasestr.m4: Remove file.
38746         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
38747         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
38748
38749         * m4/mbschr.m4: Remove file.
38750         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
38751         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
38752
38753         * m4/mbscspn.m4: Remove file.
38754         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
38755         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
38756
38757         * m4/mbslen.m4: Remove file.
38758         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
38759         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
38760
38761         * m4/mbsncasecmp.m4: Remove file.
38762         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
38763         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
38764
38765         * m4/mbsnlen.m4: Remove file.
38766         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
38767         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
38768
38769         * m4/mbspbrk.m4: Remove file.
38770         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
38771         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
38772
38773         * m4/mbspcasecmp.m4: Remove file.
38774         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
38775         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
38776
38777         * m4/mbsrchr.m4: Remove file.
38778         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
38779         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
38780
38781         * m4/mbssep.m4: Remove file.
38782         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
38783         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
38784
38785         * m4/mbsspn.m4: Remove file.
38786         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
38787         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
38788
38789         * m4/mbsstr.m4: Remove file.
38790         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
38791         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
38792
38793         * m4/mbstok_r.m4: Remove file.
38794         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
38795         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
38796
38797         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
38798
38799         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
38800         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
38801
38802         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
38803
38804 2009-03-08  Bruno Haible  <bruno@clisp.org>
38805
38806         Tests for module 'unicase/ulc-casecmp'.
38807         * modules/unicase/ulc-casecmp-tests: New file.
38808         * tests/unicase/test-ulc-casecmp1.sh: New file.
38809         * tests/unicase/test-ulc-casecmp2.sh: New file.
38810         * tests/unicase/test-ulc-casecmp.c: New file.
38811
38812         New module 'unicase/ulc-casecmp'.
38813         * lib/unicase.h (ulc_casecmp): New declaration.
38814         * lib/unicase/ulc-casecmp.c: New file.
38815         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
38816         'const SRC_UNIT *'.
38817         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
38818         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
38819         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
38820         * modules/unicase/ulc-casecmp: New file.
38821
38822         Tests for module 'unicase/u32-is-cased'.
38823         * modules/unicase/u32-is-cased-tests: New file.
38824         * tests/unicase/test-u32-is-cased.c: New file.
38825
38826         Tests for module 'unicase/u16-is-cased'.
38827         * modules/unicase/u16-is-cased-tests: New file.
38828         * tests/unicase/test-u16-is-cased.c: New file.
38829
38830         Tests for module 'unicase/u8-is-cased'.
38831         * modules/unicase/u8-is-cased-tests: New file.
38832         * tests/unicase/test-u8-is-cased.c: New file.
38833         * tests/unicase/test-is-cased.h: New file.
38834
38835         New module 'unicase/u32-is-cased'.
38836         * lib/unicase/u32-is-cased.c: New file.
38837         * modules/unicase/u32-is-cased: New file.
38838
38839         New module 'unicase/u16-is-cased'.
38840         * lib/unicase/u16-is-cased.c: New file.
38841         * modules/unicase/u16-is-cased: New file.
38842
38843         New module 'unicase/u8-is-cased'.
38844         * lib/unicase/u8-is-cased.c: New file.
38845         * lib/unicase/u-is-cased.h: New file.
38846         * modules/unicase/u8-is-cased: New file.
38847
38848         Tests for module 'unicase/u32-is-casefolded'.
38849         * modules/unicase/u32-is-casefolded-tests: New file.
38850         * tests/unicase/test-u32-is-casefolded.c: New file.
38851
38852         Tests for module 'unicase/u16-is-casefolded'.
38853         * modules/unicase/u16-is-casefolded-tests: New file.
38854         * tests/unicase/test-u16-is-casefolded.c: New file.
38855
38856         Tests for module 'unicase/u8-is-casefolded'.
38857         * modules/unicase/u8-is-casefolded-tests: New file.
38858         * tests/unicase/test-u8-is-casefolded.c: New file.
38859         * tests/unicase/test-is-casefolded.h: New file.
38860
38861         New module 'unicase/u32-is-casefolded'.
38862         * lib/unicase/u32-is-casefolded.c: New file.
38863         * modules/unicase/u32-is-casefolded: New file.
38864
38865         New module 'unicase/u16-is-casefolded'.
38866         * lib/unicase/u16-is-casefolded.c: New file.
38867         * modules/unicase/u16-is-casefolded: New file.
38868
38869         New module 'unicase/u8-is-casefolded'.
38870         * lib/unicase/u8-is-casefolded.c: New file.
38871         * modules/unicase/u8-is-casefolded: New file.
38872
38873         Tests for module 'unicase/u32-is-titlecase'.
38874         * modules/unicase/u32-is-titlecase-tests: New file.
38875         * tests/unicase/test-u32-is-titlecase.c: New file.
38876
38877         Tests for module 'unicase/u16-is-titlecase'.
38878         * modules/unicase/u16-is-titlecase-tests: New file.
38879         * tests/unicase/test-u16-is-titlecase.c: New file.
38880
38881         Tests for module 'unicase/u8-is-titlecase'.
38882         * modules/unicase/u8-is-titlecase-tests: New file.
38883         * tests/unicase/test-u8-is-titlecase.c: New file.
38884         * tests/unicase/test-is-titlecase.h: New file.
38885
38886         New module 'unicase/u32-is-titlecase'.
38887         * lib/unicase/u32-is-titlecase.c: New file.
38888         * modules/unicase/u32-is-titlecase: New file.
38889
38890         New module 'unicase/u16-is-titlecase'.
38891         * lib/unicase/u16-is-titlecase.c: New file.
38892         * modules/unicase/u16-is-titlecase: New file.
38893
38894         New module 'unicase/u8-is-titlecase'.
38895         * lib/unicase/u8-is-titlecase.c: New file.
38896         * modules/unicase/u8-is-titlecase: New file.
38897
38898         Tests for module 'unicase/u32-is-lowercase'.
38899         * modules/unicase/u32-is-lowercase-tests: New file.
38900         * tests/unicase/test-u32-is-lowercase.c: New file.
38901
38902         Tests for module 'unicase/u16-is-lowercase'.
38903         * modules/unicase/u16-is-lowercase-tests: New file.
38904         * tests/unicase/test-u16-is-lowercase.c: New file.
38905
38906         Tests for module 'unicase/u8-is-lowercase'.
38907         * modules/unicase/u8-is-lowercase-tests: New file.
38908         * tests/unicase/test-u8-is-lowercase.c: New file.
38909         * tests/unicase/test-is-lowercase.h: New file.
38910
38911         New module 'unicase/u32-is-lowercase'.
38912         * lib/unicase/u32-is-lowercase.c: New file.
38913         * modules/unicase/u32-is-lowercase: New file.
38914
38915         New module 'unicase/u16-is-lowercase'.
38916         * lib/unicase/u16-is-lowercase.c: New file.
38917         * modules/unicase/u16-is-lowercase: New file.
38918
38919         New module 'unicase/u8-is-lowercase'.
38920         * lib/unicase/u8-is-lowercase.c: New file.
38921         * modules/unicase/u8-is-lowercase: New file.
38922
38923         Tests for module 'unicase/u32-is-uppercase'.
38924         * modules/unicase/u32-is-uppercase-tests: New file.
38925         * tests/unicase/test-u32-is-uppercase.c: New file.
38926
38927         Tests for module 'unicase/u16-is-uppercase'.
38928         * modules/unicase/u16-is-uppercase-tests: New file.
38929         * tests/unicase/test-u16-is-uppercase.c: New file.
38930
38931         Tests for module 'unicase/u8-is-uppercase'.
38932         * modules/unicase/u8-is-uppercase-tests: New file.
38933         * tests/unicase/test-u8-is-uppercase.c: New file.
38934         * tests/unicase/test-is-uppercase.h: New file.
38935
38936         New module 'unicase/u32-is-uppercase'.
38937         * lib/unicase/u32-is-uppercase.c: New file.
38938         * modules/unicase/u32-is-uppercase: New file.
38939
38940         New module 'unicase/u16-is-uppercase'.
38941         * lib/unicase/u16-is-uppercase.c: New file.
38942         * modules/unicase/u16-is-uppercase: New file.
38943
38944         New module 'unicase/u8-is-uppercase'.
38945         * lib/unicase/u8-is-uppercase.c: New file.
38946         * modules/unicase/u8-is-uppercase: New file.
38947
38948         New module 'unicase/u32-is-invariant'.
38949         * lib/unicase/u32-is-invariant.c: New file.
38950         * modules/unicase/u32-is-invariant: New file.
38951
38952         New module 'unicase/u16-is-invariant'.
38953         * lib/unicase/u16-is-invariant.c: New file.
38954         * modules/unicase/u16-is-invariant: New file.
38955
38956         New module 'unicase/u8-is-invariant'.
38957         * lib/unicase/u8-is-invariant.c: New file.
38958         * lib/unicase/invariant.h: New file.
38959         * lib/unicase/u-is-invariant.h: New file.
38960         * modules/unicase/u8-is-invariant: New file.
38961
38962         Tests for module 'unicase/u32-casecoll'.
38963         * modules/unicase/u32-casecoll-tests: New file.
38964         * tests/unicase/test-u32-casecoll.c: New file.
38965
38966         Tests for module 'unicase/u16-casecoll'.
38967         * modules/unicase/u16-casecoll-tests: New file.
38968         * tests/unicase/test-u16-casecoll.c: New file.
38969
38970         Tests for module 'unicase/u8-casecoll'.
38971         * modules/unicase/u8-casecoll-tests: New file.
38972         * tests/unicase/test-u8-casecoll.c: New file.
38973
38974         New module 'unicase/u32-casecoll'.
38975         * lib/unicase/u32-casecoll.c: New file.
38976         * modules/unicase/u32-casecoll: New file.
38977
38978         New module 'unicase/u16-casecoll'.
38979         * lib/unicase/u16-casecoll.c: New file.
38980         * modules/unicase/u16-casecoll: New file.
38981
38982         New module 'unicase/u8-casecoll'.
38983         * lib/unicase/u8-casecoll.c: New file.
38984         * lib/unicase/u-casecoll.h: New file.
38985         * modules/unicase/u8-casecoll: New file.
38986
38987         New module 'unicase/u32-casexfrm'.
38988         * lib/unicase/u32-casexfrm.c: New file.
38989         * modules/unicase/u32-casexfrm: New file.
38990
38991         New module 'unicase/u16-casexfrm'.
38992         * lib/unicase/u16-casexfrm.c: New file.
38993         * modules/unicase/u16-casexfrm: New file.
38994
38995         New module 'unicase/u8-casexfrm'.
38996         * lib/unicase/u8-casexfrm.c: New file.
38997         * lib/unicase/u-casexfrm.h: New file.
38998         * modules/unicase/u8-casexfrm: New file.
38999
39000         Tests for module 'unicase/u32-casecmp'.
39001         * modules/unicase/u32-casecmp-tests: New file.
39002         * tests/unicase/test-u32-casecmp.c: New file.
39003
39004         Tests for module 'unicase/u16-casecmp'.
39005         * modules/unicase/u16-casecmp-tests: New file.
39006         * tests/unicase/test-u16-casecmp.c: New file.
39007
39008         Tests for module 'unicase/u8-casecmp'.
39009         * modules/unicase/u8-casecmp-tests: New file.
39010         * tests/unicase/test-u8-casecmp.c: New file.
39011         * tests/unicase/test-casecmp.h: New file.
39012
39013         New module 'unicase/u32-casecmp'.
39014         * lib/unicase/u32-casecmp.c: New file.
39015         * modules/unicase/u32-casecmp: New file.
39016
39017         New module 'unicase/u16-casecmp'.
39018         * lib/unicase/u16-casecmp.c: New file.
39019         * modules/unicase/u16-casecmp: New file.
39020
39021         New module 'unicase/u8-casecmp'.
39022         * lib/unicase/u8-casecmp.c: New file.
39023         * lib/unicase/u-casecmp.h: New file.
39024         * modules/unicase/u8-casecmp: New file.
39025
39026         Tests for module 'unicase/u32-casefold'.
39027         * modules/unicase/u32-casefold-tests: New file.
39028         * tests/unicase/test-u32-casefold.c: New file.
39029
39030         Tests for module 'unicase/u16-casefold'.
39031         * modules/unicase/u16-casefold-tests: New file.
39032         * tests/unicase/test-u16-casefold.c: New file.
39033
39034         Tests for module 'unicase/u8-casefold'.
39035         * modules/unicase/u8-casefold-tests: New file.
39036         * tests/unicase/test-u8-casefold.c: New file.
39037
39038         New module 'unicase/u32-casefold'.
39039         * lib/unicase/u32-casefold.c: New file.
39040         * modules/unicase/u32-casefold: New file.
39041
39042         New module 'unicase/u16-casefold'.
39043         * lib/unicase/u16-casefold.c: New file.
39044         * modules/unicase/u16-casefold: New file.
39045
39046         New module 'unicase/u8-casefold'.
39047         * lib/unicase/u8-casefold.c: New file.
39048         * lib/unicase/u-casefold.h: New file.
39049         * modules/unicase/u8-casefold: New file.
39050
39051         New module 'unicase/tocasefold'.
39052         * lib/unicase/casefold.h: New file.
39053         * lib/unicase/tocasefold.c: New file.
39054         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
39055         * modules/unicase/tocasefold: New file.
39056
39057         Tests for module 'unicase/u32-totitle'.
39058         * modules/unicase/u32-totitle-tests: New file.
39059         * tests/unicase/test-u32-totitle.c: New file.
39060
39061         Tests for module 'unicase/u16-totitle'.
39062         * modules/unicase/u16-totitle-tests: New file.
39063         * tests/unicase/test-u16-totitle.c: New file.
39064
39065         Tests for module 'unicase/u8-totitle'.
39066         * modules/unicase/u8-totitle-tests: New file.
39067         * tests/unicase/test-u8-totitle.c: New file.
39068
39069         New module 'unicase/u32-totitle'.
39070         * lib/unicase/u32-totitle.c: New file.
39071         * modules/unicase/u32-totitle: New file.
39072
39073         New module 'unicase/u16-totitle'.
39074         * lib/unicase/u16-totitle.c: New file.
39075         * modules/unicase/u16-totitle: New file.
39076
39077         New module 'unicase/u8-totitle'.
39078         * lib/unicase/u8-totitle.c: New file.
39079         * lib/unicase/u-totitle.h: New file.
39080         * modules/unicase/u8-totitle: New file.
39081
39082         Tests for module 'unicase/u32-tolower'.
39083         * modules/unicase/u32-tolower-tests: New file.
39084         * tests/unicase/test-u32-tolower.c: New file.
39085
39086         Tests for module 'unicase/u16-tolower'.
39087         * modules/unicase/u16-tolower-tests: New file.
39088         * tests/unicase/test-u16-tolower.c: New file.
39089
39090         Tests for module 'unicase/u8-tolower'.
39091         * modules/unicase/u8-tolower-tests: New file.
39092         * tests/unicase/test-u8-tolower.c: New file.
39093
39094         New module 'unicase/u32-tolower'.
39095         * lib/unicase/u32-tolower.c: New file.
39096         * modules/unicase/u32-tolower: New file.
39097
39098         New module 'unicase/u16-tolower'.
39099         * lib/unicase/u16-tolower.c: New file.
39100         * modules/unicase/u16-tolower: New file.
39101
39102         New module 'unicase/u8-tolower'.
39103         * lib/unicase/u8-tolower.c: New file.
39104         * modules/unicase/u8-tolower: New file.
39105
39106         Tests for module 'unicase/u32-toupper'.
39107         * modules/unicase/u32-toupper-tests: New file.
39108         * tests/unicase/test-u32-toupper.c: New file.
39109
39110         Tests for module 'unicase/u16-toupper'.
39111         * modules/unicase/u16-toupper-tests: New file.
39112         * tests/unicase/test-u16-toupper.c: New file.
39113
39114         Tests for module 'unicase/u8-toupper'.
39115         * modules/unicase/u8-toupper-tests: New file.
39116         * tests/unicase/test-u8-toupper.c: New file.
39117
39118         New module 'unicase/u32-toupper'.
39119         * lib/unicase/u32-toupper.c: New file.
39120         * modules/unicase/u32-toupper: New file.
39121
39122         New module 'unicase/u16-toupper'.
39123         * lib/unicase/u16-toupper.c: New file.
39124         * modules/unicase/u16-toupper: New file.
39125
39126         New module 'unicase/u8-toupper'.
39127         * lib/unicase/u8-toupper.c: New file.
39128         * modules/unicase/u8-toupper: New file.
39129
39130         New module 'unicase/u32-casemap'.
39131         * lib/unicase/u32-casemap.c: New file.
39132         * modules/unicase/u32-casemap: New file.
39133
39134         New module 'unicase/u16-casemap'.
39135         * lib/unicase/u16-casemap.c: New file.
39136         * modules/unicase/u16-casemap: New file.
39137
39138         New module 'unicase/u8-casemap'.
39139         * lib/unicase/unicasemap.h: New file.
39140         * lib/unicase/u8-casemap.c: New file.
39141         * lib/unicase/u-casemap.h: New file.
39142         * modules/unicase/u8-casemap: New file.
39143
39144         New module 'unicase/special-casing'.
39145         * lib/unicase/special-casing.h: New file.
39146         * lib/unicase/special-casing.c: New file.
39147         * lib/unicase/special-casing-table.gperf: New file, generated by
39148         gen-uni-tables.c.
39149         * modules/unicase/special-casing: New file.
39150
39151         Tests for module 'unicase/locale-language'.
39152         * modules/unicase/locale-language-tests: New file.
39153         * tests/unicase/test-locale-language.sh: New file.
39154         * tests/unicase/test-locale-language.c: New file.
39155
39156         New module 'unicase/locale-language'.
39157         * lib/unicase/locale-language.c: New file.
39158         * lib/unicase/locale-languages.gperf: New file.
39159         * modules/unicase/locale-language: New file.
39160
39161         Generate more tables for case conversion and case folding.
39162         * lib/gen-uni-tables.c (SCC_*): New enum items.
39163         (struct special_casing_rule): New type.
39164         (casing_rules, num_casing_rules, allocated_casing_rules): New
39165         variables.
39166         (add_casing_rule, fill_casing_rules): New functions.
39167         (struct casefold_rule): New type.
39168         (casefolding_rules, num_casefolding_rules,
39169         allocated_casefolding_rules): New variables.
39170         (fill_casefolding_rules): New function.
39171         (unicode_casefold): New variable.
39172         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
39173         sort_casing_rules, output_casing_rules): New functions.
39174         (main): Accept to more arguments: SpecialCasing.txt and
39175         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
39176         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
39177         Output mapping for casefolding.
39178
39179         * lib/unicase.h: Include stdbool.h, uninorm.h.
39180         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
39181         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
39182         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
39183         arguments.
39184         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
39185         resultp arguments.
39186         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
39187         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
39188         resultp arguments.
39189         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
39190         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
39191         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
39192         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
39193         declarations.
39194         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
39195
39196 2009-03-08  Bruno Haible  <bruno@clisp.org>
39197
39198         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
39199         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
39200         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
39201         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
39202
39203 2009-03-07  Bruno Haible  <bruno@clisp.org>
39204
39205         Adjust u*_normcmp, u*_normcoll API.
39206         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
39207         u16_normcoll, u32_normcoll): Change failure conventions.
39208         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
39209         errno and return -1.
39210         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
39211
39212 2009-03-07  Bruno Haible  <bruno@clisp.org>
39213
39214         Tests for module 'uninorm/u32-normcoll'.
39215         * modules/uninorm/u32-normcoll-tests: New file.
39216         * tests/uninorm/test-u32-normcoll.c: New file.
39217
39218         Tests for module 'uninorm/u16-normcoll'.
39219         * modules/uninorm/u16-normcoll-tests: New file.
39220         * tests/uninorm/test-u16-normcoll.c: New file.
39221
39222         Tests for module 'uninorm/u8-normcoll'.
39223         * modules/uninorm/u8-normcoll-tests: New file.
39224         * tests/uninorm/test-u8-normcoll.c: New file.
39225
39226 2009-03-07  Bruno Haible  <bruno@clisp.org>
39227
39228         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
39229         tests/uninorm/test-u32-normcmp.c.
39230         * tests/uninorm/test-u32-normcmp.c: Include it.
39231         (test_nonascii): New function, extracted from main. Add some more
39232         tests.
39233         (main): Invoke test_ascii and test_nonascii.
39234         * modules/uninorm/u32-normcmp-tests (Files): Add
39235         tests/uninorm/test-u32-normcmp.h.
39236         (Depends-on): Remove uninorm/u32-normcmp.
39237
39238         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
39239         tests/uninorm/test-u16-normcmp.c.
39240         * tests/uninorm/test-u16-normcmp.c: Include it.
39241         (test_nonascii): New function, extracted from main. Add some more
39242         tests.
39243         (main): Invoke test_ascii and test_nonascii.
39244         * modules/uninorm/u16-normcmp-tests (Files): Add
39245         tests/uninorm/test-u16-normcmp.h.
39246         (Depends-on): Remove uninorm/u16-normcmp.
39247
39248         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
39249         tests/uninorm/test-u8-normcmp.c.
39250         * tests/uninorm/test-u8-normcmp.c: Include it.
39251         (test_nonascii): New function, extracted from main. Add some more
39252         tests.
39253         (main): Invoke test_ascii and test_nonascii.
39254         * modules/uninorm/u8-normcmp-tests (Files): Add
39255         tests/uninorm/test-u8-normcmp.h.
39256         (Depends-on): Remove uninorm/u8-normcmp.
39257
39258 2009-03-07  Bruno Haible  <bruno@clisp.org>
39259
39260         New module 'uninorm/u32-normcoll'.
39261         * lib/uninorm/u32-normcoll.c: New file.
39262         * modules/uninorm/u32-normcoll: New file.
39263
39264         New module 'uninorm/u16-normcoll'.
39265         * lib/uninorm/u16-normcoll.c: New file.
39266         * modules/uninorm/u16-normcoll: New file.
39267
39268         New module 'uninorm/u8-normcoll'.
39269         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
39270         declarations.
39271         * lib/uninorm/u8-normcoll.c: New file.
39272         * lib/uninorm/u-normcoll.h: New file.
39273         * modules/uninorm/u8-normcoll: New file.
39274
39275         New module 'uninorm/u32-normxfrm'.
39276         * lib/uninorm/u32-normxfrm.c: New file.
39277         * modules/uninorm/u32-normxfrm: New file.
39278
39279         New module 'uninorm/u16-normxfrm'.
39280         * lib/uninorm/u16-normxfrm.c: New file.
39281         * modules/uninorm/u16-normxfrm: New file.
39282
39283         New module 'uninorm/u8-normxfrm'.
39284         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
39285         declarations.
39286         * lib/uninorm/u8-normxfrm.c: New file.
39287         * lib/uninorm/u-normxfrm.h: New file.
39288         * modules/uninorm/u8-normxfrm: New file.
39289
39290 2009-03-07  Bruno Haible  <bruno@clisp.org>
39291
39292         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
39293         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
39294         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
39295
39296 2009-03-07  Bruno Haible  <bruno@clisp.org>
39297
39298         New module 'memxfrm'.
39299         * lib/memxfrm.h: New file.
39300         * lib/memxfrm.c: New file.
39301         * modules/memxfrm: New file.
39302
39303 2009-03-07  Bruno Haible  <bruno@clisp.org>
39304
39305         New module 'memcmp2'.
39306         * lib/memcmp2.h: New file.
39307         * lib/memcmp2.c: New file.
39308         * modules/memcmp2: New file.
39309
39310 2009-03-07  Bruno Haible  <bruno@clisp.org>
39311
39312         Tests for module 'uninorm/decomposing-form'.
39313         * modules/uninorm/decomposing-form-tests: New file.
39314         * tests/uninorm/test-decomposing-form.c: New file.
39315
39316         New module 'uninorm/decomposing-form'.
39317         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
39318         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
39319         Add 'decomposing_variant' field.
39320         * lib/uninorm/decomposing-form.c: New file.
39321         * lib/uninorm/nfc.c (uninorm_nfc): Update.
39322         * lib/uninorm/nfd.c (uninorm_nfd): Update.
39323         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
39324         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
39325         * modules/uninorm/decomposing-form: New file.
39326         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
39327         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
39328
39329 2009-03-07  Bruno Haible  <bruno@clisp.org>
39330
39331         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
39332         strings.
39333
39334 2009-03-06  Bruno Haible  <bruno@clisp.org>
39335
39336         Tests for module 'uninorm/u32-normcmp'.
39337         * tests/uninorm/test-u32-normcmp.c: New file.
39338         * modules/uninorm/u32-normcmp-tests: New file.
39339
39340         Tests for module 'uninorm/u16-normcmp'.
39341         * tests/uninorm/test-u16-normcmp.c: New file.
39342         * modules/uninorm/u16-normcmp-tests: New file.
39343
39344         Tests for module 'uninorm/u8-normcmp'.
39345         * tests/uninorm/test-u8-normcmp.c: New file.
39346         * modules/uninorm/u8-normcmp-tests: New file.
39347
39348         New module 'uninorm/u32-normcmp'.
39349         * lib/uninorm/u32-normcmp.c: New file.
39350         * modules/uninorm/u32-normcmp: New file.
39351
39352         New module 'uninorm/u16-normcmp'.
39353         * lib/uninorm/u16-normcmp.c: New file.
39354         * modules/uninorm/u16-normcmp: New file.
39355
39356         New module 'uninorm/u8-normcmp'.
39357         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
39358         declarations.
39359         * lib/uninorm/u8-normcmp.c: New file.
39360         * lib/uninorm/u-normcmp.h: New file.
39361         * modules/uninorm/u8-normcmp: New file.
39362
39363 2009-03-06  Bruno Haible  <bruno@clisp.org>
39364
39365         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
39366         Reported by Eric Blake.
39367
39368 2009-03-06  Eric Blake  <ebb9@byu.net>
39369             Bruno Haible  <bruno@clisp.org>
39370
39371         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
39372         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
39373         condition.
39374         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
39375         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
39376         condition.
39377         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
39378
39379 2009-03-06  Eric Blake  <ebb9@byu.net>
39380
39381         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
39382         to avoid compiler warnings.
39383         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
39384
39385 2009-03-05  Bruno Haible  <bruno@clisp.org>
39386
39387         * tests/test-ftell.c (main): Disable test beyond end of file on
39388         FreeMiNT.
39389         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
39390
39391 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
39392
39393         * lib/filevercmp.c: Move hidden files up in ordering.
39394         * tests/test-filevercmp.c: Add tests for hidden files.
39395
39396 2009-03-04  Bruno Haible  <bruno@clisp.org>
39397
39398         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
39399         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
39400         AM_CFLAGS.
39401         Reported by Simon Josefsson.
39402
39403 2009-03-03  Bruno Haible  <bruno@clisp.org>
39404
39405         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
39406         Reported by Simon Josefsson.
39407
39408         * doc/ld-version-script.texi: Update node reference.
39409
39410 2009-03-03  Bruno Haible  <bruno@clisp.org>
39411
39412         * modules/visibility (License): Change to 'unlimited'.
39413         Suggested by Simon Josefsson.
39414
39415 2009-03-03  Jim Meyering  <meyering@redhat.com>
39416
39417         unlinkdir: cannot_unlink_dir may modify process state
39418         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
39419         it's neither thread-safe nor appropriate for use in a library.
39420
39421 2009-03-03  Eric Blake  <ebb9@byu.net>
39422
39423         test-closein: silence test under Darwin
39424         * tests/test-closein.sh: Ignore stderr from cat, since we don't
39425         care if it dies from EPIPE or EBADF.
39426
39427 2009-03-03  Bruno Haible  <bruno@clisp.org>
39428
39429         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
39430         earlier.
39431         * doc/visibility.texi: Fix @node and @section.
39432
39433 2009-03-03  Simon Josefsson  <simon@josefsson.org>
39434
39435         * doc/gnulib.texi: Link to sections for ld version script and
39436         visibility.
39437         * doc/visibility.texi: Add @node and @section.
39438         * modules/ld-version-script: New module.
39439         * m4/ld-version-script.m4: New file.
39440         * doc/ld-version-script.texi: New file.
39441
39442 2009-03-02  David Lutterkort  <lutter@redhat.com>
39443
39444         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
39445         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
39446
39447 2009-03-02  Bruno Haible  <bruno@clisp.org>
39448
39449         * doc/visibility.texi: Mention libtool's -export-symbols option.
39450
39451 2009-03-02  Jim Meyering  <meyering@redhat.com>
39452
39453         announce-gen: new option: --no-print-checksums
39454         * build-aux/announce-gen (usage): Describe it.
39455         (print_checksums): Print a newline here, not in the [*] footnote.
39456         (main): Honor it.
39457
39458 2009-03-01  Bruno Haible  <bruno@clisp.org>
39459
39460         Use socklen_t in the native Windows replacements prototypes.
39461         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
39462         instead of 'int'.
39463         * lib/getsockopt.c (rpl_getsockopt): Likewise.
39464         * lib/setsockopt.c (rpl_setsockopt): Likewise.
39465         * modules/getsockopt (Depends-on): Add socklen.
39466         * modules/setsockopt (Depends-on): Add socklen.
39467
39468 2009-03-01  Bruno Haible  <bruno@clisp.org>
39469
39470         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
39471         least 4.2.
39472
39473 2009-03-01  Eric Blake  <ebb9@byu.net>
39474             Bruno Haible  <bruno@clisp.org>
39475
39476         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
39477         error messages.
39478         * lib/wait-process.c (wait_subprocess): Omit error message about
39479         deadly signal sent to the child of termsigp != NULL.
39480
39481 2009-03-01  Eric Blake  <ebb9@byu.net>
39482
39483         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
39484
39485 2009-03-01  Bruno Haible  <bruno@clisp.org>
39486
39487         Avoid a gcc warning.
39488         * tests/test-sched.c (b): Make global.
39489         Reported by Eric Blake.
39490
39491 2009-01-19  Martin Lambers  <marlam@marlam.de>
39492
39493         Provide POSIX semantics for socket timeout options on W32.
39494         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
39495         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
39496         * modules/setsockopt: Depend on sys_time module for struct timeval.
39497         * modules/getsockopt: Depend on sys_time module for struct timeval.
39498
39499 2009-03-01  Simon Josefsson  <simon@josefsson.org>
39500
39501         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
39502         __USE_GNU, for consistency with netdb.in.h.
39503         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
39504
39505 2009-03-01  Bruno Haible  <bruno@clisp.org>
39506
39507         More support for FreeMiNT.
39508         * lib/fseeko.c (rpl_fseeko): Complete last commit.
39509         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
39510
39511 2009-03-01  Bruno Haible  <bruno@clisp.org>
39512
39513         More support for FreeMiNT.
39514         * lib/fpurge.c (fpurge): Correct last commit.
39515         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
39516
39517 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39518
39519         Fix unportable awk script in vc-list-files.
39520         * build-aux/vc-list-files: In the replacement awk script, use
39521         substr with a second argument of 1, not zero.
39522         Report by Simon Josefsson.
39523
39524 2009-02-28  Bruno Haible  <bruno@clisp.org>
39525
39526         More support for FreeMiNT.
39527         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
39528         to FreeMiNT today.
39529         * lib/fwriting.c (fwriting): Likewise.
39530         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
39531
39532 2009-02-28  Bruno Haible  <bruno@clisp.org>
39533
39534         * tests/test-freadseek.c (main): Disable test beyond end of file on
39535         FreeMiNT.
39536         * tests/test-ftello.c (main): Likewise.
39537         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
39538
39539 2009-02-28  Bruno Haible  <bruno@clisp.org>
39540
39541         Add tentative support for FreeMiNT.
39542         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
39543         * lib/fpurge.c (fpurge): Likewise.
39544         * lib/freadable.c (freadable): Likewise.
39545         * lib/freading.c (freading): Likewise.
39546         * lib/freadptr.c (freadptr): Likewise.
39547         * lib/freadseek.c (freadptrinc): Likewise.
39548         * lib/fseeko.c (rpl_fseeko): Likewise.
39549         * lib/fseterr.c (fseterr): Likewise.
39550         * lib/fwritable.c (fwritable): Likewise.
39551         * lib/fwriting.c (fwriting): Likewise.
39552         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
39553         Hourihane.
39554         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
39555
39556 2009-02-28  Bruno Haible  <bruno@clisp.org>
39557
39558         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
39559         SIGCHLD.
39560         Reported by Jim Meyering.
39561
39562 2009-02-28  Bruno Haible  <bruno@clisp.org>
39563
39564         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
39565         Mention the results of these tests on various platforms.
39566         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
39567         order.
39568         * doc/posix-functions/printf.texi: Likewise.
39569         * doc/posix-functions/snprintf.texi: Likewise.
39570         * doc/posix-functions/sprintf.texi: Likewise.
39571         * doc/posix-functions/vfprintf.texi: Likewise.
39572         * doc/posix-functions/vprintf.texi: Likewise.
39573         * doc/posix-functions/vsnprintf.texi: Likewise.
39574         * doc/posix-functions/vsprintf.texi: Likewise.
39575         * doc/glibc-functions/obstack_printf.texi: Likewise.
39576         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
39577
39578 2009-02-28  Bruno Haible  <bruno@clisp.org>
39579
39580         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
39581         Reported by Loïc Minier <lool@dooz.org>.
39582
39583 2009-02-27  Bruno Haible  <bruno@clisp.org>
39584
39585         * gnulib-tool (func_import): Make the sed expression used to create the
39586         sed script for updating the .gitignore file POSIX compliant.
39587         Reported by Eric Blake.
39588
39589 2009-02-27  Bruno Haible  <bruno@clisp.org>
39590
39591         * gnulib-tool (sed): Don't alias as "sed --posix".
39592         Reported by Eric Blake.
39593
39594 2009-02-27  Bruno Haible  <bruno@clisp.org>
39595
39596         Avoid test link errors.
39597         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
39598         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
39599         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
39600         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
39601         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
39602
39603 2009-02-27  Bruno Haible  <bruno@clisp.org>
39604
39605         Avoid spurious "(cached)" in configure output.
39606         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
39607         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
39608         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
39609         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
39610         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
39611         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
39612         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
39613         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
39614         Reported by Eric Blake.
39615
39616 2009-02-27  Eric Blake  <ebb9@byu.net>
39617
39618         printf: fix regression in previous patch
39619         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
39620
39621 2009-02-27  Bruno Haible  <bruno@clisp.org>
39622
39623         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
39624         value.
39625         * lib/stdint.in.h: Likewise.
39626         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
39627
39628 2009-02-27  Eric Blake  <ebb9@byu.net>
39629
39630         doc: mention more functions added in cygwin 1.7.0
39631         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
39632         addition.
39633         * doc/posix-functions/open_wmemstream.texi: Likewise.
39634         * doc/posix-functions/wcsnlen.texi: Likewise.
39635         * doc/posix-functions/wcsnrtombs.texi: Likewise.
39636         * doc/posix-functions/wcstod.texi: Likewise.
39637         * doc/posix-functions/wcstof.texi: Likewise.
39638         * doc/posix-functions/wcstoimax.texi: Likewise.
39639         * doc/posix-functions/wcstok.texi: Likewise.
39640         * doc/posix-functions/wcstoumax.texi: Likewise.
39641
39642         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
39643         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
39644         * doc/posix-functions/fprintf.texi: Update.
39645         * doc/posix-functions/printf.texi: Update.
39646         * doc/posix-functions/snprintf.texi: Update.
39647         * doc/posix-functions/sprintf.texi: Update.
39648         * doc/posix-functions/vfprintf.texi: Update.
39649         * doc/posix-functions/vprintf.texi: Update.
39650         * doc/posix-functions/vsnprintf.texi: Update.
39651         * doc/posix-functions/vsprintf.texi: Update.
39652         * doc/glibc-functions/obstack_printf.texi: Update.
39653         * doc/glibc-functions/obstack_vprintf.texi: Update.
39654
39655 2009-02-26  Eric Blake  <ebb9@byu.net>
39656
39657         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
39658         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
39659         compilation bug by using runtime conversion.
39660         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
39661         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
39662         * modules/ceill-tests (Files): Use nan.h.
39663         * modules/floorl-tests (Files): Likewise.
39664         * modules/frexpl-tests (Files): Likewise.
39665         * modules/isnanl-tests (Files): Likewise.
39666         * modules/ldexpl-tests (Files): Likewise.
39667         * modules/roundl-tests (Files): Likewise.
39668         * modules/truncl-tests (Files): Likewise.
39669         * tests/test-ceill.c (main): Use a working NaN.
39670         * tests/test-floorl.c (main): Likewise.
39671         * tests/test-frexpl.c (main): Likewise.
39672         * tests/test-isnan.c (test_long_double): Likewise.
39673         * tests/test-isnanl.h (main): Likewise.
39674         * tests/test-ldexpl.h (main): Likewise.
39675         * tests/test-roundl.h (main): Likewise.
39676         * tests/test-truncl.h (main): Likewise.
39677         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
39678
39679 2009-02-26  Eric Blake  <ebb9@byu.net>
39680             Bruno Haible  <bruno@clisp.org>
39681
39682         Work around a *printf bug with %ls on Solaris.
39683         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
39684         precision is specified, sprintf stops converting the wide string
39685         argument when the number of bytes that have been produced by this
39686         conversion equals or exceeds the precision.
39687         * doc/posix-functions/fprintf.texi: Update.
39688         * doc/posix-functions/printf.texi: Update.
39689         * doc/posix-functions/snprintf.texi: Update.
39690         * doc/posix-functions/sprintf.texi: Update.
39691         * doc/posix-functions/vfprintf.texi: Update.
39692         * doc/posix-functions/vprintf.texi: Update.
39693         * doc/posix-functions/vsnprintf.texi: Update.
39694         * doc/posix-functions/vsprintf.texi: Update.
39695         * doc/glibc-functions/obstack_printf.texi: Update.
39696         * doc/glibc-functions/obstack_vprintf.texi: Update.
39697
39698 2009-02-26  Eric Blake  <ebb9@byu.net>
39699
39700         stdlib: favor compiler check of random.h
39701         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
39702         to avoid an ObjC random.h installed by Swarm.
39703
39704 2009-02-26  Bruno Haible  <bruno@clisp.org>
39705
39706         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
39707         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
39708         Reported by Gary V. Vaughan <gary@gnu.org>.
39709
39710 2009-02-26  Bruno Haible  <bruno@clisp.org>
39711
39712         Fix *printf behaviour regarding the %ls directive.
39713         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
39714         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
39715         NEED_PRINTF_DIRECTIVE_LS.
39716         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
39717         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
39718         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
39719         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
39720         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
39721         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
39722         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
39723         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
39724         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
39725         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
39726         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
39727         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
39728         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
39729         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
39730         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
39731         * doc/posix-functions/fprintf.texi: Update.
39732         * doc/posix-functions/printf.texi: Update.
39733         * doc/posix-functions/snprintf.texi: Update.
39734         * doc/posix-functions/sprintf.texi: Update.
39735         * doc/posix-functions/vfprintf.texi: Update.
39736         * doc/posix-functions/vprintf.texi: Update.
39737         * doc/posix-functions/vsnprintf.texi: Update.
39738         * doc/posix-functions/vsprintf.texi: Update.
39739         * doc/glibc-functions/obstack_printf.texi: Update.
39740         * doc/glibc-functions/obstack_vprintf.texi: Update.
39741         Reported by Eric Blake.
39742
39743 2009-02-25  Bruno Haible  <bruno@clisp.org>
39744
39745         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
39746         with known value.
39747         Reported by Gary V. Vaughan <gary@gnu.org>.
39748
39749 2009-02-25  Bruno Haible  <bruno@clisp.org>
39750
39751         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
39752         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
39753         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
39754         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
39755         Reported by Gary V. Vaughan <gary@gnu.org>.
39756
39757 2009-02-25  Bruno Haible  <bruno@clisp.org>
39758
39759         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
39760         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
39761         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
39762         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
39763         Reported by Gary V. Vaughan <gary@gnu.org>.
39764
39765 2009-02-25  Eric Blake  <ebb9@byu.net>
39766
39767         tests: skip fseek/ftell tests if ungetc is broken
39768         * m4/ungetc.m4: New file.
39769         * modules/fseek-tests: Split test, so ungetc dependency is
39770         separate from rest of test.
39771         * modules/fseeko-tests: Likewise.
39772         * modules/ftell-tests: Likewise.
39773         * modules/ftello-tests: Likewise.
39774         * tests/test-fseek.c (main): Isolate ungetc dependency.
39775         * tests/test-fseeko.c (main): Likewise.
39776         * tests/test-ftell.c (main): Likewise.
39777         * tests/test-ftello.c (main): Likewise.
39778         * tests/test-fseek2.sh: New file.
39779         * tests/test-fseeko2.sh: Likewise.
39780         * tests/test-ftell2.sh: Likewise.
39781         * tests/test-ftello2.sh: Likewise.
39782
39783 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
39784
39785         test-getaddrinfo: fix usage of skip return code 77
39786         * tests/test-gettaddrinfo.c: Return skip code 77 only
39787         for first occurance of skip (4x77 is not 77)
39788
39789 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
39790
39791         strtod: avoid C99 decl-after-statement
39792         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
39793
39794 2009-02-24  Eric Blake  <ebb9@byu.net>
39795
39796         strtod: detect HP-UX 11.31 bug
39797         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
39798         Reported by Gary V. Vaughan.
39799
39800 2009-02-23  Bruno Haible  <bruno@clisp.org>
39801
39802         Fix invalid read past end of memory block.
39803         * lib/vasnprintf.c (DCHAR_SET): Define.
39804         (local_wcslen): Define only when needed.
39805         (local_strnlen, local_wcsnlen): New functions.
39806         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
39807         directives that involve a conversion ourselves.
39808         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
39809         wcsnlen, mbrtowc, wcrtomb.
39810         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
39811         * tests/test-vasprintf-posix.c (test_function): Likewise.
39812         * tests/test-snprintf-posix.h (test_function): Likewise.
39813         * tests/test-sprintf-posix.h (test_function): Likewise.
39814         Reported by Ben Pfaff <blp@cs.stanford.edu>.
39815
39816 2009-02-22  Bruno Haible  <bruno@clisp.org>
39817
39818         Implement new clarified decomposition of Hangul syllables.
39819         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
39820         of type LTV, return only a pairwise decomposition.
39821         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
39822         Likewise.
39823         * tests/uninorm/test-decomposition.c (main): Updated expected result.
39824         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
39825         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
39826
39827 2009-02-22  Bruno Haible  <bruno@clisp.org>
39828
39829         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
39830         zero-length results and shrink excess allocated memory.
39831         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
39832         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
39833         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
39834         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
39835         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
39836         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
39837         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
39838         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
39839         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
39840         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
39841         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
39842         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
39843
39844 2009-02-21  Bruno Haible  <bruno@clisp.org>
39845
39846         * doc/gnulib.texi: Include safe-alloc.texi earlier.
39847         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
39848         spaces after a period. Put a space between a macro name and its
39849         argument list. Trivial rewordings.
39850         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
39851         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
39852         (main): Return 0 explicitly.
39853
39854 2009-02-21  Bruno Haible  <bruno@clisp.org>
39855
39856         Tests for module 'uninorm/filter'.
39857         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
39858         * modules/uninorm/filter-tests: New file.
39859
39860         New module 'uninorm/filter'.
39861         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
39862         uninorm_filter_flush, uninorm_filter_free): New declarations.
39863         * lib/uninorm/uninorm-filter.c: New file.
39864         * modules/uninorm/filter: New file.
39865
39866 2009-02-21  Bruno Haible  <bruno@clisp.org>
39867
39868         Tests for module 'uninorm/nfkc'.
39869         * tests/uninorm/test-nfkc.c: New file.
39870         * tests/uninorm/test-u8-nfkc.c: New file.
39871         * tests/uninorm/test-u16-nfkc.c: New file.
39872         * tests/uninorm/test-u32-nfkc.c: New file.
39873         * tests/uninorm/test-u32-nfkc-big.sh: New file.
39874         * tests/uninorm/test-u32-nfkc-big.c: New file.
39875         * modules/uninorm/nfkc-tests: New file.
39876
39877         New module 'uninorm/nfkc'.
39878         * lib/uninorm/nfkc.c: New file.
39879         * modules/uninorm/nfkc: New file.
39880
39881         Tests for module 'uninorm/nfkd'.
39882         * tests/uninorm/test-nfkd.c: New file.
39883         * tests/uninorm/test-u8-nfkd.c: New file.
39884         * tests/uninorm/test-u16-nfkd.c: New file.
39885         * tests/uninorm/test-u32-nfkd.c: New file.
39886         * tests/uninorm/test-u32-nfkd-big.sh: New file.
39887         * tests/uninorm/test-u32-nfkd-big.c: New file.
39888         * modules/uninorm/nfkd-tests: New file.
39889
39890         New module 'uninorm/nfkd'.
39891         * lib/uninorm/nfkd.c: New file.
39892         * modules/uninorm/nfkd: New file.
39893
39894         Tests for module 'uninorm/nfc'.
39895         * tests/uninorm/test-nfc.c: New file.
39896         * tests/uninorm/test-u8-nfc.c: New file.
39897         * tests/uninorm/test-u16-nfc.c: New file.
39898         * tests/uninorm/test-u32-nfc.c: New file.
39899         * tests/uninorm/test-u32-nfc-big.sh: New file.
39900         * tests/uninorm/test-u32-nfc-big.c: New file.
39901         * modules/uninorm/nfc-tests: New file.
39902
39903         New module 'uninorm/nfc'.
39904         * lib/uninorm/nfc.c: New file.
39905         * modules/uninorm/nfc: New file.
39906
39907         Tests for module 'uninorm/nfd'.
39908         * tests/uninorm/test-nfd.c: New file.
39909         * tests/uninorm/test-u8-nfd.c: New file.
39910         * tests/uninorm/test-u16-nfd.c: New file.
39911         * tests/uninorm/test-u32-nfd.c: New file.
39912         * tests/uninorm/test-u32-nfd-big.sh: New file.
39913         * tests/uninorm/test-u32-nfd-big.c: New file.
39914         * tests/uninorm/test-u32-normalize-big.h: New file.
39915         * tests/uninorm/test-u32-normalize-big.c: New file.
39916         * tests/uninorm/NormalizationTest.txt: New file, created from
39917         Unicode 5.1.0 NormalizationTest.txt.
39918         * modules/uninorm/nfd-tests: New file.
39919
39920         New module 'uninorm/nfd'.
39921         * lib/uninorm/nfd.c: New file.
39922         * modules/uninorm/nfd: New file.
39923
39924         New module 'uninorm/u32-normalize'.
39925         * lib/uninorm/u32-normalize.c: New file.
39926         * modules/uninorm/u32-normalize: New file.
39927
39928         New module 'uninorm/u16-normalize'.
39929         * lib/uninorm/u16-normalize.c: New file.
39930         * modules/uninorm/u16-normalize: New file.
39931
39932         New module 'uninorm/u8-normalize'.
39933         * lib/uninorm/u8-normalize.c: New file.
39934         * lib/uninorm/normalize-internal.h: New file.
39935         * lib/uninorm/u-normalize-internal.h: New file.
39936         * modules/uninorm/u8-normalize: New file.
39937
39938         New module 'uninorm/decompose-internal'.
39939         * lib/uninorm/decompose-internal.c: New file.
39940         * modules/uninorm/decompose-internal: New file.
39941
39942         Tests for module 'uninorm/composition'.
39943         * tests/uninorm/test-composition.c: New file.
39944         * modules/uninorm/composition-tests: New file.
39945
39946         New module 'uninorm/composition'.
39947         * lib/uninorm/composition.c: New file.
39948         * lib/uninorm/composition-table.gperf: New file, generated by
39949         gen-uni-tables.
39950         * modules/uninorm/composition: New file.
39951
39952         Tests for module 'uninorm/compat-decomposition'.
39953         * tests/uninorm/test-compat-decomposition.c: New file.
39954         * modules/uninorm/compat-decomposition-tests: New file.
39955
39956         New module 'uninorm/compat-decomposition'.
39957         * lib/uninorm/decompose-internal.h: New file.
39958         * lib/uninorm/compat-decomposition.c: New file.
39959         * modules/uninorm/compat-decomposition: New file.
39960
39961         Tests for module 'uninorm/canonical-decomposition'.
39962         * tests/uninorm/test-canonical-decomposition.c: New file.
39963         * modules/uninorm/canonical-decomposition-tests: New file.
39964
39965         New module 'uninorm/canonical-decomposition'.
39966         * lib/uninorm/canonical-decomposition.c: New file.
39967         * modules/uninorm/canonical-decomposition: New file.
39968
39969         Tests for module 'uninorm/decomposition'.
39970         * tests/uninorm/test-decomposition.c: New file.
39971         * modules/uninorm/decomposition-tests: New file.
39972
39973         New module 'uninorm/decomposition'.
39974         * lib/uninorm/decomposition.c: New file.
39975         * modules/uninorm/decomposition: New file.
39976
39977         New module 'uninorm/decomposition-table'.
39978         * lib/uninorm/decomposition-table.h: New file.
39979         * lib/uninorm/decomposition-table.c: New file.
39980         * lib/uninorm/decomposition-table1.h: New file, generated by
39981         gen-uni-tables.
39982         * lib/uninorm/decomposition-table2.h: New file, generated by
39983         gen-uni-tables.
39984         * modules/uninorm/decomposition-table: New file.
39985
39986         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
39987         (UC_DECOMP_*): New enumeration items.
39988         (get_decomposition): New function.
39989         (struct decomp_table): New type.
39990         (output_decomposition, output_decomposition_tables): New functions.
39991         (unicode_composition_exclusions): New variable.
39992         (fill_composition_exclusions, debug_output_composition_tables): New
39993         functions.
39994         (main): Accept one more argument. Invoke fill_composition_exclusions.
39995         Output decomposition and composition tables.
39996
39997         New module 'uninorm/base'.
39998         * lib/uninorm.h: New file.
39999         * lib/unictype.h: Update comment.
40000         * modules/uninorm/base: New file.
40001
40002 2009-02-21  David Lutterkort  <lutter@redhat.com>
40003
40004         Tests for module 'safe-alloc'.
40005         * tests/test-safe-alloc.c: New file.
40006         * modules/safe-alloc-tests: New file.
40007
40008         New module 'safe-alloc'.
40009         * lib/safe-alloc.h: New file.
40010         * lib/safe-alloc.c: New file.
40011         * m4/safe-alloc.m4: New file.
40012         * modules/safe-alloc: New file.
40013         * doc/safe-alloc.texi: New file.
40014         * doc/gnulib.texi: Include it.
40015         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
40016         safe-alloc.
40017
40018 2009-02-18  Bruno Haible  <bruno@clisp.org>
40019
40020         Fix link error on non-glibc systems.
40021         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
40022         variable.
40023         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40024
40025 2009-02-18  Jim Meyering  <meyering@redhat.com>
40026
40027         fts: avoid used-uninitialized error due to recent change
40028         * lib/fts.c (fts_read): Guard uses of the new member,
40029         parent->fts_n_dirs_remaining, since it's not relevant for
40030         the parent of a directory specified on the command-line.
40031
40032 2009-02-17  James Youngman  <jay@gnu.org>
40033             Bruno Haible  <bruno@clisp.org>
40034
40035         * m4/include_next.m4: Reformulate comment.
40036
40037 2009-02-16  Jim Meyering  <meyering@redhat.com>
40038
40039         fts: add #if guards so that the fts_lgpl module still builds
40040         * lib/fts.c: Guard just-added hash-table-using parts with
40041         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
40042         Reported by Simon Josefsson.
40043
40044 2009-02-15  Bruno Haible  <bruno@clisp.org>
40045
40046         * modules/array-mergesort-tests: New file.
40047         * tests/test-array-mergesort.c: New file.
40048
40049         New module 'array-mergesort'.
40050         * modules/array-mergesort: New file.
40051         * lib/array-mergesort.h: New file.
40052
40053 2009-02-15  Bruno Haible  <bruno@clisp.org>
40054
40055         Fix 2009-02-07 commit.
40056         * lib/gen-uni-tables.c (output_predicate, output_category,
40057         output_combclass, output_bidi_category, output_decimal_digit,
40058         output_digit, output_numeric, output_mirror, output_scripts,
40059         output_ident_category, output_simple_mapping): Fix format directives.
40060         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
40061
40062 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
40063
40064         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
40065         fixes are available from IBM.
40066
40067 2009-02-13  Jim Meyering  <meyering@redhat.com>
40068
40069         fts: arrange not to stat non-directories in more cases
40070         This makes GNU find (when it doesn't need to stat each file)
40071         *much* more efficient at traversing reiserfs file systems.
40072         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
40073         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
40074         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
40075         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
40076         (leaf_optimization_applies): New function.
40077         (LCO_hash, LCO_compare): New helper functions.
40078         (link_count_optimize_ok): New function.
40079         (fts_stat): Initialize new member (if dir).
40080         (fts_read): Decrement parent's fts_n_dirs_remaining count if
40081         we've just stat'ed a directory.  Skip the stat call when possible.
40082         ---
40083         Note this AFS-related exchange:
40084         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
40085         and note find's pioctl call in find/fstype.c.
40086         But that is necessary only if you want to enable the
40087         optimization for AFS, and for now, I don't.
40088
40089         fts: move a function definition "up" (no semantic change)
40090         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
40091         "up" to precede upcoming use of a related function.
40092
40093 2009-02-11  Jim Meyering  <meyering@redhat.com>
40094
40095         fts: correct internal computation of nlinks (optimization-related)
40096         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
40097         whether the current entry is a directory, so don't test it.
40098
40099 2009-02-10  Bruno Haible  <bruno@clisp.org>
40100
40101         Tests for module 'uniwbrk/ulc-wordbreaks'.
40102         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
40103         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
40104         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
40105
40106         Tests for module 'uniwbrk/u32-wordbreaks'.
40107         * modules/uniwbrk/u32-wordbreaks-tests: New file.
40108         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
40109
40110         Tests for module 'uniwbrk/u16-wordbreaks'.
40111         * modules/uniwbrk/u16-wordbreaks-tests: New file.
40112         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
40113
40114         Tests for module 'uniwbrk/u8-wordbreaks'.
40115         * modules/uniwbrk/u8-wordbreaks-tests: New file.
40116         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
40117
40118 2009-02-10  Bruno Haible  <bruno@clisp.org>
40119
40120         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
40121         property.
40122         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
40123         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
40124         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
40125
40126 2009-02-10  Simon Josefsson  <simon@josefsson.org>
40127
40128         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
40129         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
40130
40131 2009-02-10  Bruno Haible  <bruno@clisp.org>
40132
40133         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
40134         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
40135         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
40136         * lib/unilbrk/u8-possible-linebreaks.c: Update.
40137         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
40138         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
40139
40140 2009-02-09  Simon Josefsson  <simon@josefsson.org>
40141
40142         * lib/sockets.h (gl_fd_to_handle): New function.
40143
40144         * tests/test-sockets.c: Call gl_fd_to_handle.
40145
40146 2009-02-09  Bruno Haible  <bruno@clisp.org>
40147
40148         * doc/havelib.texi: Document the conventions on bi-arch systems.
40149
40150 2009-02-08  Bruno Haible  <bruno@clisp.org>
40151
40152         Document the AC_LIB_LINKFLAGS macro.
40153         * doc/havelib.texi: New file, mostly written on 2005-05-24.
40154         * doc/gnulib.texi: Include it.
40155
40156 2009-02-08  Bruno Haible  <bruno@clisp.org>
40157
40158         Fix wrong order of sections, compared to TOC.
40159         * doc/gnulib.texi: Include relocatable-maint.texi after the
40160         "Regular expressions" node, not before.
40161
40162 2009-02-08  Bruno Haible  <bruno@clisp.org>
40163
40164         Tests for module 'unicase/totitle'.
40165         * modules/unicase/totitle-tests: New file.
40166
40167         Tests for module 'unicase/tolower'.
40168         * modules/unicase/tolower-tests: New file.
40169
40170         Tests for module 'unicase/toupper'.
40171         * modules/unicase/toupper-tests: New file.
40172         * tests/unicase/test-mapping-part1.h: New file.
40173         * tests/unicase/test-mapping-part2.h: New file.
40174
40175         New module 'unicase/totitle'.
40176         * modules/unicase/totitle: New file.
40177         * lib/unicase/totitle.c: New file.
40178
40179         New module 'unicase/tolower'.
40180         * modules/unicase/tolower: New file.
40181         * lib/unicase/tolower.c: New file.
40182
40183         New module 'unicase/toupper'.
40184         * modules/unicase/toupper: New file.
40185         * lib/unicase/toupper.c: New file.
40186         * lib/unicase/simple-mapping.h: New file.
40187
40188         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
40189         (mapping_table): New structure.
40190         (output_simple_mapping): New function.
40191         (main): Invoke output_simple_mapping_test and output_simple_mapping.
40192         * modules/gen-uni-tables (Description): Update.
40193         * lib/unicase/toupper.h: New file, automatically generated by
40194         gen-uni-tables.
40195         * lib/unicase/tolower.h: New file, automatically generated by
40196         gen-uni-tables.
40197         * lib/unicase/totitle.h: New file, automatically generated by
40198         gen-uni-tables.
40199         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
40200         gen-uni-tables.
40201         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
40202         gen-uni-tables.
40203         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
40204         gen-uni-tables.
40205
40206         New module 'unicase/base'.
40207         * modules/unicase/base: New file.
40208         * lib/unicase.h: New file.
40209
40210 2009-02-08  Bruno Haible  <bruno@clisp.org>
40211
40212         New module 'uniwbrk/ulc-wordbreaks'.
40213         * modules/uniwbrk/ulc-wordbreaks: New file.
40214         * lib/uniwbrk/ulc-wordbreaks.c: New file.
40215
40216         New module 'uniwbrk/u32-wordbreaks'.
40217         * modules/uniwbrk/u32-wordbreaks: New file.
40218         * lib/uniwbrk/u32-wordbreaks.c: New file.
40219
40220         New module 'uniwbrk/u16-wordbreaks'.
40221         * modules/uniwbrk/u16-wordbreaks: New file.
40222         * lib/uniwbrk/u16-wordbreaks.c: New file.
40223
40224         New module 'uniwbrk/u8-wordbreaks'.
40225         * modules/uniwbrk/u8-wordbreaks: New file.
40226         * lib/uniwbrk/u8-wordbreaks.c: New file.
40227         * lib/uniwbrk/u-wordbreaks.h: New file.
40228
40229         New module 'uniwbrk/table'.
40230         * modules/uniwbrk/table: New file.
40231         * lib/uniwbrk/wbrktable.h: New file.
40232         * lib/uniwbrk/wbrktable.c: New file.
40233
40234         New module 'uniwbrk/wordbreak-property'.
40235         * modules/uniwbrk/wordbreak-property: New file.
40236         * lib/uniwbrk/wordbreak-property.c: New file.
40237
40238         * lib/gen-uni-tables.c (WBP_*): New enum items.
40239         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
40240         (unicode_org_wbp): New variable.
40241         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
40242         New functions.
40243         (wbp_table): New structure.
40244         (output_wbp, output_wbrk_tables): New functions.
40245         (main): Accept additional argument. Invoke fill_org_wbp,
40246         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
40247         output_wbrk_tables.
40248         * modules/gen-uni-tables (Description): Update.
40249         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
40250         gen-uni-tables.
40251
40252         New module 'uniwbrk/base'.
40253         * modules/uniwbrk/base: New file.
40254         * lib/uniwbrk.h: New file.
40255
40256 2009-02-08  Bruno Haible  <bruno@clisp.org>
40257
40258         Update to Unicode 5.1.0.
40259         * lib/gen-uni-tables.c (is_property_alphabetic): Include
40260         U+2185..U+2188.
40261         (is_property_default_ignorable_code_point): Don't include characters
40262         of category Cc or Cs and not-a-characters.
40263         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
40264         U+0D79, U+109E, U+109F, U+A60C.
40265         * lib/unictype/bidi_of.h: Regenerated.
40266         * lib/unictype/blocks.h: Regenerated.
40267         * lib/unictype/categ_C.h: Regenerated.
40268         * lib/unictype/categ_Cf.h: Regenerated.
40269         * lib/unictype/categ_Cn.h: Regenerated.
40270         * lib/unictype/categ_L.h: Regenerated.
40271         * lib/unictype/categ_Ll.h: Regenerated.
40272         * lib/unictype/categ_Lm.h: Regenerated.
40273         * lib/unictype/categ_Lo.h: Regenerated.
40274         * lib/unictype/categ_Lu.h: Regenerated.
40275         * lib/unictype/categ_M.h: Regenerated.
40276         * lib/unictype/categ_Mc.h: Regenerated.
40277         * lib/unictype/categ_Me.h: Regenerated.
40278         * lib/unictype/categ_Mn.h: Regenerated.
40279         * lib/unictype/categ_N.h: Regenerated.
40280         * lib/unictype/categ_Nd.h: Regenerated.
40281         * lib/unictype/categ_Nl.h: Regenerated.
40282         * lib/unictype/categ_No.h: Regenerated.
40283         * lib/unictype/categ_P.h: Regenerated.
40284         * lib/unictype/categ_Pd.h: Regenerated.
40285         * lib/unictype/categ_Pe.h: Regenerated.
40286         * lib/unictype/categ_Pf.h: Regenerated.
40287         * lib/unictype/categ_Pi.h: Regenerated.
40288         * lib/unictype/categ_Po.h: Regenerated.
40289         * lib/unictype/categ_Ps.h: Regenerated.
40290         * lib/unictype/categ_S.h: Regenerated.
40291         * lib/unictype/categ_Sk.h: Regenerated.
40292         * lib/unictype/categ_Sm.h: Regenerated.
40293         * lib/unictype/categ_So.h: Regenerated.
40294         * lib/unictype/categ_of.h: Regenerated.
40295         * lib/unictype/combining.h: Regenerated.
40296         * lib/unictype/ctype_alnum.h: Regenerated.
40297         * lib/unictype/ctype_alpha.h: Regenerated.
40298         * lib/unictype/ctype_graph.h: Regenerated.
40299         * lib/unictype/ctype_lower.h: Regenerated.
40300         * lib/unictype/ctype_print.h: Regenerated.
40301         * lib/unictype/ctype_punct.h: Regenerated.
40302         * lib/unictype/ctype_upper.h: Regenerated.
40303         * lib/unictype/decdigit.h: Regenerated.
40304         * lib/unictype/digit.h: Regenerated.
40305         * lib/unictype/mirror.h: Regenerated.
40306         * lib/unictype/numeric.h: Regenerated.
40307         * lib/unictype/pr_alphabetic.h: Regenerated.
40308         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
40309         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
40310         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
40311         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
40312         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
40313         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
40314         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
40315         * lib/unictype/pr_combining.h: Regenerated.
40316         * lib/unictype/pr_dash.h: Regenerated.
40317         * lib/unictype/pr_decimal_digit.h: Regenerated.
40318         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
40319         * lib/unictype/pr_deprecated.h: Regenerated.
40320         * lib/unictype/pr_diacritic.h: Regenerated.
40321         * lib/unictype/pr_extender.h: Regenerated.
40322         * lib/unictype/pr_format_control.h: Regenerated.
40323         * lib/unictype/pr_grapheme_base.h: Regenerated.
40324         * lib/unictype/pr_grapheme_extend.h: Regenerated.
40325         * lib/unictype/pr_grapheme_link.h: Regenerated.
40326         * lib/unictype/pr_id_continue.h: Regenerated.
40327         * lib/unictype/pr_id_start.h: Regenerated.
40328         * lib/unictype/pr_ideographic.h: Regenerated.
40329         * lib/unictype/pr_ignorable_control.h: Regenerated.
40330         * lib/unictype/pr_lowercase.h: Regenerated.
40331         * lib/unictype/pr_math.h: Regenerated.
40332         * lib/unictype/pr_numeric.h: Regenerated.
40333         * lib/unictype/pr_other_alphabetic.h: Regenerated.
40334         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
40335         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
40336         * lib/unictype/pr_other_id_continue.h: Regenerated.
40337         * lib/unictype/pr_other_lowercase.h: Regenerated.
40338         * lib/unictype/pr_other_math.h: Regenerated.
40339         * lib/unictype/pr_punctuation.h: Regenerated.
40340         * lib/unictype/pr_sentence_terminal.h: Regenerated.
40341         * lib/unictype/pr_soft_dotted.h: Regenerated.
40342         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
40343         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
40344         * lib/unictype/pr_unified_ideograph.h: Regenerated.
40345         * lib/unictype/pr_uppercase.h: Regenerated.
40346         * lib/unictype/pr_xid_continue.h: Regenerated.
40347         * lib/unictype/pr_xid_start.h: Regenerated.
40348         * lib/unictype/pr_zero_width.h: Regenerated.
40349         * lib/unictype/scripts.h: Regenerated.
40350         * lib/unictype/scripts_byname.gperf: Regenerated.
40351         * lib/unictype/sy_java_ident.h: Regenerated.
40352         * lib/unilbrk/lbrkprop1.h: Regenerated.
40353         * lib/unilbrk/lbrkprop2.h: Regenerated.
40354         * tests/unictype/test-categ_C.c: Regenerated.
40355         * tests/unictype/test-categ_Cf.c: Regenerated.
40356         * tests/unictype/test-categ_Cn.c: Regenerated.
40357         * tests/unictype/test-categ_L.c: Regenerated.
40358         * tests/unictype/test-categ_Ll.c: Regenerated.
40359         * tests/unictype/test-categ_Lm.c: Regenerated.
40360         * tests/unictype/test-categ_Lo.c: Regenerated.
40361         * tests/unictype/test-categ_Lu.c: Regenerated.
40362         * tests/unictype/test-categ_M.c: Regenerated.
40363         * tests/unictype/test-categ_Mc.c: Regenerated.
40364         * tests/unictype/test-categ_Me.c: Regenerated.
40365         * tests/unictype/test-categ_Mn.c: Regenerated.
40366         * tests/unictype/test-categ_N.c: Regenerated.
40367         * tests/unictype/test-categ_Nd.c: Regenerated.
40368         * tests/unictype/test-categ_Nl.c: Regenerated.
40369         * tests/unictype/test-categ_No.c: Regenerated.
40370         * tests/unictype/test-categ_P.c: Regenerated.
40371         * tests/unictype/test-categ_Pd.c: Regenerated.
40372         * tests/unictype/test-categ_Pe.c: Regenerated.
40373         * tests/unictype/test-categ_Pf.c: Regenerated.
40374         * tests/unictype/test-categ_Pi.c: Regenerated.
40375         * tests/unictype/test-categ_Po.c: Regenerated.
40376         * tests/unictype/test-categ_Ps.c: Regenerated.
40377         * tests/unictype/test-categ_S.c: Regenerated.
40378         * tests/unictype/test-categ_Sk.c: Regenerated.
40379         * tests/unictype/test-categ_Sm.c: Regenerated.
40380         * tests/unictype/test-categ_So.c: Regenerated.
40381         * tests/unictype/test-ctype_alnum.c: Regenerated.
40382         * tests/unictype/test-ctype_alpha.c: Regenerated.
40383         * tests/unictype/test-ctype_graph.c: Regenerated.
40384         * tests/unictype/test-ctype_lower.c: Regenerated.
40385         * tests/unictype/test-ctype_print.c: Regenerated.
40386         * tests/unictype/test-ctype_punct.c: Regenerated.
40387         * tests/unictype/test-ctype_upper.c: Regenerated.
40388         * tests/unictype/test-decdigit.h: Regenerated.
40389         * tests/unictype/test-digit.h: Regenerated.
40390         * tests/unictype/test-numeric.h: Regenerated.
40391         * tests/unictype/test-pr_alphabetic.c: Regenerated.
40392         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
40393         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
40394         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
40395         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
40396         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
40397         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
40398         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
40399         * tests/unictype/test-pr_combining.c: Regenerated.
40400         * tests/unictype/test-pr_dash.c: Regenerated.
40401         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
40402         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
40403         * tests/unictype/test-pr_deprecated.c: Regenerated.
40404         * tests/unictype/test-pr_diacritic.c: Regenerated.
40405         * tests/unictype/test-pr_extender.c: Regenerated.
40406         * tests/unictype/test-pr_format_control.c: Regenerated.
40407         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
40408         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
40409         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
40410         * tests/unictype/test-pr_id_continue.c: Regenerated.
40411         * tests/unictype/test-pr_id_start.c: Regenerated.
40412         * tests/unictype/test-pr_ideographic.c: Regenerated.
40413         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
40414         * tests/unictype/test-pr_lowercase.c: Regenerated.
40415         * tests/unictype/test-pr_math.c: Regenerated.
40416         * tests/unictype/test-pr_numeric.c: Regenerated.
40417         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
40418         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
40419         Regenerated.
40420         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
40421         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
40422         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
40423         * tests/unictype/test-pr_other_math.c: Regenerated.
40424         * tests/unictype/test-pr_punctuation.c: Regenerated.
40425         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
40426         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
40427         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
40428         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
40429         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
40430         * tests/unictype/test-pr_uppercase.c: Regenerated.
40431         * tests/unictype/test-pr_xid_continue.c: Regenerated.
40432         * tests/unictype/test-pr_xid_start.c: Regenerated.
40433         * tests/unictype/test-pr_zero_width.c: Regenerated.
40434
40435         Update to Unicode 5.1.0.
40436         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
40437         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
40438         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
40439         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
40440         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
40441         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
40442         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
40443         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
40444         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
40445         (nonspacing_table_ind): Update.
40446         * tests/uniwidth/test-uc_width2.sh: Update expected result.
40447
40448         Update to Unicode 5.1.0.
40449         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
40450         code transform.
40451         * lib/uniname/uniname.c (unicode_character_name,
40452         unicode_name_character): Add the range 0x1Fxxx to the code transform.
40453         * lib/uniname/uninames.h: Regenerated.
40454         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
40455
40456 2009-02-07  Bruno Haible  <bruno@clisp.org>
40457
40458         Merge gen-ctype and gen-lbrk into a single program.
40459         * lib/gen-uni-tables.c: New file, incorporating
40460         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
40461         Add directory prefixes to the names of the generated files.
40462         * lib/unictype/gen-ctype.c: Remove file.
40463         * lib/unilbrk/gen-lbrk.c: Remove file.
40464         * modules/gen-uni-tables: New file.
40465         * modules/unictype/gen-ctype: Remove file.
40466         * modules/unilbrk/gen-lbrk: Remove file.
40467
40468 2009-02-07  Bruno Haible  <bruno@clisp.org>
40469
40470         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
40471
40472         New module 'unistr/u32-strcoll'.
40473         * modules/unistr/u32-strcoll: New file.
40474         * lib/unistr/u32-strcoll.c: New file.
40475
40476         New module 'unistr/u16-strcoll'.
40477         * modules/unistr/u16-strcoll: New file.
40478         * lib/unistr/u16-strcoll.c: New file.
40479
40480         New module 'unistr/u8-strcoll'.
40481         * modules/unistr/u8-strcoll: New file.
40482         * lib/unistr/u8-strcoll.c: New file.
40483         * lib/unistr/u-strcoll.h: New file.
40484
40485 2009-02-07  Bruno Haible  <bruno@clisp.org>
40486
40487         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
40488         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
40489         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
40490         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
40491         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
40492         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
40493
40494 2009-02-07  Bruno Haible  <bruno@clisp.org>
40495
40496         Make 64-bit clean.
40497         * lib/unictype/gen-ctype.c (output_predicate, output_category,
40498         output_combclass, output_bidi_category, output_decimal_digit,
40499         output_digit, output_numeric, output_mirror, output_scripts,
40500         output_ident_category): Use proper width specifier in format strings.
40501
40502 2009-02-07  Bruno Haible  <bruno@clisp.org>
40503
40504         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
40505         failure behaviour.
40506
40507 2009-02-07  Jim Meyering  <meyering@redhat.com>
40508
40509         regex: avoid compilation failure with upcoming gcc-4.4
40510         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
40511         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
40512         "... error: integer overflow in preprocessor expression".
40513
40514 2009-02-05  Ben Pfaff  <blp@gnu.org>
40515
40516         Fix link errors on Windows when close module is used.
40517         * modules/close: Add $(LIB_CLOSE) to Link section.
40518         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
40519         $(LIB_CLOSE) on Windows.
40520
40521 2009-02-05  Jim Meyering  <meyering@redhat.com>
40522
40523         still avoid unused-parameter warnings, but do it cleanly
40524         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
40525         (get_fs_usage): Cast to void instead.
40526         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
40527         (dev_from_mount_options, read_file_system_list): Cast to void.
40528         Prompted by Bruno Haible.
40529
40530 2009-02-04  Jim Meyering  <meyering@redhat.com>
40531
40532         fsusage.c: correct copyright year
40533         * lib/fsusage.c: Reflect year in which the change is pushed into
40534
40535         avoid misc. warnings
40536         * lib/fsusage.c (UNUSED_PARAM): Define.
40537         (get_fs_usage): Mark parameter "disk" as unused.
40538         * lib/getugroups.c (getgrent): Use "void" in prototype.
40539         * lib/mountlist.c: Mark unused parameters.
40540         (read_file_system_list): Declare a local with "const".
40541         * lib/nanosleep.c (getnow): Declare static.
40542         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
40543
40544         dirfd: set errno upon failure
40545         * lib/dirfd.c: Include <errno.h>.
40546         Set errno to ENOTSUP when returning -1.
40547         * modules/dirfd (Depends-on): Add errno.
40548         Suggested by John Kodis <kodis@comcast.net>.
40549
40550 2009-02-01  Bruno Haible  <bruno@clisp.org>
40551
40552         Don't assume sizeof (long) >= sizeof (void *).
40553         * lib/memcmp.c: Include stdint.h.
40554         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
40555         srcp2 to 'const byte *'.
40556         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
40557         types to uintptr_t.
40558         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
40559         * modules/memcmp (Depends-on): Add stdint.
40560         Reported by Ozkan Sezer <sezeroz@gmail.com>.
40561
40562 2009-01-30  Eric Blake  <ebb9@byu.net>
40563
40564         fix more require-before-expand issues
40565         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
40566         expand, AC_PROG_AWK.
40567         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
40568
40569 2009-01-28  Eric Blake  <ebb9@byu.net>
40570
40571         version-etc: use consistent URL formatting
40572         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
40573         Improve formatting.  Use fputs for string without %.
40574
40575 2009-01-28  Jim Meyering  <meyering@redhat.com>
40576
40577         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
40578         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
40579         "underquoted definition of NAME" from autoconf-2.59.
40580
40581 2009-01-28  Bruno Haible  <bruno@clisp.org>
40582
40583         * doc/gnulib.texi: Add "Obsolete modules" to index.
40584
40585 2009-01-28  Jim Meyering  <meyering@redhat.com>
40586
40587         useless-if-before-free: recognize more variants
40588         * build-aux/useless-if-before-free: Also recognize e.g.,
40589         if (NULL != p) free (p);
40590
40591 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
40592
40593         test-getaddrinfo: skip (don't fail) this test when there's no network
40594         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
40595         on the presumption that it means you lack network access.
40596
40597 2009-01-26  Jim Meyering  <meyering@redhat.com>
40598
40599         fflush: avoid warnings on modern systems
40600         * lib/fflush.c (rpl_fflush): Move declarations of locals,
40601         pos and result, into scopes where they're used.
40602
40603 2009-01-26  Eric Blake  <ebb9@byu.net>
40604
40605         Silence warning reintroduced by recent extensions patch.
40606         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
40607         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
40608         autoconf.
40609
40610         Backport improved autoconf semantics of AC_DEFUN_ONCE.
40611         * m4/00gnulib.m4: New file.
40612         * gnulib-tool (func_get_filelist): Always use it.
40613         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
40614         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
40615
40616 2009-01-25  Bruno Haible  <bruno@clisp.org>
40617
40618         Make test-quotearg work on MacOS X and AIX.
40619         * tests/test-quotearg.sh: New file.
40620         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
40621         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
40622         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
40623         include <libintl.h>.
40624         (fake_locale): Remove variable.
40625         (gettext, dgettext, dcgettext): Remove functions.
40626         (main): Instead of setting a fake locale, set a real locale. Call
40627         textdomain and bindtextdomain.
40628         * modules/quotearg-tests (Files): Add the new files.
40629         (Depends-on): Add gettext, setenv, unsetenv.
40630         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
40631         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
40632         Augment TESTS_ENVIRONMENT.
40633
40634 2009-01-25  Bruno Haible  <bruno@clisp.org>
40635
40636         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
40637         fr_FR.ISO8859-1 locale on MacOS X.
40638         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
40639         ja_JP.eucJP locale on MacOS X.
40640         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
40641         zh_CN.GB18030 locale on MacOS X.
40642
40643 2009-01-25  Bruno Haible  <bruno@clisp.org>
40644
40645         Avoid link errors on MacOS X 10.3.
40646         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
40647         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
40648
40649 2009-01-25  Bruno Haible  <bruno@clisp.org>
40650
40651         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
40652         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
40653         * modules/pipe (Files): Remove m4/posix_spawn.m4.
40654         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
40655         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
40656         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
40657         posix_spawnattr_init, posix_spawnattr_setsigmask,
40658         posix_spawnattr_setflags, posix_spawnattr_destroy.
40659
40660         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
40661         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
40662         * modules/execute (Files): Remove m4/posix_spawn.m4.
40663         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
40664         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
40665         posix_spawnattr_init, posix_spawnattr_setsigmask,
40666         posix_spawnattr_setflags, posix_spawnattr_destroy.
40667
40668 2009-01-25  Bruno Haible  <bruno@clisp.org>
40669
40670         * lib/glthread/threadlib.c: Include <stdlib.h>.
40671
40672 2009-01-25  Bruno Haible  <bruno@clisp.org>
40673
40674         * lib/glthread/threadlib.c (dummy): New declaration.
40675
40676 2009-01-25  Bruno Haible  <bruno@clisp.org>
40677
40678         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
40679         multibyte characters also for the GB18030 encoding. Don't crash when
40680         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
40681
40682 2009-01-25  Bruno Haible  <bruno@clisp.org>
40683
40684         Avoid redefining 'struct random_data' on OSF/1 5.1.
40685         * lib/stdlib.in.h: Include <random.h> if it exists.
40686         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
40687         HAVE_RANDOM_H. Include <random.h> when testing whether
40688         'struct random_data' exists.
40689         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
40690
40691 2009-01-25  Bruno Haible  <bruno@clisp.org>
40692
40693         Don't install charset.alias on MacOS X >= 10.3.
40694         * lib/localcharset.c (DARWIN7): New macro.
40695         (get_charset_aliases): Hardcode the result for Darwin7.
40696         * modules/localcharset (install-exec-local): Don't install
40697         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
40698
40699 2009-01-25  Bruno Haible  <bruno@clisp.org>
40700
40701         Don't install charset.alias on mingw and Cygwin.
40702         * modules/localcharset (install-exec-local): Don't install
40703         charset.alias on mingw and Cygwin, if the file does not yet exist.
40704         The result for these platforms is hardcoded in localcharset.c.
40705
40706 2009-01-25  Bruno Haible  <bruno@clisp.org>
40707
40708         Make it possible again to use AC_GNU_SOURCE together with gnulib.
40709         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
40710         before requiring AC_USE_SYSTEM_EXTENSIONS.
40711
40712 2009-01-25  Jim Meyering  <meyering@redhat.com>
40713
40714         c-strtod: avoid warnings
40715         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
40716         "assignment discards qualifiers from pointer target type" warnings.
40717
40718 2009-01-24  Bruno Haible  <bruno@clisp.org>
40719
40720         Add support for non-UTF-8 locales on MacOS X.
40721         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
40722         canonical encodings. For Darwin 7 and newer, don't map traditional
40723         encodings to UTF-8.
40724         Reported by Vincent Lefevre <vincent@vinc17.org>
40725         at <http://savannah.gnu.org/bugs/?25235>.
40726
40727 2009-01-24  Bruno Haible  <bruno@clisp.org>
40728
40729         * doc/gnulib.texi (Obsolete modules): New section.
40730         Reported by Mike Frysinger <vapier@gentoo.org>.
40731
40732 2009-01-24  Bruno Haible  <bruno@clisp.org>
40733
40734         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
40735         (%.dvi): New rule.
40736
40737 2009-01-24  Bruno Haible  <bruno@clisp.org>
40738
40739         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
40740         Reported by Eric Blake.
40741
40742 2009-01-24  Bruno Haible  <bruno@clisp.org>
40743
40744         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
40745         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
40746         Reported by Gary V. Vaughan <gary@gnu.org>.
40747
40748 2009-01-24  Bruno Haible  <bruno@clisp.org>
40749
40750         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
40751
40752 2009-01-23  Bruno Haible  <bruno@clisp.org>
40753
40754         Make c-strtod, c-strtold usable in libraries.
40755         * lib/c-strtod.c: Include string.h instead of xalloc.h.
40756         (C_STRTOD): Call strdup instead of xstrdup.
40757         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
40758         * modules/c-strtold (Depends-on): Likewise.
40759         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
40760         * NEWS: Mention the change.
40761         Reported by Michael Gold <mgold@ncf.ca>.
40762
40763 2009-01-23  Jim Meyering  <meyering@redhat.com>
40764
40765         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
40766         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
40767         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
40768
40769 2009-01-23  Simon Josefsson  <simon@josefsson.org>
40770
40771         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
40772         GNU CoreUtils.
40773         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
40774         * modules/version-etc (Description): Update.
40775
40776 2009-01-22  Bruno Haible  <bruno@clisp.org>
40777
40778         Cache the C locale object.
40779         * lib/c-strtod.c (c_locale_cache): New variable.
40780         (c_locale): New function.
40781         (C_STRTOD): Use it, and don't call freelocale.
40782         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
40783         Suggested by Paolo Bonzini.
40784
40785 2009-01-21  Bruno Haible  <bruno@clisp.org>
40786
40787         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
40788         conditions other than overflow.
40789
40790 2009-01-21  Bruno Haible  <bruno@clisp.org>
40791
40792         * lib/c-strtod.c: Include errno.h.
40793         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
40794         value from STRTOD_L and STRTOD.
40795
40796 2009-01-21  Bruno Haible  <bruno@clisp.org>
40797         and Jim Meyering  <meyering@redhat.com>
40798
40799         nanosleep: skip configure test (fail it) for apple universal builds
40800         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
40801         universal builds, assume that nanosleep does not work.
40802         * modules/nanosleep (Depends-on): Add multiarch.
40803
40804         mktime: skip configure test (fail it) for apple universal builds
40805         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
40806         universal builds, assume that mktime does not work.
40807         * modules/mktime (Depends-on): Add multiarch.
40808
40809 2009-01-21  Eric Blake  <ebb9@byu.net>
40810
40811         multiarch: avoid expand-before-require warning
40812         * modules/multiarch (configure.ac): Require, rather than expand,
40813         gl_MULTIARCH.
40814         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
40815         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
40816         enforce that all clients require it.  Partial reversion of
40817         2008-12-29 patch.
40818
40819         error: avoid expand-before-require warning
40820         * modules/errno (configure.ac): Require, rather than expand,
40821         gl_HEADER_ERRNO_H.
40822         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
40823         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
40824         enforce that all clients require it.
40825
40826         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
40827         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
40828         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
40829         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
40830
40831 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
40832
40833         Revert:
40834         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
40835
40836         regex: do not depend on obsolete modules.
40837         * modules/regex: Remove memcmp and memmove.
40838
40839 2009-01-20  Bruno Haible  <bruno@clisp.org>
40840
40841         Make the 'link' module link on Windows NT 4.
40842         * lib/link.c (_WIN32_WINNT): Don't define.
40843         (CreateHardLinkFuncType): New type.
40844         (CreateHardLinkFunc, initialized): New variables.
40845         (initialize): New function.
40846         (link): Invoke CreateHardLink indirectly through the function pointer.
40847
40848 2009-01-20  Bruno Haible  <bruno@clisp.org>
40849
40850         Fix compilation failure on mingw.
40851         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
40852
40853 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
40854
40855         * doc/c-strtod.texi: Mention a couple of restrictions.
40856
40857 2009-01-20  Jim Meyering  <meyering@redhat.com>
40858
40859         gettimeofday: move more declarations out of functions
40860         * lib/gettimeofday.c: Move extern declarations of tzset and
40861         gmtime out of containing functions.  Prompted by Bruno Haible.
40862
40863 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
40864
40865         regex: do not depend on obsolete modules.
40866         * modules/regex: Remove memcmp and memmove.
40867
40868 2009-01-19  Bruno Haible  <bruno@clisp.org>
40869
40870         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
40871         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
40872         gl_BIGENDIAN, not AC_C_BIGENDIAN.
40873         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
40874         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
40875
40876 2009-01-19  Bruno Haible  <bruno@clisp.org>
40877
40878         * tests/test-link.c: Include <errno.h>.
40879         (main): Exit with code 77 when a hard link cannot be created due to
40880         the file system.
40881         * tests/test-link.sh: Skip test when a hard link cannot be created due
40882         to the file system.
40883         Suggested by Eric Blake.
40884
40885 2009-01-19  Martin Lambers  <marlam@marlam.de>
40886
40887         * modules/link-tests: New file.
40888         * tests/test-link.sh: New file.
40889         * tests/test-link.c: New file.
40890
40891 2009-01-19  Eric Blake  <ebb9@byu.net>
40892
40893         doc: mention another function added in cygwin 1.7.0
40894         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
40895         Another new function in cygwin 1.7.
40896
40897 2009-01-19  Bruno Haible  <bruno@clisp.org>
40898
40899         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
40900         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
40901         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
40902         gl_BIGENDIAN, not AC_C_BIGENDIAN.
40903         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
40904         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
40905         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
40906         * m4/md4.m4 (gl_MD4): Likewise.
40907         * m4/md5.m4 (gl_MD5): Likewise.
40908         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
40909         * m4/sha1.m4 (gl_SHA1): Likewise.
40910         * m4/sha256.m4 (gl_SHA256): Likewise.
40911         * m4/sha512.m4 (gl_SHA512): Likewise.
40912
40913 2009-01-19  Bruno Haible  <bruno@clisp.org>
40914
40915         * modules/uniname/uniname-tests (Depends-on): Add progname.
40916         * tests/uniname/test-uninames.c: Include progname.h.
40917         (main): Call set_program_name.
40918
40919         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
40920         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
40921         (main): Call set_program_name.
40922
40923         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
40924         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
40925         (main): Call set_program_name.
40926
40927         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
40928         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
40929         (main): Call set_program_name.
40930
40931         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
40932         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
40933         (main): Call set_program_name.
40934
40935         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
40936         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
40937         (main): Call set_program_name.
40938
40939         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
40940         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
40941         (main): Call set_program_name.
40942
40943         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
40944         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
40945         (main): Call set_program_name.
40946
40947         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
40948         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
40949         (main): Call set_program_name.
40950
40951 2009-01-19  Eric Blake  <ebb9@byu.net>
40952
40953         test-unistd: test previous patch
40954         * tests/test-unistd.c: Test *_FILENO macros.
40955
40956         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
40957         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
40958         Guarantee a definition.
40959         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
40960         * modules/unistd-safer (Depends-on): Add dependency on unistd.
40961         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
40962         * lib/dup-safer.c (STDERR_FILENO): Likewise.
40963         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
40964         Likewise.
40965         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
40966         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
40967         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
40968         Likewise.
40969         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
40970         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
40971         (STDERR_FILENO): Likewise.
40972         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
40973         (STDERR_FILENO): Likewise.
40974         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
40975         (STDERR_FILENO): Likewise.
40976         Reported by Elbert Pol.
40977
40978 2009-01-19  Eric Blake  <ebb9@byu.net>
40979
40980         doc: mention more functions added in cygwin 1.7.0
40981         * doc/posix-functions/abort.texi (abort): Update wording related
40982         to cygwin.
40983         * doc/posix-functions/daylight.texi (daylight): Likewise.
40984         * doc/posix-functions/optarg.texi (optarg): Likewise.
40985         * doc/posix-functions/optarg.texi (opterr): Likewise.
40986         * doc/posix-functions/optarg.texi (optind): Likewise.
40987         * doc/posix-functions/optarg.texi (optopt): Likewise.
40988         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
40989         worked in 1.5.x, and was withdrawn in 1.7.
40990         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
40991         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
40992         cygwin versions.
40993         * doc/posix-functions/perror.texi (perror): Likewise.
40994         * doc/posix-functions/printf.texi (printf): Likewise.
40995         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
40996         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
40997         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
40998         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
40999         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
41000         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
41001         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
41002         Likewise.
41003         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
41004         Likewise.
41005         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
41006         this function.
41007         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
41008         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
41009         Likewise.
41010         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
41011         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
41012         * doc/posix-functions/confstr.texi (confstr): Likewise.
41013         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
41014         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
41015         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
41016         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
41017         * doc/posix-functions/fputws.texi (fputws): Likewise.
41018         * doc/posix-functions/fwide.texi (fwide): Likewise.
41019         * doc/posix-functions/getwc.texi (getwc): Likewise.
41020         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
41021         * doc/posix-functions/putwc.texi (putwc): Likewise.
41022         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
41023         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
41024         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
41025         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
41026         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
41027         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
41028         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
41029         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
41030         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
41031         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
41032         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
41033
41034 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
41035
41036         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
41037         * lib/ioctl.c: Include <sys/ioctl.h>.
41038
41039 2009-01-19  Simon Josefsson  <simon@josefsson.org>
41040
41041         * modules/getdate-tests (Depends-on): Add progname.
41042         * tests/test-getdate.c: Use progname module, to avoid link errors
41043         on non-glibc systems.
41044
41045 2009-01-18  Simon Josefsson  <simon@josefsson.org>
41046
41047         * modules/filenamecat-tests (Depends-on): Add progname.
41048         * modules/fstrcmp-tests (Depends-on): Likewise.
41049
41050         * tests/test-filenamecat.c: Use progname module, to avoid link
41051         errors on non-glibc systems.
41052         * tests/test-fstrcmp.c: Likewise.
41053
41054 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
41055
41056         gettimeofday: avoid warning: nested extern declaration of 'localtime'
41057         * lib/gettimeofday.c: Move extern declaration out of function.
41058
41059 2009-01-18  Bruno Haible  <bruno@clisp.org>
41060
41061         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
41062         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
41063         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
41064
41065 2009-01-18  Bruno Haible  <bruno@clisp.org>
41066
41067         * lib/strftime.c (MEMPCPY): Remove unused macro.
41068         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
41069
41070 2009-01-18  Martin Lambers  <marlam@marlam.de>
41071
41072         New module 'link'.
41073         * lib/unistd.in.h (link): New declaration.
41074         * lib/link.c: New file.
41075         * m4/link.m4: New file.
41076         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
41077         HAVE_LINK.
41078         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
41079         * modules/link: New file.
41080         * doc/posix-functions/link.texi: Mention the new module.
41081
41082 2009-01-18  Bruno Haible  <bruno@clisp.org>
41083
41084         * tests/test-avltree_list.c (main): Call set_program_name.
41085         * tests/test-avltree_oset.c (main): Likewise.
41086         * tests/test-obstack-printf.c: Include progname.h.
41087         (main): Call set_program_name.
41088         * tests/test-quotearg.c: Include progname.h.
41089         (main): Call set_program_name.
41090         * tests/test-xmemdup0.c: Include progname.h.
41091         (main): Call set_program_name.
41092
41093 2009-01-18  Bruno Haible  <bruno@clisp.org>
41094
41095         New module 'alphasort'.
41096         * lib/dirent.in.h (alphasort): New declaration.
41097         * lib/alphasort.c: New file, from glibc with modifications.
41098         * m4/alphasort.m4: New file.
41099         * modules/alphasort: New file.
41100         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
41101         HAVE_ALPHASORT.
41102         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
41103         HAVE_ALPHASORT.
41104         * doc/posix-functions/alphasort.texi: Mention the new module and the
41105         portability problems.
41106
41107 2009-01-18  Bruno Haible  <bruno@clisp.org>
41108
41109         New module 'scandir'.
41110         * lib/dirent.in.h (scandir): New declaration.
41111         * lib/scandir.c: New file, from glibc with modifications.
41112         * m4/scandir.m4: New file.
41113         * modules/scandir: New file.
41114         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
41115         HAVE_SCANDIR.
41116         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
41117         HAVE_SCANDIR.
41118         * doc/posix-functions/scandir.texi: Mention the new module and the
41119         portability problems.
41120
41121 2009-01-17  Bruno Haible  <bruno@clisp.org>
41122
41123         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
41124         Update documentation.
41125         (func_remove_suffix): Escape all dots in the suffix. Update
41126         documentation.
41127         (func_filter_filelist): Update documentation.
41128         Reported by Ralf Wildenhues.
41129
41130 2009-01-17  Bruno Haible  <bruno@clisp.org>
41131
41132         * modules/dprintf-posix-tests: New file.
41133         * tests/test-dprintf-posix.sh: New file.
41134         * tests/test-dprintf-posix.c: New file.
41135
41136         New modules 'dprintf', 'dprintf-posix'.
41137         * lib/stdio.in.h (dprintf): New declaration.
41138         * lib/dprintf.c: New file.
41139         * m4/dprintf.m4: New file.
41140         * m4/dprintf-posix.m4: New file.
41141         * modules/dprintf: New file.
41142         * modules/dprintf-posix: New file.
41143         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
41144         HAVE_DPRINTF, REPLACE_DPRINTF.
41145         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
41146         HAVE_DPRINTF, REPLACE_DPRINTF.
41147         * doc/posix-functions/dprintf.texi: Mention the new modules.
41148
41149 2009-01-17  Bruno Haible  <bruno@clisp.org>
41150
41151         * modules/vdprintf-posix-tests: New file.
41152         * tests/test-vdprintf-posix.sh: New file.
41153         * tests/test-vdprintf-posix.c: New file.
41154
41155         New modules 'vdprintf', 'vdprintf-posix'.
41156         * lib/stdio.in.h (vdprintf): New declaration.
41157         * lib/vdprintf.c: New file.
41158         * m4/vdprintf.m4: New file.
41159         * m4/vdprintf-posix.m4: New file.
41160         * modules/vdprintf: New file.
41161         * modules/vdprintf-posix: New file.
41162         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
41163         HAVE_VDPRINTF, REPLACE_VDPRINTF.
41164         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
41165         HAVE_VDPRINTF, REPLACE_VDPRINTF.
41166         * doc/posix-functions/vdprintf.texi: Mention the new modules.
41167
41168 2009-01-17  Bruno Haible  <bruno@clisp.org>
41169
41170         Fix replacement of fopen on mingw.
41171         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
41172         mingw.
41173
41174 2009-01-17  Bruno Haible  <bruno@clisp.org>
41175
41176         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
41177         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
41178
41179 2009-01-17  Bruno Haible  <bruno@clisp.org>
41180
41181         Avoid test-fflush2.sh failure on mingw.
41182         * tests/test-fflush2.c: Include binary-io.h.
41183         (main): Put standard input into binary mode.
41184         * modules/fflush-tests (Depends-on): Add binary-io.
41185
41186 2009-01-17  Bruno Haible  <bruno@clisp.org>
41187
41188         * lib/wchar.in.h: In another particular situation, include only the
41189         system's <wchar.h> file.
41190         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
41191         Reported by Albert Chin-A-Young <china@thewrittenword.com>
41192         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
41193
41194 2009-01-17  Bruno Haible  <bruno@clisp.org>
41195
41196         Support for stripping executables in --enable-relocatable.
41197         * build-aux/install-reloc: Expect one more argument, or an environment
41198         variable RELOC_STRIP_PROG. If set, strip the destination program and
41199         its wrapper.
41200         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
41201         RELOC_STRIP_PROG.
41202         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
41203         to set RELOCATABLE_STRIP.
41204         * NEWS: Mention the new Makefile requirement.
41205
41206 2009-01-17  Bruno Haible  <bruno@clisp.org>
41207
41208         * build-aux/install-reloc: Remove debugging information left over by
41209         C compiler on MacOS X.
41210
41211 2009-01-17  Bruno Haible  <bruno@clisp.org>
41212
41213         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
41214         * lib/progreloc.c (find_executable): Fix type of pointer passed to
41215         _NSGetExecutablePath.
41216
41217 2009-01-16  Jim Meyering  <meyering@redhat.com>
41218
41219         strerror: avoid warnings about discarding "const"
41220         * lib/strerror.c (rpl_strerror): Instead of returning a const
41221         string from each and every "case", use a variable, and add a single
41222         cast after the switch.
41223
41224 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
41225
41226         * lib/arpa_inet.in.h: Add extern "C" block for C++.
41227
41228 2009-01-16  Bruno Haible  <bruno@clisp.org>
41229
41230         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
41231         array initializer syntax that also works in C++ mode.
41232         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
41233
41234 2009-01-16  Jim Meyering  <meyering@redhat.com>
41235
41236         poll: suppress a warning
41237         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
41238         to ignore "...unsigned expression < 0 is always false" warnings.
41239
41240 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
41241
41242         poll: remove declarations of unused variables
41243         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
41244         sockbuf and optlen.
41245
41246 2009-01-15  Bruno Haible  <bruno@clisp.org>
41247
41248         Make fflush-after-ungetc POSIX compliant on BSD systems.
41249         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
41250         (clear_ungetc_buffer): Implement also for other systems.
41251         (rpl_fflush): On glibc systems, invoke
41252         clear_ungetc_buffer_preserving_position. Otherwise, invoke
41253         clear_ungetc_buffer after fetching the stream's position, not before.
41254
41255 2009-01-15  Bruno Haible  <bruno@clisp.org>
41256
41257         Make fflush-after-ungetc POSIX compliant on glibc systems.
41258         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
41259         after ungetc.
41260         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
41261         (rpl_fflush): On glibc systems, simply call the system's fflush
41262         function after clearing the ungetc buffer.
41263         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
41264         Instead, lseek only to the end of file, then use the system's fseeko
41265         for the rest. On glibc systems, reset the EOF indicator bit.
41266
41267 2009-01-15  Jim Meyering  <meyering@redhat.com>
41268
41269         openmp.m4: revert quote-adding change, for portability to older autoconf
41270         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
41271         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
41272         Simon Josefsson noticed the problem when using autoconf-2.61.
41273
41274 2009-01-15  Bruno Haible  <bruno@clisp.org>
41275
41276         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
41277         * tests/test-fflush2.c (ASSERT): Always fail.
41278         (main): Add two tests for fflush() after ungetc(), taking into account
41279         the Austin Group's clarification.
41280         Suggested by Eric Blake.
41281
41282 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
41283
41284         mktime.m4: remove K&R-style function prototypes
41285         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
41286         for the Sun C++ compiler.
41287
41288 2009-01-14  Bruno Haible  <bruno@clisp.org>
41289
41290         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
41291         while including <wchar.h>.
41292         * lib/wchar.in.h: In two particular situations on HP-UX, include only
41293         the system's <wchar.h> file.
41294         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
41295
41296 2009-01-14  Bruno Haible  <bruno@clisp.org>
41297
41298         * m4/csharp.m4: Don't mention gettext on the serial number line.
41299         * m4/csharpexec.m4: Likewise.
41300         * m4/eaccess.m4: Likewise.
41301         * m4/javaexec.m4: Likewise.
41302         * m4/sig_atomic_t.m4: Likewise.
41303         * m4/tmpdir.m4: Likewise.
41304         * m4/intldir.m4: Bump gettext version.
41305         * m4/lib-ld.m4: Likewise.
41306
41307 2009-01-14  Bruno Haible  <bruno@clisp.org>
41308
41309         * lib/progname.c (set_program_name): Add more comments.
41310         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
41311
41312 2009-01-14  Simon Josefsson  <simon@josefsson.org>
41313
41314         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
41315         were sys/stat.h does not define it.
41316
41317 2009-01-14  Jim Meyering  <meyering@redhat.com>
41318
41319         many *.m4 files: improve m4 quoting
41320         99% of this change was performed by running the following commands:
41321         git ls-files | grep '\.m4$' | xargs perl -pi \
41322           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
41323           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
41324           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
41325           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
41326         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
41327         The remainder were to add Copyright dates, increment serial numbers,
41328         undo some changes in comments, exclude m4/intl.m4, and add quotes
41329         around the "1" in ",1" where the unusual spacing prohibited the
41330         above regexps from doing the job.  For more details, see
41331         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
41332         * m4/acl.m4: Modified.
41333         * m4/afs.m4: Likewise.
41334         * m4/alloca.m4: Likewise.
41335         * m4/argp.m4: Likewise.
41336         * m4/argz.m4: Likewise.
41337         * m4/atexit.m4: Likewise.
41338         * m4/bison-i18n.m4: Likewise.
41339         * m4/bison.m4: Likewise.
41340         * m4/byteswap.m4: Likewise.
41341         * m4/c-stack.m4: Likewise.
41342         * m4/c-strtod.m4: Likewise.
41343         * m4/calloc.m4: Likewise.
41344         * m4/canonicalize-lgpl.m4: Likewise.
41345         * m4/chown.m4: Likewise.
41346         * m4/clock_time.m4: Likewise.
41347         * m4/codeset.m4: Likewise.
41348         * m4/copy-file.m4: Likewise.
41349         * m4/csharp.m4: Likewise.
41350         * m4/csharpcomp.m4: Likewise.
41351         * m4/csharpexec.m4: Likewise.
41352         * m4/d-ino.m4: Likewise.
41353         * m4/d-type.m4: Likewise.
41354         * m4/dirfd.m4: Likewise.
41355         * m4/double-slash-root.m4: Likewise.
41356         * m4/eaccess.m4: Likewise.
41357         * m4/eealloc.m4: Likewise.
41358         * m4/environ.m4: Likewise.
41359         * m4/errno_h.m4: Likewise.
41360         * m4/euidaccess.m4: Likewise.
41361         * m4/execute.m4: Likewise.
41362         * m4/fatal-signal.m4: Likewise.
41363         * m4/fchdir.m4: Likewise.
41364         * m4/fcntl_h.m4: Likewise.
41365         * m4/fileblocks.m4: Likewise.
41366         * m4/filenamecat.m4: Likewise.
41367         * m4/findprog.m4: Likewise.
41368         * m4/flexmember.m4: Likewise.
41369         * m4/fnmatch.m4: Likewise.
41370         * m4/fopen.m4: Likewise.
41371         * m4/fpending.m4: Likewise.
41372         * m4/fprintf-posix.m4: Likewise.
41373         * m4/free.m4: Likewise.
41374         * m4/frexp.m4: Likewise.
41375         * m4/frexpl.m4: Likewise.
41376         * m4/fsusage.m4: Likewise.
41377         * m4/ftruncate.m4: Likewise.
41378         * m4/gc-camellia.m4: Likewise.
41379         * m4/gc-random.m4: Likewise.
41380         * m4/gc.m4: Likewise.
41381         * m4/getaddrinfo.m4: Likewise.
41382         * m4/getcwd-abort-bug.m4: Likewise.
41383         * m4/getcwd-path-max.m4: Likewise.
41384         * m4/getdate.m4: Likewise.
41385         * m4/getdomainname.m4: Likewise.
41386         * m4/getgroups.m4: Likewise.
41387         * m4/gethostname.m4: Likewise.
41388         * m4/gethrxtime.m4: Likewise.
41389         * m4/getline.m4: Likewise.
41390         * m4/getloadavg.m4: Likewise.
41391         * m4/getndelim2.m4: Likewise.
41392         * m4/getpass.m4: Likewise.
41393         * m4/gettext.m4: Likewise.
41394         * m4/gettime.m4: Likewise.
41395         * m4/gettimeofday.m4: Likewise.
41396         * m4/gnulib-common.m4: Likewise.
41397         * m4/group-member.m4: Likewise.
41398         * m4/host-os.m4: Likewise.
41399         * m4/iconv.m4: Likewise.
41400         * m4/iconv_open.m4: Likewise.
41401         * m4/inet_ntop.m4: Likewise.
41402         * m4/inet_pton.m4: Likewise.
41403         * m4/inline.m4: Likewise.
41404         * m4/intldir.m4: Likewise.
41405         * m4/intlmacosx.m4: Likewise.
41406         * m4/intmax.m4: Likewise.
41407         * m4/intmax_t.m4: Likewise.
41408         * m4/inttypes.m4: Likewise.
41409         * m4/inttypes_h.m4: Likewise.
41410         * m4/inttypes-pri.m4: Likewise.
41411         * m4/isapipe.m4: Likewise.
41412         * m4/isnand.m4: Likewise.
41413         * m4/isnanf.m4: Likewise.
41414         * m4/isnanl.m4: Likewise.
41415         * m4/javacomp.m4: Likewise.
41416         * m4/javaexec.m4: Likewise.
41417         * m4/jm-winsz1.m4: Likewise.
41418         * m4/jm-winsz2.m4: Likewise.
41419         * m4/lchown.m4: Likewise.
41420         * m4/lcmessage.m4: Likewise.
41421         * m4/ldexpl.m4: Likewise.
41422         * m4/lib-ld.m4: Likewise.
41423         * m4/lib-link.m4: Likewise.
41424         * m4/libsigsegv.m4: Likewise.
41425         * m4/link-follow.m4: Likewise.
41426         * m4/localcharset.m4: Likewise.
41427         * m4/locale-fr.m4: Likewise.
41428         * m4/locale-ja.m4: Likewise.
41429         * m4/locale-tr.m4: Likewise.
41430         * m4/locale-zh.m4: Likewise.
41431         * m4/lock.m4: Likewise.
41432         * m4/longlong.m4: Likewise.
41433         * m4/ls-mntd-fs.m4: Likewise.
41434         * m4/lstat.m4: Likewise.
41435         * m4/malloc.m4: Likewise.
41436         * m4/mathl.m4: Likewise.
41437         * m4/mbrtowc.m4: Likewise.
41438         * m4/mbstate_t.m4: Likewise.
41439         * m4/mbswidth.m4: Likewise.
41440         * m4/memchr.m4: Likewise.
41441         * m4/memcmp.m4: Likewise.
41442         * m4/memcpy.m4: Likewise.
41443         * m4/memmem.m4: Likewise.
41444         * m4/memmove.m4: Likewise.
41445         * m4/mempcpy.m4: Likewise.
41446         * m4/memrchr.m4: Likewise.
41447         * m4/memset.m4: Likewise.
41448         * m4/minmax.m4: Likewise.
41449         * m4/mkdir-slash.m4: Likewise.
41450         * m4/mkdtemp.m4: Likewise.
41451         * m4/mktime.m4: Likewise.
41452         * m4/mmap-anon.m4: Likewise.
41453         * m4/mountlist.m4: Likewise.
41454         * m4/nanosleep.m4: Likewise.
41455         * m4/nls.m4: Likewise.
41456         * m4/nocrash.m4: Likewise.
41457         * m4/open.m4: Likewise.
41458         * m4/openat.m4: Likewise.
41459         * m4/openmp.m4: Likewise.
41460         * m4/pathmax.m4: Likewise.
41461         * m4/perl.m4: Likewise.
41462         * m4/physmem.m4: Likewise.
41463         * m4/pipe.m4: Likewise.
41464         * m4/po.m4: Likewise.
41465         * m4/poll.m4: Likewise.
41466         * m4/posixtm.m4: Likewise.
41467         * m4/posixver.m4: Likewise.
41468         * m4/printf-frexp.m4: Likewise.
41469         * m4/printf-frexpl.m4: Likewise.
41470         * m4/printf-posix.m4: Likewise.
41471         * m4/printf-posix-rpl.m4: Likewise.
41472         * m4/printf.m4: Likewise.
41473         * m4/progtest.m4: Likewise.
41474         * m4/putenv.m4: Likewise.
41475         * m4/readline.m4: Likewise.
41476         * m4/readlink.m4: Likewise.
41477         * m4/readutmp.m4: Likewise.
41478         * m4/realloc.m4: Likewise.
41479         * m4/regex.m4: Likewise.
41480         * m4/relocatable.m4: Likewise.
41481         * m4/relocatable-lib.m4: Likewise.
41482         * m4/rename-dest-slash.m4: Likewise.
41483         * m4/rename.m4: Likewise.
41484         * m4/rmdir-errno.m4: Likewise.
41485         * m4/rmdir.m4: Likewise.
41486         * m4/roundf.m4: Likewise.
41487         * m4/roundl.m4: Likewise.
41488         * m4/rpmatch.m4: Likewise.
41489         * m4/save-cwd.m4: Likewise.
41490         * m4/selinux-selinux-h.m4: Likewise.
41491         * m4/setenv.m4: Likewise.
41492         * m4/settime.m4: Likewise.
41493         * m4/sig2str.m4: Likewise.
41494         * m4/sig_atomic_t.m4: Likewise.
41495         * m4/signalblocking.m4: Likewise.
41496         * m4/signbit.m4: Likewise.
41497         * m4/sigpipe.m4: Likewise.
41498         * m4/sockets.m4: Likewise.
41499         * m4/sockpfaf.m4: Likewise.
41500         * m4/st_dm_mode.m4: Likewise.
41501         * m4/stat-time.m4: Likewise.
41502         * m4/stdbool.m4: Likewise.
41503         * m4/stdint.m4: Likewise.
41504         * m4/stdint_h.m4: Likewise.
41505         * m4/stpcpy.m4: Likewise.
41506         * m4/stpncpy.m4: Likewise.
41507         * m4/strcase.m4: Likewise.
41508         * m4/strchrnul.m4: Likewise.
41509         * m4/strcspn.m4: Likewise.
41510         * m4/strdup.m4: Likewise.
41511         * m4/strftime.m4: Likewise.
41512         * m4/strndup.m4: Likewise.
41513         * m4/strnlen.m4: Likewise.
41514         * m4/strpbrk.m4: Likewise.
41515         * m4/strptime.m4: Likewise.
41516         * m4/strsep.m4: Likewise.
41517         * m4/strtod.m4: Likewise.
41518         * m4/strtoimax.m4: Likewise.
41519         * m4/strtok_r.m4: Likewise.
41520         * m4/strtol.m4: Likewise.
41521         * m4/strtoll.m4: Likewise.
41522         * m4/strtoul.m4: Likewise.
41523         * m4/strtoull.m4: Likewise.
41524         * m4/strtoumax.m4: Likewise.
41525         * m4/strverscmp.m4: Likewise.
41526         * m4/threadlib.m4: Likewise.
41527         * m4/timegm.m4: Likewise.
41528         * m4/tm_gmtoff.m4: Likewise.
41529         * m4/tmpdir.m4: Likewise.
41530         * m4/tmpfile.m4: Likewise.
41531         * m4/tzset.m4: Likewise.
41532         * m4/uintmax_t.m4: Likewise.
41533         * m4/unlinkdir.m4: Likewise.
41534         * m4/unlocked-io.m4: Likewise.
41535         * m4/uptime.m4: Likewise.
41536         * m4/userspec.m4: Likewise.
41537         * m4/utimbuf.m4: Likewise.
41538         * m4/utime.m4: Likewise.
41539         * m4/utimes-null.m4: Likewise.
41540         * m4/utimes.m4: Likewise.
41541         * m4/vararrays.m4: Likewise.
41542         * m4/vasnprintf.m4: Likewise.
41543         * m4/vfprintf-posix.m4: Likewise.
41544         * m4/vprintf-posix.m4: Likewise.
41545         * m4/wait-process.m4: Likewise.
41546         * m4/wchar_t.m4: Likewise.
41547         * m4/wint_t.m4: Likewise.
41548         * m4/write-any-file.m4: Likewise.
41549         * m4/yield.m4: Likewise.
41550
41551 2009-01-13  Bruno Haible  <bruno@clisp.org>
41552
41553         Avoid test-copy-file.sh failures when ACL support insufficient.
41554         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
41555         TESTS_ENVIRONMENT.
41556         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
41557         Reported by Jim Meyering.
41558
41559 2009-01-13  Bruno Haible  <bruno@clisp.org>
41560
41561         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
41562         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
41563         * modules/unistdio/u8-printf-parse (Files): Likewise.
41564         * modules/unistdio/u32-printf-parse (Files): Likewise.
41565         * modules/unistdio/ulc-printf-parse (Files): Likewise.
41566
41567 2009-01-13  Simon Josefsson  <simon@josefsson.org>
41568
41569         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
41570         and m4/inttypes_h.m4 too.
41571
41572 2009-01-12  Eric Blake  <ebb9@byu.net>
41573
41574         tests: IRIX 6.2 cc can't compile -0.0 into .data
41575         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
41576         rather than at compile-time.
41577         * tests/test-floorl.c (minus_zero): Likewise.
41578         * tests/test-frexpl.c (minus_zero): Likewise.
41579         * tests/test-isnan.c (minus_zerol): Likewise.
41580         * tests/test-isnanl.h (minus_zero): Likewise.
41581         * tests/test-ldexpl.c (minus_zero): Likewise.
41582         * tests/test-roundl.c (minus_zero): Likewise.
41583         * tests/test-signbit.c (minus_zerol): Likewise.
41584         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
41585         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
41586         * tests/test-truncl.c (minus_zero): Likewise.
41587         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
41588         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
41589         Reported by Tom G. Christensen and Nelson H. F. Beebe.
41590
41591 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
41592
41593         regex: fix glibc bug 9697
41594         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
41595         handling.
41596
41597 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
41598
41599         regex: fix glibc bug 697
41600         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
41601         being NULL also if there are no backreferences.
41602
41603 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
41604
41605         regex: merge glibc changes
41606         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
41607         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
41608         re_string_skip_chars, re_string_reconstruct): Likewise.
41609         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
41610
41611 2009-01-07  Jim Meyering  <meyering@redhat.com>
41612
41613         poll: filter through cppi
41614         * lib/poll.c: Indent cpp directives to reflect nesting.
41615
41616 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
41617
41618         poll: don't return uninitialized
41619         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
41620
41621 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
41622
41623         avoid compile failure on AIX 6.1
41624         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
41625         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
41626
41627 2009-01-04  Jim Meyering  <meyering@redhat.com>
41628
41629         remove duplicate inclusion of <stdio.h>
41630         * tests/test-fprintf-posix.c: Likewise.
41631         * tests/test-printf-posix.c: Likewise.
41632         * tests/test-snprintf-posix.c: Likewise.
41633         * tests/test-sprintf-posix.c: Likewise.
41634         * tests/test-vasprintf-posix.c: Likewise.
41635         * tests/test-vfprintf-posix.c: Likewise.
41636         * tests/test-vprintf-posix.c: Likewise.
41637         * tests/test-vsnprintf-posix.c: Likewise.
41638         * tests/test-vsprintf-posix.c: Likewise.
41639
41640 2009-01-03  Jim Meyering  <meyering@redhat.com>
41641
41642         gnulib-tool: fix sed-based filtering
41643         * gnulib-tool (func_filter_filelist): Remove extra backslash
41644         in sed_fff_filter definition.
41645
41646 2009-01-02  Jim Meyering  <meyering@redhat.com>
41647
41648         strftime: avoid compilation failure on Solaris 2.6
41649         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
41650         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
41651         Don't #define mbrlen or mbsinit, since now they're guaranteed to
41652         be available.  Reported by Tom G. Christensen.  Details in
41653         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
41654
41655 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41656             Bruno Haible  <bruno@clisp.org>
41657
41658         Speed up gnulib-tool by doing more string processing through shell
41659         built-ins.
41660         * gnulib-tool (fast_func_append): New variable.
41661         (func_remove_prefix, func_remove_suffix): New functions.
41662         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
41663         (func_filter_filelist): New function.
41664         (func_get_dependencies): Use func_remove_suffix instead of sed.
41665         (func_get_automake_snippet): Use func_filter_filelist instead of a
41666         subshell and sed invocation.
41667
41668 2009-01-01  Bruno Haible  <bruno@clisp.org>
41669
41670         Fix a security bug.
41671         * gnulib-tool (func_import, import, update): Don't allow the characters
41672         '"', '$', '`', '\' in macro arguments that become part of commands that
41673         are evaluated.
41674
41675 2009-01-01  Bruno Haible  <bruno@clisp.org>
41676
41677         * gnulib-tool (func_reset_sigpipe): Add more comments.
41678
41679 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41680
41681         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
41682         func_emit_tests_Makefile_am, func_import): Abort loops early if we
41683         already know the answer.
41684
41685 2009-01-01  Jim Meyering  <meyering@redhat.com>
41686
41687         * lib/version-etc.c (version_etc_va): Update copyright year.
41688
41689 2008-12-30  Bruno Haible  <bruno@clisp.org>
41690
41691         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
41692         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
41693         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
41694
41695 2008-12-29  Eric Blake  <ebb9@byu.net>
41696
41697         multiarch: avoid autoconf AC_REQUIRE bug
41698         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
41699         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
41700         2.63 and older.
41701         Reported by Bruno Haible, and analyzed in
41702         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
41703
41704 2008-12-29  Bruno Haible  <bruno@clisp.org>
41705
41706         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
41707         files in subdirectories correctly.
41708         Reported by Ralf Wildenhues.
41709
41710 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41711
41712         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
41713         rather than 'join FILE -', for Solaris join.
41714
41715 2008-12-29  Bruno Haible  <bruno@clisp.org>
41716
41717         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
41718         quoting.
41719         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
41720         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
41721         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
41722         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
41723         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
41724         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
41725         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
41726         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
41727         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
41728         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
41729         * m4/nls.m4 (AM_NLS): Likewise.
41730         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
41731         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
41732         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
41733         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
41734         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
41735         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
41736         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
41737         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
41738         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
41739         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
41740         * m4/xsize.m4 (gl_XSIZE): Likewise.
41741         Suggested by Jim Meyering.
41742
41743 2008-11-17  Bruce Korb  <bkorb@gnu.org>
41744
41745         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
41746         * lib/parse-duration.c: use a switch instead of cascading if's.
41747
41748 2008-12-29  Eric Blake  <ebb9@byu.net>
41749
41750         wchar.h: supply WEOF on Irix 5.3
41751         * lib/wchar.in.h (wint_t): Also supply WEOF.
41752         * lib/wctype.in.h (wint_t): Likewise.
41753         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
41754         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
41755         Reported by Tom G. Christensen.
41756
41757 2008-12-26  Bruno Haible  <bruno@clisp.org>
41758
41759         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
41760         i486, i586, i686.
41761
41762 2008-12-26  Bruno Haible  <bruno@clisp.org>
41763
41764         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
41765
41766 2008-12-26  Bruno Haible  <bruno@clisp.org>
41767
41768         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
41769         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
41770         not __STDC_CONSTANT_MACROS.
41771         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
41772
41773 2008-12-25  Bruno Haible  <bruno@clisp.org>
41774
41775         Add support for universal builds to vasnprintf.
41776         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
41777         universal builds, guess no.
41778         * modules/vasnprintf-posix (Depends-on): Add multiarch.
41779         * modules/vasprintf-posix (Depends-on): Likewise.
41780         * modules/fprintf-posix (Depends-on): Likewise.
41781         * modules/vfprintf-posix (Depends-on): Likewise.
41782         * modules/snprintf-posix (Depends-on): Likewise.
41783         * modules/vsnprintf-posix (Depends-on): Likewise.
41784         * modules/sprintf-posix (Depends-on): Likewise.
41785         * modules/vsprintf-posix (Depends-on): Likewise.
41786         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
41787         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
41788         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
41789         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
41790         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
41791         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
41792         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
41793
41794         Add support for universal builds to <inttypes.h>.
41795         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
41796         _SCNu64_PREFIX): In Apple
41797         universal builds, define directly, using _LP64.
41798         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
41799         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
41800         * modules/inttypes (Depends-on): Add multiarch.
41801         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
41802
41803         Add support for universal builds to <stdint.h>.
41804         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
41805         universal builds, define directly, using _LP64.
41806         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
41807         Apple universal builds, don't test for the size and suffix of ptrdiff_t
41808         and size_t.
41809         * modules/stdint (Depends-on): Add multiarch.
41810         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
41811
41812         New module 'multiarch'.
41813         * modules/multiarch: New file.
41814         * m4/multiarch.m4: New file.
41815
41816 2008-12-25  Bruno Haible  <bruno@clisp.org>
41817
41818         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
41819
41820 2008-12-25  Bruno Haible  <bruno@clisp.org>
41821
41822         * modules/btowc (License): Relicense under LGPLv2+.
41823         * modules/mbsinit (License): Likewise.
41824         * modules/mbrtowc (License): Likewise.
41825         * modules/wcrtomb (License): Likewise.
41826         * modules/streq (License): Likewise.
41827         Reported by David Lutterkort <lutter@redhat.com>.
41828
41829 2008-12-23  Bruno Haible  <bruno@clisp.org>
41830
41831         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
41832
41833 2008-12-23  Bruno Haible  <bruno@clisp.org>
41834
41835         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
41836         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
41837         GETADDRINFO_LIB, not in LIBS.
41838         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
41839         * modules/canon-host (Link): Likewise.
41840         * NEWS: Mention the change.
41841         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
41842         GETADDRINFO_LIB.
41843
41844 2008-12-22  Bruno Haible  <bruno@clisp.org>
41845
41846         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
41847         * doc/posix-functions/iswalpha_l.texi: Likewise.
41848         * doc/posix-functions/iswblank_l.texi: Likewise.
41849         * doc/posix-functions/iswcntrl_l.texi: Likewise.
41850         * doc/posix-functions/iswctype_l.texi: Likewise.
41851         * doc/posix-functions/iswdigit_l.texi: Likewise.
41852         * doc/posix-functions/iswgraph_l.texi: Likewise.
41853         * doc/posix-functions/iswlower_l.texi: Likewise.
41854         * doc/posix-functions/iswprint_l.texi: Likewise.
41855         * doc/posix-functions/iswpunct_l.texi: Likewise.
41856         * doc/posix-functions/iswspace_l.texi: Likewise.
41857         * doc/posix-functions/iswupper_l.texi: Likewise.
41858         * doc/posix-functions/iswxdigit_l.texi: Likewise.
41859         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
41860         * doc/posix-functions/open_wmemstream.texi: Likewise.
41861         * doc/posix-functions/swscanf.texi: Likewise.
41862         * doc/posix-functions/towctrans_l.texi: Likewise.
41863         * doc/posix-functions/towlower.texi: Likewise.
41864         * doc/posix-functions/towlower_l.texi: Likewise.
41865         * doc/posix-functions/towupper.texi: Likewise.
41866         * doc/posix-functions/towupper_l.texi: Likewise.
41867         * doc/posix-functions/vfwprintf.texi: Likewise.
41868         * doc/posix-functions/vfwscanf.texi: Likewise.
41869         * doc/posix-functions/vswscanf.texi: Likewise.
41870         * doc/posix-functions/vwprintf.texi: Likewise.
41871         * doc/posix-functions/vwscanf.texi: Likewise.
41872         * doc/posix-functions/wcpcpy.texi: Likewise.
41873         * doc/posix-functions/wcpncpy.texi: Likewise.
41874         * doc/posix-functions/wcscasecmp.texi: Likewise.
41875         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
41876         * doc/posix-functions/wcscoll_l.texi: Likewise.
41877         * doc/posix-functions/wcsdup.texi: Likewise.
41878         * doc/posix-functions/wcsncasecmp.texi: Likewise.
41879         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
41880         * doc/posix-functions/wcsnlen.texi: Likewise.
41881         * doc/posix-functions/wcsnrtombs.texi: Likewise.
41882         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
41883         * doc/posix-functions/wctrans_l.texi: Likewise.
41884         * doc/posix-functions/wctype_l.texi: Likewise.
41885         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
41886         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
41887         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
41888         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
41889         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
41890         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
41891         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
41892         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
41893         * doc/glibc-functions/wcschrnul.texi: Likewise.
41894         * doc/glibc-functions/wcsftime_l.texi: Likewise.
41895         * doc/glibc-functions/wcstod_l.texi: Likewise.
41896         * doc/glibc-functions/wcstof_l.texi: Likewise.
41897         * doc/glibc-functions/wcstol_l.texi: Likewise.
41898         * doc/glibc-functions/wcstold_l.texi: Likewise.
41899         * doc/glibc-functions/wcstoll_l.texi: Likewise.
41900         * doc/glibc-functions/wcstoq.texi: Likewise.
41901         * doc/glibc-functions/wcstoul_l.texi: Likewise.
41902         * doc/glibc-functions/wcstoull_l.texi: Likewise.
41903         * doc/glibc-functions/wcstouq.texi: Likewise.
41904         * doc/glibc-functions/wmempcpy.texi: Likewise.
41905
41906 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
41907             Eric Blake  <ebb9@byu.net>
41908             Paolo Bonzini  <bonzini@gnu.org>
41909             Bruno Haible  <bruno@clisp.org>
41910
41911         Make c-stack work on Haiku.
41912         * lib/c-stack.c (SA_ONSTACK): Define fallback.
41913         (c_stack_action): Use SA_ONSTACK flag.
41914
41915 2008-12-22  Bruno Haible  <bruno@clisp.org>
41916
41917         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
41918
41919 2008-12-22  Bruno Haible  <bruno@clisp.org>
41920
41921         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
41922         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
41923         being overridden.
41924         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
41925         New macros.
41926         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
41927         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
41928         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
41929         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
41930
41931 2008-12-22  Bruno Haible  <bruno@clisp.org>
41932
41933         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
41934         from test code.
41935
41936 2008-12-22  Eric Blake  <ebb9@byu.net>
41937
41938         Avoid gcc warnings on cygwin.
41939         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
41940         Avoid unused variable.
41941         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
41942         Likewise.
41943
41944 2008-12-22  Bruno Haible  <bruno@clisp.org>
41945
41946         Remove HAVE_MBRTOWC conditionals.
41947         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
41948         (mbscasecmp): Assume mbrtowc function.
41949         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
41950         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
41951         * lib/mbschr.c: Include mbuiter.h unconditionally.
41952         (mbschr): Assume mbrtowc function.
41953         * lib/mbscspn.c: Include mbuiter.h unconditionally.
41954         (mbscspn): Assume mbrtowc function.
41955         * lib/mbslen.c: Include mbuiter.h unconditionally.
41956         (mbslen): Assume mbrtowc function.
41957         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
41958         (mbsncasecmp): Assume mbrtowc function.
41959         * lib/mbsnlen.c: Include mbiter.h unconditionally.
41960         (mbsnlen): Assume mbrtowc function.
41961         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
41962         (mbspbrk): Assume mbrtowc function.
41963         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
41964         (mbspcasecmp): Assume mbrtowc function.
41965         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
41966         (mbsrchr): Assume mbrtowc function.
41967         * lib/mbssep.c: Include mbuiter.h unconditionally.
41968         (mbssep): Assume mbrtowc function.
41969         * lib/mbsspn.c: Include mbuiter.h unconditionally.
41970         (mbsspn): Assume mbrtowc function.
41971         * lib/mbsstr.c: Include mbuiter.h unconditionally.
41972         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
41973         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
41974         (mbstok_r): Assume mbrtowc function.
41975         * lib/propername.c: Include mbuiter.h unconditionally.
41976         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
41977         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
41978         (trim2): Assume mbrtowc function.
41979         * lib/mbswidth.c (mbsinit): Remove fallback definition.
41980         (mbsnwidth): Assume mbrtowc function.
41981         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
41982         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
41983         fallback definitions.
41984         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
41985
41986 2008-12-22  Bruno Haible  <bruno@clisp.org>
41987
41988         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
41989
41990 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
41991
41992         * modules/regex: Request emulations for the mb*/wc* functions we need.
41993         * m4/regex.m4: Don't look for those functions here.
41994         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
41995
41996 2008-12-22  Bruno Haible  <bruno@clisp.org>
41997
41998         * modules/fnmatch (Depends-on): Remove duplicated dependency.
41999
42000 2008-12-21  Bruno Haible  <bruno@clisp.org>
42001
42002         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
42003         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
42004         (Include): Remove conditionalization.
42005         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
42006         (Include): Remove conditionalization.
42007         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
42008         (Include): Remove conditionalization.
42009         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
42010         * m4/mbfile.m4 (gl_MBFILE): Likewise.
42011         * NEWS: Mention the change.
42012         Reported by Alan Hourihane <alanh@fairlite.co.uk>
42013         via Sergey Poznyakoff <gray@gnu.org.ua>.
42014
42015 2008-12-21  Bruno Haible  <bruno@clisp.org>
42016
42017         * MODULES.html.sh (Extended multibyte and wide character utilities
42018         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
42019         wcrtomb, wcsrtombs.
42020         (Support for systems lacking POSIX:2008): Add accept, bind, close,
42021         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
42022         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
42023         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
42024
42025 2008-12-21  Bruno Haible  <bruno@clisp.org>
42026
42027         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
42028
42029 2008-12-21  Bruno Haible  <bruno@clisp.org>
42030
42031         * modules/wcsnrtombs-tests: New file.
42032         * tests/test-wcsnrtombs1.sh: New file.
42033         * tests/test-wcsnrtombs2.sh: New file.
42034         * tests/test-wcsnrtombs3.sh: New file.
42035         * tests/test-wcsnrtombs4.sh: New file.
42036         * tests/test-wcsnrtombs.c: New file.
42037
42038         New module 'wcsnrtombs'.
42039         * lib/wchar.in.h (wcsnrtombs): New declaration.
42040         * lib/wcsnrtombs.c: New file.
42041         * lib/wcsrtombs-state.c: New file.
42042         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
42043         (internal_state): Remove variable.
42044         * m4/wcsnrtombs.m4: New file.
42045         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
42046         compilation units.
42047         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
42048         HAVE_WCSNRTOMBS.
42049         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
42050         HAVE_WCSNRTOMBS.
42051         * modules/wcsnrtombs: New file.
42052         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
42053         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
42054
42055 2008-12-21  Bruno Haible  <bruno@clisp.org>
42056
42057         * modules/wcsrtombs-tests: New file.
42058         * tests/test-wcsrtombs1.sh: New file.
42059         * tests/test-wcsrtombs2.sh: New file.
42060         * tests/test-wcsrtombs3.sh: New file.
42061         * tests/test-wcsrtombs4.sh: New file.
42062         * tests/test-wcsrtombs.c: New file.
42063
42064         New module 'wcsrtombs'.
42065         * lib/wchar.in.h (wcsrtombs): New declaration.
42066         * lib/wcsrtombs.c: New file.
42067         * m4/wcsrtombs.m4: New file.
42068         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
42069         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
42070         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
42071         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
42072         * modules/wcsrtombs: New file.
42073         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
42074         bugs.
42075
42076 2008-12-21  Bruno Haible  <bruno@clisp.org>
42077
42078         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
42079         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
42080         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
42081         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
42082         if not correct.
42083         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
42084         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
42085         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
42086         m4/locale-zh.m4, m4/codeset.m4.
42087         * doc/posix-functions/wcrtomb.texi: Document the bug.
42088
42089 2008-12-21  Bruno Haible  <bruno@clisp.org>
42090
42091         Work around a btowc() bug on IRIX 6.5.
42092         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
42093         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
42094         REPLACE_WTOBC if not.
42095         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
42096         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
42097         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
42098
42099 2008-12-21  Bruno Haible  <bruno@clisp.org>
42100
42101         * modules/wcrtomb-tests: New file.
42102         * tests/test-wcrtomb.sh: New file.
42103         * tests/test-wcrtomb.c: New file.
42104
42105         New module 'wcrtomb'.
42106         * lib/wchar.in.h (wcrtomb): New declaration.
42107         * lib/wcrtomb.c: New file.
42108         * m4/wcrtomb.m4: New file.
42109         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
42110         HAVE_WCRTOMB.
42111         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
42112         HAVE_WCRTOMB.
42113         * modules/wcrtomb: New file.
42114         * doc/posix-functions/wcrtomb.texi: Mention the new module.
42115
42116 2008-12-21  Bruno Haible  <bruno@clisp.org>
42117
42118         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
42119         * modules/mbsrtowcs (Files): Likewise.
42120         * modules/wctob (Files): Likewise.
42121         * modules/c-strcase-tests (Files): Likewise.
42122         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
42123         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
42124         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
42125         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
42126         * modules/vasnprintf-posix-tests (Files): Likewise.
42127
42128 2008-12-21  William Pursell  <bill.pursell@gmail.com>
42129
42130         gitlog-to-changelog: pass all command-line arguments to git-log
42131         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
42132         it is sometimes convenient to filter the commits in various ways.
42133         gitlog-to-changelog only allows --since to specify a start date,
42134         but git-log itself supports many other filtering mechanisms.
42135         At the moment, I want to filter by branch name.  Rather than
42136         adding a --branch option to gitlog-to-changelog, it seems more
42137         flexible to simply pass all options directly to git-log and let
42138         git do the work.  Notice that this effectively makes --since a
42139         redundant option for gitlog-to-changelog, but removing it would
42140         require current usage to change since calls would then require
42141         an additional '--'.
42142
42143 2008-12-21  Bruno Haible  <bruno@clisp.org>
42144
42145         * modules/mbsnrtowcs-tests: New file.
42146         * tests/test-mbsnrtowcs1.sh: New file.
42147         * tests/test-mbsnrtowcs2.sh: New file.
42148         * tests/test-mbsnrtowcs3.sh: New file.
42149         * tests/test-mbsnrtowcs4.sh: New file.
42150         * tests/test-mbsnrtowcs.c: New file.
42151
42152         New module 'mbsnrtowcs'.
42153         * lib/wchar.in.h (mbsnrtowcs): New declaration.
42154         * lib/mbsnrtowcs.c: New file.
42155         * lib/mbsrtowcs-state.c: New file.
42156         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
42157         (internal_state): Remove variable.
42158         * m4/mbsnrtowcs.m4: New file.
42159         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
42160         compilation units.
42161         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
42162         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
42163         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
42164         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
42165         * modules/mbsnrtowcs: New file.
42166         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
42167         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
42168         portability problem.
42169
42170 2008-12-21  Bruno Haible  <bruno@clisp.org>
42171
42172         Work around mbsrtowcs bug.
42173         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
42174         (gl_FUNC_MBSRTOWCS): Invoke it.
42175         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
42176         m4/locale-zh.m4.
42177         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
42178
42179 2008-12-21  Bruno Haible  <bruno@clisp.org>
42180
42181         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
42182
42183 2008-12-21  Bruno Haible  <bruno@clisp.org>
42184
42185         Update doc for AIX.
42186         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
42187         16-bit wchar_t type.
42188         * doc/posix-functions/btowc.texi: Likewise.
42189         * doc/posix-functions/fgetwc.texi: Likewise.
42190         * doc/posix-functions/fgetws.texi: Likewise.
42191         * doc/posix-functions/fputwc.texi: Likewise.
42192         * doc/posix-functions/fputws.texi: Likewise.
42193         * doc/posix-functions/fwide.texi: Likewise.
42194         * doc/posix-functions/fwprintf.texi: Likewise.
42195         * doc/posix-functions/fwscanf.texi: Likewise.
42196         * doc/posix-functions/getwchar.texi: Likewise.
42197         * doc/posix-functions/getwc.texi: Likewise.
42198         * doc/posix-functions/iswalnum.texi: Likewise.
42199         * doc/posix-functions/iswalpha.texi: Likewise.
42200         * doc/posix-functions/iswblank.texi: Likewise.
42201         * doc/posix-functions/iswcntrl.texi: Likewise.
42202         * doc/posix-functions/iswctype.texi: Likewise.
42203         * doc/posix-functions/iswdigit.texi: Likewise.
42204         * doc/posix-functions/iswgraph.texi: Likewise.
42205         * doc/posix-functions/iswlower.texi: Likewise.
42206         * doc/posix-functions/iswprint.texi: Likewise.
42207         * doc/posix-functions/iswpunct.texi: Likewise.
42208         * doc/posix-functions/iswspace.texi: Likewise.
42209         * doc/posix-functions/iswupper.texi: Likewise.
42210         * doc/posix-functions/iswxdigit.texi: Likewise.
42211         * doc/posix-functions/mbrtowc.texi: Likewise.
42212         * doc/posix-functions/mbsrtowcs.texi: Likewise.
42213         * doc/posix-functions/mbstowcs.texi: Likewise.
42214         * doc/posix-functions/mbtowc.texi: Likewise.
42215         * doc/posix-functions/putwchar.texi: Likewise.
42216         * doc/posix-functions/putwc.texi: Likewise.
42217         * doc/posix-functions/swprintf.texi: Likewise.
42218         * doc/posix-functions/tolower.texi: Likewise.
42219         * doc/posix-functions/toupper.texi: Likewise.
42220         * doc/posix-functions/towctrans.texi: Likewise.
42221         * doc/posix-functions/ungetwc.texi: Likewise.
42222         * doc/posix-functions/vswprintf.texi: Likewise.
42223         * doc/posix-functions/wcrtomb.texi: Likewise.
42224         * doc/posix-functions/wcscat.texi: Likewise.
42225         * doc/posix-functions/wcschr.texi: Likewise.
42226         * doc/posix-functions/wcscmp.texi: Likewise.
42227         * doc/posix-functions/wcscoll.texi: Likewise.
42228         * doc/posix-functions/wcscpy.texi: Likewise.
42229         * doc/posix-functions/wcscspn.texi: Likewise.
42230         * doc/posix-functions/wcsftime.texi: Likewise.
42231         * doc/posix-functions/wcslen.texi: Likewise.
42232         * doc/posix-functions/wcsncat.texi: Likewise.
42233         * doc/posix-functions/wcsncmp.texi: Likewise.
42234         * doc/posix-functions/wcsncpy.texi: Likewise.
42235         * doc/posix-functions/wcspbrk.texi: Likewise.
42236         * doc/posix-functions/wcsrchr.texi: Likewise.
42237         * doc/posix-functions/wcsrtombs.texi: Likewise.
42238         * doc/posix-functions/wcsspn.texi: Likewise.
42239         * doc/posix-functions/wcsstr.texi: Likewise.
42240         * doc/posix-functions/wcstod.texi: Likewise.
42241         * doc/posix-functions/wcstof.texi: Likewise.
42242         * doc/posix-functions/wcstoimax.texi: Likewise.
42243         * doc/posix-functions/wcstok.texi: Likewise.
42244         * doc/posix-functions/wcstold.texi: Likewise.
42245         * doc/posix-functions/wcstoll.texi: Likewise.
42246         * doc/posix-functions/wcstol.texi: Likewise.
42247         * doc/posix-functions/wcstombs.texi: Likewise.
42248         * doc/posix-functions/wcstoull.texi: Likewise.
42249         * doc/posix-functions/wcstoul.texi: Likewise.
42250         * doc/posix-functions/wcstoumax.texi: Likewise.
42251         * doc/posix-functions/wcswidth.texi: Likewise.
42252         * doc/posix-functions/wcsxfrm.texi: Likewise.
42253         * doc/posix-functions/wctob.texi: Likewise.
42254         * doc/posix-functions/wctomb.texi: Likewise.
42255         * doc/posix-functions/wctrans.texi: Likewise.
42256         * doc/posix-functions/wctype.texi: Likewise.
42257         * doc/posix-functions/wcwidth.texi: Likewise.
42258         * doc/posix-functions/wmemchr.texi: Likewise.
42259         * doc/posix-functions/wmemcmp.texi: Likewise.
42260         * doc/posix-functions/wmemcpy.texi: Likewise.
42261         * doc/posix-functions/wmemmove.texi: Likewise.
42262         * doc/posix-functions/wmemset.texi: Likewise.
42263         * doc/posix-functions/wprintf.texi: Likewise.
42264         * doc/posix-functions/wscanf.texi: Likewise.
42265
42266 2008-12-21  Bruno Haible  <bruno@clisp.org>
42267
42268         Update doc for HP-UX 11.11.
42269         * doc/posix-functions/btowc.texi: Clarify that the function is missing
42270         in HP-UX version 11.00, not in all versions of HP-UX 11.
42271         * doc/posix-functions/fwide.texi: Likewise.
42272         * doc/posix-functions/fwprintf.texi: Likewise.
42273         * doc/posix-functions/fwscanf.texi: Likewise.
42274         * doc/posix-functions/inet_ntop.texi: Likewise.
42275         * doc/posix-functions/inet_pton.texi: Likewise.
42276         * doc/posix-functions/mbrlen.texi: Likewise.
42277         * doc/posix-functions/mbrtowc.texi: Likewise.
42278         * doc/posix-functions/mbsinit.texi: Likewise.
42279         * doc/posix-functions/mbsrtowcs.texi: Likewise.
42280         * doc/posix-functions/swprintf.texi: Likewise.
42281         * doc/posix-functions/swscanf.texi: Likewise.
42282         * doc/posix-functions/towctrans.texi: Likewise.
42283         * doc/posix-functions/vfwprintf.texi: Likewise.
42284         * doc/posix-functions/vswprintf.texi: Likewise.
42285         * doc/posix-functions/vwprintf.texi: Likewise.
42286         * doc/posix-functions/wcrtomb.texi: Likewise.
42287         * doc/posix-functions/wcsrtombs.texi: Likewise.
42288         * doc/posix-functions/wcsstr.texi: Likewise.
42289         * doc/posix-functions/wctob.texi: Likewise.
42290         * doc/posix-functions/wctrans.texi: Likewise.
42291         * doc/posix-functions/wmemchr.texi: Likewise.
42292         * doc/posix-functions/wmemcmp.texi: Likewise.
42293         * doc/posix-functions/wmemcpy.texi: Likewise.
42294         * doc/posix-functions/wmemmove.texi: Likewise.
42295         * doc/posix-functions/wmemset.texi: Likewise.
42296         * doc/posix-functions/wprintf.texi: Likewise.
42297         * doc/posix-functions/wscanf.texi: Likewise.
42298
42299 2008-12-21  Bruno Haible  <bruno@clisp.org>
42300
42301         Work around a portability problem.
42302         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
42303         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
42304
42305 2008-12-20  Bruno Haible  <bruno@clisp.org>
42306
42307         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
42308         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
42309         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
42310         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
42311         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
42312
42313         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
42314         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
42315         set.
42316         (GNULIB_defined_mbstate_t): New macro.
42317         (mbsinit): Redefine if REPLACE_MBSINIT is set.
42318         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
42319         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
42320         reuses the system's mbrtowc function but works around the bugs.
42321         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
42322         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
42323         macros.
42324         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
42325         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
42326         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
42327         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
42328         REPLACE_MBSINIT if mbsinit needs to be overridden.
42329         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
42330         REPLACE_MBSINIT, REPLACE_MBRTOWC.
42331         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
42332         REPLACE_MBSINIT, REPLACE_MBRTOWC.
42333         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
42334         m4/locale-zh.m4.
42335         (Depends): Add mbsinit.
42336         * modules/mbsinit (Depends): Add mbrtowc.
42337         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
42338
42339 2008-12-20  Bruno Haible  <bruno@clisp.org>
42340
42341         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
42342         so that there are no conversion errors on AIX.
42343         * tests/test-mbsrtowcs.c (main): LIkewise.
42344
42345 2008-12-20  Bruno Haible  <bruno@clisp.org>
42346
42347         Work around wctob bug on Solaris <= 9.
42348         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
42349         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
42350         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
42351         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
42352         * modules/wctob (Files): Add m4/locale-fr.m4.
42353         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
42354
42355 2008-12-20  Bruno Haible  <bruno@clisp.org>
42356
42357         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
42358         /dev/null.
42359         * tests/test-select-in.sh: Likewise.
42360         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42361
42362 2008-12-20  Bruno Haible  <bruno@clisp.org>
42363
42364         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
42365         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
42366         Cygwin 1.5.x.
42367
42368 2008-12-20  Bruno Haible  <bruno@clisp.org>
42369
42370         Ensure mbstate_t is defined on HP-UX 11.11.
42371         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
42372         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
42373         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
42374         AC_USE_SYSTEM_EXTENSIONS.
42375         * modules/fnmatch (Depends-on): Add extensions.
42376         * modules/mbrlen (Depends-on): Likewise.
42377         * modules/mbrtowc (Depends-on): Likewise.
42378         * modules/mbsinit (Depends-on): Likewise.
42379         * modules/mbsrtowcs (Depends-on): Likewise.
42380         * modules/mbswidth (Depends-on): Likewise.
42381         * modules/quotearg (Depends-on): Likewise.
42382         * modules/strftime (Depends-on): Likewise.
42383
42384 2008-12-20  Bruno Haible  <bruno@clisp.org>
42385
42386         Ensure wctob is declared on IRIX 6.5.
42387         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
42388         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
42389         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
42390         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
42391         of HAVE_WCTOB.
42392         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
42393         HAVE_WCTOB.
42394         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
42395
42396 2008-12-19  Bruno Haible  <bruno@clisp.org>
42397
42398         * modules/mbsrtowcs-tests: New file.
42399         * tests/test-mbsrtowcs1.sh: New file.
42400         * tests/test-mbsrtowcs2.sh: New file.
42401         * tests/test-mbsrtowcs3.sh: New file.
42402         * tests/test-mbsrtowcs4.sh: New file.
42403         * tests/test-mbsrtowcs.c: New file.
42404
42405         New module 'mbsrtowcs'.
42406         * lib/wchar.in.h (mbsrtowcs): New declaration.
42407         * lib/mbsrtowcs.c: New file.
42408         * m4/mbsrtowcs.m4: New file.
42409         * modules/mbsrtowcs: New file.
42410         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
42411         HAVE_MBSRTOWCS.
42412         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
42413         HAVE_MBSRTOWCS.
42414         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
42415
42416 2008-12-19  Bruno Haible  <bruno@clisp.org>
42417
42418         New module 'mbrlen'.
42419         * lib/wchar.in.h (mbrlen): New declaration.
42420         * lib/mbrlen.c: New file.
42421         * m4/mbrlen.m4: New file.
42422         * modules/mbrlen: New file.
42423         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
42424         HAVE_MBRLEN.
42425         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
42426         HAVE_MBRLEN.
42427         * doc/posix-functions/mbrlen.texi: Document the new module.
42428
42429 2008-12-19  Bruno Haible  <bruno@clisp.org>
42430
42431         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
42432         * modules/mbrtowc (Depends-on): Add verify.
42433         Suggested by Paul Eggert.
42434
42435 2008-12-18  Bruno Haible  <bruno@clisp.org>
42436
42437         * modules/mbsinit-tests: New file.
42438         * tests/test-mbsinit.sh: New file.
42439         * tests/test-mbsinit.c: New file.
42440
42441 2008-12-18  Bruno Haible  <bruno@clisp.org>
42442
42443         * modules/mbrtowc-tests: New file.
42444         * tests/test-mbrtowc1.sh: New file.
42445         * tests/test-mbrtowc2.sh: New file.
42446         * tests/test-mbrtowc3.sh: New file.
42447         * tests/test-mbrtowc4.sh: New file.
42448         * tests/test-mbrtowc.c: New file.
42449
42450         New module 'mbrtowc'.
42451         * lib/wchar.in.h (mbstate_t): Override when the system does not have
42452         mbsinit and mbrtowc.
42453         (mbrtowc): New declaration.
42454         * lib/mbrtowc.c: New file.
42455         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
42456         * modules/mbrtowc: New file.
42457         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
42458         HAVE_MBRTOWC.
42459         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
42460         HAVE_MBRTOWC.
42461         * doc/posix-functions/mbrtowc.texi: Document the new module.
42462
42463 2008-12-18  Bruno Haible  <bruno@clisp.org>
42464
42465         New module 'wctob'.
42466         * lib/wchar.in.h (wctob): New declaration.
42467         * lib/wctob.c: New file.
42468         * m4/wctob.m4: New file.
42469         * modules/wctob: New file.
42470         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
42471         HAVE_WCTOB.
42472         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
42473         * doc/posix-functions/wctob.texi: Document the new module.
42474
42475 2008-12-18  Bruno Haible  <bruno@clisp.org>
42476
42477         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
42478         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
42479
42480 2008-12-18  Simon Josefsson  <simon@josefsson.org>
42481
42482         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
42483         G. Christensen" <tgc@jupiterrise.com>.
42484
42485         * lib/flock.c: Need to include errno.h.  Reported by "Tom
42486         G. Christensen" <tgc@jupiterrise.com>.
42487
42488         * lib/flock.c: Need to include string.h.  Reported by "Tom
42489         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
42490         <ebb9@byu.net>.
42491
42492 2008-12-18  Bruno Haible  <bruno@clisp.org>
42493
42494         * m4/locale-ja.m4: New file, from GNU gettext.
42495
42496 2008-12-17  Bruno Haible  <bruno@clisp.org>
42497
42498         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
42499         Suggested by Eric Blake.
42500
42501 2008-12-17  Bruno Haible  <bruno@clisp.org>
42502
42503         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
42504
42505 2008-12-17  Bruno Haible  <bruno@clisp.org>
42506
42507         * lib/mbsinit.c: Include verify.h. Verify an assumption.
42508         * modules/mbsinit (Depends-on): Add verify.
42509         Suggested by Paul Eggert.
42510
42511 2008-12-17  Bruno Haible  <bruno@clisp.org>
42512
42513         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
42514         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
42515         gl_FUNC_MBRTOWC.
42516         * m4/mbiter.m4 (gl_MBITER): LIkewise.
42517         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
42518         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
42519         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
42520         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
42521         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
42522         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
42523         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
42524         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
42525         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
42526         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
42527         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
42528         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
42529         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
42530         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
42531         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
42532         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
42533         * modules/trim (configure.ac): Likewise.
42534
42535 2008-12-17  Bruno Haible  <bruno@clisp.org>
42536
42537         * modules/btowc-tests: New file.
42538         * tests/test-btowc1.sh: New file.
42539         * tests/test-btowc2.sh: New file.
42540         * tests/test-btowc.c: New file.
42541
42542         New module 'btowc'.
42543         * lib/wchar.in.h (btowc): New declaration.
42544         * lib/btowc.c: New file.
42545         * m4/btowc.m4: New file.
42546         * modules/btowc: New file.
42547         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
42548         HAVE_BTOWC.
42549         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
42550         * doc/posix-functions/btowc.texi: Document the new module.
42551
42552 2008-12-17  Bruno Haible  <bruno@clisp.org>
42553
42554         New module 'mbsinit'.
42555         * lib/wchar.in.h (mbsinit): New declaration.
42556         * lib/mbsinit.c: New file.
42557         * m4/mbsinit.m4: New file.
42558         * modules/mbsinit: New file.
42559         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
42560         HAVE_MBSINIT.
42561         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
42562         HAVE_MBSINIT.
42563         * doc/posix-functions/mbsinit.texi: Document the new module.
42564
42565 2008-12-16  Bruno Haible  <bruno@clisp.org>
42566
42567         * lib/unistd.in.h: Add comment.
42568         * tests/test-environ.c: Don't include <stdlib.h>.
42569
42570 2008-12-16  Bruno Haible  <bruno@clisp.org>
42571
42572         * lib/parse-duration.h (parse_duration): Document return value
42573         convention.
42574         * lib/parse-duration.c: Include specification header first. Add
42575         comments.
42576         (_): Remove macro.
42577         (parse_year_month_day, parse_hour_minute_second): Move side effects
42578         outside of strchr call.
42579         (parse_non_iso8601): Move side effects outside of isspace call.
42580         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
42581         call.
42582
42583 2008-12-16  Bruno Haible  <bruno@clisp.org>
42584
42585         * tests/test-parse-duration.sh: Produce no output when the test
42586         succeeds.
42587
42588 2008-12-16  Bruno Haible  <bruno@clisp.org>
42589
42590         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
42591         expressions.
42592
42593 2008-12-15  Bruno Haible  <bruno@clisp.org>
42594
42595         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
42596         * doc/glibc-functions/flistxattr.texi: Likewise.
42597         * doc/glibc-functions/fopencookie.texi: Likewise.
42598         * doc/glibc-functions/fremovexattr.texi: Likewise.
42599         * doc/glibc-functions/fsetxattr.texi: Likewise.
42600         * doc/glibc-functions/getxattr.texi: Likewise.
42601         * doc/glibc-functions/lgetxattr.texi: Likewise.
42602         * doc/glibc-functions/listxattr.texi: Likewise.
42603         * doc/glibc-functions/llistxattr.texi: Likewise.
42604         * doc/glibc-functions/lremovexattr.texi: Likewise.
42605         * doc/glibc-functions/lsetxattr.texi: Likewise.
42606         * doc/glibc-functions/removexattr.texi: Likewise.
42607         * doc/glibc-functions/setxattr.texi: Likewise.
42608         * doc/posix-functions/open_memstream.texi: Likewise.
42609
42610 2008-12-15  Eric Blake  <ebb9@byu.net>
42611
42612         Update doc for cygwin 1.7.
42613         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
42614         functions.
42615         * doc/posix-functions/fchmodat.texi: Likewise.
42616         * doc/posix-functions/fchownat.texi: Likewise.
42617         * doc/posix-functions/fdopendir.texi: Likewise.
42618         * doc/posix-functions/fmemopen.texi: Likewise.
42619         * doc/posix-functions/freeaddrinfo.texi: Likewise.
42620         * doc/posix-functions/fstatat.texi: Likewise.
42621         * doc/posix-functions/futimens.texi: Likewise.
42622         * doc/posix-functions/gai_strerror.texi: Likewise.
42623         * doc/posix-functions/getaddrinfo.texi: Likewise.
42624         * doc/posix-functions/getnameinfo.texi: Likewise.
42625         * doc/posix-functions/if_freenameindex.texi: Likewise.
42626         * doc/posix-functions/if_indextoname.texi: Likewise.
42627         * doc/posix-functions/if_nameindex.texi: Likewise.
42628         * doc/posix-functions/if_nametoindex.texi: Likewise.
42629         * doc/posix-functions/insque.texi: Likewise.
42630         * doc/posix-functions/linkat.texi: Likewise.
42631         * doc/posix-functions/llrint.texi: Likewise.
42632         * doc/posix-functions/llrintf.texi: Likewise.
42633         * doc/posix-functions/llrintl.texi: Likewise.
42634         * doc/posix-functions/lockf.texi: Likewise.
42635         * doc/posix-functions/lrintl.texi: Likewise.
42636         * doc/posix-functions/mkdirat.texi: Likewise.
42637         * doc/posix-functions/mkfifoat.texi: Likewise.
42638         * doc/posix-functions/mknodat.texi: Likewise.
42639         * doc/posix-functions/mq_close.texi: Likewise.
42640         * doc/posix-functions/mq_getattr.texi: Likewise.
42641         * doc/posix-functions/mq_notify.texi: Likewise.
42642         * doc/posix-functions/mq_open.texi: Likewise.
42643         * doc/posix-functions/mq_receive.texi: Likewise.
42644         * doc/posix-functions/mq_send.texi: Likewise.
42645         * doc/posix-functions/mq_setattr.texi: Likewise.
42646         * doc/posix-functions/mq_timedreceive.texi: Likewise.
42647         * doc/posix-functions/mq_timedsend.texi: Likewise.
42648         * doc/posix-functions/mq_unlink.texi: Likewise.
42649         * doc/posix-functions/open_memstream.texi: Likewise.
42650         * doc/posix-functions/openat.texi: Likewise.
42651         * doc/posix-functions/posix_fadvise.texi: Likewise.
42652         * doc/posix-functions/posix_fallocate.texi: Likewise.
42653         * doc/posix-functions/posix_madvise.texi: Likewise.
42654         * doc/posix-functions/posix_memalign.texi: Likewise.
42655         * doc/posix-functions/posix_openpt.texi: Likewise.
42656         * doc/posix-functions/readlinkat.texi: Likewise.
42657         * doc/posix-functions/remque.texi: Likewise.
42658         * doc/posix-functions/renameat.texi: Likewise.
42659         * doc/posix-functions/rintl.texi: Likewise.
42660         * doc/posix-functions/sem_unlink.texi: Likewise.
42661         * doc/posix-functions/shm_open.texi: Likewise.
42662         * doc/posix-functions/shm_unlink.texi: Likewise.
42663         * doc/posix-functions/signgam.texi: Likewise.
42664         * doc/posix-functions/sigset.texi: Likewise.
42665         * doc/posix-functions/stpcpy.texi: Likewise.
42666         * doc/posix-functions/stpncpy.texi: Likewise.
42667         * doc/posix-functions/strerror.texi: Likewise.
42668         * doc/posix-functions/strtod.texi: Likewise.
42669         * doc/posix-functions/symlinkat.texi: Likewise.
42670         * doc/posix-functions/unlinkat.texi: Likewise.
42671         * doc/posix-functions/utimensat.texi: Likewise.
42672         * doc/glibc-functions/bindresvport.texi: Likewise.
42673         * doc/glibc-functions/dn_expand.texi: Likewise.
42674         * doc/glibc-functions/exp10.texi: Likewise.
42675         * doc/glibc-functions/exp10f.texi: Likewise.
42676         * doc/glibc-functions/fgetxattr.texi: Likewise.
42677         * doc/glibc-functions/flistxattr.texi: Likewise.
42678         * doc/glibc-functions/fopencookie.texi: Likewise.
42679         * doc/glibc-functions/freeifaddrs.texi: Likewise.
42680         * doc/glibc-functions/fremovexattr.texi: Likewise.
42681         * doc/glibc-functions/fsetxattr.texi: Likewise.
42682         * doc/glibc-functions/getifaddrs.texi: Likewise.
42683         * doc/glibc-functions/getxattr.texi: Likewise.
42684         * doc/glibc-functions/lgetxattr.texi: Likewise.
42685         * doc/glibc-functions/listxattr.texi: Likewise.
42686         * doc/glibc-functions/llistxattr.texi: Likewise.
42687         * doc/glibc-functions/lremovexattr.texi: Likewise.
42688         * doc/glibc-functions/lsetxattr.texi: Likewise.
42689         * doc/glibc-functions/pow10.texi: Likewise.
42690         * doc/glibc-functions/pow10f.texi: Likewise.
42691         * doc/glibc-functions/rcmd_af.texi: Likewise.
42692         * doc/glibc-functions/removexattr.texi: Likewise.
42693         * doc/glibc-functions/res_init.texi: Likewise.
42694         * doc/glibc-functions/res_mkquery.texi: Likewise.
42695         * doc/glibc-functions/res_query.texi: Likewise.
42696         * doc/glibc-functions/res_querydomain.texi: Likewise.
42697         * doc/glibc-functions/res_send.texi: Likewise.
42698         * doc/glibc-functions/rresvport_af.texi: Likewise.
42699         * doc/glibc-functions/setxattr.texi: Likewise.
42700         * doc/glibc-functions/strcasestr.texi: Likewise.
42701
42702 2008-12-15  Bruno Haible  <bruno@clisp.org>
42703
42704         Fix compilation error on OSF/1 4.0.
42705         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
42706         <sys/time.h>, simply delegate to the system header.
42707         Reported by Daniel Richard G. <oss@teragram.com>.
42708
42709 2008-12-15  Bruno Haible  <bruno@clisp.org>
42710
42711         * doc/posix-functions/openat.texi: Mention the 'openat' module.
42712         * doc/posix-functions/fchmodat.texi: Likewise.
42713         * doc/posix-functions/fchownat.texi: Likewise.
42714         * doc/posix-functions/fdopendir.texi: Likewise.
42715         * doc/posix-functions/fstatat.texi: Likewise.
42716         * doc/posix-functions/mkdirat.texi: Likewise.
42717         * doc/posix-functions/unlinkat.texi: Likewise.
42718
42719 2008-12-14  Bruno Haible  <bruno@clisp.org>
42720
42721         Update doc for POSIX:2008.
42722         * doc/posix-functions/faccessat.texi: New file.
42723         * doc/posix-functions/fchmodat.texi: New file.
42724         * doc/posix-functions/fchownat.texi: New file.
42725         * doc/posix-functions/fdopendir.texi: New file.
42726         * doc/posix-functions/fstatat.texi: New file.
42727         * doc/posix-functions/futimens.texi: New file.
42728         * doc/posix-functions/linkat.texi: New file.
42729         * doc/posix-functions/mkdirat.texi: New file.
42730         * doc/posix-functions/mkfifoat.texi: New file.
42731         * doc/posix-functions/mknodat.texi: New file.
42732         * doc/posix-functions/open_wmemstream.texi: New file.
42733         * doc/posix-functions/openat.texi: New file.
42734         * doc/posix-functions/psiginfo.texi: New file.
42735         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
42736         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
42737         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
42738         * doc/posix-functions/readlinkat.texi: New file.
42739         * doc/posix-functions/renameat.texi: New file.
42740         * doc/posix-functions/strerror_l.texi: New file.
42741         * doc/posix-functions/symlinkat.texi: New file.
42742         * doc/posix-functions/unlinkat.texi: New file.
42743         * doc/posix-functions/utimensat.texi: New file.
42744         * doc/gnulib.texi (Function Substitutes): Add these subsections.
42745
42746 2008-12-14  Bruno Haible  <bruno@clisp.org>
42747
42748         Update doc for POSIX:2008.
42749         * doc/posix-functions/alphasort.texi: Renamed from
42750         doc/glibc-functions/alphasort.texi.
42751         * doc/posix-functions/dirfd.texi: Renamed from
42752         doc/glibc-functions/dirfd.texi.
42753         * doc/posix-functions/dprintf.texi: Renamed from
42754         doc/glibc-functions/dprintf.texi.
42755         * doc/posix-functions/duplocale.texi: Renamed from
42756         doc/glibc-functions/duplocale.texi.
42757         * doc/posix-functions/fexecve.texi: Renamed from
42758         doc/glibc-functions/fexecve.texi.
42759         * doc/posix-functions/fmemopen.texi: Renamed from
42760         doc/glibc-functions/fmemopen.texi.
42761         * doc/posix-functions/freelocale.texi: Renamed from
42762         doc/glibc-functions/freelocale.texi.
42763         * doc/posix-functions/getdate_err.texi: Renamed from
42764         doc/glibc-functions/getdate_err.texi.
42765         * doc/posix-functions/isalnum_l.texi: Renamed from
42766         doc/glibc-functions/isalnum_l.texi.
42767         * doc/posix-functions/isalpha_l.texi: Renamed from
42768         doc/glibc-functions/isalpha_l.texi.
42769         * doc/posix-functions/isblank_l.texi: Renamed from
42770         doc/glibc-functions/isblank_l.texi.
42771         * doc/posix-functions/iscntrl_l.texi: Renamed from
42772         doc/glibc-functions/iscntrl_l.texi.
42773         * doc/posix-functions/isdigit_l.texi: Renamed from
42774         doc/glibc-functions/isdigit_l.texi.
42775         * doc/posix-functions/isgraph_l.texi: Renamed from
42776         doc/glibc-functions/isgraph_l.texi.
42777         * doc/posix-functions/islower_l.texi: Renamed from
42778         doc/glibc-functions/islower_l.texi.
42779         * doc/posix-functions/isprint_l.texi: Renamed from
42780         doc/glibc-functions/isprint_l.texi.
42781         * doc/posix-functions/ispunct_l.texi: Renamed from
42782         doc/glibc-functions/ispunct_l.texi.
42783         * doc/posix-functions/isspace_l.texi: Renamed from
42784         doc/glibc-functions/isspace_l.texi.
42785         * doc/posix-functions/isupper_l.texi: Renamed from
42786         doc/glibc-functions/isupper_l.texi.
42787         * doc/posix-functions/iswalnum_l.texi: Renamed from
42788         doc/glibc-functions/iswalnum_l.texi.
42789         * doc/posix-functions/iswalpha_l.texi: Renamed from
42790         doc/glibc-functions/iswalpha_l.texi.
42791         * doc/posix-functions/iswblank_l.texi: Renamed from
42792         doc/glibc-functions/iswblank_l.texi.
42793         * doc/posix-functions/iswcntrl_l.texi: Renamed from
42794         doc/glibc-functions/iswcntrl_l.texi.
42795         * doc/posix-functions/iswctype_l.texi: Renamed from
42796         doc/glibc-functions/iswctype_l.texi.
42797         * doc/posix-functions/iswdigit_l.texi: Renamed from
42798         doc/glibc-functions/iswdigit_l.texi.
42799         * doc/posix-functions/iswgraph_l.texi: Renamed from
42800         doc/glibc-functions/iswgraph_l.texi.
42801         * doc/posix-functions/iswlower_l.texi: Renamed from
42802         doc/glibc-functions/iswlower_l.texi.
42803         * doc/posix-functions/iswprint_l.texi: Renamed from
42804         doc/glibc-functions/iswprint_l.texi.
42805         * doc/posix-functions/iswpunct_l.texi: Renamed from
42806         doc/glibc-functions/iswpunct_l.texi.
42807         * doc/posix-functions/iswspace_l.texi: Renamed from
42808         doc/glibc-functions/iswspace_l.texi.
42809         * doc/posix-functions/iswupper_l.texi: Renamed from
42810         doc/glibc-functions/iswupper_l.texi.
42811         * doc/posix-functions/iswxdigit_l.texi: Renamed from
42812         doc/glibc-functions/iswxdigit_l.texi.
42813         * doc/posix-functions/isxdigit_l.texi: Renamed from
42814         doc/glibc-functions/isxdigit_l.texi.
42815         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
42816         doc/glibc-functions/mbsnrtowcs.texi.
42817         * doc/posix-functions/mkdtemp.texi: Renamed from
42818         doc/glibc-functions/mkdtemp.texi.
42819         * doc/posix-functions/newlocale.texi: Renamed from
42820         doc/glibc-functions/newlocale.texi.
42821         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
42822         doc/glibc-functions/nl_langinfo_l.texi.
42823         * doc/posix-functions/open_memstream.texi: Renamed from
42824         doc/glibc-functions/open_memstream.texi.
42825         * doc/posix-functions/opterr.texi: Renamed from
42826         doc/glibc-functions/opterr.texi.
42827         * doc/posix-functions/optind.texi: Renamed from
42828         doc/glibc-functions/optind.texi.
42829         * doc/posix-functions/optopt.texi: Renamed from
42830         doc/glibc-functions/optopt.texi.
42831         * doc/posix-functions/psignal.texi: Renamed from
42832         doc/glibc-functions/psignal.texi.
42833         * doc/posix-functions/scandir.texi: Renamed from
42834         doc/glibc-functions/scandir.texi.
42835         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
42836         doc/glibc-functions/sched_get_priority_min.texi.
42837         * doc/posix-functions/signgam.texi: Renamed from
42838         doc/glibc-functions/signgam.texi.
42839         * doc/posix-functions/stpcpy.texi: Renamed from
42840         doc/glibc-functions/stpcpy.texi.
42841         * doc/posix-functions/stpncpy.texi: Renamed from
42842         doc/glibc-functions/stpncpy.texi.
42843         * doc/posix-functions/strcasecmp_l.texi: Renamed from
42844         doc/glibc-functions/strcasecmp_l.texi.
42845         * doc/posix-functions/strcoll_l.texi: Renamed from
42846         doc/glibc-functions/strcoll_l.texi.
42847         * doc/posix-functions/strfmon_l.texi: Renamed from
42848         doc/glibc-functions/strfmon_l.texi.
42849         * doc/posix-functions/strftime_l.texi: Renamed from
42850         doc/glibc-functions/strftime_l.texi.
42851         * doc/posix-functions/strncasecmp_l.texi: Renamed from
42852         doc/glibc-functions/strncasecmp_l.texi.
42853         * doc/posix-functions/strndup.texi: Renamed from
42854         doc/glibc-functions/strndup.texi.
42855         * doc/posix-functions/strnlen.texi: Renamed from
42856         doc/glibc-functions/strnlen.texi.
42857         * doc/posix-functions/strsignal.texi: Renamed from
42858         doc/glibc-functions/strsignal.texi.
42859         * doc/posix-functions/strxfrm_l.texi: Renamed from
42860         doc/glibc-functions/strxfrm_l.texi.
42861         * doc/posix-functions/timer_gettime.texi: Renamed from
42862         doc/glibc-functions/timer_gettime.texi.
42863         * doc/posix-functions/tolower_l.texi: Renamed from
42864         doc/glibc-functions/tolower_l.texi.
42865         * doc/posix-functions/toupper_l.texi: Renamed from
42866         doc/glibc-functions/toupper_l.texi.
42867         * doc/posix-functions/towctrans_l.texi: Renamed from
42868         doc/glibc-functions/towctrans_l.texi.
42869         * doc/posix-functions/towlower_l.texi: Renamed from
42870         doc/glibc-functions/towlower_l.texi.
42871         * doc/posix-functions/towupper_l.texi: Renamed from
42872         doc/glibc-functions/towupper_l.texi.
42873         * doc/posix-functions/uselocale.texi: Renamed from
42874         doc/glibc-functions/uselocale.texi.
42875         * doc/posix-functions/vdprintf.texi: Renamed from
42876         doc/glibc-functions/vdprintf.texi.
42877         * doc/posix-functions/wcpcpy.texi:
42878         Renamed from doc/glibc-functions/wcpcpy.texi.
42879         * doc/posix-functions/wcpncpy.texi: Renamed from
42880         doc/glibc-functions/wcpncpy.texi.
42881         * doc/posix-functions/wcscasecmp.texi: Renamed from
42882         doc/glibc-functions/wcscasecmp.texi.
42883         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
42884         doc/glibc-functions/wcscasecmp_l.texi.
42885         * doc/posix-functions/wcscoll_l.texi: Renamed from
42886         doc/glibc-functions/wcscoll_l.texi.
42887         * doc/posix-functions/wcsdup.texi: Renamed from
42888         doc/glibc-functions/wcsdup.texi.
42889         * doc/posix-functions/wcsncasecmp.texi: Renamed from
42890         doc/glibc-functions/wcsncasecmp.texi.
42891         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
42892         doc/glibc-functions/wcsncasecmp_l.texi.
42893         * doc/posix-functions/wcsnlen.texi: Renamed from
42894         doc/glibc-functions/wcsnlen.texi.
42895         * doc/posix-functions/wcsnrtombs.texi: Renamed from
42896         doc/glibc-functions/wcsnrtombs.texi.
42897         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
42898         doc/glibc-functions/wcsxfrm_l.texi.
42899         * doc/posix-functions/wctrans_l.texi: Renamed from
42900         doc/glibc-functions/wctrans_l.texi.
42901         * doc/posix-functions/wctype_l.texi: Renamed from
42902         doc/glibc-functions/wctype_l.texi.
42903         * doc/gnulib.texi (Function Substitutes): Add these subsections.
42904         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
42905         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
42906         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
42907         these subsections.
42908         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
42909         Remove sections.
42910
42911 2008-12-14  Bruno Haible  <bruno@clisp.org>
42912
42913         Update doc for POSIX:2008.
42914         * doc/posix-functions/*.texi: Update URL of POSIX specification.
42915
42916 2008-12-14  Bruno Haible  <bruno@clisp.org>
42917
42918         Update doc for POSIX:2008.
42919         * doc/pastposix-functions/bcmp.texi: Renamed from
42920         doc/posix-functions/bcmp.texi.
42921         * doc/pastposix-functions/bcopy.texi: Renamed from
42922         doc/posix-functions/bcopy.texi.
42923         * doc/pastposix-functions/bsd_signal.texi: Renamed from
42924         doc/posix-functions/bsd_signal.texi.
42925         * doc/pastposix-functions/bzero.texi: Renamed from
42926         doc/posix-functions/bzero.texi.
42927         * doc/pastposix-functions/ecvt.texi: Renamed from
42928         doc/posix-functions/ecvt.texi.
42929         * doc/pastposix-functions/fcvt.texi: Renamed from
42930         doc/posix-functions/fcvt.texi.
42931         * doc/pastposix-functions/ftime.texi: Renamed from
42932         doc/posix-functions/ftime.texi.
42933         * doc/pastposix-functions/gcvt.texi: Renamed from
42934         doc/posix-functions/gcvt.texi.
42935         * doc/pastposix-functions/getcontext.texi: Renamed from
42936         doc/posix-functions/getcontext.texi.
42937         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
42938         doc/posix-functions/gethostbyaddr.texi.
42939         * doc/pastposix-functions/gethostbyname.texi: Renamed from
42940         doc/posix-functions/gethostbyname.texi.
42941         * doc/pastposix-functions/getwd.texi: Renamed from
42942         doc/posix-functions/getwd.texi.
42943         * doc/pastposix-functions/h_errno.texi: Renamed from
42944         doc/posix-functions/h_errno.texi.
42945         * doc/pastposix-functions/index.texi: Renamed from
42946         doc/posix-functions/index.texi.
42947         * doc/pastposix-functions/makecontext.texi: Renamed from
42948         doc/posix-functions/makecontext.texi.
42949         * doc/pastposix-functions/mktemp.texi: Renamed from
42950         doc/posix-functions/mktemp.texi.
42951         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
42952         doc/posix-functions/pthread_attr_getstackaddr.texi.
42953         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
42954         doc/posix-functions/pthread_attr_setstackaddr.texi.
42955         * doc/pastposix-functions/rindex.texi: Renamed from
42956         doc/posix-functions/rindex.texi.
42957         * doc/pastposix-functions/scalb.texi: Renamed from
42958         doc/posix-functions/scalb.texi.
42959         * doc/pastposix-functions/setcontext.texi: Renamed from
42960         doc/posix-functions/setcontext.texi.
42961         * doc/pastposix-functions/swapcontext.texi: Renamed from
42962         doc/posix-functions/swapcontext.texi.
42963         * doc/pastposix-functions/ualarm.texi: Renamed from
42964         doc/posix-functions/ualarm.texi.
42965         * doc/pastposix-functions/usleep.texi: Renamed from
42966         doc/posix-functions/usleep.texi.
42967         * doc/pastposix-functions/vfork.texi: Renamed from
42968         doc/posix-functions/vfork.texi.
42969         * doc/pastposix-functions/wcswcs.texi: Renamed from
42970         doc/posix-functions/wcswcs.texi.
42971         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
42972         (Function Substitutes): Update.
42973
42974 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42975
42976         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
42977         m4/strerror.m4.
42978
42979 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42980             Bruno Haible  <bruno@clisp.org>
42981
42982         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
42983
42984 2008-12-13  Bruno Haible  <bruno@clisp.org>
42985
42986         * modules/strtoull (Depends-on): Remove unistd.
42987
42988 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42989
42990         * modules/strtoull (Depends-on): Add stdlib.
42991
42992 2008-12-11  Simon Josefsson  <simon@josefsson.org>
42993
42994         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
42995
42996 2008-12-10  Jim Meyering  <meyering@redhat.com>
42997
42998         gl_ASSERT: don't say assertions are disabled when they're not
42999         * m4/assert.m4 (gl_ASSERT): Do not make configure report
43000         "checking whether to enable assertions... no", when they are in
43001         fact enabled.  This is solely a bug in the output of configure.
43002         In spite of saying "no", NDEBUG was not defined in that case.
43003         Also, as noted by Eric Blake, leave assertions enabled upon
43004         --enable-assert=INVALID.
43005
43006 2008-12-10  Bruno Haible  <bruno@clisp.org>
43007
43008         Change MODULES.html to refer to POSIX:2008 where possible.
43009         * MODULES.html.sh (POSIX2008_URL): New variable.
43010         (posix_headers): Remove sys/timeb, ucontext.
43011         (posix2001_headers): New variable.
43012         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
43013         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
43014         index, makecontext, mktemp, pthread_attr_getstackaddr,
43015         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
43016         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
43017         (posix2001_functions): New variable.
43018         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
43019         otherwise.
43020
43021 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43022
43023         add missing include to parse-duration.c
43024         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
43025         * modules/parse-duration (Depends-on): Add xalloc.
43026
43027         fix sed script reading maint.mk
43028         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
43029         (syntax-check-rules): Use it.
43030
43031 2008-12-09  Bruno Haible  <bruno@clisp.org>
43032
43033         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
43034         MacOS X 10.4/PowerPC.
43035         Reported by Simon Josefsson.
43036
43037 2008-12-08  Jim Meyering  <meyering@redhat.com>
43038
43039         work around mingw's lack of some S_IF definitions
43040         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
43041         Reported by Simon Josefsson.
43042
43043 2008-12-08  Bruno Haible  <bruno@clisp.org>
43044
43045         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
43046         applied to variables. Needed on MacOS X 10.4/PowerPC.
43047         Reported by Simon Josefsson.
43048
43049 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
43050         and Eric Blake  <ebb9@byu.net>
43051
43052         assert: honor --enable-assert
43053         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
43054         order to honor --enable-assert, rather than treating it as a
43055         synonym for --disable-assert.
43056
43057 2008-12-08  Jim Meyering  <meyering@redhat.com>
43058
43059         * lib/posixtm.c: Remove now-useless declaration of mktime.
43060
43061         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
43062
43063 2008-12-07  Bruno Haible  <bruno@clisp.org>
43064
43065         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
43066         test_once): Mark functions as static.
43067         * tests/test-tls.c (test_tls): Likewise.
43068
43069 2008-12-07  Bruno Haible  <bruno@clisp.org>
43070
43071         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
43072         iconv_register_autodetect.
43073
43074 2008-12-07  Jim Meyering  <meyering@redhat.com>
43075
43076         posixtm.c: avoid a warning
43077         * lib/posixtm.c (posixtime): Don't initialize tm0.
43078         It's no longer needed to placate gcc4's -Wuninitialized,
43079         and the attempt to placate would elicit a new warning.
43080
43081         unicodeio.c: mark unused parameters
43082         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
43083         (fallback_failure_callback): Likewise.
43084
43085 2008-12-07  Bruno Haible  <bruno@clisp.org>
43086
43087         * gnulib-tool (func_create_testdir): When building the tests
43088         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
43089         Reported by Simon Josefsson.
43090
43091 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43092
43093         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
43094
43095 2008-12-06  Bruno Haible  <bruno@clisp.org>
43096
43097         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
43098         Suggested by Eric Blake.
43099
43100 2008-12-06  Bruno Haible  <bruno@clisp.org>
43101
43102         Fix a c-stack test failure on MacOS X.
43103         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
43104         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
43105         handler for SIGBUS as well.
43106         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
43107         install a signal handler for SIGBUS as well.
43108         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
43109
43110 2008-12-06  Bruno Haible  <bruno@clisp.org>
43111
43112         Advocacy documentation.
43113         * doc/gnulib-intro.texi (Benefits): New section.
43114         * doc/gnulib.texi: Update.
43115
43116 2008-12-06  Bruno Haible  <bruno@clisp.org>
43117
43118         Document the 'manywarnings' module.
43119         * doc/manywarnings.texi: New file.
43120         * doc/gnulib.texi: Include it.
43121
43122 2008-12-05  Eric Blake  <ebb9@byu.net>
43123
43124         tests: silence some gcc warnings
43125         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
43126         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
43127         type mismatches.
43128
43129 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43130             Bruno Haible  <bruno@clisp.org>
43131
43132         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
43133
43134 2008-11-29  Jim Meyering  <meyering@redhat.com>
43135
43136         unicodeio.c: mark unused parameters
43137         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
43138         (fallback_failure_callback): Likewise.
43139
43140         fts: fix a thinko
43141         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
43142         (set_stat_type): Return S_IF*-valued "type" directly.
43143         Prompted by James Youngman's spotting a related bug.
43144         Confirmed by further testing through find.
43145
43146         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
43147         * lib/fts.c (D_TYPE): Define.
43148         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
43149         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
43150         (s_ifmt_shift_bits): New function.
43151         (set_stat_type): New function.
43152         (fts_build): When not calling fts_stat, call set_stat_type
43153         to propagate dirent.d_type info to fts_read caller.
43154         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
43155         fts_statp->st_mode type information may be valid.
43156
43157 2008-11-28  Simon Josefsson  <simon@josefsson.org>
43158
43159         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
43160         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
43161         <sds@gnu.org>.
43162
43163 2008-11-20  Bruno Haible  <bruno@clisp.org>
43164
43165         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
43166         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
43167         INCLUDE_NEXT.
43168         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
43169         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
43170         * modules/math (Makefile.am): Substitute
43171         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
43172         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
43173
43174 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
43175             Bruno Haible  <bruno@clisp.org>
43176
43177         * lib/stdint.in.h: Define all type macros so that their expansion is
43178         a single typedef'ed token. Fixes a compilation failure in Boost which
43179         does "using ::int8_t;".
43180
43181 2008-11-18  Simon Josefsson  <simon@josefsson.org>
43182
43183         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
43184         gl_MANYWARN_ALL_GCC.
43185         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
43186         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
43187         * modules/manywarnings: New file.
43188         * MODULES.html.sh: Mention manywarnings module.
43189
43190 2008-11-18  Bruno Haible  <bruno@clisp.org>
43191
43192         * doc/gnulib-tool.texi (Unit tests): New section.
43193
43194 2008-11-18  Simon Josefsson  <simon@josefsson.org>
43195
43196         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
43197         paths like 'lib/po/foo.po'.
43198
43199 2008-11-17  Simon Josefsson  <simon@josefsson.org>
43200
43201         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
43202         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
43203
43204 2008-11-17  Simon Josefsson  <simon@josefsson.org>
43205
43206         * m4/warnings.m4: Use CPPFLAGS to really check whether the
43207         parameter works.
43208
43209 2008-11-17  Simon Josefsson  <simon@josefsson.org>
43210
43211         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
43212
43213 2008-11-17  Bruce Korb  <bkorb@gnu.org>
43214
43215         * modules/parse-duration-tests: New file.
43216         * tests/test-parse-duration.sh: New file.
43217         * tests/test-parse-duration.c: New file.
43218
43219         New module 'parse-duration'.
43220         * lib/parse-duration.h: New file.
43221         * lib/parse-duration.c: New file.
43222         * modules/parse-duration: New file.
43223
43224 2008-11-17  Bruno Haible  <bruno@clisp.org>
43225
43226         * tests/test-select-out.sh: Comment out the first pipe test.
43227         Reported by Simon Josefsson.
43228
43229 2008-11-17  Bruno Haible  <bruno@clisp.org>
43230
43231         * modules/getaddrinfo (Depends-on): Add servent, hostent.
43232         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
43233         gl_HOSTENT.
43234
43235 2008-11-17  Bruno Haible  <bruno@clisp.org>
43236
43237         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
43238         -lnetwork and -lnet. Needed for Haiku and BeOS.
43239
43240 2008-11-16  Bruno Haible  <bruno@clisp.org>
43241
43242         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
43243
43244 2008-11-16  Bruno Haible  <bruno@clisp.org>
43245
43246         Avoid test failure on Haiku.
43247         * tests/test-fsync.c: Include <errno.h>.
43248         (main): Don't require that fsync (0) fails.
43249
43250 2008-11-15  Bruno Haible  <bruno@clisp.org>
43251
43252         New module 'hostent'.
43253         * modules/hostent: New file.
43254         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
43255
43256 2008-11-15  Bruno Haible  <bruno@clisp.org>
43257
43258         New module 'servent'.
43259         * modules/servent: New file.
43260         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
43261
43262 2008-11-15  Bruno Haible  <bruno@clisp.org>
43263
43264         Avoid generating same test program with two different rules.
43265         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
43266         test-frexp to test-frexp-nolibm.
43267         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
43268         test-frexpl to test-frexpl-nolibm.
43269
43270 2008-11-15  Bruno Haible  <bruno@clisp.org>
43271
43272         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
43273         $(FREXPL_LIBM).
43274
43275 2008-11-15  Bruno Haible  <bruno@clisp.org>
43276
43277         * lib/netdb.in.h: Activate the definitions also when the system's
43278         <netdb.h> has 'struct addrinfo'.
43279         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
43280         EAI_OVERFLOW or AI_NUMERICSERV.
43281         * doc/posix-headers/netdb.texi: Document the problem.
43282
43283 2008-11-15  Bruno Haible  <bruno@clisp.org>
43284
43285         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
43286
43287         Make the 'sched' module work on platforms where <sched.h> exists but
43288         is incomplete (such as Haiku).
43289         * lib/sched.in.h; Include the system's <sched.h> if it exists.
43290         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
43291         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
43292         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
43293         HAVE_STRUCT_SCHED_PARAM.
43294         * modules/sched (Depends-on): Add include_next.
43295         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
43296         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
43297         * doc/posix-headers/sched.texi: Document the issue.
43298
43299 2008-11-13  Jim Meyering  <meyering@redhat.com>
43300
43301         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
43302         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
43303         test would fail due to the difference in the Report bugs to ...
43304         line.  The expected address is empty, "<>", while the actual
43305         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
43306
43307 2008-11-12  Bruno Haible  <bruno@clisp.org>
43308
43309         lstat: don't compile lstat.c on systems lacking lstat
43310         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
43311         which don't have lstat; this is handled by lib/sys_stat.in.h already.
43312         Reported by Daniel P. Berrange via Jim Meyering.
43313
43314 2008-11-12  Jim Meyering  <meyering@redhat.com>
43315
43316         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
43317
43318 2008-11-12  Simon Josefsson  <simon@josefsson.org>
43319
43320         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
43321         instead.
43322
43323 2008-11-12  Bruno Haible  <bruno@clisp.org>
43324
43325         * lib/unicodeio.c: Include unistr.h.
43326         (utf8_wctomb): Remove function.
43327         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
43328
43329 2008-11-12  Simon Josefsson  <simon@josefsson.org>
43330
43331         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
43332         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
43333         <bruno@clisp.org>.
43334         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
43335
43336 2008-11-12  Simon Josefsson  <simon@josefsson.org>
43337
43338         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
43339         * doc/gnulib.texi: Add section for warnings.
43340
43341 2008-11-11  Bruno Haible  <bruno@clisp.org>
43342
43343         * lib/sockets.h: Add a comment.
43344
43345 2008-11-11  Karl Berry  <karl@gnu.org>
43346
43347         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
43348
43349 2008-11-11  Eric Blake  <ebb9@byu.net>
43350
43351         fdl.texi: avoid git symlinks
43352         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
43353
43354 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
43355
43356         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
43357
43358 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
43359
43360         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
43361         (gl_WARN_ADD): Substitute $2 if literal.
43362
43363 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
43364
43365         * m4/warning.m4: Remove.
43366
43367 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
43368
43369         * m4/warnings.m4: Almost complete rewrite. :-)
43370
43371 2008-11-10  Simon Josefsson  <simon@josefsson.org>
43372
43373         * modules/warnings: New module.
43374         * m4/warnings.m4: New file.
43375         * MODULES.html.sh: Mention warnings module.
43376         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
43377         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
43378
43379 2008-11-10  Eric Blake  <ebb9@byu.net>
43380
43381         fdl.texi: make a symlink to the latest version
43382         * doc/standards.texi: Revert today's earlier change.
43383         * doc/fdl-1.2.texi: Rename from old fdl.texi...
43384         * doc/fdl.texi: ...and replace this with a symlink to the newer
43385         fdl-1.3.texi.
43386
43387 2008-11-10  Bruno Haible  <bruno@clisp.org>
43388
43389         * tests/test-select-fd.c (main): Accept the result file name as fourth
43390         argument.
43391         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
43392         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
43393
43394 2008-11-10  Bruno Haible  <bruno@clisp.org>
43395
43396         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
43397         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
43398         as autoconf-substituted macros.
43399         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
43400         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
43401         gl_NETDB_H_DEFAULTS. Set these variables.
43402         * modules/netdb (Makefile.am): Substitute these variables.
43403
43404 2008-11-10  Eric Blake  <ebb9@byu.net>
43405
43406         standards.texi: include correct file for FDL 1.3
43407         * doc/standards.texi (GNU Free Documentation License): Change
43408         include file to pull in FDL 1.3, not 1.2.
43409
43410         fdl.texi: revert accidental change to license
43411         * doc/fdl.texi: This is FDL 1.2, not 1.3.
43412
43413 2008-11-10  Bruno Haible  <bruno@clisp.org>
43414
43415         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
43416         cross-compiling guesses also when the native compile gives no result.
43417
43418 2008-11-10  Bruno Haible  <bruno@clisp.org>
43419
43420         * lib/spawni.c (__spawni): Force variable into the stack.
43421
43422 2008-11-10  Bruno Haible  <bruno@clisp.org>
43423
43424         Add support for Haiku.
43425         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
43426         glibc and BeOS, but also on Haiku.
43427         * lib/fpurge.c (fpurge): Likewise.
43428         * lib/freadable.c (freadable): Likewise.
43429         * lib/freadahead.c (freadahead): Likewise.
43430         * lib/freading.c (freading): Likewise.
43431         * lib/freadptr.c (freadptr): Likewise.
43432         * lib/freadseek.c (freadptrinc): Likewise.
43433         * lib/fseeko.c (rpl_fseeko): Likewise.
43434         * lib/fseterr.c (fseterr): Likewise.
43435         * lib/fwritable.c (fwritable): Likewise.
43436         * lib/fwriting.c (fwriting): Likewise.
43437         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
43438
43439 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
43440
43441         * lib/config.charset: Treat Haiku like BeOS.
43442
43443 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
43444
43445         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
43446         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
43447
43448 2008-11-08  Bruno Haible  <bruno@clisp.org>
43449
43450         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
43451         AC_CACHE_CHECK.
43452
43453 2008-11-08  Bruno Haible  <bruno@clisp.org>
43454
43455         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
43456
43457 2008-11-08  Bruno Haible  <bruno@clisp.org>
43458
43459         * tests/test-select-fd.c: New file.
43460         * tests/test-select-in.sh: New file.
43461         * tests/test-select-out.sh: New file.
43462         * tests/test-select-stdin.c: New file.
43463         * modules/select-tests (Files): Add the new files.
43464         (Depends-on): Add gettimeofday.
43465         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
43466         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
43467         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
43468
43469 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
43470             Bruno Haible  <bruno@clisp.org>
43471
43472         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
43473
43474 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
43475
43476         * build-aux/pmccabe2html: Added support for C++ source files.
43477
43478 2008-11-05  Ben Pfaff  <blp@gnu.org>
43479
43480         Fix lib/close.c build on Windows.
43481         * modules/close (Files): Add lib/w32sock.h.
43482
43483 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
43484
43485         Accept Bison's NEWS format.
43486         * build-aux/announce-gen (print_news_deltas): Tweak
43487         $re_prefix.
43488
43489 2008-11-04  Bruno Haible  <bruno@clisp.org>
43490
43491         * modules/random_r (Maintainer): Add glibc.
43492
43493 2008-11-04  Simon Josefsson  <simon@josefsson.org>
43494
43495         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
43496         by karl@freefriends.org (Karl Berry).
43497         * doc/alloca.texi: Likewise.
43498         * doc/c-ctype.texi: Likewise.
43499         * doc/c-strcase.texi: Likewise.
43500         * doc/c-strcaseeq.texi: Likewise.
43501         * doc/c-strcasestr.texi: Likewise.
43502         * doc/c-strstr.texi: Likewise.
43503         * doc/c-strtod.texi: Likewise.
43504         * doc/c-strtold.texi: Likewise.
43505         * doc/ctime.texi: Likewise.
43506         * doc/error.texi: Likewise.
43507         * doc/fdl.texi: Likewise.
43508         * doc/gcd.texi: Likewise.
43509         * doc/getdate.texi: Likewise.
43510         * doc/gnulib-intro.texi: Likewise.
43511         * doc/gnulib-tool.texi: Likewise.
43512         * doc/gnulib.texi: Likewise.
43513         * doc/inet_ntoa.texi: Likewise.
43514         * doc/maintain.texi: Likewise.
43515         * doc/make-stds.texi: Likewise.
43516         * doc/quote.texi: Likewise.
43517         * doc/regexprops-generic.texi: Likewise.
43518         * doc/standards.texi: Likewise.
43519         * doc/verify.texi: Likewise.
43520         * doc/visibility.texi: Likewise.
43521         * doc/gnulib.texi (GNU Free Documentation License): Include
43522         fdl-1.3.texi instead of fdl.texi.
43523
43524 2008-11-04  Simon Josefsson  <simon@josefsson.org>
43525
43526         * doc/fdl-1.3.texi: New file, from
43527         <http://www.gnu.org/licenses/fdl-1.3.texi>.
43528         * modules/fdl-1.3: Add.
43529         * MODULES.html.sh: Add fdl-1.3.
43530
43531 2008-11-03  Bruno Haible  <bruno@clisp.org>
43532
43533         Make determination of absolute name of header file work with AIX xlc.
43534         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
43535         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
43536         preprocessing.
43537         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
43538         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
43539
43540 2008-11-03  Simon Josefsson  <simon@josefsson.org>
43541
43542         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
43543         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
43544         <ludo@gnu.org>.
43545
43546 2008-11-02  Bruno Haible  <bruno@clisp.org>
43547
43548         Mark 'strpbrk' obsolete.
43549         * modules/strpbrk (Status, Notice): New sections.
43550         * modules/strtok_r (Depends-on): Add strpbrk.
43551
43552 2008-11-02  Bruno Haible  <bruno@clisp.org>
43553
43554         Mark 'strdup' obsolete.
43555         * modules/strdup (Status, Notice): New sections.
43556         * modules/findprog (Depends-on): Add strdup.
43557         * modules/getaddrinfo (Depends-on): Likewise.
43558         * modules/localename (Depends-on): Likewise.
43559         * modules/relocatable-lib (Depends-on): Likewise.
43560         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
43561         * modules/relocatable-prog (Depends-on): Likewise.
43562         * modules/trim (Depends-on): Likewise.
43563         * modules/unictype/gen-ctype (Depends-on): Likewise.
43564         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
43565
43566 2008-11-02  Bruno Haible  <bruno@clisp.org>
43567
43568         Mark 'strcspn' obsolete.
43569         * modules/strcspn (Status, Notice): New sections.
43570
43571 2008-11-02  Bruno Haible  <bruno@clisp.org>
43572
43573         Mark 'rmdir' obsolete.
43574         * modules/rmdir (Status, Notice): New sections.
43575         * modules/clean-temp (Depends-on): Add rmdir.
43576         * modules/openat (Depends-on): Likewise.
43577
43578 2008-11-02  Bruno Haible  <bruno@clisp.org>
43579
43580         Mark 'raise' obsolete.
43581         * modules/raise (Status, Notice): New sections.
43582         (Include): Specify <signal.h>.
43583         * modules/stdio (Depends-on): Add raise.
43584         * modules/write (Depends-on): Likewise.
43585
43586 2008-11-02  Bruno Haible  <bruno@clisp.org>
43587
43588         Mark 'memset' obsolete.
43589         * modules/memset (Status, Notice): New sections.
43590
43591 2008-11-02  Bruno Haible  <bruno@clisp.org>
43592
43593         Mark 'memmove' obsolete.
43594         * modules/memmove (Status, Notice): New sections.
43595         * modules/argp (Depends-on): Add memmove.
43596         * modules/argz (Depends-on): Likewise.
43597         * modules/canonicalize (Depends-on): Likewise.
43598         * modules/canonicalize-lgpl (Depends-on): Likewise.
43599         * modules/fts (Depends-on): Likewise.
43600         * modules/getcwd (Depends-on): Likewise.
43601         * modules/human (Depends-on): Likewise.
43602         * modules/regex (Depends-on): Likewise.
43603         * modules/striconveh (Depends-on): Likewise.
43604         * modules/trim (Depends-on): Likewise.
43605         * modules/unistr/u8-move (Depends-on): Likewise.
43606         * modules/unistr/u16-move (Depends-on): Likewise.
43607         * modules/unistr/u32-move (Depends-on): Likewise.
43608
43609 2008-11-02  Bruno Haible  <bruno@clisp.org>
43610
43611         Mark 'memcpy' obsolete.
43612         * modules/memcpy (Status, Notice): New sections.
43613
43614 2008-11-02  Bruno Haible  <bruno@clisp.org>
43615
43616         Mark 'memcmp' obsolete.
43617         * modules/memcmp (Status, Notice): New sections.
43618         * modules/argmatch (Depends-on): Add memchr.
43619         * modules/backupfile (Depends-on): Likewise.
43620         * modules/c-strcasestr (Depends-on): Likewise.
43621         * modules/crypto/des (Depends-on): Likewise.
43622         * modules/csharpcomp (Depends-on): Likewise.
43623         * modules/fnmatch (Depends-on): Likewise.
43624         * modules/git-merge-changelog (Depends-on): Likewise.
43625         * modules/isnand (Depends-on): Likewise.
43626         * modules/isnand-nolibm (Depends-on): Likewise.
43627         * modules/isnanf (Depends-on): Likewise.
43628         * modules/isnanf-nolibm (Depends-on): Likewise.
43629         * modules/isnanl (Depends-on): Likewise.
43630         * modules/isnanl-nolibm (Depends-on): Likewise.
43631         * modules/mbchar (Depends-on): Likewise.
43632         * modules/memcoll (Depends-on): Likewise.
43633         * modules/quotearg (Depends-on): Likewise.
43634         * modules/regex (Depends-on): Likewise.
43635         * modules/relocatable-prog (Depends-on): Likewise.
43636         * modules/same (Depends-on): Likewise.
43637         * modules/signbit (Depends-on): Likewise.
43638         * modules/strcasestr-simple (Depends-on): Likewise.
43639         * modules/unictype/gen-ctype (Depends-on): Likewise.
43640         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
43641         * modules/uniname/uniname (Depends-on): Likewise.
43642         * modules/unistr/u8-cmp (Depends-on): Likewise.
43643
43644 2008-11-02  Bruno Haible  <bruno@clisp.org>
43645
43646         Mark 'memchr' obsolete.
43647         * modules/memchr (Status, Notice): New sections.
43648         * modules/argp (Depends-on): Add memchr.
43649         * modules/base64 (Depends-on): Likewise.
43650         * modules/c-strcasestr (Depends-on): Likewise.
43651         * modules/chdir-long (Depends-on): Likewise.
43652         * modules/fnmatch (Depends-on): Likewise.
43653         * modules/getsubopt (Depends-on): Likewise.
43654         * modules/git-merge-changelog (Depends-on): Likewise.
43655         * modules/glob (Depends-on): Likewise.
43656         * modules/strcasestr-simple (Depends-on): Likewise.
43657         * modules/strnlen (Depends-on): Likewise.
43658
43659 2008-11-02  Bruno Haible  <bruno@clisp.org>
43660
43661         Mark 'atexit' obsolete.
43662         * modules/atexit (Status, Notice): New sections.
43663         * modules/chdir-long (Depends-on): Add atexit.
43664         * modules/wait-process (Depends-on): Likewise.
43665
43666 2008-11-02  Bruno Haible  <bruno@clisp.org>
43667
43668         * gnulib-tool: New option --with-obsolete.
43669         (func_usage): Document it.
43670         (func_modules_transitive_closure): Drop obsolete dependencies if
43671         incobsolete is not true.
43672         (func_import): Read and save the incobsolete variable to the cache.
43673
43674 2008-11-02  Bruno Haible  <bruno@clisp.org>
43675
43676         * modules/TEMPLATE-EXTENDED: New field 'Status'.
43677         * gnulib-tool: New option --extract-status.
43678         (func_usage): Document it.
43679         (sed_extract_prog): Recognize it.
43680         (func_get_status): New function.
43681
43682 2008-10-30  Simon Josefsson  <simon@josefsson.org>
43683
43684         * modules/sockets (License): Change from LGPL to LGPLv2+.
43685
43686 2008-10-28  Simon Josefsson  <simon@josefsson.org>
43687
43688         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
43689
43690 2008-10-28  Simon Josefsson  <simon@josefsson.org>
43691
43692         * MODULES.html.sh (Support for systems lacking POSIX:2001):
43693         Mention times and sys_times.
43694         * modules/sys_times, modules/sys_times-tests: New modules.
43695         * modules/times, modules/times-tests: Likewise
43696         * m4/sys_times_h.m4: New file.
43697         * lib/sys_times.in.h: Likewise
43698         * lib/times.c: Likewise.
43699         * tests/test-sys_times.c: Likewise.
43700         * tests/test-times.c: Likewise.
43701         * doc/posix-headers/sys_times.texi: Update.
43702         * doc/posix-functions/times.texi: Update.
43703
43704 2008-10-28  Jim Meyering  <meyering@redhat.com>
43705
43706         * modules/tempname (Depends-on): Add lstat.
43707
43708         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
43709
43710 2008-10-28  Simon Josefsson  <simon@josefsson.org>
43711
43712         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
43713         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
43714         using idiom used elsewhere in gnulib.
43715
43716 2008-10-27  Jim Meyering  <meyering@redhat.com>
43717
43718         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
43719
43720 2008-10-27  Simon Josefsson  <simon@josefsson.org>
43721
43722         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
43723         TESTS_ENVIRONMENT, for shell scripts that needs to call built
43724         programs.
43725         * tests/test-argp-2.sh: Use $EXEEXT when needed.
43726
43727 2008-10-27  Simon Josefsson  <simon@josefsson.org>
43728
43729         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
43730
43731 2008-10-27  Bruno Haible  <bruno@clisp.org>
43732
43733         * tests/test-lstat.c: Include <stdio.h>.
43734
43735 2008-10-27  Simon Josefsson  <simon@josefsson.org>
43736
43737         * modules/lstat-tests: New module.
43738         * tests/test-lstat.c: New file.
43739
43740 2008-10-26  Jim Meyering  <meyering@redhat.com>
43741
43742         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
43743
43744 2008-10-26  Simon Josefsson  <simon@josefsson.org>
43745             Bruno Haible  <bruno@clisp.org>
43746
43747         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
43748         * modules/configmake (Include): Add a note that the include must come
43749         after all system headers.
43750         * lib/javaversion.c: Include configmake.h after all other includes.
43751
43752 2008-10-26  Bruno Haible  <bruno@clisp.org>
43753
43754         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
43755         HAVE_STRUCT_RANDOM_DATA to 1.
43756         (gl_STDLIB_H): Simplify.
43757
43758 2008-10-26  Simon Josefsson  <simon@josefsson.org>
43759
43760         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
43761         substitute HAVE_STRUCT_RANDOM_DATA.
43762         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
43763         random_data.
43764         * modules/stdlib (Makefile.am): Substitute
43765         HAVE_STRUCT_RANDOM_DATA.
43766
43767 2008-10-26  Simon Josefsson  <simon@josefsson.org>
43768
43769         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
43770         * doc/gnulib-intro.texi (Copyright): Likewise.
43771
43772 2008-10-26  Simon Josefsson  <simon@josefsson.org>
43773
43774         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
43775         findings.
43776
43777 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
43778             Bruno Haible  <bruno@clisp.org>
43779
43780         * lib/unistd.in.h: Include <winsock2.h>.
43781         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
43782         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
43783         Provide dummy declarations.
43784         (gethostname): Override.
43785         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
43786         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
43787         gl_PREREQ_SYS_H_WINSOCK2.
43788         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
43789         * doc/posix-functions/gethostname.texi: More details.
43790
43791 2008-10-25  Bruno Haible  <bruno@clisp.org>
43792
43793         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
43794         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
43795         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
43796
43797         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
43798         here ...
43799         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
43800         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
43801         gl_UNISTD_H_DEFAULTS.
43802
43803 2008-10-25  Eric Blake  <ebb9@byu.net>
43804
43805         signbit: avoid spurious compiler failure
43806         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
43807         declarations inside function.
43808
43809 2008-10-24  Simon Josefsson  <simon@josefsson.org>
43810             Bruno Haible  <bruno@clisp.org>
43811
43812         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
43813         * modules/random_r (Depends-on): Add stdint.
43814
43815 2008-10-24  Bruno Haible  <bruno@clisp.org>
43816
43817         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
43818         Eggert.
43819         * modules/strerror (License): Likewise.
43820
43821 2008-10-24  Jim Meyering  <meyering@redhat.com>
43822
43823         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
43824         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
43825
43826 2008-10-24  Eric Blake  <ebb9@byu.net>
43827
43828         getgroups: fix compilation when getgroups is available
43829         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
43830         but with <config.h> override of getgroups disabled.
43831
43832 2008-10-24  Simon Josefsson  <simon@josefsson.org>
43833
43834         * doc/gnulib.texi (Header files): Add note about C++ problems.
43835         Explained by Bruno Haible <bruno@clisp.org>.
43836
43837 2008-10-23  Bruno Haible  <bruno@clisp.org>
43838
43839         Define a dummy SA_NODEFER macro on Interix.
43840         * lib/signal.in.h (SA_NODEFER): Define fallback.
43841         Reported by Aleksey Cheusov <cheusov@tut.by> via
43842         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
43843
43844 2008-10-23  Bruno Haible  <bruno@clisp.org>
43845
43846         * modules/freadahead (License): Change to LGPLv2+.
43847         Suggested by Simon Josefsson.
43848
43849 2008-10-23  Jim Meyering  <meyering@redhat.com>
43850
43851         random_r: new module
43852         * modules/random_r: New file.
43853         * m4/random_r.m4: New file.
43854         * lib/random_r.c: New file, from glibc.
43855         * modules/random_r-tests: New file.
43856         * tests/test-random_r.c: New file.
43857         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
43858          Declare.
43859         (RAND_MAX): Define.
43860         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
43861         * modules/stdlib: Substitute them, too.
43862         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
43863         * doc/glibc-functions/initstate_r.texi: Mention the new module.
43864         * doc/glibc-functions/random_r.texi: Likewise.
43865         * doc/glibc-functions/setstate_r.texi: Likewise.
43866         * doc/glibc-functions/srandom_r.texi: Likewise.
43867         * config/srclist.txt: Mention it.
43868
43869 2008-10-23  David Lutterkort  <lutter@redhat.com>
43870
43871         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
43872         link requirement
43873
43874 2008-10-23  Jim Meyering  <meyering@redhat.com>
43875
43876         selinux-h: mark parameters of stub functions as intentionally unused
43877         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
43878         * lib/se-context.in.h: Likewise.
43879
43880 2008-10-22  Simon Josefsson  <simon@josefsson.org>
43881
43882         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
43883
43884 2008-10-22  Simon Josefsson  <simon@josefsson.org>
43885
43886         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
43887
43888 2008-10-22  Eric Blake  <ebb9@byu.net>
43889
43890         glthread/thread: avoid compiler warning
43891         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
43892         Add unreachable abort to silence compiler.
43893
43894 2008-10-22  Eric Blake  <ebb9@byu.net>
43895
43896         netdb: also supply struct addrinfo for cygwin 1.5.x
43897         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
43898         older cygwin.
43899         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
43900         cygwin.
43901         * doc/posix-headers/netdb.texi (netdb.h): Document this.
43902
43903 2008-10-22  Bruno Haible  <bruno@clisp.org>
43904
43905         * users.txt: Update entry about pspp.
43906
43907 2008-10-21  Bruno Haible  <bruno@clisp.org>
43908
43909         Simplification.
43910         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
43911         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
43912
43913         Simplification.
43914         * lib/ioctl.c (ioctl): Don't undefine.
43915         * lib/socket.c (socket): Don't undefine.
43916
43917         Remove unused module indicator macros.
43918         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
43919         GNULIB_$1 as a C macro.
43920
43921         * doc/posix-functions/close.texi: Undo last change.
43922         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
43923         Windows platforms.
43924
43925 2008-10-21  Bruno Haible  <bruno@clisp.org>
43926
43927         Add gethostname() declaration to <unistd.h>.
43928         * lib/unistd.in.h (gethostname): New declaration.
43929         * lib/gethostname.c: Include <unistd.h>.
43930         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
43931         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
43932         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
43933         and HAVE_GETHOSTNAME.
43934         * modules/gethostname (Depends-on): Add unistd.
43935         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
43936         (Include): Specify <unistd.h>.
43937         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
43938         HAVE_GETHOSTNAME.
43939         * tests/test-gethostname.c: Include <unistd.h> first.
43940
43941 2008-10-21  Bruno Haible  <bruno@clisp.org>
43942
43943         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
43944         * modules/select-tests (Depends-on): Likewise.
43945         Reported by Simon Josefsson.
43946
43947 2008-10-21  Simon Josefsson  <simon@josefsson.org>
43948
43949         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
43950         * lib/accept.c: New file, based on winsock.c.
43951         * lib/bind.c: New file, based on winsock.c.
43952         * lib/connect.c: New file, based on winsock.c.
43953         * lib/getpeername.c: New file, based on winsock.c.
43954         * lib/getsockname.c: New file, based on winsock.c.
43955         * lib/getsockopt.c: New file, based on winsock.c.
43956         * lib/ioctl.c: New file, based on winsock.c.
43957         * lib/listen.c: New file, based on winsock.c.
43958         * lib/recv.c: New file, based on winsock.c.
43959         * lib/recvfrom.c: New file, based on winsock.c.
43960         * lib/send.c: New file, based on winsock.c.
43961         * lib/sendto.c: New file, based on winsock.c.
43962         * lib/setsockopt.c: New file, based on winsock.c.
43963         * lib/shutdown.c: New file, based on winsock.c.
43964         * lib/socket.c: New file, based on winsock.c.
43965         * lib/w32sock.h: New file, based on winsock.c.
43966         * lib/winsock.c: Remove file.
43967         * modules/accept: Likewise.
43968         * modules/bind: Likewise.
43969         * modules/connect: Likewise.
43970         * modules/getpeername: Likewise.
43971         * modules/getsockname: Likewise.
43972         * modules/getsockopt: Likewise.
43973         * modules/ioctl: Likewise.
43974         * modules/listen: Likewise.
43975         * modules/recv: Likewise.
43976         * modules/recvfrom: Likewise.
43977         * modules/send: Likewise.
43978         * modules/sendto: Likewise.
43979         * modules/setsockopt: Likewise.
43980         * modules/shutdown: Likewise.
43981         * modules/socket: Use socket.c instead of winsock.c.
43982         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
43983         * doc/posix-functions/accept.texi: Doc fix.
43984         * doc/posix-functions/bind.texi: Doc fix.
43985         * doc/posix-functions/close.texi: Doc fix.
43986         * doc/posix-functions/connect.texi: Doc fix.
43987         * doc/posix-functions/getpeername.texi: Doc fix.
43988         * doc/posix-functions/getsockname.texi: Doc fix.
43989         * doc/posix-functions/getsockopt.texi: Doc fix.
43990         * doc/posix-functions/ioctl.texi: Doc fix.
43991         * doc/posix-functions/listen.texi: Doc fix.
43992         * doc/posix-functions/recv.texi: Doc fix.
43993         * doc/posix-functions/recvfrom.texi: Doc fix.
43994         * doc/posix-functions/send.texi: Doc fix.
43995         * doc/posix-functions/sendto.texi: Doc fix.
43996         * doc/posix-functions/setsockopt.texi: Doc fix.
43997         * doc/posix-functions/shutdown.texi: Doc fix.
43998         * doc/posix-functions/socket.texi: Doc fix.
43999
44000 2008-10-20  Bruno Haible  <bruno@clisp.org>
44001
44002         Take into account the role of SIGABRT_COMPAT on Windows 2008.
44003         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
44004         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
44005         as an alias for SIGABRT.
44006         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
44007         (sigaction): Map it to SIGABRT.
44008         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
44009
44010 2008-10-20  Bruno Haible  <bruno@clisp.org>
44011
44012         * lib/fts.c: Don't include lstat.h.
44013         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
44014
44015         Move the lstat() declaration to <sys/stat.h>.
44016         * lib/lstat.h: Remove file.
44017         * lib/sys_stat.in.h: Add special invocation convention.
44018         (lstat): New declaration.
44019         * lib/lstat.c (orig_lstat): New function.
44020         (rpl_lstat): Use orig_lstat instead of lstat.
44021         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
44022         AC_C_INLINE. Set REPLACE_LSTAT.
44023         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
44024         and REPLACE_LSTAT.
44025         * modules/lstat (Files): Remove lib/lstat.h.
44026         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
44027         (Include): Specify <sys/stat.h> instead of lstat.h.
44028         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
44029         REPLACE_LSTAT.
44030         * NEWS: Mention the change.
44031
44032 2008-10-20  Bruno Haible  <bruno@clisp.org>
44033
44034         * modules/posix_spawn-tests: New file.
44035         * tests/test-posix_spawn3.c: New file.
44036
44037 2008-10-20  Bruno Haible  <bruno@clisp.org>
44038
44039         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
44040         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
44041         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
44042         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
44043         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
44044
44045 2008-10-20  Bruno Haible  <bruno@clisp.org>
44046
44047         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
44048         of posix_spawn on AIX 5.3.
44049
44050 2008-10-20  Bruno Haible  <bruno@clisp.org>
44051
44052         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
44053
44054 2008-10-20  Bruno Haible  <bruno@clisp.org>
44055
44056         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
44057         of AC_LANG_PROGRAM.
44058
44059 2008-10-20  Simon Josefsson  <simon@josefsson.org>
44060
44061         * lib/netdb.in.h: Don't define GNU specific constants until they
44062         are supported or needed.  Reported by Bruno Haible
44063         <bruno@clisp.org>.
44064
44065 2008-10-20  Simon Josefsson  <simon@josefsson.org>
44066
44067         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
44068
44069 2008-10-20  Simon Josefsson  <simon@josefsson.org>
44070
44071         * lib/getaddrinfo.h: Remove file.
44072         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
44073         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
44074         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
44075         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
44076         * modules/netdb: Substitute GNULIB_GETADDRINFO.
44077         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
44078         * tests/test-getaddrinfo.c: Likewise.
44079         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
44080         * NEWS: Mention change.
44081
44082 2008-10-19  Bruno Haible  <bruno@clisp.org>
44083
44084         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
44085
44086 2008-10-19  Bruno Haible  <bruno@clisp.org>
44087
44088         * lib/wait-process.c: Include simply <sys/wait.h>.
44089         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
44090         WIFSTOPPED): Remove fallback definitions.
44091         * modules/wait-process (Depends-on): Add sys_wait.
44092
44093         New module 'sys_wait'.
44094         * modules/sys_wait: New file.
44095         * lib/sys_wait.in.h: New file, partially copied from
44096         lib/wait-process.c.
44097         * m4/sys_wait_h.m4: New file.
44098         * doc/posix-headers/sys_wait.texi: Mention the new module.
44099
44100 2008-10-19  Bruno Haible  <bruno@clisp.org>
44101
44102         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
44103
44104 2008-10-19  Bruno Haible  <bruno@clisp.org>
44105
44106         Assume that waitpid() fills an 'int' status, not a 'union wait'.
44107         * lib/wait-process.c (WAIT_T): Remove type.
44108         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
44109         (wait_subprocess): Update.
44110
44111 2008-10-19  Bruno Haible  <bruno@clisp.org>
44112
44113         New module 'atoll'.
44114         * modules/atoll: New file.
44115         * lib/stdlib.in.h (atoll): New declaration.
44116         * lib/atoll.c: New file, from glibc with modifications.
44117         * m4/atoll.m4: New file.
44118         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
44119         HAVE_ATOLL.
44120         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
44121         * doc/posix-functions/atoll.texi: Mention the new module.
44122
44123 2008-10-19  Bruno Haible  <bruno@clisp.org>
44124
44125         Add strtoull() declaration to <stdlib.h>.
44126         * lib/stdlib.in.h (strtoull): New declaration.
44127         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
44128         Set HAVE_STRTOULL.
44129         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
44130         HAVE_STRTOULL.
44131         * modules/strtoull (Depends-on): Add stdlib.
44132         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44133         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
44134         HAVE_STRTOULL.
44135
44136 2008-10-19  Bruno Haible  <bruno@clisp.org>
44137
44138         Add strtoll() declaration to <stdlib.h>.
44139         * lib/stdlib.in.h (strtoll): New declaration.
44140         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
44141         Set HAVE_STRTOLL.
44142         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
44143         HAVE_STRTOLL.
44144         * modules/strtoll (Depends-on): Add stdlib.
44145         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44146         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
44147
44148 2008-10-19  Bruno Haible  <bruno@clisp.org>
44149
44150         * modules/bcopy (Depends-on): Add strings.
44151         (Include): Specify <strings.h>.
44152
44153 2008-10-19  Bruno Haible  <bruno@clisp.org>
44154
44155         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
44156
44157 2008-10-19  Bruno Haible  <bruno@clisp.org>
44158
44159         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
44160         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
44161         mingw.
44162
44163 2008-10-19  Bruno Haible  <bruno@clisp.org>
44164
44165         * lib/atanl.c: Don't include isnanl.h.
44166         * lib/cosl.c: Likewise.
44167         * lib/ldexpl.c: Likewise.
44168         * lib/logl.c: Likewise.
44169         * lib/sinl.c: Likewise.
44170         * lib/sqrtl.c: Likewise.
44171         * lib/tanl.c: Likewise.
44172
44173         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
44174         * lib/isnanf.h: Remove file.
44175         * lib/isnand.h: Remove file.
44176         * lib/isnanl.h: Remove file.
44177         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
44178         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
44179         macros.
44180         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
44181         HAVE_ISNANF, don't define it as a C macro.
44182         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
44183         HAVE_ISNAND, don't define it as a C macro.
44184         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
44185         HAVE_ISNANL, don't define it as a C macro.
44186         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
44187         HAVE_ISNAN[FDL].
44188         * modules/isnanf (Files): Remove lib/isnanf.h.
44189         (Depends-on): Add math.
44190         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
44191         (Include): Specify <math.h> instead of isnanf.h.
44192         * modules/isnand (Files): Remove lib/isnand.h.
44193         (Depends-on): Add math.
44194         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
44195         (Include): Specify <math.h> instead of isnand.h.
44196         * modules/isnanl (Files): Remove lib/isnanl.h.
44197         (Depends-on): Add math.
44198         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
44199         (Include): Specify <math.h> instead of isnanl.h.
44200         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
44201         HAVE_ISNAN[FDL].
44202         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
44203         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
44204         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
44205         * NEWS: Mention the change.
44206
44207 2008-10-18  Bruno Haible  <bruno@clisp.org>
44208
44209         Add getusershell(), setusershell(), endusershell() declarations to
44210         <unistd.h>.
44211         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
44212         declarations.
44213         * lib/getusershell.c: Include unistd.h.
44214         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
44215         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
44216         HAVE_GETUSERSHELL.
44217         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
44218         and HAVE_GETUSERSHELL.
44219         * modules/getusershell (Depends-on): Add unistd, extensions.
44220         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44221         (Include): Specify <unistd.h>.
44222         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
44223         HAVE_GETUSERSHELL.
44224
44225 2008-10-18  Bruno Haible  <bruno@clisp.org>
44226
44227         Add a getloadavg() declaration to <stdlib.h>.
44228         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
44229         getloadavg declaration.
44230         (getloadavg): New declaration.
44231         * lib/getloadavg.c: Include <stdlib.h> first.
44232         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
44233         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
44234         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
44235         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
44236         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
44237         * modules/getloadavg (Depends-on): Add stdlib, extensions.
44238         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44239         (Include): Specify <stdlib.h>.
44240         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
44241         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
44242
44243 2008-10-18  Bruno Haible  <bruno@clisp.org>
44244
44245         * lib/dirchownmod.c: Don't include lchmod.h.
44246
44247         Move the lchmod() declaration to <sys/stat.h>.
44248         * lib/lchmod.h: Remove file.
44249         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
44250         (lchmod): New declaration, moved here from lib/lchown.h.
44251         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
44252         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
44253         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
44254         and HAVE_LCHMOD.
44255         * modules/lchmod (Files): Remove lib/lchmod.h.
44256         (Depends-on): Add sys_stat, extensions.
44257         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
44258         (Include): Specify <sys/stat.h> instead of lchmod.h.
44259         * modules/sys_stat (Depends-on): Add link-warning.
44260         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
44261         definition of GL_LINK_WARNING.
44262         * NEWS: Mention the change.
44263
44264 2008-10-18  Bruno Haible  <bruno@clisp.org>
44265
44266         * lib/fchdir.c: Don't include dirfd.h.
44267         * lib/fts.c: Likewise.
44268         * lib/getcwd.c: Likewise.
44269         * lib/glob.c: Likewise.
44270
44271         Move the dirfd() declaration to <dirent.h>.
44272         * lib/dirfd.h: Remove file.
44273         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
44274         (dirfd): New declaration.
44275         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
44276         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
44277         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
44278         HAVE_DECL_DIRFD.
44279         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
44280         HAVE_DECL_DIRFD.
44281         * modules/dirfd (Files): Remove lib/dirfd.h.
44282         (Depends-on): Add dirent, extensions.
44283         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
44284         (Include): Specify <dirent.h> instead of dirfd.h.
44285         * modules/dirent (Depends-on): Add link-warning.
44286         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
44287         definition of GL_LINK_WARNING.
44288         * NEWS: Mention the change.
44289
44290 2008-10-18  Bruno Haible  <bruno@clisp.org>
44291
44292         Move the euidaccess() declaration to <unistd.h>.
44293         * lib/euidaccess.h: Remove file.
44294         * lib/unistd.in.h (euidaccess): New declaration.
44295         * lib/euidaccess.c: Don't include euidaccess.h.
44296         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
44297         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
44298         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
44299         and HAVE_EUIDACCESS.
44300         * modules/euidaccess (Files): Remove lib/euidaccess.h.
44301         (Depends-on): Add unistd.
44302         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44303         (Include): Specify <unistd.h> instead of euidaccess.h.
44304         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
44305         HAVE_EUIDACCESS.
44306         * NEWS: Mention the change.
44307
44308 2008-10-18  Bruno Haible  <bruno@clisp.org>
44309
44310         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
44311
44312         Move the getdomainname() declaration to <unistd.h>.
44313         * lib/getdomainname.h: Remove file.
44314         * lib/unistd.in.h (getdomainname): New declaration.
44315         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
44316         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
44317         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
44318         HAVE_GETDOMAINNAME.
44319         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
44320         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
44321         * modules/getdomainname (Files): Remove lib/getdomainname.h.
44322         (Depends-on): Add unistd, extensions.
44323         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44324         (Includes): Specify <unistd.h> instead of getdomainname.h.
44325         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
44326         HAVE_GETDOMAINNAME.
44327         * NEWS: Mention the change.
44328
44329 2008-10-18  Bruno Haible  <bruno@clisp.org>
44330
44331         * modules/dirent: New file.
44332         * m4/dirent_h.m4: New file.
44333         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
44334         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
44335         * modules/fchdir (Files): Remove lib/dirent.in.h.
44336         (Depends-on): Add dirent.
44337         (Makefile.am): Move rules to modules/dirent.
44338         * doc/posix-headers/dirent.texi: Mention the new module.
44339
44340 2008-10-18  Bruno Haible  <bruno@clisp.org>
44341
44342         Avoid -Wunused-parameter warnings in public gnulib header files.
44343         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
44344         macro.
44345         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
44346
44347 2008-10-18  Bruno Haible  <bruno@clisp.org>
44348
44349         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
44350         * doc/glibc-functions/error.texi: Mention the module 'error'.
44351         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
44352         * doc/glibc-functions/getdomainname.texi: Mention the module
44353         'getdomainname'.
44354         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
44355         * doc/glibc-functions/getpagesize.texi: Mention the module
44356         'getpagesize'.
44357         * doc/glibc-functions/getusershell.texi: Mention the module
44358         'getusershell'.
44359         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
44360         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
44361         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
44362         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
44363         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
44364         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
44365         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
44366         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
44367         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
44368         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
44369         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
44370         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
44371         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
44372         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
44373
44374 2008-10-17  Bruno Haible  <bruno@clisp.org>
44375
44376         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
44377         HP-UX and IRIX, use -0.0L.
44378         * tests/test-ceill.c (minus_zero): Likewise.
44379         * tests/test-floorl.c (minus_zero): Likewise.
44380         * tests/test-frexpl.c (minus_zero): Likewise.
44381         * tests/test-isnan.c (minus_zerol): Likewise.
44382         * tests/test-isnanl.h (minus_zero): Likewise.
44383         * tests/test-ldexpl.c (minus_zero): Likewise.
44384         * tests/test-roundl.c (minus_zero): Likewise.
44385         * tests/test-signbit.c (minus_zerol): Likewise.
44386         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
44387         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
44388         * tests/test-truncl.c (minus_zero): Likewise.
44389         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
44390         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
44391         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
44392         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
44393
44394 2008-10-17  Bruno Haible  <bruno@clisp.org>
44395
44396         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
44397         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
44398         that it gets activated only for gcc >= 3.0.
44399         * lib/dirent.in.h: Likewise.
44400         * lib/errno.in.h: Likewise.
44401         * lib/fcntl.in.h: Likewise.
44402         * lib/float.in.h: Likewise.
44403         * lib/iconv.in.h: Likewise.
44404         * lib/inttypes.in.h: Likewise.
44405         * lib/locale.in.h: Likewise.
44406         * lib/math.in.h: Likewise.
44407         * lib/netdb.in.h: Likewise.
44408         * lib/netinet_in.in.h: Likewise.
44409         * lib/search.in.h: Likewise.
44410         * lib/signal.in.h: Likewise.
44411         * lib/spawn.in.h: Likewise.
44412         * lib/stdarg.in.h: Likewise.
44413         * lib/stdint.in.h: Likewise.
44414         * lib/stdio.in.h: Likewise.
44415         * lib/stdlib.in.h: Likewise.
44416         * lib/string.in.h: Likewise.
44417         * lib/strings.in.h: Likewise.
44418         * lib/sys_file.in.h: Likewise.
44419         * lib/sys_ioctl.in.h: Likewise.
44420         * lib/sys_select.in.h: Likewise.
44421         * lib/sys_socket.in.h: Likewise.
44422         * lib/sys_stat.in.h: Likewise.
44423         * lib/sys_time.in.h: Likewise.
44424         * lib/sysexits.in.h: Likewise.
44425         * lib/time.in.h: Likewise.
44426         * lib/unistd.in.h: Likewise.
44427         * lib/wchar.in.h: Likewise.
44428         * lib/wctype.in.h: Likewise.
44429         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
44430
44431 2008-10-17  Jim Meyering  <meyering@redhat.com>
44432
44433         ignore-value: don't depend on inline module
44434         * modules/ignore-value (Depends-on): Remove 'inline'.
44435         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
44436         Suggestion from Bruno Haible.
44437
44438 2008-10-17  Bruno Haible  <bruno@clisp.org>
44439
44440         New implementation of condition variables for Win32.
44441         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
44442         (gl_linked_waitqueue_t): New type.
44443         (gl_cond_t): Use it.
44444         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
44445         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
44446         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
44447         (glthread_cond_init_func, glthread_cond_wait_func,
44448         glthread_cond_timedwait_func, glthread_cond_signal_func,
44449         glthread_cond_broadcast_func, glthread_cond_destroy_func):
44450         Reimplemented on the basis of gl_linked_waitqueue_t.
44451         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
44452         gl_waitqueue_t.
44453         (gl_rwlock_t): Update.
44454         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
44455
44456 2008-10-17  Simon Josefsson  <simon@josefsson.org>
44457
44458         * modules/recvfrom (Depends-on): Add dependency on getpeername.
44459         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
44460
44461 2008-10-17  Jim Meyering  <meyering@redhat.com>
44462
44463         ignore-value: new module
44464         * modules/ignore-value: New file.
44465         * lib/ignore-value.h: New file.
44466         * MODULES.html.sh (Compiler warning management): New section,
44467         just for this module.  More to come.
44468
44469 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
44470
44471         open-safer.c: avoid 'signed and unsigned in conditional...' warning
44472         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
44473         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
44474
44475 2008-10-16  Jim Meyering  <meyering@redhat.com>
44476
44477         openat-die.c: avoid 'no previous prototype' warning
44478         * lib/openat-die.c: Include "openat.h".
44479         Reported by Reuben Thomas <rrt@sc3d.org>.
44480
44481 2008-10-16  Simon Josefsson  <simon@josefsson.org>
44482
44483         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
44484         * lib/netdb.in.h: Fix typo.
44485         Reported by Bruno Haible  <bruno@clisp.org>
44486
44487         * lib/netdb.in.h: Include sys/socket.h for platforms without
44488         netdb.h, to get structures like hostent on MinGW.
44489         * modules/netdb (Depends-on): Add sys_socket.
44490
44491 2008-10-15  Simon Josefsson  <simon@josefsson.org>
44492
44493         * modules/netdb, modules/netdb-tests: New file.
44494         * m4/netdb_h.m4: New file.
44495         * lib/netdb.in.h: Add, currently just an empty file pending
44496         definitions.
44497         * tests/test-netdb.c: New file.
44498         * doc/posix-headers/netdb.texi: Mention that we replace it if
44499         needed.
44500         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
44501         netdb.
44502
44503 2008-10-15  Simon Josefsson  <simon@josefsson.org>
44504
44505         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
44506         with code.
44507
44508 2008-10-13  Bruno Haible  <bruno@clisp.org>
44509
44510         * lib/glthread/cond.c (glthread_cond_wait_func,
44511         glthread_cond_timedwait_func): Add a comment.
44512
44513 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
44514
44515         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
44516         * tests/test-select.c: Likewise,
44517
44518 2008-10-13  Bruno Haible  <bruno@clisp.org>
44519
44520         * lib/glthread/cond.c (glthread_cond_wait_func,
44521         glthread_cond_timedwait_func): Fix variable name.
44522         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
44523
44524 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
44525
44526         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
44527         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
44528         struct sockaddr.sa_len.
44529         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
44530
44531 2008-10-13  Simon Josefsson  <simon@josefsson.org>
44532
44533         * build-aux/pmccabe2html: Add css and css_url parameters.
44534
44535 2008-10-12  Bruno Haible  <bruno@clisp.org>
44536
44537         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
44538         calling aclx_get.
44539         Reported by Rainer Tammer <tammer@tammer.net>.
44540
44541 2008-10-12  Bruno Haible  <bruno@clisp.org>
44542
44543         Use msvcrt aware primitives for creation/termination of Win32 threads.
44544         * lib/glthread/thread.c: Include <process.h>.
44545         (glthread_create_func): Use _beginthreadex instead of CreateThread.
44546         (wrapper_func): Update signature.
44547         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
44548
44549 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
44550             Bruno Haible  <bruno@clisp.org>
44551
44552         Provide a Win32 implementation of the 'cond' module.
44553         * lib/glthread/cond.h [USE_WIN32]: New implementation.
44554         * lib/glthread/cond.c (glthread_cond_init_func,
44555         glthread_cond_wait_func, glthread_cond_timedwait_func,
44556         glthread_cond_signal_func, glthread_cond_broadcast_func,
44557         glthread_cond_destroy_func) [USE_WIN32]: New functions.
44558         * modules/cond (Dependencies): Add gettimeofday.
44559
44560 2008-10-11  Bruno Haible  <bruno@clisp.org>
44561
44562         Make sleep work on older versions of mingw.
44563         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
44564         only whether it exists.
44565         * doc/posix-functions/sleep.texi: Mention the problem with older
44566         versions of mingw.
44567
44568 2008-10-11  Bruno Haible  <bruno@clisp.org>
44569
44570         New module 'shutdown'.
44571         * modules/shutdown: New file.
44572         * lib/sys_socket.in.h (shutdown): New declaration.
44573         * lib/winsock.c (shutdown): New function.
44574         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
44575         GNULIB_SHUTDOWN.
44576         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
44577         * doc/posix-functions/shutdown.texi: Document the new module.
44578
44579 2008-10-11  Jim Meyering  <meyering@redhat.com>
44580
44581         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
44582
44583 2008-10-11  Bruno Haible  <bruno@clisp.org>
44584
44585         New module 'fclose'.
44586         * modules/fclose: New file.
44587         * lib/stdio.in.h (fclose): New declaration.
44588         * lib/fclose.c: New file.
44589         * m4/fclose.m4: New file.
44590         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
44591         REPLACE_FCLOSE.
44592         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
44593         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
44594         REPLACE_FCLOSE.
44595         * modules/close (Depends-on): fclose.
44596         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
44597
44598 2008-10-11  Bruno Haible  <bruno@clisp.org>
44599
44600         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
44601         set errno and don't call _close.
44602
44603 2008-10-10  Bruno Haible  <bruno@clisp.org>
44604
44605         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
44606         ACL, not afterwards. Fixes test failure on Cygwin.
44607
44608 2008-10-09  Ben Pfaff  <blp@gnu.org>
44609
44610         * build-aux/announce-gen: Fix gnulib version related part of usage
44611         message.  Die with a useful error message if no tarballs are
44612         found.
44613
44614 2008-10-10  Jim Meyering  <meyering@redhat.com>
44615
44616         bootstrap: use git's --depth=N option only if it's supported
44617         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
44618         recognize the --depth option.  Reported by Pádraig Brady.
44619
44620 2008-10-09  Bruno Haible  <bruno@clisp.org>
44621
44622         New module 'ioctl'.
44623         * modules/ioctl: New file.
44624         * lib/sys_socket.in.h (ioctl): Remove declaration.
44625         * lib/winsock.c: Include <sys/ioctl.h>.
44626         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
44627         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
44628         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
44629         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
44630         * doc/posix-functions/ioctl.texi: Mention the new module.
44631
44632 2008-10-09  Bruno Haible  <bruno@clisp.org>
44633
44634         New module 'sys_ioctl'.
44635         * lib/sys_ioctl.in.h: New file.
44636         * m4/sys_ioctl_h.m4: New file.
44637         * modules/sys_ioctl: New file.
44638         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
44639
44640 2008-10-09  Bruno Haible  <bruno@clisp.org>
44641
44642         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
44643         * lib/winsock.c: Include <stdarg.h>.
44644         (rpl_ioctl): Change to second argument 'int' and then varargs.
44645
44646 2008-10-09  Bruno Haible  <bruno@clisp.org>
44647
44648         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
44649         when the sys_socket module is present and the system has <winsock2.h>.
44650
44651 2008-10-09  Bruno Haible  <bruno@clisp.org>
44652
44653         * doc/posix-functions/close.texi: Mention module 'close' instead of
44654         module 'sys_socket'.
44655
44656 2008-10-09  Bruno Haible  <bruno@clisp.org>
44657
44658         * doc/glibc-headers/sys_ioctl.texi: New file.
44659         * doc/gnulib.texi: Include it.
44660
44661 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
44662             Bruno Haible  <bruno@clisp.org>
44663
44664         Combine the two replacements of 'close'.
44665         * lib/sys_socket.in.h (close): Define to a reminder to include
44666         <unistd.h>.
44667         (_gl_close_fd_maybe_socket): New declaration.
44668         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
44669         * lib/winsock.c (close): Remove undefinition.
44670         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
44671         needed for the gnulib module 'close'.
44672         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
44673         define to an error symbol or to a warning, if suitable.
44674         * lib/close.c: Include <sys/socket.h>.
44675         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
44676         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
44677         UNISTD_H_HAVE_WINSOCK2_H.
44678         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
44679         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
44680         UNISTD_H_HAVE_WINSOCK2_H.
44681         * modules/sys_socket (Files): Add m4/unistd_h.m4.
44682         (configure.ac): Set a module indicator.
44683         (Makefile.am): Substitute GNULIB_CLOSE.
44684         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
44685         * modules/poll-tests (Depends-on): Add close.
44686         * modules/select-tests (Depends-on): Likewise.
44687
44688 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
44689             Bruno Haible  <bruno@clisp.org>
44690
44691         New module 'close'.
44692         * modules/close: New file.
44693         * lib/unistd.in.h (close): Move declaration out of the
44694         FCHDIR_REPLACEMENT scope.
44695         (_gl_unregister_fd): New declaration.
44696         * lib/close.c: New file.
44697         * lib/fchdir.c (rpl_close): Remove function.
44698         * m4/close.m4: New file.
44699         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
44700         close.
44701         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
44702         REPLACE_CLOSE.
44703         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
44704         REPLACE_CLOSE.
44705         * modules/fchdir (Depends-on): Add close.
44706
44707 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
44708             Bruno Haible  <bruno@clisp.org>
44709
44710         * lib/fcntl.in.h (open): Simplify conditionals.
44711         (_gl_register_fd): New declaration.
44712         * lib/fchdir.c (rpl_open): Remove function.
44713         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
44714         also.
44715         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
44716         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
44717         open.
44718
44719 2008-10-09  Jim Meyering  <meyering@redhat.com>
44720
44721         GNUmakefile: use the more name-space-friendly "_version"
44722         * top/GNUmakefile (_dummy): Update.
44723         (_version): Rename from "version".
44724
44725 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
44726             Bruno Haible  <bruno@clisp.org>
44727
44728         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
44729         rpl_close.
44730         (_gl_register_fd): New function, extracted from rpl_open.
44731         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
44732         (rpl_open, rpl_opendir): Use _gl_register_fd.
44733
44734 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
44735
44736         Fix organization of 'open' replacement.
44737         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
44738         (gl_FUNC_OPEN): Use it.
44739         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
44740
44741 2008-10-08  Bruno Haible  <bruno@clisp.org>
44742
44743         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
44744
44745 2008-10-08  Simon Josefsson  <simon@josefsson.org>
44746
44747         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
44748         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
44749         listen).
44750
44751 2008-10-08  Eric Blake  <ebb9@byu.net>
44752
44753         GNUmakefile: add 'make version' target
44754         * top/GNUmakefile (_curr-ver): Split version update rules...
44755         (version): ...into a target.
44756
44757 2008-10-07  Bruno Haible  <bruno@clisp.org>
44758
44759         Use a more portable replacement expression for -0.0L.
44760         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
44761         instead of -0.0L. Fix m4 quotation.
44762
44763         * tests/test-signbit.c: Include <float.h>.
44764         (minus_zero): New variable.
44765         (test_signbitl): Use minus_zero instead of -zero.
44766         * modules/signbit-tests (Depends-on): Add float.
44767
44768         * tests/test-ceill.c: Include <float.h>.
44769         (zero): Remove variable.
44770         (minus_zero): New variable.
44771         (main): Use minus_zero instead of -zero.
44772         * modules/ceill-tests (Depends-on): Add float.
44773
44774         * tests/test-floorl.c: Include <float.h>.
44775         (zero): Remove variable.
44776         (minus_zero): New variable.
44777         (main): Use minus_zero instead of -zero.
44778         * modules/floorl-tests (Depends-on): Add float.
44779
44780         * tests/test-roundl.c: Include <float.h>.
44781         (zero): Remove variable.
44782         (minus_zero): New variable.
44783         (main): Use minus_zero instead of -zero.
44784         * modules/roundl-tests (Depends-on): Add float.
44785
44786         * tests/test-truncl.c: Include <float.h>.
44787         (zero): Remove variable.
44788         (minus_zero): New variable.
44789         (main): Use minus_zero instead of -zero.
44790         * modules/truncl-tests (Depends-on): Add float.
44791
44792         * tests/test-frexpl.c (zero): Remove variable.
44793         (minus_zero): New variable.
44794         (main): Use minus_zero instead of -zero.
44795         * modules/frexpl-tests (Depends-on): Add float.
44796
44797         * tests/test-isnan.c (zerol): Remove variable.
44798         (minus_zerol): New variable.
44799         (test_long_double): Use minus_zerol instead of -zerol.
44800         * modules/isnan-tests (Depends-on): Add float.
44801
44802         * tests/test-isnanl.h (zero): Remove variable.
44803         (minus_zero): New variable.
44804         (main): Use minus_zero instead of -zero.
44805         * modules/isnanl-nolibm-tests (Depends-on): Add float.
44806         * modules/isnanl-tests (Depends-on): Add float.
44807
44808         * tests/test-ldexpl.c (zero): Remove variable.
44809         (minus_zero): New variable.
44810         (main): Use minus_zero instead of -zero.
44811         * modules/ldexpl-tests (Depends-on): Add float.
44812
44813         * tests/test-snprintf-posix.h (zerol): Remove variable.
44814         (minus_zerol): New variable.
44815         (test_function): Use minus_zerol instead of -zerol.
44816         * modules/snprintf-posix-tests (Depends-on): Add float.
44817         * modules/vsnprintf-posix-tests (Depends-on): Add float.
44818
44819         * tests/test-sprintf-posix.h (zerol): Remove variable.
44820         (minus_zerol): New variable.
44821         (test_function): Use minus_zerol instead of -zerol.
44822         * modules/sprintf-posix-tests (Depends-on): Add float.
44823         * modules/vsprintf-posix-tests (Depends-on): Add float.
44824
44825         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
44826         (minus_zerol): New variable.
44827         (test_function): Use minus_zerol instead of -zerol.
44828         * modules/vasnprintf-posix-tests (Depends-on): Add float.
44829
44830         * tests/test-vasprintf-posix.c (zerol): Remove variable.
44831         (minus_zerol): New variable.
44832         (test_function): Use minus_zerol instead of -zerol.
44833         * modules/vasprintf-posix-tests (Depends-on): Add float.
44834
44835 2008-10-07  Simon Josefsson  <simon@josefsson.org>
44836
44837         * MODULES.html.sh (Support for building documentation): Mention
44838         pmccabe2html.  Sort entries.
44839
44840         Add pmccabe2html module, from gnupdf.
44841         * build-aux/pmccabe.css: New file.
44842         * build-aux/pmccabe2html: New file.
44843         * m4/pmccabe2html.m4: New file.
44844         * modules/pmccabe2html: New file.
44845
44846 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
44847
44848         flock: new module
44849         * MODULES.html.sh: Add to list of modules.
44850         * lib/flock.c: flock implementation for Windows and Unix systems
44851         which have fcntl.
44852         * doc/glibc-functions/flock.texi: Update documentation.
44853         * lib/sys_file.in.h: <sys/file.h> header file.
44854         * m4/flock.m4: M4 macros.
44855         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
44856         * modules/flock: flock module.
44857         * modules/flock-tests: flock tests module.
44858         * modules/sys_file: sys/file.h module.
44859         * tests/test-flock.c: test suite for flock.
44860
44861 2008-10-06  Jim Meyering  <meyering@redhat.com>
44862
44863         bootstrap: check for LT_INIT more portably still ;-)
44864         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
44865         Spotted by Bruno Haible.
44866
44867 2008-10-06  Eric Blake  <ebb9@byu.net>
44868
44869         test-signbit: avoid tripping Irix cc bug on -0.0L
44870         * tests/test-signbit.c (minus_zerol): Delete, and replace with
44871         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
44872         entire testsuite consistent and avoids an Irix 6.2 bug.
44873
44874 2008-10-05  Bruno Haible  <bruno@clisp.org>
44875             Jim Meyering  <jim@meyering.net>
44876
44877         Add an option for ignoring EPIPE during close_stdout.
44878         * lib/closeout.h: Include <stdbool.h>.
44879         (close_stdout_set_ignore_EPIPE): New declaration.
44880         * lib/closeout.c: Include <stdbool.h>.
44881         (ignore_EPIPE): New variable.
44882         (close_stdout_set_ignore_EPIPE): New function.
44883         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
44884         * lib/close-stream.c (close_stream): Mention the possible EPIPE
44885         failure.
44886         * modules/closeout (Depends-on): Add stdbool.
44887
44888 2008-10-05  Bruno Haible  <bruno@clisp.org>
44889
44890         * modules/accept: New file.
44891         * modules/bind: New file.
44892         * modules/connect: New file.
44893         * modules/getpeername: New file.
44894         * modules/getsockname: New file.
44895         * modules/getsockopt: New file.
44896         * modules/listen: New file.
44897         * modules/recv: New file.
44898         * modules/recvfrom: New file.
44899         * modules/send: New file.
44900         * modules/sendto: New file.
44901         * modules/setsockopt: New file.
44902         * modules/socket: New file.
44903         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
44904         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
44905         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
44906         the particular module is requested. Add a link warning when the
44907         particular module is not requested.
44908         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
44909         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
44910         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
44911         the particular module is requested.
44912         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
44913         gl_SYS_SOCKET_H_DEFAULTS): New macros.
44914         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
44915         * modules/sys_socket (Depends-on): Add link-warning.
44916         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
44917         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
44918         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
44919         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
44920         GL_LINK_WARNING.
44921         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
44922         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
44923         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
44924         * doc/posix-functions/getpeername.texi: Mention the new module
44925         'getpeername'.
44926         * doc/posix-functions/getsockname.texi: Mention the new module
44927         'getsockname'.
44928         * doc/posix-functions/getsockopt.texi: Mention the new module
44929         'getsockopt'.
44930         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
44931         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
44932         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
44933         * doc/posix-functions/send.texi: Mention the new module 'send'.
44934         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
44935         * doc/posix-functions/setsockopt.texi: Mention the new module
44936         'setsockopt'.
44937         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
44938         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
44939         listen, connect, accept.
44940         * modules/select-tests (Depends-on): Likewise.
44941
44942 2008-10-05  Bruno Haible  <bruno@clisp.org>
44943
44944         * lib/winsock.c (strerror): Remove unused #undef.
44945         (rpl_close): Remove unused local variable.
44946
44947         * modules/sys_socket (Depends-on); Add errno.
44948
44949 2008-10-05  Bruno Haible  <bruno@clisp.org>
44950
44951         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
44952         (select): Add a link warning when the 'select' module is not used.
44953         * modules/sys_select (Depends-on): Add link-warning.
44954         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
44955         Suggested by Paolo Bonzini.
44956
44957 2008-10-05  Jim Meyering  <meyering@redhat.com>
44958
44959         bootstrap: check for LT_INIT more portably
44960         * build-aux/bootstrap: Avoid using grep -E, since it's not
44961         portable enough.  Suggestion from Bruno Haible.
44962
44963 2008-10-05  Bruno Haible  <bruno@clisp.org>
44964
44965         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
44966         as being fixed by gnulib.
44967
44968 2008-10-05  Bruno Haible  <bruno@clisp.org>
44969
44970         * modules/select-tests: New file, mostly copied from
44971         modules/sys_select-tests.
44972         * tests/test-select.c: New file, mostly copied from
44973         tests/test-sys_select.c.
44974         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
44975         * modules/sys_select-tests (Depends-on): Remove all dependencies.
44976         (Makefile.am): Remove test_sys_select_LDADD.
44977
44978         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
44979         to an undefined symbol, for an error message.
44980         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
44981         (gl_SYS_SELECT_H_DEFAULTS): New macro.
44982         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
44983         winsock-select.c here.
44984         * modules/sys_select (Files): Remove lib/winsock-select.c.
44985         (Depends-on): Remove alloca.
44986         (Makefile.am): Substitute GNULIB_SELECT.
44987         * modules/select: New file.
44988         * doc/posix-functions/select.texi: Update.
44989
44990 2008-10-05  Bruno Haible  <bruno@clisp.org>
44991
44992         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
44993         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
44994         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
44995         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
44996         getdtablesize.
44997         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
44998         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
44999
45000 2008-10-05  Bruno Haible  <bruno@clisp.org>
45001
45002         * modules/getdtablesize-tests: New file.
45003         * tests/test-getdtablesize.c: New file.
45004
45005         New module 'getdtablesize'.
45006         * lib/unistd.in.h (getdtablesize): New declaration.
45007         * lib/getdtablesize.c: New file.
45008         * m4/getdtablesize.m4: New file.
45009         * modules/getdtablesize: New file.
45010         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45011         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
45012         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
45013         HAVE_GETDTABLESIZE.
45014         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
45015
45016 2008-10-05  Bruno Haible  <bruno@clisp.org>
45017
45018         * modules/sched (Makefile.am): Fix typo.
45019         Reported by Simon Josefsson.
45020
45021 2008-10-05  Jim Meyering  <meyering@redhat.com>
45022
45023         bootstrap: check for LT_INIT, too
45024         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
45025         are deprecated.  Suggestion from Ralf Wildenhues.
45026
45027 2008-10-05  Bruno Haible  <bruno@clisp.org>
45028
45029         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
45030         overriding them by ours.
45031         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
45032
45033 2008-10-05  Jim Meyering  <meyering@redhat.com>
45034
45035         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
45036         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
45037         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
45038
45039 2008-10-04  Bruno Haible  <bruno@clisp.org>
45040
45041         * modules/dup2 (License): Change to LGPLv2+.
45042         * modules/sleep (License): Likewise.
45043         * modules/perror (License): Likewise.
45044         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
45045         Blake.
45046         * modules/signal (License): Likewise.
45047         * modules/sigprocmask (License): Likewise.
45048         * modules/raise (License): Change to LGPLv2+, with approval by Jim
45049         Meyering.
45050
45051 2008-10-04  Bruno Haible  <bruno@clisp.org>
45052
45053         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
45054         Reported by Rainer Tammer <tammer@tammer.net>.
45055
45056 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
45057             Bruno Haible  <bruno@clisp.org>
45058
45059         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
45060         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
45061         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
45062
45063 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
45064
45065         filevercmp: new module
45066         * lib/filevercmp.h: New function filevercmp comparing version strings.
45067         * lib/filevercmp.c: Implementation of filevercmp function.
45068         * modules/filevercmp: Module metadata.
45069         * tests/test-filevercmp.c: Unit test for new module.
45070         * modules/filevercmp-tests: Unit test metadata.
45071         * MODULES.html.sh: Add filevercmp module.
45072
45073 2008-10-03  Bruno Haible  <bruno@clisp.org>
45074
45075         * lib/c-ctype.h: Add comment.
45076         Reported by Jim Meyering.
45077
45078 2008-10-02  Bruno Haible  <bruno@clisp.org>
45079
45080         * modules/posix_spawn-internal (Depends-on): Add 'open'.
45081
45082 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
45083
45084         * build-aux/bootstrap: Allow renaming bootstrap, and change the
45085         name of bootstrap.conf accordingly.
45086
45087 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
45088
45089         * build-aux/bootstrap: Install git-merge-changelog configuration
45090         items into .gitconfig if needed.
45091
45092 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
45093
45094         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
45095         git repository, and initialize/update it accordingly.
45096
45097 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
45098
45099         * modules/fsync-tests: New file.
45100         * tests/test-fsync.c: New file.
45101
45102         New module 'fsync'.
45103         * lib/fsync.c: New file.
45104         * m4/fsync.m4: New file.
45105         * modules/fsync: New file.
45106         * lib/unistd.in.h (fsync): New declaration.
45107         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
45108         GNULIB_FSYNC and HAVE_FSYNC.
45109         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
45110         * MODULES.html.sh (posix_functions): Add fsync.
45111         * doc/posix-functions/fsync.texi: Mention the new module.
45112
45113 2008-10-02  Jim Meyering  <meyering@redhat.com>
45114
45115         fts.c: sync with similar code from coreutils' remove.c
45116         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
45117         Guard also with "#if defined __linux__", since for now at least,
45118         this code is Linux-kernel-specific.
45119
45120 2008-10-02  Jim Meyering  <meyering@redhat.com>
45121
45122         fts: bug fixes
45123         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
45124         Include <sys/vfs.h>, not <sys/statfs.h>.
45125
45126         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
45127         Include <sys/vfs.h>, not <sys/statfs.h>.
45128
45129 2008-10-01  Bruno Haible  <bruno@clisp.org>
45130
45131         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
45132         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
45133         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
45134         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
45135         * doc/posix-functions/posix_spawnp.texi: Likewise.
45136         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
45137         whether posix_spawn actually works.
45138         * m4/pipe.m4 (gl_PIPE): Likewise.
45139         * modules/execute (Files): Add m4/posix_spawn.m4.
45140         * modules/pipe (Files): Add m4/posix_spawn.m4.
45141         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
45142
45143 2008-10-01  Jim Meyering  <meyering@redhat.com>
45144
45145         remove trailing spaces
45146         * NEWS: Likewise.
45147         * lib/poll.c (poll): Likewise.
45148         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
45149         * lib/winsock.c (rpl_close): Likewise.
45150         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
45151         * modules/yield: Likewise.
45152         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
45153         * tests/test-sys_select.c (connect_to_socket): Likewise.
45154
45155         fts.c: adjust a new interface to be more generally useful
45156         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
45157         (fts_build): Adjust caller.
45158
45159 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45160
45161         * modules/cond-tests: New file.
45162         * tests/test-cond.c: New file.
45163
45164 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45165             Bruno Haible  <bruno@clisp.org>
45166
45167         * modules/cond (Dependencies): Add errno, time.
45168         * lib/glthread/cond.h: Include <time.h>.
45169         (gl_cond_define, gl_cond_define_initialized): Use the same definition
45170         across platforms.
45171
45172 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45173             Bruno Haible  <bruno@clisp.org>
45174
45175         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
45176
45177 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45178             Bruno Haible  <bruno@clisp.org>
45179
45180         * modules/tls-tests (Depends-on): Add thread, yield.
45181         (configure.ac): Remove all checks.
45182         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
45183         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
45184         gl_thread_self): Remove definitions. Include glthread/thread.h and
45185         glthread/yield.h instead.
45186         (test_tls): Pass an additional NULL argument to gl_thread_join.
45187
45188 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45189             Bruno Haible  <bruno@clisp.org>
45190
45191         * modules/lock-tests (Depends-on): Add thread, yield.
45192         (configure.ac): Remove all checks.
45193         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
45194         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
45195         gl_thread_self): Remove definitions. Include glthread/thread.h and
45196         glthread/yield.h instead.
45197         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
45198         additional NULL argument to gl_thread_join.
45199
45200 2008-09-30  Bruno Haible  <bruno@clisp.org>
45201
45202         Fix the Win32 implementation of the 'thread' module.
45203         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
45204         pointer type.
45205         (gl_thread_self): Invoke gl_thread_self_func.
45206         (gl_thread_self_func): New declaration.
45207         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
45208         (do_init_self_key, init_self_key): New functions.
45209         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
45210         Remove some fields.
45211         (running_threads, running_lock): Remove variables.
45212         (get_current_thread_handle): New function.
45213         (gl_thread_self_func, wrapper_func, glthread_create_func,
45214         glthread_join_func, gl_thread_exit_func): Largely rewritten and
45215         simplified.
45216
45217 2008-09-30  Bruno Haible  <bruno@clisp.org>
45218
45219         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
45220         files.
45221
45222 2008-09-30  Jim Meyering  <meyering@redhat.com>
45223
45224         fts.m4: correct the test for statfs.f_type
45225         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
45226         when checking for statfs.f_type.
45227
45228 2008-09-15  Simon Josefsson  <simon@josefsson.org>
45229
45230         tests: avoid some compiler warnings
45231         * tests/test-memchr.c (main): Pass NULL indirectly.
45232         * tests/test-getdate.c (main): Remove unused variable 'ret'.
45233
45234 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
45235
45236         getdate.y: disallow countable dayshifts like "4 yesterday ago"
45237         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
45238         exactly specified dayshifts.
45239         (dayshift): New rule.
45240         (rel): Add dayshift.
45241         (relative_time_table) [tomorrow, yesterday, today, now]:
45242         Use tDAY_SHIFT in place of tDAY_UNIT.
45243         * tests/test-getdate.c: Add tests for now-disallowed countable
45244         dayshifts, e.g., "4 yesterday ago".
45245
45246 2008-09-29  Bruno Haible  <bruno@clisp.org>
45247
45248         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
45249         * tests/test-posix_spawn1.in.sh: Renamed from
45250         tests/test-posix_spawn.in.sh.
45251         * tests/test-posix_spawn2.c: New file.
45252         * tests/test-posix_spawn2.in.sh: New file.
45253         * modules/posix_spawnp-tests (Files): Update.
45254         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
45255
45256 2008-09-29  Bruno Haible  <bruno@clisp.org>
45257
45258         Propagate effects of putenv/setenv/unsetenv to child processes.
45259         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
45260         * lib/pipe.c (create_pipe): Likewise.
45261
45262 2008-09-29  Bruno Haible  <bruno@clisp.org>
45263
45264         Enable use of shell scripts as executables in mingw.
45265         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
45266         run the program as a shell script.
45267         * lib/pipe.c (create_pipe): Likewise.
45268         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
45269         resulting array.
45270
45271 2008-09-29  Eric Blake  <ebb9@byu.net>
45272
45273         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
45274
45275 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
45276
45277         * doc/posix-functions/accept.texi: Update mingw problems.
45278         * doc/posix-functions/bind.texi: Update mingw problems.
45279         * doc/posix-functions/close.texi: Update mingw problems.
45280         * doc/posix-functions/connect.texi: Update mingw problems.
45281         * doc/posix-functions/getpeername.texi: Update mingw problems.
45282         * doc/posix-functions/getsockname.texi: Update mingw problems.
45283         * doc/posix-functions/getsockopt.texi: Update mingw problems.
45284         * doc/posix-functions/ioctl.texi: Update mingw problems.
45285         * doc/posix-functions/listen.texi: Update mingw problems.
45286         * doc/posix-functions/recv.texi: Update mingw problems.
45287         * doc/posix-functions/recvfrom.texi: Update mingw problems.
45288         * doc/posix-functions/select.texi: Update mingw problems.
45289         * doc/posix-functions/send.texi: Update mingw problems.
45290         * doc/posix-functions/sendto.texi: Update mingw problems.
45291         * doc/posix-functions/setsockopt.texi: Update mingw problems.
45292         * doc/posix-functions/socket.texi: Update mingw problems.
45293
45294 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
45295             Bruno Haible  <bruno@clisp.org>
45296
45297         * lib/sys_select.in.h: Include sys/time.h.
45298         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
45299         * modules/sys_select: Depend on sys_time.
45300         * tests/test-sys_select.c: Test that sys/select.h defines struct
45301         timeval fully.
45302
45303 2008-09-29  Bruno Haible  <bruno@clisp.org>
45304
45305         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
45306         * lib/sys_select.in.h: Likewise.
45307
45308 2008-09-29  Bruno Haible  <bruno@clisp.org>
45309
45310         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
45311
45312 2008-09-29  Bruno Haible  <bruno@clisp.org>
45313
45314         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
45315         Set LIBSOCKET instead of augmenting LIBS.
45316         * modules/sockets (Link): New section.
45317         * modules/sockets-tests (test_sockets_LDADD): New variable.
45318         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
45319         * modules/poll-tests (test_poll_LDADD): New variable.
45320         * NEWS: Document the change.
45321
45322 2008-09-29  Bruno Haible  <bruno@clisp.org>
45323
45324         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
45325         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
45326         ARPA_INET_H directly.
45327         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
45328
45329 2008-09-28  Bruno Haible  <bruno@clisp.org>
45330
45331         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
45332         from gl_HEADER_SYS_SOCKET.
45333         (gl_HEADER_SYS_SOCKET): Invoke it.
45334         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
45335
45336 2008-09-28  Bruno Haible  <bruno@clisp.org>
45337
45338         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
45339         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
45340         Needed on OSF/1 4.0.
45341
45342 2008-09-28  Bruno Haible  <bruno@clisp.org>
45343
45344         Override open more carefully.
45345         * lib/open.c (orig_open): New function.
45346         (rpl_open): Use orig_open instead of open.
45347         * lib/fcntl.in.h: Add special invocation convention.
45348         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
45349         (gl_FUNC_OPEN): Invoke it.
45350
45351         Override freopen more carefully.
45352         * lib/freopen.c (orig_freopen): New function.
45353         (rpl_freopen): Use orig_freopen instead of freopen.
45354         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
45355         (gl_FUNC_FREOPEN): Invoke it.
45356
45357         Override fopen more carefully.
45358         * lib/fopen.c (orig_fopen): New function.
45359         (rpl_fopen): Use orig_fopen instead of fopen.
45360         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
45361         (gl_FUNC_FOPEN): Invoke it.
45362         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
45363
45364 2008-09-28  Bruno Haible  <bruno@clisp.org>
45365
45366         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
45367         SIGPIPE.
45368
45369 2008-09-28  Bruno Haible  <bruno@clisp.org>
45370
45371         * tests/test-sigaction.c (handler, main): Disable the check whether
45372         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
45373         glibc systems with LinuxThreads.
45374
45375 2008-09-28  Bruno Haible  <bruno@clisp.org>
45376
45377         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
45378
45379         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
45380         with AIX xlc.
45381         * lib/fcntl.in.h (open): Likewise.
45382         Reported by Rainer Tammer <tammer@tammer.net>.
45383
45384 2008-09-28  Bruno Haible  <bruno@clisp.org>
45385
45386         * modules/posix_spawnp-tests: New file.
45387         * tests/test-posix_spawn.c: New file.
45388         * tests/test-posix_spawn.in.sh: New file.
45389
45390         New module 'posix_spawnp'.
45391         * modules/posix_spawnp: New file.
45392         * lib/spawnp.c: New file, from GNU libc with modifications.
45393         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
45394
45395         New module 'posix_spawn'.
45396         * modules/posix_spawn: New file.
45397         * lib/spawn.c: New file, from GNU libc with modifications.
45398         * doc/posix-functions/posix_spawn.texi: Mention the new module.
45399
45400         New module 'posix_spawnattr_destroy'.
45401         * modules/posix_spawnattr_destroy: New file.
45402         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
45403         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
45404         module.
45405
45406         New module 'posix_spawnattr_setsigmask'.
45407         * modules/posix_spawnattr_setsigmask: New file.
45408         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
45409         modifications.
45410         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
45411         new module.
45412
45413         New module 'posix_spawnattr_getsigmask'.
45414         * modules/posix_spawnattr_getsigmask: New file.
45415         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
45416         modifications.
45417         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
45418         new module.
45419
45420         New module 'posix_spawnattr_setsigdefault'.
45421         * modules/posix_spawnattr_setsigdefault: New file.
45422         * lib/spawnattr_setdefault.c: New file, from GNU libc with
45423         modifications.
45424         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
45425         new module.
45426
45427         New module 'posix_spawnattr_getsigdefault'.
45428         * modules/posix_spawnattr_getsigdefault: New file.
45429         * lib/spawnattr_getdefault.c: New file, from GNU libc with
45430         modifications.
45431         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
45432         new module.
45433
45434         New module 'posix_spawnattr_setschedpolicy'.
45435         * modules/posix_spawnattr_setschedpolicy: New file.
45436         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
45437         modifications.
45438         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
45439         new module.
45440
45441         New module 'posix_spawnattr_getschedpolicy'.
45442         * modules/posix_spawnattr_getschedpolicy: New file.
45443         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
45444         modifications.
45445         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
45446         new module.
45447
45448         New module 'posix_spawnattr_setschedparam'.
45449         * modules/posix_spawnattr_setschedparam: New file.
45450         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
45451         modifications.
45452         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
45453         new module.
45454
45455         New module 'posix_spawnattr_getschedparam'.
45456         * modules/posix_spawnattr_getschedparam: New file.
45457         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
45458         modifications.
45459         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
45460         new module.
45461
45462         New module 'posix_spawnattr_setpgroup'.
45463         * modules/posix_spawnattr_setpgroup: New file.
45464         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
45465         modifications.
45466         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
45467         module.
45468
45469         New module 'posix_spawnattr_getpgroup'.
45470         * modules/posix_spawnattr_getpgroup: New file.
45471         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
45472         modifications.
45473         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
45474         module.
45475
45476         New module 'posix_spawnattr_setflags'.
45477         * modules/posix_spawnattr_setflags: New file.
45478         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
45479         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
45480         module.
45481
45482         New module 'posix_spawnattr_getflags'.
45483         * modules/posix_spawnattr_getflags: New file.
45484         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
45485         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
45486         module.
45487
45488         New module 'posix_spawnattr_init'.
45489         * modules/posix_spawnattr_init: New file.
45490         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
45491         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
45492         module.
45493
45494         New module 'posix_spawn_file_actions_destroy'.
45495         * modules/posix_spawn_file_actions_destroy: New file.
45496         * lib/spawn_faction_destroy.c: New file, from GNU libc with
45497         modifications.
45498         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
45499         the new module.
45500
45501         New module 'posix_spawn_file_actions_addopen'.
45502         * modules/posix_spawn_file_actions_addopen: New file.
45503         * lib/spawn_faction_addopen.c: New file, from GNU libc with
45504         modifications.
45505         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
45506         the new module.
45507
45508         New module 'posix_spawn_file_actions_adddup2'.
45509         * modules/posix_spawn_file_actions_adddup2: New file.
45510         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
45511         modifications.
45512         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
45513         the new module.
45514
45515         New module 'posix_spawn_file_actions_addclose'.
45516         * modules/posix_spawn_file_actions_addclose: New file.
45517         * lib/spawn_faction_addclose.c: New file, from GNU libc with
45518         modifications.
45519         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
45520         the new module.
45521
45522         New module 'posix_spawn_file_actions_init'.
45523         * modules/posix_spawn_file_actions_init: New file.
45524         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
45525         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
45526         new module.
45527
45528         New module 'posix_spawn-internal'.
45529         * modules/posix_spawn-internal: New file.
45530         * lib/spawn_int.h: New file, from GNU libc with modifications.
45531         * lib/spawni.c: New file, from GNU libc with modifications.
45532         * m4/posix_spawn.m4: New file.
45533
45534         New module 'spawn'.
45535         * modules/spawn: New file.
45536         * lib/spawn.in.h: New file, from GNU libc with modifications.
45537         * m4/spawn_h.m4: New file.
45538         * doc/posix-headers/spawn.texi: Mention the new module.
45539
45540 2008-09-28  Bruno Haible  <bruno@clisp.org>
45541
45542         * modules/sched-tests: New file.
45543         * tests/test-sched.c: New file.
45544
45545         New module 'sched'.
45546         * modules/sched: New file.
45547         * lib/sched.in.h: New file.
45548         * m4/sched_h.m4: New file.
45549         * doc/posix-headers/sched.texi: Mention the new module.
45550
45551 2008-09-27  Eric Blake  <ebb9@byu.net>
45552
45553         Fix previous patch, and tweak references to $0.
45554         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
45555         (func_version, func_gnulib_dir): Don't call this program
45556         gnulib-tool.
45557         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
45558         with using $0 in function.
45559         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
45560         (func_fatal_error): Reuse the name the user invoked us with.
45561
45562 2008-09-27  Bruno Haible  <bruno@clisp.org>
45563
45564         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
45565         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
45566         (gl_ICONV_H): Not here.
45567         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
45568         instead of assigning ICONV_H directly.
45569
45570         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
45571         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
45572         WCHAR_H directly.
45573
45574 2008-09-27  Bruno Haible  <bruno@clisp.org>
45575
45576         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
45577         * modules/arpa_inet (Depends-on): Add link-warning.
45578         (Makefile.am): Insert the definition of GL_LINK-WARNING.
45579         * modules/unistd (Makefile.am): Likewise.
45580
45581 2008-09-26  Bruno Haible  <bruno@clisp.org>
45582
45583         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
45584         variables.
45585         (func_version): Essentially copied from gnulib-tool.
45586         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
45587         func_readlink): Copied from gnulib-tool.
45588
45589 2008-09-26  Bruno Haible  <bruno@clisp.org>
45590
45591         * gnulib-tool (func_version): Change directory to $gnulib_dir before
45592         invoking git-version-gen.
45593
45594 2008-09-26  Bruno Haible  <bruno@clisp.org>
45595
45596         * posix-modules: Update to directory names changed on 2008-01-19.
45597         Remove commas in output before splitting into words. No more need to
45598         avoid 'ftruncate' since 2007-02-19.
45599
45600 2008-09-26  Bruno Haible  <bruno@clisp.org>
45601
45602         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
45603
45604 2008-09-26  Bruno Haible  <bruno@clisp.org>
45605
45606         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
45607         * modules/fwriteerror (Depends-on): Add errno.
45608
45609 2008-09-26  Bruno Haible  <bruno@clisp.org>
45610
45611         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
45612         * tests/test-vc-list-files-cvs.sh: Likewise.
45613
45614 2008-09-26  Bruno Haible  <bruno@clisp.org>
45615
45616         * doc/posix-headers/sys_resource.texi: Reorder items.
45617
45618 2008-09-26  Jim Meyering  <meyering@redhat.com>
45619
45620         fts: tweak inode comparison function
45621         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
45622         inode numbers, as documented.
45623
45624         fts: sort dirent entries on inode number before traversing
45625         This avoids a quadratic, seek-related performance penalty when
45626         operating on a directory containing many entries (measurable at 10k;
45627         3.5 hours at 2 million entries with a cold cache) on certain types
45628         of file systems, including ext3 and ext4, but not tmpfs.
45629         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
45630         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
45631         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
45632         (fs_handles_readdir_ordered_dirents_efficiently): New function.
45633         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
45634         (fts_build): Set the stat.st_ino member from D_INO.
45635         If it is likely to be useful, sort dirent entries on inode number.
45636
45637         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
45638         and the struct statfs.f_type member.
45639         * modules/fts (Depends-on): Add d-ino.
45640
45641 2008-09-26  Bruno Haible  <bruno@clisp.org>
45642
45643         * modules/sigpipe-die (Depends-on): Add sigpipe.
45644
45645         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
45646         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
45647         and GNULIB_STDIO_H_SIGPIPE are set.
45648         * lib/stdio-write.c: New file.
45649         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
45650         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
45651         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
45652         REPLACE_STDIO_WRITE_FUNCS.
45653         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
45654         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
45655         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
45656         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
45657         * modules/stdio (Files): Add lib/stdio-write.c.
45658         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
45659         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
45660         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
45661         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
45662         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
45663         REPLACE_FPRINTF_POSIX.
45664         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
45665         REPLACE_PRINTF_POSIX.
45666         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
45667         REPLACE_VFPRINTF_POSIX.
45668         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
45669         REPLACE_VPRINTF_POSIX.
45670         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
45671         SIGPIPE issue.
45672         * doc/posix-functions/fputc.texi: Likewise.
45673         * doc/posix-functions/fputs.texi: Likewise.
45674         * doc/posix-functions/fwrite.texi: Likewise.
45675         * doc/posix-functions/printf.texi: Likewise.
45676         * doc/posix-functions/putc.texi: Likewise.
45677         * doc/posix-functions/putchar.texi: Likewise.
45678         * doc/posix-functions/puts.texi: Likewise.
45679         * doc/posix-functions/vfprintf.texi: Likewise.
45680         * doc/posix-functions/vprintf.texi: Likewise.
45681
45682         * modules/safe-write (Depends-on): Add write.
45683
45684         * modules/sigpipe-tests: New file.
45685         * tests/test-sigpipe.c: New file.
45686         * tests/test-sigpipe.sh: New file.
45687
45688         * modules/write: New file.
45689         * lib/unistd.in.h: Include <sys/types.h>.
45690         (write): New declaration.
45691         * lib/write.c: New file.
45692         * m4/write.m4: New file.
45693         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45694         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
45695         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
45696         GNULIB_WRITE, REPLACE_WRITE.
45697         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
45698         and the SIGPIPE issue.
45699
45700         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
45701         (raise): New declaration.
45702         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
45703         (ext_signal): New function.
45704         (rpl_raise): New function.
45705         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
45706         GNULIB_SIGNAL_H_SIGPIPE.
45707         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
45708         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
45709
45710         * modules/sigpipe: New file.
45711         * m4/sigpipe.m4: New file.
45712
45713 2008-09-25  Derek Price  <derek@ximbiot.com>
45714             Bruno Haible  <bruno@clisp.org>
45715
45716         * gnulib-tool (func_import): Report all license incompatibilities, not
45717         just the first one.
45718
45719 2008-09-25  Bruno Haible  <bruno@clisp.org>
45720
45721         * gnulib-tool (func_import): When computing the edits, consider not
45722         only the Makefile.ams that exist but also those that will be generated.
45723
45724 2008-09-25  Simon Josefsson  <simon@josefsson.org>
45725
45726         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
45727         fixes gnulib-tool --test warning about duplicate dependency.
45728
45729 2008-09-25  Bruno Haible  <bruno@clisp.org>
45730
45731         * gnulib-tool: Don't ask the user to perform edits in the generated
45732         Makefile.ams.
45733         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
45734         apply to the Makefile.am being generated.
45735         (func_emit_tests_Makefile_am): Execute edits that apply to the
45736         Makefile.am being generated.
45737         (func_import): Setup list of Makefile.am edits before emitting the
45738         Makefile.ams, not at the end.
45739         (func_create_testdir): Update.
45740         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
45741
45742 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45743
45744         * gnulib-tool (func_import): Store the --tests-base option in the
45745         comment in gnulib-cache.m4.
45746
45747 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
45748
45749         * NEWS: Document increased portability that sys_select now provides.
45750
45751         * lib/sys_select.in.h: Install select wrapper.
45752         * lib/sys_socket.in.h: Use more descriptive name when there is no
45753         select wrapper.
45754         * lib/winsock-select.c: New.
45755         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
45756         Require gl_HEADER_SYS_SOCKET.
45757         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
45758         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
45759         * tests/test-sys_select.c: Add functional tests.
45760
45761 2008-09-24  Eric Blake  <ebb9@byu.net>
45762
45763         open, fopen: close fd leak in last patch
45764         * lib/open.c (rpl_open): Close fd before returning error.
45765         * lib/fopen.c (rpl_fopen): Close fd before returning error.
45766         * doc/posix-functions/open.texi (open): Document that Irix also
45767         has the bug.
45768         * doc/posix-functions/fopen.texi (fopen): Likewise.
45769         Reported by Paolo Bonzini.
45770
45771 2008-09-24  Bruno Haible  <bruno@clisp.org>
45772
45773         Ensure that a filename ending in a slash cannot be used to access a
45774         non-directory.
45775         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
45776         to check whether it's really a directory.
45777         * lib/fopen.c: Include fcntl.h, unistd.h.
45778         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
45779         and fdopen().
45780         * modules/fopen (Depends-on): Add unistd.
45781         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
45782         * tests/test-fopen.c (main): Likewise.
45783         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
45784         * doc/posix-functions/fopen.texi: Likewise.
45785         Reported by Eric Blake.
45786
45787 2008-09-23  Eric Blake  <ebb9@byu.net>
45788
45789         c-stack: avoid compiler optimizations when provoking overflow
45790         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
45791         recursion harder to optimize, to ensure a stack overflow occurs.
45792         * tests/test-c-stack.c (recurse): Likewise.
45793         Borrowed from libsigsegv.
45794
45795         c-stack: work around Irix sigaltstack bug
45796         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
45797         whether sigaltstack uses wrong end of stack_t (copied in part from
45798         libsigsegv).
45799         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
45800         Irix bug, without requiring an over-allocation.
45801         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
45802         bug.
45803
45804         fopen: document mingw bug on directories
45805         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
45806         not allowing a stream visiting a directory, even though reading
45807         from such a stream is not portable.
45808
45809 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
45810
45811         * lib/poll.c: Rewrite.
45812         * modules/poll: Depend on alloca.
45813
45814 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
45815
45816         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
45817         instead define prototypes for a full set of wrappers.  Ensure
45818         that Cygwin does not use the compatibility code, which is only
45819         for MinGW.
45820         * lib/winsock.c: New.
45821         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
45822         * modules/sys_socket: Add lib/winsock.c.
45823
45824         * modules/poll-tests: Add errno and perror.
45825         * tests/test-poll.c: Use ioctl, not ioctlsocket.
45826
45827 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
45828
45829         * tests/test-poll.c: Downgrade minimum needed Winsock version.
45830
45831 2008-09-23  Bruno Haible  <bruno@clisp.org>
45832
45833         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
45834         * doc/glibc-functions/*: Likewise.
45835
45836 2008-09-23  Simon Josefsson  <simon@josefsson.org>
45837
45838         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
45839         success.
45840
45841 2008-09-22  Eric Blake  <ebb9@byu.net>
45842             Bruno Haible  <bruno@clisp.org>
45843
45844         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
45845         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
45846         supply %A but mishandle pseudo-NaN.
45847         Reported by Simon Josefsson.
45848
45849 2008-09-21  Bruno Haible  <bruno@clisp.org>
45850
45851         * tests/test-lock.c (main): Tweak skip message.
45852         * tests/test-tls.c (main): Likewise.
45853
45854 2008-09-21  Bruno Haible  <bruno@clisp.org>
45855
45856         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
45857         whether 'struct sigaction' has sa_sigaction here...
45858         (gl_PREREQ_SIG_HANDLER_H): ... not here.
45859         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
45860
45861 2008-09-21  Bruno Haible  <bruno@clisp.org>
45862
45863         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
45864         section.
45865         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
45866         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
45867         the new section.
45868         (Support for obsolete systems lacking POSIX:2001): New section.
45869         (String handling <string.h>): Move strdup to the new section.
45870         Suggested by Simon Josefsson and Paolo Bonzini.
45871
45872 2008-09-21  Bruno Haible  <bruno@clisp.org>
45873
45874         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
45875         exponents in %e and %g results on 'long double'. Needed for mingw's
45876         improved *printf functions.
45877         * tests/test-vasprintf-posix.c (test_function): Likewise.
45878         * tests/test-snprintf-posix.h (test_function): Likewise.
45879         * tests/test-sprintf-posix.h (test_function): Likewise.
45880         Reported by Eric Blake.
45881
45882 2008-09-21  Bruno Haible  <bruno@clisp.org>
45883
45884         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
45885         * tests/test-sprintf-posix.h (test_function): Likewise.
45886
45887 2008-09-21  Bruno Haible  <bruno@clisp.org>
45888
45889         * modules/getpass (Depends-on): Add strdup-posix.
45890
45891         New module 'strdup-posix'.
45892         * modules/strdup-posix: New file.
45893         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
45894         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
45895         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
45896         REPLACE_STRDUP.
45897         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
45898         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
45899         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
45900         strdup-posix.
45901
45902         * modules/strdup (Depends-on): Remove malloc-posix.
45903
45904 2008-09-20  Bruno Haible  <bruno@clisp.org>
45905
45906         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
45907         Wildenhues.
45908
45909 2008-09-20  Bruno Haible  <bruno@clisp.org>
45910
45911         Ensure that wint_t gets defined on IRIX 5.3.
45912         * lib/wchar.in.h (wint_t): Define if not defined by the system.
45913         * lib/wctype.in.h (wint_t): Likewise.
45914         (__wctype_wint_t): Remove type.
45915         (isw*): Use wint_t instead of __wctype_wint_t.
45916         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
45917         * modules/wchar (Files): Add m4/wint_t.m4.
45918         (Makefile.am): Substitute HAVE_WINT_T.
45919         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
45920         * tests/test-wctype.c: Check that wint_t is defined.
45921         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
45922         * doc/posix-headers/wctype.texi: Likewise.
45923         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45924
45925 2008-09-18  Bruno Haible  <bruno@clisp.org>
45926
45927         * gnulib-tool (func_exit): Update comment.
45928
45929 2008-09-18  Simon Josefsson  <simon@josefsson.org>
45930
45931         * modules/getaddrinfo (Depends-on): Remove strdup, this module
45932         assumes strdup exists and does not depend on strdup to return
45933         ENOMEM on out of memory conditions.
45934
45935 2008-09-18  Bruno Haible  <bruno@clisp.org>
45936
45937         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
45938         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
45939         digits for the exponent.
45940
45941 2008-09-18  Jim Meyering  <meyering@redhat.com>
45942             Bruno Haible  <bruno@clisp.org>
45943
45944         * lib/vasnprintf.c (decimal_point_char): Define also if
45945         NEED_PRINTF_INFINITE_LONG_DOUBLE.
45946
45947 2008-09-16  Bruno Haible  <bruno@clisp.org>
45948         and Eric Blake  <ebb9@byu.net>
45949
45950         vasnprintf: support Irix 5.3
45951         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
45952         that mishandle long double infinity.
45953         Reported by Tom G. Christensen.
45954
45955 2008-09-16  Bruno Haible  <bruno@clisp.org>
45956
45957         * doc/glibc-functions/scandir.texi: Mention the function is missing on
45958         Solaris 9.
45959         * doc/glibc-functions/alphasort.texi: Likewise.
45960         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
45961
45962 2008-09-16  Jim Meyering  <meyering@redhat.com>
45963
45964         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
45965         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
45966         a umask modification leak out of a subshell.  Otherwise, the
45967         opensolaris /bin/sh would be accepted and thus cause unwarranted
45968         failures in the coreutils test suite.
45969
45970 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
45971
45972         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
45973         to succeed.
45974
45975 2008-09-16  Jim Meyering  <meyering@redhat.com>
45976
45977         avoid spurious test failure when library is built without ACL support
45978         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
45979         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
45980         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
45981         * tests/test-copy-acl.sh: Likewise.
45982
45983 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45984
45985         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
45986         based on character occurrence counts.
45987
45988 2008-09-15  Eric Blake  <ebb9@byu.net>
45989
45990         tests: avoid some compiler warnings
45991         * tests/test-memchr.c (main): Pass NULL indirectly.
45992         * tests/test-closein.c (main): Avoid unused variable.
45993
45994 2008-09-15  Bruno Haible  <bruno@clisp.org>
45995
45996         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
45997         are missing on OpenBSD 4.0 individually.
45998         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
45999
46000 2008-09-15  Bruno Haible  <bruno@clisp.org>
46001
46002         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
46003         * doc/posix-functions/strerror.texi: Mention also Cygwin.
46004         * doc/posix-functions/perror.texi: Likewise.
46005         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
46006         is missing.
46007         Reported by Eric Blake.
46008
46009         * lib/errno.in.h: Use replacement values >= 2000.
46010         Reported by Eric Blake.
46011
46012 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46013
46014         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
46015         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
46016         limit.
46017         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
46018         compareseq was aborted.
46019
46020 2008-09-14  Bruno Haible  <bruno@clisp.org>
46021
46022         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
46023         yvec_edit_count.
46024         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
46025         (fstrcmp_bounded): Simplify result computation accordingly.
46026
46027 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46028
46029         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
46030         (fstrcmp): Define in terms of fstrcmp_bounded.
46031         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
46032         lower_bound argument.
46033         Return quickly if the result is certainly < lower_bound.
46034         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
46035
46036 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46037
46038         * lib/diffseq.h (EARLY_ABORT): New macro.
46039         (compareseq): Change return type to bool. Return true when EARLY_ABORT
46040         evaluates to true.
46041
46042 2008-09-14  Bruno Haible  <bruno@clisp.org>
46043
46044         * modules/perror-tests: New file.
46045         * tests/test-perror.sh: New file.
46046         * tests/test-perror.c: New file.
46047
46048         New module 'perror'.
46049         * lib/stdio.in.h (perror): New declaration.
46050         * lib/perror.c: New file.
46051         * m4/perror.m4: New file.
46052         * modules/perror: New file.
46053         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
46054         * doc/posix-functions/perror.texi: Mention the perror module.
46055         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
46056         REPLACE_PERROR.
46057         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
46058         REPLACE_PERROR.
46059
46060 2008-09-14  Bruno Haible  <bruno@clisp.org>
46061
46062         * modules/stdio (Makefile.am): Reorder to match the order in
46063         lib/stdio.in.h.
46064         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
46065
46066 2008-09-13  Bruno Haible  <bruno@clisp.org>
46067
46068         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
46069
46070 2008-09-13  Bruno Haible  <bruno@clisp.org>
46071
46072         Extend strerror to cover the added errno values.
46073         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
46074         (rpl_strerror): Provide error messages for the added errno values and
46075         for the WSA* values.
46076         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
46077         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
46078         strerror.
46079         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
46080         * modules/strerror (Depends-on): Add errno.
46081         * doc/posix-functions/strerror.texi: Document the change.
46082         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
46083         and EOVERFLOW.
46084
46085 2008-09-13  Bruno Haible  <bruno@clisp.org>
46086
46087         * modules/EOVERFLOW: Remove file.
46088         * m4/eoverflow.m4: Remove file.
46089         * modules/EOVERFLOW-tests: Remove file.
46090         * tests/test-EOVERFLOW.c: Remove file.
46091         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
46092         * modules/ftell (Depends-on): Likewise.
46093         * modules/getdelim (Depends-on): Likewise.
46094         * modules/getugroups (Depends-on): Likewise.
46095         * modules/poll (Depends-on): Likewise.
46096         * modules/snprintf (Depends-on): Likewise.
46097         * modules/sprintf-posix (Depends-on): Likewise.
46098         * modules/vasnprintf (Depends-on): Likewise.
46099         * modules/vasprintf (Depends-on): Likewise.
46100         * modules/vfprintf-posix (Depends-on): Likewise.
46101         * modules/vsnprintf (Depends-on): Likewise.
46102         * modules/vsprintf-posix (Depends-on): Likewise.
46103         * modules/xvasprintf (Depends-on): Likewise.
46104         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
46105         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
46106         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
46107         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
46108         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
46109         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
46110         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
46111         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
46112         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
46113         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
46114         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
46115         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
46116         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
46117         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
46118         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
46119         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
46120         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
46121         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
46122         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
46123         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
46124         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
46125         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
46126         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
46127         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
46128         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
46129         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
46130         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
46131         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
46132         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
46133         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
46134         * MODULES.html.sh: Remove EOVERFLOW.
46135         * NEWS: Mention the change.
46136
46137 2008-09-13  Bruno Haible  <bruno@clisp.org>
46138
46139         * modules/errno-tests: New file.
46140         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
46141
46142         * lib/errno.in.h: New file.
46143         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
46144         * modules/errno: New file.
46145         * doc/posix-headers/errno.texi: Update documentation.
46146         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
46147
46148 2008-09-13  Bruno Haible  <bruno@clisp.org>
46149
46150         * tests/test-poll.c: Use #if for native Windows, rather than testing
46151         __MSVCRT__.
46152
46153 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46154             Bruno Haible  <bruno@clisp.org>
46155
46156         * lib/glob.c: Don't include <pwd.h> on native Windows.
46157         (WINDOWS32): New macro.
46158         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
46159
46160 2008-09-13  Bruno Haible  <bruno@clisp.org>
46161
46162         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
46163         (ETIMEDOUT): Remove macro.
46164         (glthread_cond_timedwait_multithreaded): New declaration.
46165         (glthread_cond_timedwait): Use it.
46166         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
46167         (glthread_cond_timedwait_multithreaded): New function.
46168
46169 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
46170
46171         * modules/poll-tests: Do not check for io.h.
46172         * tests/test-poll.c: Check for __MSVCRT__ instead.
46173
46174 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
46175
46176         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
46177         * modules/poll-tests: Add inet_pton, stdbool, sockets.
46178         * tests/test-poll.c: Use them.  Use _pipe on Windows.
46179
46180 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
46181
46182         * modules/poll-tests: New.
46183         * tests/test-poll.c: New.
46184
46185 2008-09-12  Eric Blake  <ebb9@byu.net>
46186
46187         frexp: test for NetBSD failure on -0.0
46188         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
46189         not all, bugs from NetBSD 3.0 have been fixed.
46190         * doc/posix-functions/frexp.texi (frexp): Document bug.
46191         Reported by Thomas Klausner.
46192
46193         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
46194         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
46195         literal -0.0.
46196         Reported by Jonathan C. Patschke <jp@centtech.com>.
46197
46198 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46199
46200         * lib/glthread/cond.h: Use dummy implementation also if
46201         USE_WIN32_THREADS.
46202
46203 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46204
46205         * modules/fnmatch-posix (License): Change to LGPLv2+.
46206         * modules/fnmatch-gnu (License): Likewise.
46207
46208 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46209
46210         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
46211
46212 2008-09-11  Jim Meyering  <meyering@redhat.com>
46213
46214         * users.txt: Add gtk-vnc.
46215
46216 2008-09-08  Simon Josefsson  <simon@josefsson.org>
46217
46218         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
46219         rotate amounts.
46220
46221         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
46222         required for 16-bit and 8-bit rotates.
46223         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
46224         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
46225         UINT8_MAX instead of hard-coded constants.
46226         Suggested by Paul Eggert.
46227
46228 2008-09-07  Bruno Haible  <bruno@clisp.org>
46229
46230         * tests/test-striconveh.c (main): Check behaviour when converting from
46231         UTF-7.
46232
46233         Make striconveh work better with stateful encodings.
46234         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
46235         that iconv does not increment the inptr when returning -1/EINVAL.
46236
46237 2008-09-07  Bruno Haible  <bruno@clisp.org>
46238
46239         * build-aux/config.rpath: Update according to libtool-2.2.6.
46240         * build-aux/config.libpath: Likewise.
46241
46242 2008-09-06  Bruno Haible  <bruno@clisp.org>
46243
46244         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
46245         * lib/freadptr.c (freadptr): Likewise.
46246         * lib/freadseek.c (freadptrinc): Likewise.
46247         Reported by Simon Josefsson.
46248
46249 2008-09-06  Bruno Haible  <bruno@clisp.org>
46250
46251         * modules/freadptr (License): Change to LGPLv2+.
46252         * modules/freadseek (License): Likewise.
46253         Suggested by Eric Blake.
46254
46255         * modules/memchr2 (License): Change to LGPLv2+.
46256         Approved by Eric Blake.
46257
46258 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46259             Bruno Haible  <bruno@clisp.org>
46260
46261         Make gnulib-tool work with native 'sed' on AIX.
46262         * gnulib-tool (sed_noop): New variable.
46263         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
46264         func_add_or_update, func_create_testdir): Use it to initialize sed
46265         script variables.
46266         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46267
46268 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
46269             Bruno Haible  <bruno@clisp.org>
46270
46271         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
46272         also works after #include directives.
46273
46274 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
46275
46276         getdate.y: reject an out-of-range timezone value
46277         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
46278         the range [-24...+24].  When specified with only one or two digits,
46279         * tests/test-getdate.c: Tests for the fix.
46280         * doc/getdate.texi: Document this change.
46281
46282 2008-09-03  Bruno Haible  <bruno@clisp.org>
46283
46284         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
46285
46286 2008-09-02  Simon Josefsson  <simon@josefsson.org>
46287
46288         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
46289         <bruce.korb@gmail.com> with ideas from Ben Pfaff
46290         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
46291         Blake <ebb9@byu.net>.
46292
46293         * tests/test-bitrotate.c: Add more test vectors.
46294
46295 2008-09-02  Eric Blake  <ebb9@byu.net>
46296
46297         vasnprintf-posix: handle large precision via %.*d
46298         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
46299         when handling it ourselves.
46300         * tests/test-vasnprintf-posix.c (test_function): Add test.
46301         * tests/test-snprintf-posix.h (test_function): Likewise.
46302         * tests/test-sprintf-posix.h (test_function): Likewise.
46303         * tests/test-vasprintf-posix.c (test_function): Likewise.
46304         Reported by Alain Guibert.
46305
46306 2008-09-01  Eric Blake  <ebb9@byu.net>
46307
46308         c-stack: make configure-time check more robust
46309         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
46310         successful sigaction call.
46311         Reported by Tom G. Christensen.
46312
46313 2008-09-01  Bruno Haible  <bruno@clisp.org>
46314
46315         New module 'findprog-lgpl'.
46316         * modules/findprog-lgpl: New file.
46317         * lib/findprog-lgpl.c: New file.
46318         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
46319         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
46320         to decide whether to use strdup or xstrdup, concatenated_filename or
46321         xconcatenated_filename.
46322
46323 2008-09-01  Bruno Haible  <bruno@clisp.org>
46324
46325         Split module 'concat-filename' into 'concat-filename' (LGPL) and
46326         'xconcat-filename' (GPL).
46327         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
46328         (License): Change to LGPLv2+.
46329         * modules/xconcat-filename: New file.
46330         * lib/concat-filename.h (concatenated_filename): Change specification.
46331         (xconcatenated_filename): New declaration.
46332         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
46333         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
46334         memory situations.
46335         * lib/xconcat-filename.c: New file.
46336         * NEWS: Mention the change.
46337         * lib/findprog.c: Include concat-filename.h, not filename.h.
46338         (find_in_path): Use xconcatenated_filename instead of
46339         concatenated_filename.
46340         * lib/javacomp.c: Include concat-filename.h, not filename.h.
46341         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
46342         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
46343         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
46344         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
46345         instead of concatenated_filename.
46346         * lib/javaexec.c: Include concat-filename.h, not filename.h.
46347         (execute_java_class): Use xconcatenated_filename instead of
46348         concatenated_filename.
46349         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
46350         * modules/javacomp (Depends-on): Likewise.
46351         * modules/javaexec (Depends-on): Likewise.
46352
46353 2008-09-01  Bruno Haible  <bruno@clisp.org>
46354
46355         Split module 'filename' into 'filename' and 'concat-filename'.
46356         * modules/filename: Keep only lib/filename.h.
46357         (License): Change to LGPLv2+.
46358         * modules/concat-filename: New file, extracted from modules/filename.
46359         * lib/filename.h (concatenated_filename): Remove declaration.
46360         * lib/concat-filename.h: New file, extracted from lib/filename.h.
46361         * lib/concat-filename.c: Include concat-filename.h.
46362         * NEWS: Mention the change.
46363
46364 2008-09-01  Simon Josefsson  <simon@josefsson.org>
46365
46366         * lib/bitrotate.h (rotl8, rotr8): Add.
46367
46368         * modules/bitrotate (configure.ac): Need
46369         AC_REQUIRE([AC_C_INLINE]).
46370         (Description): Mention stdint.h.  Reported by Bruno Haible
46371         <bruno@clisp.org>.
46372
46373         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
46374         Paolo Bonzini <bonzini@gnu.org>.
46375
46376 2008-08-31  Bruno Haible  <bruno@clisp.org>
46377
46378         Assume Solaris specific bi-arch conventions on Solaris systems.
46379         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
46380         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
46381         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
46382         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
46383         like acl_libdirstem.
46384         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
46385         acl_libdirstem.
46386         * NEWS: Mention the change.
46387         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
46388
46389 2008-08-31  Jim Meyering  <meyering@redhat.com>
46390
46391         * lib/strftime.h: Add comments describing the two added arguments.
46392
46393         remove duplicate #include directives
46394         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
46395         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
46396
46397 2008-08-31  Bruno Haible  <bruno@clisp.org>
46398
46399         New module 'sigpipe-die'.
46400         * modules/sigpipe-die: New file.
46401         * lib/sigpipe-die.h: New file.
46402         * lib/sigpipe-die.c: New file.
46403         * MODULES.html.sh (Signal handling): Add sigpipe-die.
46404
46405 2008-08-31  Bruno Haible  <bruno@clisp.org>
46406
46407         Don't override previously installed signal handlers.
46408         * lib/fatal-signal.c (saved_sigactions): New variable.
46409         (uninstall_handlers): Reset the signal to the saved handler, not
46410         to SIG_DFL (except when ignored).
46411         (install_handlers): Save the previous handlers.
46412
46413 2008-08-30  Bruno Haible  <bruno@clisp.org>
46414
46415         * gnulib-tool (func_reset_sigpipe): New function.
46416         (func_get_automake_snippet, func_modules_transitive_closure,
46417         func_import): Invoke it before a join command that reads from stdin,
46418         to avoid "echo: write error: Broken pipe" error messages on stderr.
46419         Reported by Sam Steingold <sds@gnu.org>.
46420
46421 2008-08-30  Bruno Haible  <bruno@clisp.org>
46422
46423         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
46424         Code copied from m4/open.m4.
46425         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
46426         access and the filename ends in a slash. Code copied from lib/open.c.
46427         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
46428         * tests/test-fopen.c (main): Check against bug with trailing slash.
46429
46430 2008-08-29  Bruno Haible  <bruno@clisp.org>
46431
46432         Avoid some "gcc -pedantic" warnings.
46433         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
46434         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
46435         * lib/dirent.in.h: Likewise.
46436         * lib/fcntl.in.h: Likewise.
46437         * lib/float.in.h: Likewise.
46438         * lib/iconv.in.h: Likewise.
46439         * lib/inttypes.in.h: Likewise.
46440         * lib/locale.in.h: Likewise.
46441         * lib/math.in.h: Likewise.
46442         * lib/netinet_in.in.h: Likewise.
46443         * lib/search.in.h: Likewise.
46444         * lib/signal.in.h: Likewise.
46445         * lib/stdarg.in.h: Likewise.
46446         * lib/stdint.in.h: Likewise.
46447         * lib/stdio.in.h: Likewise.
46448         * lib/stdlib.in.h: Likewise.
46449         * lib/string.in.h: Likewise.
46450         * lib/strings.in.h: Likewise.
46451         * lib/sys_select.in.h: Likewise.
46452         * lib/sys_socket.in.h: Likewise.
46453         * lib/sys_stat.in.h: Likewise.
46454         * lib/sys_time.in.h: Likewise.
46455         * lib/sysexits.in.h: Likewise.
46456         * lib/time.in.h: Likewise.
46457         * lib/unistd.in.h: Likewise.
46458         * lib/wchar.in.h: Likewise.
46459         * lib/wctype.in.h: Likewise.
46460         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
46461         * modules/fchdir (Makefile.am): Likewise.
46462         * modules/fcntl (Makefile.am): Likewise.
46463         * modules/float (Makefile.am): Likewise.
46464         * modules/iconv_open (Makefile.am): Likewise.
46465         * modules/inttypes (Makefile.am): Likewise.
46466         * modules/locale (Makefile.am): Likewise.
46467         * modules/math (Makefile.am): Likewise.
46468         * modules/netinet_in (Makefile.am): Likewise.
46469         * modules/search (Makefile.am): Likewise.
46470         * modules/signal (Makefile.am): Likewise.
46471         * modules/stdarg (Makefile.am): Likewise.
46472         * modules/stdint (Makefile.am): Likewise.
46473         * modules/stdio (Makefile.am): Likewise.
46474         * modules/stdlib (Makefile.am): Likewise.
46475         * modules/string (Makefile.am): Likewise.
46476         * modules/strings (Makefile.am): Likewise.
46477         * modules/sys_select (Makefile.am): Likewise.
46478         * modules/sys_socket (Makefile.am): Likewise.
46479         * modules/sys_stat (Makefile.am): Likewise.
46480         * modules/sys_time (Makefile.am): Likewise.
46481         * modules/sysexits (Makefile.am): Likewise.
46482         * modules/time (Makefile.am): Likewise.
46483         * modules/unistd (Makefile.am): Likewise.
46484         * modules/wchar (Makefile.am): Likewise.
46485         * modules/wctype (Makefile.am): Likewise.
46486         Reported by Reuben Thomas <rrt@sc3d.org>.
46487
46488 2008-08-29  Bruno Haible  <bruno@clisp.org>
46489
46490         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
46491         any more.
46492
46493 2008-08-29  Simon Josefsson  <simon@josefsson.org>
46494
46495         * MODULES.html.sh (Misc): Add bitrotate.
46496
46497         * modules/bitrotate: New file.
46498
46499         * lib/bitrotate.h: New file.
46500
46501         * modules/bitrotate-tests: New file.
46502
46503         * tests/test-bitrotate.c: New file.
46504
46505         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
46506         on the bitrotate module.
46507
46508         * lib/arctwo.c: Use new bitrotate module.
46509
46510 2008-08-29  Jim Meyering  <meyering@redhat.com>
46511
46512         bootstrap: merge changes from coreutils
46513         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
46514         of copied files.  Remove a kludge, now that this is fixed.
46515         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
46516         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
46517         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
46518
46519 2008-08-29  Bruno Haible  <bruno@clisp.org>
46520
46521         * MODULES.html.sh: Remove --cvs-urls option.
46522
46523 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
46524
46525         maint.mk: adjust to file name change
46526         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
46527
46528 2008-08-28  Jim Meyering  <meyering@redhat.com>
46529
46530         * modules/getndelim2 (License): Relicense to LGPLv2+.
46531         Approved by Richard Stallman for the version of 1995, and by
46532         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
46533
46534 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
46535
46536         * lib/getdelim.c (flockfile, funlockfile): Make all of them
46537         dummy if one is not available.  Do not touch them if
46538         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
46539         (getc_maybe_unlocked): New.
46540         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
46541
46542 2008-08-26  Eric Blake  <ebb9@byu.net>
46543
46544         doc/INSTALL: resync from autoconf
46545         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
46546         (INSTALL_PRELUDE): Delete; this is done more efficiently by
46547         moving...
46548         * install.texi [!autoconf]: ...here.  Resync from autoconf.
46549         * INSTALL: Regenerate.
46550         * INSTALL.ISO: New file.
46551         * INSTALL.UTF-8: Likewise.
46552
46553 2008-08-26  Jim Meyering  <meyering@redhat.com>
46554
46555         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
46556         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
46557         these definitions conditional, so that they may be overridden, too.
46558
46559 2008-08-26  Bruno Haible  <bruno@clisp.org>
46560
46561         Generate INSTALL file variants with prettier quotes.
46562         * doc/Makefile (INSTALL_PRELUDE): New macro.
46563         (INSTALL): Use it.
46564         (INSTALL.ISO, INSTALL.UTF-8): New rules.
46565
46566 2008-08-26  Bruno Haible  <bruno@clisp.org>
46567
46568         Run makeinfo in an English locale.
46569         * doc/Makefile (MAKEINFO): New variable.
46570
46571 2008-08-26  Bruno Haible  <bruno@clisp.org>
46572
46573         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
46574         Suggested by Eric Blake.
46575
46576 2008-08-25  Bruno Haible  <bruno@clisp.org>
46577
46578         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
46579
46580 2008-08-25  Eric Blake  <ebb9@byu.net>
46581
46582         c-stack: test that stack overflow can be caught
46583         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
46584         that platform allows handling stack overflow; at least OS/2 EMX
46585         has sigaltstack, but crashes before transferring control to
46586         handler on stack overflow.
46587         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
46588         check for HAVE_STACK_OVERFLOW_HANDLING.
46589         Reported by Elbert Pol.
46590
46591 2008-08-25  Bruno Haible  <bruno@clisp.org>
46592
46593         * doc/posix-functions/strftime.texi: Fix description of strftime
46594         module.
46595
46596 2008-08-24  Bruno Haible  <bruno@clisp.org>
46597
46598         * tests/uniwidth/test-uc_width2.c: New file.
46599         * tests/uniwidth/test-uc_width2.sh: New file.
46600         * modules/uniwidth/width-tests (Files): Add the new files.
46601         (TESTS): Add uniwidth/test-uc_width2.sh.
46602         (TESTS_ENVIRONMENT): New variable.
46603         (check_PROGRAMS): Add test-uc_width2.
46604         (test_uc_width2_SOURCES): New variable.
46605
46606         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
46607         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
46608         not 0x00AB.
46609         Reported by Alexander V. Lukyanov <lav@netis.ru>.
46610
46611 2008-08-22  Eric Blake  <ebb9@byu.net>
46612
46613         test-lock, test-tls: mention why a test is skipped
46614         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
46615         skipped.
46616         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
46617
46618         count-one-bits: relax license
46619         * modules/count-one-bits (License): Relicense to LGPLv2+.
46620         Suggested by Ludovic Courtès, approved by Ben Pfaff.
46621
46622 2008-08-22  Andreas Schwab  <schwab@suse.de>
46623
46624         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
46625         Remove spurious space in assignment.
46626
46627 2008-08-21  Simon Josefsson  <simon@josefsson.org>
46628
46629         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
46630         Paul Eggert <eggert@CS.UCLA.EDU>.
46631
46632 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
46633
46634         * modules/gettext: Add m4/threadlib.m4.
46635
46636 2008-08-19  Eric Blake  <ebb9@byu.net>
46637
46638         test-c-stack: fix compilation failure on FreeBSD 5.0
46639         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
46640         headers before <sys/resource.h>.
46641         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
46642         the bug.
46643         Reported by Nelson H. F. Beebe.
46644
46645         strverscmp: migrate from "strverscmp.h" to <string.h>
46646         * modules/string (Makefile.am): Add new hooks.
46647         * modules/strverscmp (Files): Remove strverscmp.h.
46648         (Depends-on): Add string.
46649         (configure.ac): Add indicator.
46650         (Include): Mention new header.
46651         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
46652         defaults.
46653         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
46654         results.
46655         * lib/strverscmp.h: Delete.
46656         * lib/string.in.h (strverscmp): Provide declaration, when needed.
46657         * tests/test-strverscmp.c (includes): Adjust client.
46658         * lib/check-version.c (includes): Likewise.
46659         * NEWS: Document the change.
46660
46661         strverscmp: add unit test
46662         * modules/strverscmp-tests: New file.
46663         * tests/test-strverscmp.c: Likewise.
46664
46665 2008-08-19  Simon Josefsson  <simon@josefsson.org>
46666
46667         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
46668         regarding Windows crypto stuff, from Mono.
46669
46670 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
46671
46672         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
46673         if present, for intel RND.  Return error on failures.
46674
46675 2008-08-18  Ben Pfaff  <blp@gnu.org>
46676
46677         gitlog-to-changelog: give better diagnostic for failed pipe-open
46678         * build-aux/gitlog-to-changelog: Improve error message: suggest
46679         that the version of Git may be too old.
46680
46681 2008-08-18  Simon Josefsson  <simon@josefsson.org>
46682
46683         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
46684         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
46685
46686 2008-08-18  Bruno Haible  <bruno@clisp.org>
46687
46688         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
46689         pthread_in_use().
46690
46691 2008-08-18  Bruno Haible  <bruno@clisp.org>
46692
46693         * lib/glthread/threadlib.c: Include <pthread.h>.
46694
46695 2008-08-18  Bruno Haible  <bruno@clisp.org>
46696
46697         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
46698         glthread_recursive_lock_* macros.
46699         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
46700         Fix syntax error.
46701
46702 2008-08-18  Bruno Haible  <bruno@clisp.org>
46703
46704         * lib/glthread/thread.c: Avoid forcing a context switch right after
46705         thread creation.
46706
46707 2008-08-17  Bruno Haible  <bruno@clisp.org>
46708
46709         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
46710         * lib/glthread/thread.h: Provide Win32 specific implementation.
46711         * modules/thread (Files): Add lib/glthread/thread.c.
46712         (Depends-on): Add lock.
46713         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
46714
46715 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46716
46717         New module 'yield'.
46718         * modules/yield: New file.
46719         * lib/glthread/yield.h: New file.
46720         * m4/yield.m4: New file.
46721         * MODULES.html.sh (Multithreading): Add yield.
46722
46723 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46724
46725         New module 'thread'.
46726         * modules/thread: New file.
46727         * lib/glthread/thread.h: New file.
46728         * m4/thread.m4: New file.
46729         * MODULES.html.sh (Multithreading): Add thread.
46730
46731 2008-08-17  Bruno Haible  <bruno@clisp.org>
46732
46733         * lib/glthread/lock.h: Include <stdlib.h> always.
46734         * lib/glthread/tls.h: Likewise.
46735         * lib/glthread/cond.h: Likewise.
46736
46737 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46738
46739         New module 'cond'.
46740         * modules/cond: New file.
46741         * lib/glthread/cond.h: New file.
46742         * lib/glthread/cond.c: New file.
46743         * m4/cond.m4: New file.
46744         * MODULES.html.sh (Multithreading): Add cond.
46745
46746 2008-08-16  Eric Blake  <ebb9@byu.net>
46747
46748         c-stack: fix regression on Irix 5.3 from 2008-06-21
46749         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
46750         sa_sigaction...
46751         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
46752         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
46753         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
46754         * modules/signal (Makefile.am): Use the value.
46755         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
46756         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
46757         * doc/posix-headers/signal.texi (signal.h): Document this
46758         portability issue.
46759         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
46760         Reported by Tom G. Christensen.
46761
46762 2008-08-17  Bruno Haible  <bruno@clisp.org>
46763
46764         New module 'threadlib'.
46765         * modules/threadlib: New file.
46766         * lib/glthread/threadlib.c: New file, extracted from
46767         lib/glthread/lock.c.
46768         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
46769         functions.
46770         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
46771         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
46772         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
46773         macros.
46774         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
46775         (gl_DISABLE_THREADS): Remove macro.
46776         * modules/lock (Files): Remove build-aux/config.rpath.
46777         (Depends-on): Remove havelib. Add threadlib.
46778         (configure.ac-early): Remove section.
46779         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
46780         * modules/tls (Depends-on): Remove lock. Add threadlib.
46781         (Link): New section, copied from threadlib.
46782         * MODULES.html.sh (Multithreading): Add threadlib.
46783
46784 2008-08-14  Bruno Haible  <bruno@clisp.org>
46785
46786         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
46787         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
46788         glthread_rwlock_unlock, glthread_rwlock_destroy,
46789         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
46790         glthread_recursive_lock_destroy): Define as macros always.
46791         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
46792         glthread_lock_lock.
46793         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
46794         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
46795         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
46796         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
46797         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
46798         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
46799         (glthread_recursive_lock_lock_func): Renamed from
46800         glthread_recursive_lock_lock.
46801         (glthread_recursive_lock_unlock_func): Renamed from
46802         glthread_recursive_lock_unlock.
46803         (glthread_recursive_lock_destroy_func): Renamed from
46804         glthread_recursive_lock_destroy.
46805
46806 2008-08-14  Bruno Haible  <bruno@clisp.org>
46807
46808         * lib/glthread/lock.h: Renamed from lib/lock.h.
46809         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
46810         * lib/glthread/tls.h: Renamed from lib/tls.h.
46811         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
46812         * lib/fstrcmp.c: Update includes.
46813         * lib/strsignal.c: Update includes.
46814         * modules/lock (Files, Makefile.am): Update.
46815         (Include): Change to "glthread/lock.h".
46816         * modules/tls (Files, Makefile.am): Update.
46817         (Include): Change to "glthread/tls.h".
46818         * tests/test-lock.c: Update includes.
46819         * tests/test-tls.c: Update includes.
46820         * NEWS: Mention the renamed header files.
46821
46822 2008-08-11  Jim Meyering  <meyering@redhat.com>
46823
46824         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
46825
46826 2008-08-11  Eric Blake  <ebb9@byu.net>
46827
46828         test-c-stack: avoid C99-ism
46829         * tests/test-c-stack.c (main): Fix whitespace, move declaration
46830         before statement.
46831         Reported by Alain Guibert.
46832
46833 2008-08-10  Jim Meyering  <meyering@redhat.com>
46834
46835         ensure that return value of uinttostr et al are not ignored
46836         * lib/inttostr.h (__GNUC_PREREQ): Define.
46837         (__attribute_warn_unused_result__): Define.
46838         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
46839
46840 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
46841
46842         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
46843         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
46844
46845 2008-08-07  Jim Meyering  <meyering@redhat.com>
46846
46847         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
46848
46849         * modules/mkstemp (License): Relicense under LGPLv2+.
46850         * modules/tempname (License): Likewise.
46851
46852 2008-08-06  Bruno Haible  <bruno@clisp.org>
46853
46854         * lib/poll.c (poll): Further micro-optimization.
46855
46856 2008-08-06  Jim Meyering  <meyering@redhat.com>
46857
46858         inet_pton.c: use locale-independent tolower
46859         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
46860         (inet_pton6): Use c_tolower rather than tolower.
46861         * modules/inet_pton (Depends-on): Add c-ctype.
46862
46863 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
46864
46865         * lib/poll.c (poll): Avoid division when timeout is 0, cache
46866         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
46867
46868 2008-08-06  Jim Meyering  <meyering@redhat.com>
46869
46870         * modules/inet_pton (License): Relicense under LGPLv2+.
46871
46872 2008-08-03  Bruno Haible  <bruno@clisp.org>
46873
46874         Additional non-aborting API for lock and tls.
46875         * lib/lock.h: Include <errno.h>.
46876         (glthread_lock_init): New macro/function.
46877         (gl_lock_init): Define as wrapper around glthread_lock_init.
46878         (glthread_lock_lock): New macro/function.
46879         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
46880         (glthread_lock_unlock): New macro/function.
46881         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
46882         (glthread_lock_destroy): New macro/function.
46883         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
46884         (glthread_rwlock_init): New macro/function.
46885         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
46886         (glthread_rwlock_rdlock): New macro/function.
46887         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
46888         (glthread_rwlock_wrlock): New macro/function.
46889         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
46890         (glthread_rwlock_unlock): New macro/function.
46891         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
46892         (glthread_rwlock_destroy): New macro/function.
46893         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
46894         (glthread_recursive_lock_init): New macro/function.
46895         (gl_recursive_lock_init): Define as wrapper around
46896         glthread_recursive_lock_init.
46897         (glthread_recursive_lock_lock): New macro/function.
46898         (gl_recursive_lock_lock): Define as wrapper around
46899         glthread_recursive_lock_lock.
46900         (glthread_recursive_lock_unlock): New macro/function.
46901         (gl_recursive_lock_unlock): Define as wrapper around
46902         glthread_recursive_lock_unlock.
46903         (glthread_recursive_lock_destroy): New macro/function.
46904         (gl_recursive_lock_destroy): Define as wrapper around
46905         glthread_recursive_lock_destroy.
46906         (glthread_once): New macro/function.
46907         (gl_once): Define as wrapper around glthread_once.
46908         Update function declarations.
46909         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
46910         glthread_rwlock_init. Return error code.
46911         (glthread_rwlock_rdlock_multithreaded): Renamed from
46912         glthread_rwlock_rdlock. Return error code.
46913         (glthread_rwlock_wrlock_multithreaded): Renamed from
46914         glthread_rwlock_wrlock. Return error code.
46915         (glthread_rwlock_unlock_multithreaded): Renamed from
46916         glthread_rwlock_unlock. Return error code.
46917         (glthread_rwlock_destroy_multithreaded): Renamed from
46918         glthread_rwlock_destroy. Return error code.
46919         (glthread_recursive_lock_init_multithreaded): Renamed from
46920         glthread_recursive_lock_init. Return error code.
46921         (glthread_recursive_lock_lock_multithreaded): Renamed from
46922         glthread_recursive_lock_lock. Return error code.
46923         (glthread_recursive_lock_unlock_multithreaded): Renamed from
46924         glthread_recursive_lock_unlock. Return error code.
46925         (glthread_recursive_lock_destroy_multithreaded): Renamed from
46926         glthread_recursive_lock_destroy. Return error code.
46927         (glthread_once_call): Make static.
46928         (glthread_once_multithreaded): Renamed from glthread_once.
46929         * lib/tls.h: Include <errno.h>.
46930         (glthread_tls_key_init): New macro/function.
46931         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
46932         (glthread_tls_set): New macro/function.
46933         (gl_tls_set): Define as wrapper around glthread_tls_set.
46934         (glthread_tls_key_destroy): New macro/function.
46935         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
46936         Update function declarations.
46937         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
46938         glthread_tls_get.
46939         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
46940
46941 2008-08-04  Eric Blake  <ebb9@byu.net>
46942
46943         gnumakefile: use space, not TAB, outside of targets
46944         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
46945
46946 2008-08-02  Jim Meyering  <meyering@redhat.com>
46947
46948         getdate.y: avoid locale-dependent date parsing failure
46949         In Turkish locales, getdate would fail to recognize keywords
46950         containing a lowercase "i".  The solution is not to rely on
46951         locale-sensitive case-conversion.
46952         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
46953         (lookup_word): Use c_toupper in place of toupper.
46954         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
46955         Reported by Vefa Bicakci <bicave@superonline.com> in
46956         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
46957         * modules/getdate (Depends-on): Add c-ctype.
46958
46959 2008-08-02  Bruno Haible  <bruno@clisp.org>
46960
46961         * gnulib-tool (func_import): When updating or creating a .gitignore
46962         file, prepend each added line with a slash, and ignore leading slashes
46963         from the existing lines.
46964         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
46965
46966 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46967
46968         Portability fix for GNU make 3.79.1.
46969         * top/GNUmakefile: Avoid 'else COND', which older GNU make
46970         versions do not understand.
46971
46972 2008-08-01  Bruno Haible  <bruno@clisp.org>
46973
46974         Work around bug of HP-UX 10.20 cc with -0.0 literal.
46975         * tests/test-isnanf.h (zero): New variable.
46976         (main): Avoid literal -0.0f.
46977         * tests/test-isnand.h (zero): New variable.
46978         (main): Avoid literal -0.0.
46979         * tests/test-isnanl.h (zero): New variable.
46980         (main): Avoid literal -0.0L.
46981         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
46982         (test_float, test_double, test_long_double): Avoid literals -0.0f,
46983         -0.0, -0.0L.
46984         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
46985         (test_signbitd): Avoid literal -0.0.
46986         (test_signbitl): Avoid literal -0.0L.
46987         * tests/test-ceilf1.c (zero): New variable.
46988         (main): Avoid literal -0.0f.
46989         * tests/test-ceill.c (zero): New variable.
46990         (main): Avoid literal -0.0L.
46991         * tests/test-floorf1.c (zero): New variable.
46992         (main): Avoid literal -0.0f.
46993         * tests/test-floorl.c (zero): New variable.
46994         (main): Avoid literal -0.0L.
46995         * tests/test-roundf1.c (zero): New variable.
46996         (main): Avoid literal -0.0f.
46997         * tests/test-round1.c (zero): New variable.
46998         (main): Avoid literal -0.0.
46999         * tests/test-roundl.c (zero): New variable.
47000         (main): Avoid literal -0.0L.
47001         * tests/test-truncf1.c (zero): New variable.
47002         (main): Avoid literal -0.0f.
47003         * tests/test-trunc1.c (zero): New variable.
47004         (main): Avoid literal -0.0.
47005         * tests/test-truncl.c (zero): New variable.
47006         (main): Avoid literal -0.0L.
47007         * tests/test-frexp.c (zero): New variable.
47008         (main): Avoid literal -0.0.
47009         * tests/test-frexpl.c (zero): New variable.
47010         (main): Avoid literal -0.0L.
47011         * tests/test-ldexpl.c (zero): New variable.
47012         (main): Avoid literal -0.0L.
47013         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
47014         (zerod, zerol): New variables.
47015         (test_function): Avoid literals -0.0, -0.0L.
47016         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
47017         (zerod, zerol): New variables.
47018         (test_function): Avoid literals -0.0, -0.0L.
47019         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
47020         (zerod, zerol): New variables.
47021         (test_function): Avoid literals -0.0, -0.0L.
47022         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
47023         (zerod, zerol): New variables.
47024         (test_function): Avoid literals -0.0, -0.0L.
47025         * tests/test-strtod.c (zero): New variable.
47026         (main): Avoid literal -0.0.
47027         Reported by Jonathan C. Patschke <jp@centtech.com>.
47028
47029 2008-07-31  Jim Meyering  <meyering@redhat.com>
47030
47031         sha256.h: correct definition of SHA224_DIGEST_SIZE
47032         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
47033         Reported by Paulie Pena IV <paulie4@gmail.com>.
47034         Define as 224 / 8, rather than as a literal.
47035         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
47036         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
47037         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
47038
47039 2008-07-31  Bruno Haible  <bruno@clisp.org>
47040
47041         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
47042         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
47043         Reported by Jonathan Patschke <jp@centtech.com>.
47044
47045 2008-07-31  Bruno Haible  <bruno@clisp.org>
47046
47047         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
47048         Reported by Paolo Bonzini <bonzini@gnu.org>.
47049
47050 2008-07-30  Eric Blake  <ebb9@byu.net>
47051
47052         test-strtod: allow compilation without -lm
47053         * tests/test-strtod.c (main): Avoid link dependence on fabs.
47054         Reported by Dennis Clarke <blastwave@gmail.com>.
47055
47056 2008-07-28  Jim Meyering  <meyering@redhat.com>
47057
47058         bootstrap: work also when there are no .po files in po/
47059         * build-aux/bootstrap (update_po_files): Complete the change
47060         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
47061
47062 2008-07-27  Jim Meyering  <meyering@redhat.com>
47063
47064         * users.txt: Add zile.
47065
47066 2008-07-26  Ben Pfaff  <blp@gnu.org>
47067
47068         Add missing dependencies on new m4/exponent[fdl].m4 files.
47069         * modules/isnanf-nolibm: Add m4/exponentf.m4.
47070         * modules/isnand-nolibm: Add m4/exponentd.m4.
47071         * modules/isnanl-nolibm: Add m4/exponentl.m4.
47072         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
47073         m4/isnan[fdl].m4, because the macros actually used moved.
47074         Reported by Jim Meyering.
47075
47076 2008-07-14  Ben Pfaff  <blp@gnu.org>
47077
47078         Add isinf module.
47079         * lib/isinf.c: New file.
47080         * lib/math.in.h: Define isinf macro if we have decided to replace
47081         it.
47082         * m4/isinf.m4: New file.
47083         * m4/math_h.m4: Initialize and substitute variables for isinf
47084         module.
47085         * modules/isinf: New file.
47086         * modules/isinf-tests: New file.
47087         * modules/math: Add substitutions for new module.
47088         * tests/test-isinf.c: New file.
47089         * doc/posix-functions/isinf.texi: Mention new module.
47090         * MODULES.html.sh: Mention new module.
47091
47092 2008-07-14  Ben Pfaff  <blp@gnu.org>
47093
47094         Factor out some macros for use by additional modules.
47095         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
47096         exponentf.m4.
47097         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
47098         exponentd.m4.
47099         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
47100         file exponentl.m4.
47101         * m4/exponentf.m4: New file.
47102         * m4/exponentd.m4: New file.
47103         * m4/exponentl.m4: New file.
47104         * modules/isnanf: Use new file m4/exponentf.m4.
47105         * modules/isnand: Use new file m4/exponentd.m4.
47106         * modules/isnanl: Use new file m4/exponentl.m4.
47107
47108 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
47109
47110         mktime.c: normalize tp->tm_isdst value to -1/0/1.
47111         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
47112         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
47113         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
47114
47115         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
47116         readlink on platforms without PATH_MAX.
47117
47118 2008-07-21  Eric Blake  <ebb9@byu.net>
47119
47120         Warn, not fail, on stale version.
47121         * top/GNUmakefile (_curr-ver): Tone down previous patch.
47122
47123         Don't allow installation with stale devel version number.
47124         * top/GNUmakefile (_is-install-target): New macro.
47125         (_curr-ver): Forbid installation with stale version number.
47126
47127 2008-07-20  Bruno Haible  <bruno@clisp.org>
47128
47129         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
47130         TESTS_ENVIRONMENT.
47131         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
47132
47133 2008-07-20  Bruno Haible  <bruno@clisp.org>
47134
47135         * lib/c-stack.h (c_stack_action): Add documentation.
47136         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
47137
47138 2008-07-20  Bruno Haible  <bruno@clisp.org>
47139
47140         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
47141         * modules/readlink (License): Likewise.
47142
47143 2008-07-17  Eric Blake  <ebb9@byu.net>
47144
47145         * modules/c-stack (Link): Fix typo.
47146
47147         Make c-stack use libsigsegv, when available.
47148         * modules/c-stack (Depends-on): Add libsigsegv.
47149         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
47150         needed.
47151         * lib/c-stack.c (SIGSTKSZ): Define fallback.
47152         (segv_handler, overflow_handler, c_stack_action)
47153         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
47154         implementation when libsigsegv is available, but only when using
47155         the library is necessary.
47156         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
47157         comment, explaining why XSI check fails on Linux.
47158         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
47159         * tests/test-c-stack2.sh: Tweak skip message.
47160         * NEWS: Document new link-time requirements.
47161
47162 2008-07-16  Eric Blake  <ebb9@byu.net>
47163
47164         c-stack: Expose false positives when not using libsigsegv.
47165         * modules/c-stack-tests (Files): Expand test.
47166         * tests/test-c-stack.c (main): Add means to conditionally trigger
47167         non-overflow SIGSEGV.
47168         * tests/test-c-stack2.sh: New file.
47169
47170 2008-07-14  Bruno Haible  <bruno@clisp.org>
47171
47172         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
47173         Reported by Eric Blake.
47174
47175 2008-07-14  Sam Steingold  <sds@gnu.org>
47176             Bruno Haible  <bruno@clisp.org>
47177
47178         New module libsigsegv.
47179         * modules/libsigsegv: New file.
47180         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
47181         modifications.
47182         * MODULES.html.sh (Signal handling): New section.
47183
47184 2008-07-14  Bruno Haible  <bruno@clisp.org>
47185
47186         * modules/unictype/ctype-* (Description): Add the word "function".
47187         Improves the resulting doc in MODULES.html.
47188
47189 2008-07-12  Ben Pfaff  <blp@gnu.org>
47190
47191         Add longlong module.
47192         * modules/longlong: New file.
47193
47194 2008-07-12  Bruno Haible  <bruno@clisp.org>
47195
47196         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
47197         to empty.
47198
47199 2008-07-10  Ben Pfaff  <blp@gnu.org>
47200
47201         Add isnan module.
47202         * doc/posix-functions/isnan.texi: Mention new module.
47203         * lib/math.in.h: Define isnan macro if we have decided to replace
47204         it.
47205         * m4/isnan.m4: New file.
47206         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
47207         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
47208         also.
47209         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
47210         redundancy.
47211         * m4/math_h.m4: Initialize and substitute variables for isnan
47212         module.
47213         * modules/isnan: New file.
47214         * modules/isnan-tests: New file.
47215         * modules/math: Add substitutions for new module.
47216         * tests/test-isnan.c: New file.
47217         * MODULES.html.sh: Mention new module.
47218
47219 2008-07-10  Ben Pfaff  <blp@gnu.org>
47220
47221         Add isnanf module.
47222         * lib/isnanf.m4: New file.
47223         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
47224         (gl_HAVE_ISNANF_IN_LIBM): New macro.
47225         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
47226         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
47227         * modules/isnanf: New file.
47228         * modules/isnanf-tests: New file.
47229         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
47230         files.
47231         * tests/test-isnanf-nolibm.c: factored most of its contents into
47232         new file tests/test-isnanf.h.
47233         * tests/test-isnanf.h: New file.
47234         * tests/test-isnanf.c: New file.
47235         * MODULES.html.sh: Mention new module.
47236         * doc/glibc-functions/isnanf.texi: Mention new module.
47237
47238 2008-07-10  Ben Pfaff  <blp@gnu.org>
47239
47240         Add isnand module.
47241         * lib/isnand.h: New file.
47242         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
47243         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
47244         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
47245         functionality also.
47246         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
47247         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
47248         (gl_HAVE_ISNAND_IN_LIBM): New macro.
47249         * modules/isnand: New file.
47250         * modules/isnand-tests: New file.
47251         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
47252         files.
47253         * tests/test-isnand-nolibm.c: factored most of its contents into
47254         new file tests/test-isnand.h.
47255         * tests/test-isnand.h: New file.
47256         * tests/test-isnand.c: New file.
47257         * MODULES.html.sh: Mention new module.
47258
47259 2008-07-10  Ben Pfaff  <blp@gnu.org>
47260
47261         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
47262         * lib/isnand.h: Rename lib/isnand-nolibm.h.
47263         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
47264         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
47265         * modules/isnanf-nolibm: Update references to renamed files.
47266         * modules/isnand-nolibm: Likewise.
47267         * modules/isnanf-nolibm-tests: Likewise.
47268         * modules/isnand-nolibm-tests: Likewise.
47269         * lib/frexp.c: Likewise.
47270         * lib/isfinite.c: Likewise.
47271         * lib/signbitd.c: Likewise.
47272         * lib/signbitf.c: Likewise.
47273         * lib/vasnprintf.c: Likewise.
47274         * tests/test-ceilf1.c: Likewise.
47275         * tests/test-ceilf2.c: Likewise.
47276         * tests/test-floorf1.c: Likewise.
47277         * tests/test-floorf2.c: Likewise.
47278         * tests/test-frexp.c: Likewise.
47279         * tests/test-round1.c: Likewise.
47280         * tests/test-round2.c: Likewise.
47281         * tests/test-roundf1.c: Likewise.
47282         * tests/test-strtod.c: Likewise.
47283         * tests/test-trunc1.c: Likewise.
47284         * tests/test-trunc2.c: Likewise.
47285         * tests/test-truncf1.c: Likewise.
47286         * tests/test-truncf2.c: Likewise.
47287         * NEWS: Mention the renamed header files.
47288
47289 2008-07-11  Jim Meyering  <meyering@redhat.com>
47290
47291         vc-list-files: make the last-resort awk code more portable
47292         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
47293         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
47294         does not support it.
47295
47296 2008-07-10  Eric Blake  <ebb9@byu.net>
47297
47298         Work with tar's bootstrap.
47299         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
47300         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
47301         an m4 comment.
47302
47303 2008-07-09  Jim Meyering  <meyering@redhat.com>
47304
47305         posix-shell.m4: fix typo that made this test malfunction
47306         * m4/posix-shell.m4: Remove capitalization in variable name.
47307
47308 2008-07-08  Bruno Haible  <bruno@clisp.org>
47309
47310         * m4/onceonly.m4: Update comments.
47311         Reported by Ben Pfaff <blp@cs.stanford.edu>.
47312
47313 2008-07-04  Jim Meyering  <meyering@redhat.com>
47314
47315         * users.txt: Add vc-dwim.
47316         (bison, coreutils): Use the gitweb URL.
47317
47318 2008-07-03  Jim Meyering  <meyering@redhat.com>
47319
47320         * users.txt: Add libffcall.  From Sam Steingold.
47321
47322 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
47323
47324         getdate.y: do not ignore TZ with relative day, month or year offset
47325         * lib/getdate.y (get_date): Move the tz-handling block to follow the
47326         relative-date-handling, since otherwise, the latter would clobber the
47327         sole output (an updated Start value) of the tz-handling block.
47328         * tests/test-getdate.c: Tests for the fix
47329
47330 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47331
47332         Recognize 'foo_LIBRARIES += libgnu.a'.
47333         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
47334         makefile snippet has already specified an installation location,
47335         also using '+='.
47336
47337 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
47338
47339         getdate.y: factor out common actions
47340         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
47341         Use them in place of open-coded actions.
47342
47343 2008-07-01  Simon Josefsson  <simon@josefsson.org>
47344
47345         Add self-test for getdate module.
47346         * modules/getdate-tests: New file.
47347         * tests/test-getdate.c: New file.
47348
47349 2008-06-29  Bruno Haible  <bruno@clisp.org>
47350
47351         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
47352         .gitignore.
47353         Reported by Sylvain Beucler <beuc@beuc.net>.
47354
47355 2008-06-29  Bruno Haible  <bruno@clisp.org>
47356
47357         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
47358         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
47359
47360 2008-06-29  Bruno Haible  <bruno@clisp.org>
47361
47362         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
47363         EXTRA_DIST.
47364         Reported by Sylvain Beucler <beuc@beuc.net>.
47365
47366 2008-06-26  Jim Meyering  <meyering@redhat.com>
47367
47368         make several modules depend on the "open" module
47369         This provides slightly increased consistency when opening-for-write
47370         the name of a non-directory spelled with a trailing slash.
47371         * modules/chdir-safer: Likewise.
47372         * modules/chown: Likewise.
47373         * modules/clean-temp: Likewise.
47374         * modules/copy-file: Likewise.
47375         * modules/fchdir: Likewise.
47376         * modules/fcntl-safer: Likewise.
47377         * modules/pipe: Likewise.
47378         * modules/utime: Likewise.
47379         Prompted by Eric Blake and Bruno Haible.
47380
47381 2008-06-24  Andreas Schwab  <schwab@suse.de>
47382
47383         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
47384         literals can be used as initializers for global variables.
47385
47386 2008-06-23  Eric Blake  <ebb9@byu.net>
47387
47388         Make gnulib-cache.m4 easier to diff.
47389         * gnulib-tool (func_import): Allow newlines when reading cached
47390         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
47391
47392 2008-06-23  Bruno Haible  <bruno@clisp.org>
47393
47394         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
47395         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
47396         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
47397         m4/signalblocking.m4.
47398         (gl_PREREQ_SIGACTION): Don't invoke it.
47399         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
47400         gl_PREREQ_SIG_HANDLER_H.
47401         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
47402         Don't check for sigaction here.
47403
47404 2008-06-23  Bruno Haible  <bruno@clisp.org>
47405
47406         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
47407         (install_handlers): Don't set the SA_RESETHAND flag.
47408
47409 2008-06-23  Bruno Haible  <bruno@clisp.org>
47410
47411         * m4/sigaction.m4: Comment fixes.
47412         * lib/signal.in.h: Likewise.
47413
47414 2008-06-23  Eric Blake  <ebb9@byu.net>
47415
47416         Fix typo.
47417         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
47418
47419         Avoid SA_ namespace.
47420         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
47421         Reported by Ralf Wildenhues.
47422
47423         Avoid test failure due to SA_RESTORER.
47424         * tests/test-sigaction.c (SA_MASK): New macro.
47425         (main): Avoid failing due to extension flags being set.
47426         Reported by Jim Meyering.
47427
47428         Revert use of sig-handler.h in sigprocmask.c.
47429         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
47430         it requires the existence of struct sigaction.
47431         * lib/sigprocmask.c (handler_t): Restore typedef.
47432         (rpl_signal, old_handlers): Use local type.
47433
47434 2008-06-22  Bruno Haible  <bruno@clisp.org>
47435
47436         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
47437         conditionally.
47438         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
47439
47440 2008-06-22  Bruno Haible  <bruno@clisp.org>
47441
47442         * doc/posix-functions/siginterrupt.texi: Move note.
47443
47444         * lib/signal.in.h (SA_RESTART): New macro.
47445         * lib/sigaction.c: Update comment.
47446
47447         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
47448
47449         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
47450         (gl_PREREQ_SIGPROCMASK): Invoke it.
47451         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
47452
47453         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
47454
47455         * lib/sigprocmask.c: Update a comment.
47456
47457 2008-06-21  Eric Blake  <ebb9@byu.net>
47458
47459         Use sigaction module rather than signal().
47460         * modules/c-stack (Depends-on): Add sigaction.
47461         * modules/fatal-signal (Depends-on): Likewise.
47462         * modules/nanosleep (Depends-on): Likewise.
47463         * modules/sigprocmask (Files): Add sig-handler.h.
47464         * modules/sigaction (Files): Likewise.
47465         * lib/sig-handler.h (get_handler): New file, suggested by Paul
47466         Eggert.
47467         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
47468         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
47469         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
47470         (init_fatal_signals): Likewise.
47471         * lib/nanosleep.c (rpl_nanosleep): Likewise.
47472         (siginterrupt): Delete fallback.
47473         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
47474         instead.
47475         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
47476         siginterrupt.
47477
47478         New module sigaction, for mingw.
47479         * modules/sigaction: New module...
47480         * modules/sigaction-tests: ...and its test.
47481         * m4/sigaction.m4: New file.
47482         * lib/sigaction.c: Likewise.
47483         * tests/test-sigaction.c: Likewise.
47484         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
47485         * modules/signal (Makefile.am): Likewise.
47486         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
47487         needed.
47488         * doc/posix-headers/signal.texi (signal.h): Mention provided
47489         types.
47490         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
47491         that sigaction is preferable.
47492         * doc/posix-functions/sigaction.texi (sigaction): Mention new
47493         module.
47494         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
47495         sigaction.
47496
47497         Improve robustness of sigprocmask by overriding signal.
47498         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
47499         is in use.
47500         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
47501         (SIGKILL, SIGSTOP): Provide fallbacks.
47502         (rpl_signal): Implement.
47503         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
47504         signal can be called inside handlers.
47505
47506         Fix nanosleep module on mingw.
47507         * modules/nanosleep (Depends-on): Add sys_select.
47508         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
47509
47510         Fix licensing of sigprocmask.
47511         * modules/raise (License): Relicense as LGPL.
47512
47513 2008-06-21  Bruno Haible  <bruno@clisp.org>
47514
47515         * lib/propername.c (proper_name_utf8): Don't use the transliterated
47516         result if it contains question marks.
47517         Reported by Michael Geng <linux@michaelgeng.de>.
47518
47519 2008-06-19  Bruno Haible  <bruno@clisp.org>
47520
47521         Fix CVS-ism.
47522         * doc/gnulib.texi: Include updated-stamp.texi.
47523         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
47524         (updated-stamp.texi): New rule.
47525         (gnulib.info): Depend on it.
47526         * doc/.gitignore: Add updated-stamp.texi.
47527         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
47528
47529 2008-06-19  Bruno Haible  <bruno@clisp.org>
47530
47531         * doc/Makefile (gnulib.info): Update and simplify dependencies.
47532         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
47533
47534 2008-06-19  Eric Blake  <ebb9@byu.net>
47535
47536         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
47537         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
47538         Reported by Stepan Kasal.
47539
47540 2008-06-18  Bruno Haible  <bruno@clisp.org>
47541
47542         * lib/fatal-signal.c (init_fatal_signals): Add comment.
47543         Reported by Eric Blake.
47544
47545 2008-06-18  Eric Blake  <ebb9@byu.net>
47546
47547         Work around cygwin 1.5.25 strsignal bug.
47548         * tests/test-strsignal.c: Allow for const char *.
47549         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
47550
47551 2008-06-18  Simon Josefsson  <simon@josefsson.org>
47552
47553         * users.txt: Update URL to article and add author/date
47554         information.
47555
47556 2008-06-17  Bruno Haible  <bruno@clisp.org>
47557
47558         New macro gl_DISABLE_THREADS.
47559         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
47560         if the user did not pass --enable-threads or --disable-threads option.
47561         (gl_DISABLE_THREADS): New macro.
47562         Reported by Eric Blake <ebb9@byu.net>.
47563
47564 2008-06-17  Bruno Haible  <bruno@clisp.org>
47565
47566         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
47567         when the macro ignores it.
47568         Based on a patch by Eric Blake <ebb9@byu.net>.
47569
47570 2008-06-17  Bruno Haible  <bruno@clisp.org>
47571
47572         * modules/tls (License): Change to LGPLv2+.
47573         Reported by Eric Blake.
47574
47575 2008-06-17  Eric Blake  <ebb9@byu.net>
47576
47577         Simplify c-stack prerequisites.
47578         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
47579         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
47580         no longer requires <ucontext.h> to exist.  Optimize setrlimit
47581         check.
47582         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
47583         <sys/resource.h>.
47584
47585         Move c-stack test into testsuite.
47586         * modules/c-stack-tests: New file.
47587         * lib/c-stack.c [DEBUG]: Move test program...
47588         * tests/test-c-stack.c: ...into this new file.  Skip rather than
47589         fail test if sigaltstack is lacking.
47590         * tests/test-c-stack.sh: New driver file.
47591
47592 2008-06-16  Eric Blake  <ebb9@byu.net>
47593
47594         Use raise module consistently.
47595         * modules/fatal-signal (Depends-on): Add raise.
47596         * modules/sigprocmask (Depends-on): Likewise.
47597         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
47598         * lib/sigprocmask.c (sigprocmask): Likewise.
47599         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
47600         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
47601
47602         Fix compliance bug in sigpending.
47603         * lib/sigprocmask.c (sigpending): Return pending array via
47604         parameter, not return value.
47605
47606 2008-06-14  Eric Blake  <ebb9@byu.net>
47607
47608         Improve obstack-printf test code.
47609         * tests/test-obstack-printf.c (test_function): Fix comment, and
47610         simplify usage of obstack_* in macros.  Add a test for coverage.
47611         Reported by Bruno Haible.
47612
47613 2008-06-14  Bruno Haible  <bruno@clisp.org>
47614
47615         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
47616         array size as a constant, not as a const variable.
47617         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
47618         AC_USE_SYSTEM_EXTENSIONS.
47619         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
47620         Test whether the obstack_printf function actually exists.
47621         * modules/obstack-printf (Depends-on): Add extensions.
47622         (Include): Remove obstack.h.
47623         * modules/obstack-printf-posix (Depends-on): Add extensions.
47624         (Include): Remove obstack.h.
47625
47626 2008-06-13  Eric Blake  <ebb9@byu.net>
47627
47628         Add obstack-printf and obstack-printf-posix modules.
47629         * modules/obstack-printf: New file.
47630         * modules/obstack-printf-posix: Likewise.
47631         * MODULES.html.sh (Misc): Mention them.
47632         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
47633         Likewise.
47634         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
47635         Likewise.
47636         * modules/stdio (Makefile.am): Accomodate new modules.
47637         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
47638         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
47639         Declare.
47640         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
47641         functions.
47642         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
47643         (gl_REPLACE_OBSTACK_PRINTF): New macros
47644         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
47645         * tests/test-obstack-printf.c: New file.
47646         * modules/obstack-printf-tests: Likewise.
47647         * modules/obstack-printf-posix-tests: Likewise.
47648
47649 2008-06-11  Bruno Haible  <bruno@clisp.org>
47650
47651         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
47652         * lib/open.c: Include errno.h.
47653         (open): Fail when attempting to write to a file that has a trailing
47654         slash.
47655         * tests/test-open.c (main): Test against trailing slash bug.
47656         * doc/posix-functions/open.texi: Mention the trailing slash bug.
47657
47658 2008-06-10  Bruno Haible  <bruno@clisp.org>
47659
47660         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
47661         for $? to work inside the trap command, with various /bin/sh-s.
47662         * tests/test-vc-list-files-cvs.sh: Likewise.
47663
47664 2008-06-10  Bruno Haible  <bruno@clisp.org>
47665
47666         * lib/acl-internal.h: Don't include gettext.h here.
47667         * lib/set-mode-acl.c: Include gettext.h here.
47668         * lib/copy-acl.c: Likewise.
47669
47670 2008-06-10  Bruno Haible  <bruno@clisp.org>
47671
47672         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
47673         * lib/wait-process.c (wait_subprocess): Likewise.
47674         * lib/execute.h (execute): Add termsigp argument.
47675         * lib/execute.c (execute): Likewise.
47676         * lib/csharpcomp.c (compile_csharp_using_pnet,
47677         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
47678         * lib/csharpexec.c (execute_csharp_using_pnet,
47679         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
47680         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
47681         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
47682         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
47683         is_jikes_present): Update.
47684         * lib/javaexec.c (execute_java_class): Update.
47685         * lib/javaversion.c (execute_and_read_line): Update.
47686         * NEWS: Document the changes.
47687         Reported by Eric Blake.
47688
47689 2008-06-10  Eric Blake  <ebb9@byu.net>
47690
47691         Add missing include.
47692         * tests/test-strstr.c (includes): Add <signal.h>.
47693         * tests/test-strcasestr.c (includes): Likewise.
47694         * tests/test-memmem.c (includes): Likewise.
47695
47696 2008-06-10  Bruno Haible  <bruno@clisp.org>
47697
47698         * lib/wait-process.c (wait_subprocess): Add an assertion.
47699
47700 2008-06-10  Bruno Haible  <bruno@clisp.org>
47701
47702         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
47703
47704 2008-06-10  Bruno Haible  <bruno@clisp.org>
47705
47706         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
47707         using alarm().
47708         * tests/test-strcasestr.c (main): Likewise.
47709         * tests/test-strstr.c (main): Likewise.
47710
47711 2008-06-09  Bruno Haible  <bruno@clisp.org>
47712
47713         Work around the Solaris 10 ACE ACLs ABI change.
47714         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
47715         declare if ACL_NO_TRIVIAL is present.
47716         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
47717         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
47718         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
47719         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
47720         define if ACL_NO_TRIVIAL is present.
47721         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
47722         and use the current ABI.
47723         (file_has_acl): Use same #if condition as elsewhere.
47724         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
47725         in use, and use the current ABI.
47726         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
47727         Reported by Jim Meyering.
47728
47729 2008-06-09  Eric Blake  <ebb9@byu.net>
47730
47731         Work around environments that (stupidly) ignore SIGALRM.
47732         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
47733         before using alarm().
47734         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
47735         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
47736         Reported by Ian Beckwith <ianb@erislabs.net>.
47737
47738         Produce autobuild blurb earlier in log.
47739         * modules/autobuild (configure.ac-early): Move AB_INIT here.
47740
47741 2008-06-09  Jim Meyering  <meyering@redhat.com>
47742         and OndÅ™ej Vašík  <ovasik@redhat.com>
47743
47744         utimens.c: correct kernel bug work-around
47745         OndÅ™ej Vašík found that the invalid return value of 280 indicates
47746         failure, not success, and the kernel bug we're trying to work
47747         around affects not just the utimensat call, but also the fallback
47748         futimens call.
47749         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
47750         not success.
47751         [HAVE_FUTIMENS]: Use the same work-around, here.
47752
47753 2008-06-09  Jim Meyering  <meyering@redhat.com>
47754
47755         add more guards around definition of ACE_-related code
47756         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
47757         ALLOW and ACE_OWNER are also defined.
47758
47759 2008-06-08  Bruno Haible  <bruno@clisp.org>
47760
47761         * lib/acl-internal.h: Add me as co-author.
47762         * lib/file-has-acl.c: Likewise.
47763         * lib/set-mode-acl.c: Likewise.
47764         * lib/copy-acl.c: Likewise.
47765
47766 2008-06-08  Bruno Haible  <bruno@clisp.org>
47767
47768         Add support for AIX ACLs.
47769         * lib/acl-internal.h (acl_nontrivial): New declaration.
47770         * lib/file-has-acl.c (acl_nontrivial): New function.
47771         (file_has_acl): Add implementation using AIX 4 ACL API.
47772         * lib/set-mode-acl.c (qset_acl): Likewise.
47773         * lib/copy-acl.c (qcopy_acl): Likewise.
47774
47775 2008-06-08  Bruno Haible  <bruno@clisp.org>
47776
47777         Add support for HP-UX ACLs.
47778         * lib/acl-internal.h (acl_nontrivial): New declaration.
47779         * lib/file-has-acl.c (acl_nontrivial): New function.
47780         (file_has_acl): Add implementation using HP-UX 11 ACL API.
47781         * lib/set-mode-acl.c (qset_acl): Likewise.
47782         * lib/copy-acl.c (qcopy_acl): Likewise.
47783
47784 2008-06-08  Bruno Haible  <bruno@clisp.org>
47785
47786         Add support for Cygwin ACLs.
47787         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
47788         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
47789         the chmod_or_fchmod call.
47790         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
47791
47792 2008-06-08  Bruno Haible  <bruno@clisp.org>
47793
47794         Fix bug with setuid modes in Solaris 10+ code.
47795         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
47796         succeeded, when the mode contains some special bits.
47797
47798 2008-06-08  Bruno Haible  <bruno@clisp.org>
47799
47800         Add support for Solaris 7..10 ACLs.
47801         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
47802         declarations.
47803         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
47804         functions.
47805         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
47806         * lib/set-mode-acl.c (qset_acl): Likewise.
47807         * lib/copy-acl.c (qcopy_acl): Likewise.
47808
47809 2008-06-08  Bruno Haible  <bruno@clisp.org>
47810
47811         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
47812         declaration.
47813         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
47814         (acl_access_nontrivial): Remove MacOS X case.
47815         (file_has_acl): Use acl_extended_nontrivial.
47816         * lib/copy-acl.c (qcopy_acl): Likewise.
47817
47818 2008-06-08  Bruno Haible  <bruno@clisp.org>
47819
47820         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
47821
47822 2008-06-08  Jim Meyering  <meyering@redhat.com>
47823
47824         * modules/acl (Maintainer): Add Bruno Haible.
47825
47826 2008-06-07  Bruno Haible  <bruno@clisp.org>
47827
47828         Improve support for Tru64 ACLs.
47829         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
47830         ACL on OSF/1.
47831
47832 2008-06-07  Bruno Haible  <bruno@clisp.org>
47833
47834         Add support for MacOS X ACLs.
47835         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
47836         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
47837         * lib/set-mode-acl.c (qset_acl): Likewise.
47838         * lib/copy-acl.c (qcopy_acl): Likewise.
47839
47840 2008-06-07  Bruno Haible  <bruno@clisp.org>
47841
47842         Fix memory leak introduced on 2008-05-22.
47843         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
47844         use.
47845
47846 2008-06-07  Bruno Haible  <bruno@clisp.org>
47847
47848         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
47849         to construct an empty ACL.
47850
47851 2008-06-07  Bruno Haible  <bruno@clisp.org>
47852
47853         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
47854         precisely.
47855         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
47856
47857 2008-06-07  Bruno Haible  <bruno@clisp.org>
47858
47859         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
47860         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
47861
47862 2008-06-07  Bruno Haible  <bruno@clisp.org>
47863
47864         * doc/posix-functions/_setjmp.texi: Explain the use of this function
47865         regardless of POSIX.
47866         * doc/posix-functions/_longjmp.texi: Likewise.
47867         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
47868         SystemV platform in this case.
47869
47870 2008-06-06  Eric Blake  <ebb9@byu.net>
47871
47872         Document abort() bugs.
47873         * doc/posix-functions/abort.texi (abort): Mention anomalies.
47874
47875         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
47876         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
47877         sigsetjmp.
47878         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
47879         siglongjmp, but only as a macro.
47880         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
47881         is obsolete.
47882         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
47883
47884         Tweak documentation to cover cygwin argz bugs.
47885         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
47886         argz bug fix; no code change needed since no cygwin releases
47887         occurred between the last fix and the bug being tested.
47888         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
47889         module and recently fixed cygwin bugs.
47890         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
47891         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
47892         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
47893         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
47894         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
47895         Likewise.
47896         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
47897         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
47898         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
47899         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
47900         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
47901         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
47902         Likewise.
47903
47904         Avoid gcc warning on cygwin.
47905         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
47906         !ACL_NO_TRIVIAL]: Avoid unused variable.
47907
47908 2008-06-05  Eric Blake  <ebb9@byu.net>
47909
47910         Be tolerant of UNKNOWN version in gnulib-tool test dir.
47911         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
47912         git-version-gen fails to come up with a version.
47913         Reported by Simon Josefsson.
47914
47915 2008-06-05  Jim Meyering  <meyering@redhat.com>
47916             Paul Eggert  <eggert@cs.ucla.edu>
47917
47918         utimens.c: work around a probable Linux kernel bug
47919         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
47920         appears to be a kernel bug that causes utimensat to return 280
47921         instead of 0, indicating success.
47922
47923 2008-06-04  Bruno Haible  <bruno@clisp.org>
47924
47925         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
47926         2008-06-01 commit.
47927
47928 2008-06-04  Bruno Haible  <bruno@clisp.org>
47929
47930         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
47931         * lib/file-has-acl.c (acl_access_nontrivial): New function.
47932         (file_has_acl): Use it. Save errno afterwards.
47933         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
47934
47935 2008-06-03  Bruno Haible  <bruno@clisp.org>
47936
47937         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
47938         draft code. Simplify #ifs.
47939         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
47940         Put Solaris code after POSIX-draft code. Fix comments regarding
47941         Solaris 10, HP-UX. Mention Cygwin.
47942         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
47943
47944 2008-06-03  Eric Blake  <ebb9@byu.net>
47945
47946         Provide fallback for older kernels.
47947         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
47948         Provide runtime fallback if kernel lacks support.
47949         Reported by Mike Frysinger.
47950
47951 2008-06-02  Bruno Haible  <bruno@clisp.org>
47952
47953         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
47954         it exists.
47955
47956 2008-06-02  Bruno Haible  <bruno@clisp.org>
47957
47958         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
47959         * lib/copy-acl.c (qcopy_acl): Update comment.
47960
47961 2008-06-02  Bruno Haible  <bruno@clisp.org>
47962
47963         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
47964         like ACL APIs.
47965
47966 2008-06-02  Bruno Haible  <bruno@clisp.org>
47967
47968         * tests/test-file-has-acl.sh: Use different code for Cygwin.
47969         * tests/test-set-mode-acl.sh: Likewise.
47970         * tests/test-copy-acl.sh: Likewise.
47971         * tests/test-copy-file.sh: Likewise.
47972
47973 2008-06-02  Bruno Haible  <bruno@clisp.org>
47974
47975         * tests/test-file-has-acl.sh: Remove unused code.
47976
47977 2008-06-01  Bruno Haible  <bruno@clisp.org>
47978
47979         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
47980         (copy_acl): Just a wrapper around qcopy_acl that emits the error
47981         messages.
47982         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
47983
47984 2008-06-01  Bruno Haible  <bruno@clisp.org>
47985
47986         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
47987         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
47988         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
47989         APIs.
47990         * modules/acl-tests (configure.ac): Remove tests now contained in
47991         m4/acl.m4.
47992
47993 2008-06-02  Jim Meyering  <meyering@redhat.com>
47994
47995         announce-gen: use a better key-server host name
47996         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
47997         it may be more consistently reliable.  Suggested by Werner Koch
47998         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
47999
48000 2008-06-01  Bruno Haible  <bruno@clisp.org>
48001
48002         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
48003         Reported by Voroskoi Andras <voroskoi@gmail.com>.
48004
48005 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
48006
48007         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
48008
48009 2008-06-01  Bruno Haible  <bruno@clisp.org>
48010
48011         New ACL tests.
48012         * tests/test-file-has-acl.sh: New file.
48013         * tests/test-file-has-acl.c: New file.
48014         * tests/test-set-mode-acl.sh: New file.
48015         * tests/test-set-mode-acl.c: New file.
48016         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
48017         * tests/test-copy-acl.c: New file.
48018         * modules/acl-tests: New file, based on modules/copy-file-tests.
48019         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
48020         (Depends-on): Add acl-tests.
48021         (configure.ac): Remove checks.
48022         (Makefile.am): Don't create test-sameacls program here any more.
48023
48024 2008-06-01  Bruno Haible  <bruno@clisp.org>
48025
48026         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
48027         * tests/test-sameacls.c: Include progname.h.
48028         (main): Invoke set_program_name. Portability fixes for MacOS X,
48029         Solaris, HP-UX.
48030
48031 2008-06-01  Bruno Haible  <bruno@clisp.org>
48032
48033         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
48034         function.
48035         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
48036
48037 2008-06-01  Bruno Haible  <bruno@clisp.org>
48038
48039         * modules/rpmatch (Depends-on): Add strdup.
48040
48041 2008-06-01  Bruno Haible  <bruno@clisp.org>
48042
48043         * lib/pipe.c: Include unistd-safer.h.
48044         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
48045         * modules/pipe (Depends-on): Add unistd-safer.
48046
48047 2008-05-30  Simon Josefsson  <simon@josefsson.org>
48048
48049         * modules/autobuild (configure.ac): Call AB_INIT.
48050
48051 2008-05-30  Simon Josefsson  <simon@josefsson.org>
48052
48053         * tests/test-getaddrinfo.c: Don't print debug messages by default.
48054         Suggested by Bruno Haible <bruno@clisp.org>.
48055
48056 2008-05-30  Simon Josefsson  <simon@josefsson.org>
48057
48058         * tests/test-base64.c: Cast size_t to unsigned long when invoking
48059         printf.  Use %lu instead of %d.  Reported by Bruno Haible
48060         <bruno@clisp.org>.
48061
48062 2008-05-29  Eric Blake  <ebb9@byu.net>
48063
48064         Prefer new POSIX 200x interfaces over futimesat.
48065         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
48066         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
48067         when available.
48068         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
48069
48070 2008-05-28  Bruno Haible  <bruno@clisp.org>
48071
48072         * modules/stpcpy (License): Change to LGPLv2+.
48073         Requested by David Lutterkort <dlutter@redhat.com>.
48074
48075 2008-05-27  Bruno Haible  <bruno@clisp.org>
48076
48077         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
48078         current mingw.
48079         Reported by Jose E. Marchesi <jemarch@gnu.org>.
48080
48081 2008-05-27  Bruno Haible  <bruno@clisp.org>
48082
48083         * modules/iconv_open (Link): New section, from module 'iconv'.
48084         * modules/striconv (Link): Likewise.
48085         * modules/striconveh (Link): Likewise.
48086         * modules/xstriconv (Link): Likewise.
48087         * modules/unicodeio (Link): Likewise.
48088         * modules/propername (Link): Likewise.
48089         Reported by Jim Meyering.
48090
48091 2008-05-26  Jim Meyering  <meyering@redhat.com>
48092
48093         sha256: do not artificially restrict buffer length to be < 2^32
48094         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
48095         uint32_t to size_t.
48096         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
48097         to match.
48098
48099         avoid unaligned access errors, e.g., on sparc
48100         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
48101         direct access through a possibly-unaligned uint64* pointer.
48102         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
48103         direct access through a possibly-unaligned uint32* pointer.
48104         Prompted by this patch from Tom "spot" Callaway:
48105         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
48106
48107         sha512.c: fix typo in comment
48108         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
48109
48110 2008-05-25  Bruno Haible  <bruno@clisp.org>
48111
48112         * lib/set-mode-acl.c: Renamed from lib/acl.c.
48113         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
48114         (Makefile.am): Update lib_SOURCES.
48115
48116 2008-05-25  Bruno Haible  <bruno@clisp.org>
48117
48118         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
48119
48120 2008-05-25  Jim Meyering  <meyering@redhat.com>
48121
48122         useless-if-before-free: freed expr may have white-space differences
48123         * build-aux/useless-if-before-free: Recognize cases in which the
48124         freed expression differs from the tested one in embedded white
48125         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
48126         $1 was used, so we can't make any regexp shy.  Improved tests now
48127         detect this.
48128
48129         useless-if-before-free: accept white space in the expression.
48130         * build-aux/useless-if-before-free: For now, any white space
48131         in the expression must be identical in the free argument.
48132
48133         useless-if-before-free: efficiency tweak
48134         * build-aux/useless-if-before-free: Make the expression-matching
48135         regexp "shy".
48136         Make the *outer* regexp shy, not the expr-matching one.
48137
48138         update code-in-comment to accept cast of free arg
48139         * build-aux/useless-if-before-free: Update regexp.
48140
48141 2008-05-25  Bruno Haible  <bruno@clisp.org>
48142
48143         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
48144         * modules/copy-file-tests (Files, Makefile.am): Update.
48145         * tests/test-copy-file.c (func_test_copy): Update.
48146
48147 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
48148
48149         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
48150
48151 2008-05-23  Bruno Haible  <bruno@clisp.org>
48152
48153         Improve support for ACLs on OSF/1.
48154         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
48155         Remove fallback for unknown flavors of ACLs.
48156
48157 2008-05-22  Bruno Haible  <bruno@clisp.org>
48158
48159         Add support for ACLs on OSF/1.
48160         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
48161         replacements.
48162         (acl_free_text): New macro fallback.
48163         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
48164         acl_free.
48165         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
48166         acl_free_text function. Require AC_C_INLINE.
48167
48168 2008-05-22  Bruno Haible  <bruno@clisp.org>
48169
48170         Make copy_acl work on MacOS X 10.5.
48171         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
48172         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
48173         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
48174         If MODE_INSIDE_ACL, don't assume that every system has the same text
48175         representation for ACLs as FreeBSD.
48176         * lib/copy-acl.c (copy_acl): Add support for platforms with
48177         !MODE_INSIDE_ACL.
48178         * lib/file-has-acl.c (file_has_acl): Likewise.
48179         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
48180         FreeBSD, MacOS X, or IRIX, respectively.
48181
48182 2008-05-22  Bruno Haible  <bruno@clisp.org>
48183
48184         * lib/acl.h: Don't include <sys/acl.h>.
48185         (GETACLCNT): Move fallback to lib/acl-internal.h.
48186         * lib/acl-internal.h: Include <sys/acl.h> here.
48187         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
48188
48189 2008-05-22  Bruno Haible  <bruno@clisp.org>
48190
48191         Split off copy_acl function to separate file.
48192         * lib/copy-acl.c: New file, extracted from lib/acl.c.
48193         * lib/acl.c (copy_acl): Moved function to separate file.
48194         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
48195         * modules/acl (Files): Add lib/copy-acl.c.
48196         (Makefiles.am): Augment lib_SOURCES.
48197
48198 2008-05-22  Bruno Haible  <bruno@clisp.org>
48199
48200         * modules/copy-file-tests: New file.
48201         * tests/test-copy-file.sh: New file.
48202         * tests/test-copy-file.c: New file.
48203         * tests/test-copy-file-sameacls.c: New file.
48204
48205 2008-05-22  Eric Blake  <ebb9@byu.net>
48206
48207         Avoid gcc warning.
48208         * tests/test-memcmp.c (main): Pass NULL indirectly.
48209
48210 2008-05-21  Bruno Haible  <bruno@clisp.org>
48211
48212         Add reference doc about ACLs.
48213         * doc/acl-resources.txt: New file.
48214         * doc/acl-cygwin.txt: New file.
48215
48216 2008-05-21  Bruno Haible  <bruno@clisp.org>
48217
48218         Avoid one more warning from gcc.
48219         * lib/vasnprintf.c (IF_LINT): Update comments.
48220         (VASNPRINTF): Use it also for the 'prefix' array initializer.
48221
48222 2008-05-21  Jim Meyering  <meyering@redhat.com>
48223
48224         avoid a warning from gcc
48225         * lib/vasnprintf.c (IF_LINT): Define.
48226         (scale10_round_decimal_long_double):
48227         Use it to avoid a "may be used uninitialized" warning.
48228         (scale10_round_decimal_double): Likewise.
48229
48230 2008-05-21  Simon Josefsson  <simon@josefsson.org>
48231
48232         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
48233         declared.
48234
48235 2008-05-20  Bruno Haible  <bruno@clisp.org>
48236
48237         * tests/test-memcmp.c (main): Test also the sign of the result. Test
48238         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
48239
48240 2008-05-20  Simon Josefsson  <simon@josefsson.org>
48241
48242         * modules/memcmp-tests: New file.
48243         * tests/test-memcmp.c: New file.
48244
48245 2008-05-19  Bruno Haible  <bruno@clisp.org>
48246
48247         * modules/propername (Notice, configure.ac): Put quoted "..." into
48248         --keyword option.
48249         * lib/propername.h: Update comments accordingly.
48250         Reported by Eric Blake.
48251
48252 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
48253
48254         * modules/getpass-gnu (Depends-on): Add fseeko.
48255
48256 2008-05-19  Simon Josefsson  <simon@josefsson.org>
48257
48258         * modules/base64-tests: New file.
48259
48260 2008-05-19  Bo Borgerson <gigabo@gmail.com>
48261
48262         * lib/base64.c (base64_decode_ctx): If a decode context structure
48263         was passed in use it to ignore newlines.  If a context structure
48264         was _not_ passed in, continue to treat newlines as garbage (this
48265         is the historical behavior).  Formerly base64_decode.
48266         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
48267         takes a decode context structure.
48268         * lib/base64.h (base64_decode): Macro for four-argument calls.
48269         (base64_decode_alloc): Likewise.
48270         * lib/base64.c (base64_decode_ctx): If a decode context structure
48271         was passed in use it to ignore newlines.  If a context structure
48272         was _not_ passed in, continue to treat newlines as garbage (this
48273         is the historical behavior).  Formerly base64_decode.
48274         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
48275         takes a decode context structure.
48276         * lib/base64.h (base64_decode): Macro for four-argument calls.
48277         (base64_decode_alloc): Likewise.
48278
48279 2008-05-19  Jim Meyering  <meyering@redhat.com>
48280
48281         avoid a warning from gcc
48282         * lib/trim.c (IF_LINT): Define.
48283         (trim2): Use it to avoid a "may be used uninitialized" warning.
48284
48285         Fix doc typo.
48286         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
48287
48288 2008-05-19  Bruno Haible  <bruno@clisp.org>
48289
48290         * doc/glibc-functions/getpass.texi: Document limits of other
48291         implementations.
48292
48293 2008-05-19  Simon Josefsson  <simon@josefsson.org>
48294             Bruno Haible <bruno@clisp.org>
48295
48296         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
48297
48298 2008-05-18  Bruno Haible  <bruno@clisp.org>
48299
48300         * modules/propername: New file, from GNU gettext.
48301         * lib/propername.h: New file, from GNU gettext.
48302         * lib/propername.c: New file, from GNU gettext.
48303         * MODULES.html.sh (Internationalization functions): Add propername.
48304
48305 2008-05-16  Jim Meyering  <meyering@redhat.com>
48306             Bruno Haible  <bruno@clisp.org>
48307
48308         Avoid some warnings from "gcc -Wshadow".
48309         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
48310
48311 2008-05-15  Eric Blake  <ebb9@byu.net>
48312
48313         Extend previous patch to cygwin 1.7.0.
48314         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
48315         fast implementation in cygwin >= 1.7.0.
48316         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
48317         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
48318
48319 2008-05-15  Bruno Haible  <bruno@clisp.org>
48320
48321         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
48322         implementation in glibc >= 2.9.
48323         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
48324         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
48325
48326 2008-05-15  Bruno Haible  <bruno@clisp.org>
48327
48328         * MODULES.html.sh (Internationalization functions): Remove linebreak.
48329         (Unicode string functions): Add unilbrk/*.
48330         Reported by Karl Berry.
48331
48332 2008-05-15  Eric Blake  <ebb9@byu.net>
48333
48334         Fix violation of <stdbool.h> replacement in regex.
48335         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
48336         * lib/regexec.c (re_search_internal): Likewise.
48337         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
48338
48339 2008-05-15  Jim Meyering  <meyering@redhat.com>
48340
48341         avoid distracting test output when git or cvs is not found
48342         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
48343         * tests/test-vc-list-files-git.sh: Likewise.
48344
48345 2008-05-15  Eric Blake  <ebb9@byu.net>
48346
48347         Glibc finally accepted the memmem speedup code, bugzilla #5514.
48348         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
48349         glibc version.
48350         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
48351         * doc/posix-functions/strstr.texi (strstr): Likewise.
48352         * lib/str-two-way.h (MAX): Sychronize with glibc.
48353
48354 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
48355
48356         * lib/regcomp.c (optimize_utf8): Add a note on why we test
48357         opr.ctx_type.
48358         (calc_first): Initialize constraint field.
48359         (duplicate_node_closure): Use it instead of special casing ANCHORS.
48360         Fix grammar.
48361         (duplicate_node): Merge constraint field for all node types.
48362         (calc_eclosure_iter): Look at constraint field for all node types.
48363         * lib/regex_internal.c (create_cd_newstate): Don't look at
48364         opr.ctx_type.
48365
48366 2008-05-14  Bruno Haible  <bruno@clisp.org>
48367
48368         Help GCC to do better code generation.
48369         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
48370         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
48371         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
48372         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
48373         Declare with attribute 'malloc' if supported.
48374
48375 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
48376
48377         use "echo STR|wc -c" rather than unportable "expr length STR"
48378         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
48379         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
48380
48381 2008-05-14  Jim Meyering  <meyering@redhat.com>
48382
48383         use dd ibs=$n count=1 ... rather than less-portable head -c$n
48384         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
48385         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
48386         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
48387         via Collin Lasse.
48388
48389 2008-05-14  Eric Blake  <ebb9@byu.net>
48390
48391         Avoid quadratic growth in gl_LIBSOURCES.
48392         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
48393         Suggested by Bruno Haible.
48394
48395         Test xmemdup0.
48396         * modules/xmemdup0-tests: New file.
48397         * tests/test-xmemdup0.c: Likewise.
48398
48399 2008-05-13  Eric Blake  <ebb9@byu.net>
48400
48401         Split xmemdup0 into its own module.
48402         * modules/xmemdup0: New file.
48403         * lib/xmemdup0.h: Likewise.
48404         * lib/xmemdup0.c: Likewise.
48405         * MODULES.html.sh (Memory management functions): Add xmemdup0.
48406         * lib/xalloc.h (xmemdup0): Remove.
48407         * lib/xmalloc.c (xmemdup0): Likewise.
48408
48409 2008-05-13  Eric Blake  <ebb9@byu.net>
48410             Bruno Haible  <bruno@clisp.org>
48411
48412         Reduce number of forks required during autoconf.
48413         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
48414         and gl_LIBSOURCES_DIR.
48415         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
48416         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
48417         m4_syscmd per file.
48418         <m4_foreach_w>: Move...
48419         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
48420
48421 2008-05-13  Eric Blake  <ebb9@byu.net>
48422
48423         * gnulib-tool: Fix various comment typos.
48424
48425 2008-05-12  Bruno Haible  <bruno@clisp.org>
48426
48427         Tailor the linebreaking algorithm.
48428         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
48429
48430 2008-05-12  Bruno Haible  <bruno@clisp.org>
48431
48432         Update to Unicode 5.0.0.
48433         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
48434         LBP_JV, LBP_JT. Redistribute values.
48435         (unilbrk_table): Change size.
48436         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
48437         Unicode TR#14 rev. 22.
48438         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
48439         LBP_JV, LBP_JT. Redistribute values.
48440         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
48441         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
48442         Update.
48443         * lib/unilbrk/lbrkprop1.h: Regenerated.
48444         * lib/unilbrk/lbrkprop2.h: Regenerated.
48445         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
48446         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
48447         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
48448         Likewise.
48449         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
48450         Likewise.
48451         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
48452         result.
48453         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
48454         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
48455         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
48456         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
48457         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
48458         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
48459
48460 2008-05-11  Bruno Haible  <bruno@clisp.org>
48461
48462         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
48463
48464 2008-05-11  Bruno Haible  <bruno@clisp.org>
48465
48466         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
48467         * modules/unilbrk/gen-lbrk: New file.
48468
48469 2008-05-11  Bruno Haible  <bruno@clisp.org>
48470
48471         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
48472         * m4/sha512.m4 (gl_SHA512): Likewise.
48473
48474 2008-05-11  Jim Meyering  <meyering@redhat.com>
48475
48476         New modules: crypto/sha256, crypto/sha512 (from coreutils)
48477         * modules/crypto/sha256: New file.
48478         * modules/crypto/sha512: Likewise.
48479         * lib/sha256.c: Likewise.
48480         * lib/sha256.h: Likewise.
48481         * lib/sha512.c: Likewise.
48482         * lib/sha512.h: Likewise.
48483         * lib/u64.h: Likewise.
48484         * m4/sha256.m4: Likewise.
48485         * m4/sha512.m4: Likewise.
48486         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
48487
48488 2008-05-10  Bruno Haible  <bruno@clisp.org>
48489
48490         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
48491         (Input/Output <stdio.h>): Add xprintf.
48492         (Signal handling <signal.h>): Add strsignal.
48493         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
48494         (Core language properties): Add func.
48495         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
48496         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
48497         strings.
48498         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
48499         (Input/output): New section.
48500         (File system functions): Add openat-die, stat-macros.
48501         (Networking functions): Add sockets.
48502         (Unicode string functions): Add unictype/*.
48503         (Support for building libraries and executables): Add gperf.
48504         (Support for building documentation): Add agpl-3.0.
48505         (Misc): Add nocrash.
48506
48507 2008-05-10  Bruno Haible  <bruno@clisp.org>
48508
48509         * modules/unictype/gen-ctype: New file.
48510
48511 2008-05-10  Jim Meyering  <meyering@redhat.com>
48512
48513         Make chdir-safer.c more efficient on a system with no symlinks.
48514         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
48515         also if ELOOP is zero.  Suggested by Bruno Haible.
48516
48517         Make chdir-safer.c slightly safer.
48518         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
48519         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
48520
48521         Avoid compile failure on systems without ELOOP (like mingw).
48522         * lib/chdir-safer.c (ELOOP): Define if not already defined.
48523         Reported by Bruno Haible.
48524
48525 2008-05-10  Bruno Haible  <bruno@clisp.org>
48526
48527         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
48528         (is_utf8_encoding): Use a case-insensitive comparison.
48529         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
48530         streq.
48531
48532 2008-05-10  Bruno Haible  <bruno@clisp.org>
48533
48534         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
48535         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
48536         * lib/unilbrk/ulc-common.h (iconv_string_length,
48537         iconv_string_keeping_offsets): Remove declarations.
48538         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
48539         Don't include <iconv.h>, streq.h, xsize.h.
48540         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
48541         conversion.
48542         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
48543         <iconv.h>, streq.h, xsize.h.
48544         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
48545         conversion.
48546         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
48547         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
48548         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
48549         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
48550
48551 2008-05-10  Bruno Haible  <bruno@clisp.org>
48552
48553         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
48554         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
48555
48556         * modules/unilbrk/u32-width-linebreaks-tests: New file.
48557         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
48558
48559         * modules/unilbrk/u16-width-linebreaks-tests: New file.
48560         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
48561
48562         * modules/unilbrk/u8-width-linebreaks-tests: New file.
48563         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
48564
48565         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
48566         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
48567
48568         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
48569         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
48570
48571         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
48572         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
48573
48574         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
48575         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
48576
48577 2008-05-10  Bruno Haible  <bruno@clisp.org>
48578
48579         Split up 'linebreak' module.
48580         * lib/unilbrk.h: New file, based on lib/linebreak.h.
48581         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
48582         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
48583         modifications.
48584         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
48585         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
48586         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
48587         lib/linebreak.c.
48588         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
48589         lib/linebreak.c.
48590         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
48591         lib/linebreak.c.
48592         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
48593         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
48594         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
48595         lib/linebreak.c.
48596         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
48597         lib/linebreak.c.
48598         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
48599         lib/linebreak.c.
48600         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
48601         lib/linebreak.c.
48602         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
48603         lib/linebreak.c.
48604         * modules/unilbrk/base: New file.
48605         * modules/unilbrk/tables: New file.
48606         * modules/unilbrk/u8-possible-linebreaks: New file.
48607         * modules/unilbrk/u16-possible-linebreaks: New file.
48608         * modules/unilbrk/u32-possible-linebreaks: New file.
48609         * modules/unilbrk/ulc-common: New file.
48610         * modules/unilbrk/ulc-possible-linebreaks: New file.
48611         * modules/unilbrk/u8-width-linebreaks: New file.
48612         * modules/unilbrk/u16-width-linebreaks: New file.
48613         * modules/unilbrk/u32-width-linebreaks: New file.
48614         * modules/unilbrk/ulc-width-linebreaks: New file.
48615         * lib/linebreak.h: Remove file.
48616         * lib/linebreak.c: Remove file.
48617         * m4/linebreak.m4: Remove file.
48618         * modules/linebreak: Remove file.
48619         * NEWS: Mention the changes.
48620
48621 2008-05-09  Eric Blake  <ebb9@byu.net>
48622
48623         Add xmemdup0.
48624         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
48625         implementation.
48626         * lib/xmalloc.c (xmemdup0): New C implementation.
48627
48628 2008-05-08  Bruno Haible  <bruno@clisp.org>
48629
48630         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
48631
48632 2008-05-07  Eric Blake  <ebb9@byu.net>
48633
48634         Support cross-compilation of <wctype.h>.
48635         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
48636         AC_CACHE_CHECK.
48637
48638 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
48639
48640         * build-aux/vc-list-files: Add support for bzr.
48641
48642 2008-05-03  Jim Meyering  <meyering@redhat.com>
48643
48644         avoid failed assertion with tight malloc
48645         * tests/test-getndelim2.c: Correct an off-by-one assertion.
48646
48647 2008-05-03  Simon Josefsson  <simon@josefsson.org>
48648
48649         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
48650         are needed from arpa/inet.h.
48651         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
48652         Reported by Bruno Haible.
48653
48654 2008-05-02  Jim Meyering  <meyering@redhat.com>
48655
48656         avoid compilation error on FreeBSD 6
48657         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
48658
48659 2008-05-01  Jim Meyering  <meyering@redhat.com>
48660
48661         useless-if-before-free: correct --help's exit status description
48662         * build-aux/useless-if-before-free (usage): Like grep, exit 0
48663         for one or more matches, etc.  Reported by Bruno Haible.
48664
48665         vc-list-files: make the stand-alone gnulib test work
48666         * modules/vc-list-files-tests (configure.ac):
48667         Define and AC_SUBST abs_aux_dir.
48668         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
48669         $(abs_top_srcdir) to each script and having each of them
48670         duplicate the work of setting PATH, set PATH here, using
48671         the new variable, abs_aux_dir instead.
48672         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
48673         * tests/test-vc-list-files-git.sh: Likewise.
48674         Reported by Bruno Haible.
48675
48676 2008-05-01  Bruno Haible  <bruno@clisp.org>
48677
48678         * lib/getndelim2.c (getndelim2): Fix newsize computation during
48679         reallocation. Rename 'done' to 'found_delimiter'.
48680
48681 2008-05-01  Jim Meyering  <meyering@redhat.com>
48682
48683         vc-list-files: accommodate /bin/sh like the one from Solaris 10
48684         * build-aux/vc-list-files: Use `...`, not $(...).
48685
48686 2008-04-30  Jim Meyering  <meyering@redhat.com>
48687
48688         add tests for vc-list-files
48689         * modules/vc-list-files-tests: New module.
48690         * tests/test-vc-list-files-cvs.sh: New file.
48691         * tests/test-vc-list-files-git.sh: New file.
48692
48693         avoid a warning from gcc
48694         * lib/getndelim2.c (IF_LINT): Define.
48695         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
48696
48697         vc-list-files: work properly with build-aux/cvsu, too
48698         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
48699         to all cvs-based clauses.
48700
48701         vc-list-files: work properly in the CVS+awk case, too
48702         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
48703
48704         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
48705         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
48706         take more than one file argument, so .  Add quotes, just in case $dir
48707         ever contains a shell meta-character.  Prompted by Soren Hansen in
48708         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
48709
48710 2008-04-29  Eric Blake  <ebb9@byu.net>
48711
48712         Optimize getndelim2 to use block operations when possible.
48713         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
48714         freadseek, and memchr2.
48715         * lib/getndelim2.c (getndelim2): Use them for block reads.
48716
48717 2008-04-29  Bruno Haible  <bruno@clisp.org>
48718
48719         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
48720         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
48721         * modules/inet_ntop (Depends-on): Add extensions.
48722         * modules/inet_pton (Depends-on): Likewise.
48723         Reported by Simon Josefsson.
48724
48725 2008-04-29  Jim Meyering  <meyering@redhat.com>
48726
48727         When the is more than one match in a block, match all of them.
48728         * build-aux/useless-if-before-free: Iterate through each block
48729         until there are no more matches.
48730
48731         Fix broken useless-if-before-free script.
48732         * build-aux/useless-if-before-free: Fix typo: missing "?" after
48733         the expression to match cast of argument to free-like function.
48734
48735 2008-04-29  Eric Blake  <ebb9@byu.net>
48736
48737         Use new header.
48738         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
48739
48740 2008-04-29  Jim Meyering  <meyering@redhat.com>
48741
48742         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
48743         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
48744         by gnulib to exist and to declare e.g., inet_ntop.
48745         Don't include "inet_ntop.h", now removed.
48746
48747         * m4/arpa_inet_h.m4: Remove trailing blanks.
48748
48749 2008-04-29  Eric Blake  <ebb9@byu.net>
48750
48751         Silence valgrind on safe reads beyond potential array bounds.
48752         * lib/rawmemchr.valgrind: New file.
48753         * lib/strchrnul.valgrind: Likewise.
48754         * modules/rawmemchr (Files): Distribute new file.
48755         * modules/strchrnul (Files): Likewise.
48756         Suggested by Bruno Haible.
48757
48758 2008-04-29  Bruno Haible  <bruno@clisp.org>
48759
48760         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
48761         (inet_ntop, inet_pton): Change portability warning's wording.
48762         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
48763         Invoke gl_CHECK_NEXT_HEADERS.
48764         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
48765         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
48766         set ARPA_INET_H.
48767         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
48768         * modules/arpa_inet (Description): No longer only for systems that
48769         lack it.
48770         (Depends-on): Add include_next.
48771         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
48772         HAVE_ARPA_INET_H.
48773
48774 2008-04-29  Jim Meyering  <meyering@redhat.com>
48775
48776         * modules/mkdir (License): Re-license as LGPLv2+.
48777
48778 2008-04-29  Bruno Haible  <bruno@clisp.org>
48779
48780         * modules/rawmemchr (Maintainer): Set to Eric.
48781         * modules/strchrnul (Maintainer): Likewise.
48782
48783 2008-04-29  Simon Josefsson  <simon@josefsson.org>
48784
48785         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
48786         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
48787
48788         * modules/arpa_inet (arpa/inet.h): Use them.
48789
48790 2008-04-28  Eric Blake  <ebb9@byu.net>
48791
48792         Test getndelim2.
48793         * modules/getndelim2-tests: New file.
48794         * tests/test-getndelim2.c: Likewise.
48795         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
48796         stream.
48797         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
48798
48799         * MODULES.html.sh: Document new module.
48800
48801 2008-04-20  Bruno Haible  <bruno@clisp.org>
48802
48803         * lib/c-stack.c (die): Use raise.
48804         * modules/c-stack (Depends-on): Add raise.
48805
48806 2008-04-28  Bruno Haible  <bruno@clisp.org>
48807
48808         Expect rpmatch to be declared.
48809         * lib/yesno.c (rpmatch): Remove declaration.
48810
48811         Declare rpmatch.
48812         * lib/stdlib.in.h (rpmatch): New declaration.
48813         * lib/rpmatch.c: Include <stdlib.h> first.
48814         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
48815         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
48816         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
48817         HAVE_RPMATCH.
48818         * modules/rpmatch (Depends-on): Add stdlib, extensions.
48819         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
48820         (Include): Set to <stdlib.h>.
48821         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
48822         HAVE_RPMATCH.
48823         * NEWS: Document the change.
48824
48825 2008-04-28  Bruno Haible  <bruno@clisp.org>
48826
48827         Change rpmatch to use nl_langinfo when appropriate.
48828         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
48829         (N_): New macro.
48830         (localized_pattern): New function/macro.
48831         (try): Remove match, nomatch arguments. Copy the pattern into safe
48832         memory before caching it.
48833         (rpmatch): Use localized_pattern. Add translator comments.
48834         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
48835         Suggested by Eric Blake.
48836         * modules/rpmatch (Depends-on): Add stdbool.
48837
48838 2008-04-28  Eric Blake  <ebb9@byu.net>
48839
48840         Add rawmemchr module, matching glibc.
48841         * modules/string (Makefile.am): New indicator.
48842         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
48843         * lib/string.in.h (rawmemchr): Declare when appropriate.
48844         * modules/rawmemchr: New file.
48845         * m4/rawmemchr.m4: Likewise.
48846         * lib/rawmemchr.c: Likewise.
48847         * modules/rawmemchr-tests: Likewise.
48848         * tests/test-rawmemchr.c: Likewise.
48849         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
48850         module.
48851         * modules/strchrnul (Depends-on): Add rawmemchr.
48852         * lib/strchrnul.c (strchrnul): Optimize a corner case.
48853
48854         Whitespace cleanup.
48855         * tests/test-strchrnul.c: Reindent.
48856         * lib/strchrnul.c: Likewise.
48857
48858         Optimize and test strchrnul.
48859         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
48860         * modules/strchrnul-tests: New file.
48861         * tests/test-strchrnul.c: Likewise.
48862
48863         Remove intprops dependency.
48864         * modules/memchr (Depends-on): Remove intprops.
48865         * modules/memrchr (Depends-on): Likewise.
48866         * modules/memchr2 (Depends-on): Likewise.
48867         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
48868         * lib/memrchr.c (__memrchr): Likewise.
48869         * lib/memrchr2.c (memchr2): Likewise.
48870         Reported by Simon Josefsson.
48871
48872 2008-04-28  Simon Josefsson  <simon@josefsson.org>
48873
48874         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
48875         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48876
48877 2008-04-28  Simon Josefsson  <simon@josefsson.org>
48878
48879         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
48880
48881         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
48882
48883         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
48884
48885         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
48886         declarations.
48887         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
48888
48889         * m4/inet_pton.m4: Don't check for header files.
48890
48891         * m4/inet_ntop.m4: Don't check for header files.
48892
48893 2008-04-28  Simon Josefsson  <simon@josefsson.org>
48894
48895         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
48896         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
48897         trigger for cygwin).
48898         Reported by Bruno Haible  <bruno@clisp.org>.
48899
48900 2008-04-28  Bruno Haible  <bruno@clisp.org>
48901
48902         * doc/posix-functions/strdup.texi: Mention mingw problem.
48903
48904 2008-04-27  Bruno Haible  <bruno@clisp.org>
48905
48906         * modules/stat-time-tests (Depends-on): Add sleep.
48907         * tests/test-stat-time.c (force_unlink): New function.
48908         (cleanup): Use it.
48909         (test_mtime): Remove the ctime related tests.
48910         (test_ctime): New function, containing the ctime related tests.
48911         (main): Call test_ctime, except on native Windows platforms.
48912
48913 2008-04-27  Bruno Haible  <bruno@clisp.org>
48914
48915         * lib/rpmatch.c (rpmatch): Add some comments.
48916         Reported by James Youngman <jay@gnu.org>.
48917
48918 2008-04-27  Bruno Haible  <bruno@clisp.org>
48919
48920         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
48921         quiet NaNs.
48922
48923 2008-04-27  Bruno Haible  <bruno@clisp.org>
48924
48925         Make test-yesno.sh work on mingw.
48926         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
48927         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
48928         (main): Set stdin to binary mode.
48929         * modules/yesno-tests (Depends-on): Add binary-io.
48930
48931 2008-04-27  Bruno Haible  <bruno@clisp.org>
48932
48933         Fix 'isfinite' on x86, x86_64, ia64 platforms.
48934         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
48935         argument that lie outside the IEEE 854 domain.
48936         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
48937         (gl_ISFINITE): Use it.
48938         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
48939
48940 2008-04-27  Bruno Haible  <bruno@clisp.org>
48941
48942         Allow local renaming in config.h.
48943         * lib/memrchr.c (memrchr): Don't undefine outside libc.
48944
48945 2008-04-27  Bruno Haible  <bruno@clisp.org>
48946
48947         * lib/memchr.c (__memchr): Change type of 'i'.
48948         * lib/memchr2.c (memchr2): Likewise.
48949
48950 2008-04-26  Eric Blake  <ebb9@byu.net>
48951         and Bruno Haible  <bruno@clisp.org>
48952
48953         Optimize and test memrchr.
48954         * modules/memrchr (Depends-on): Add intprops.
48955         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
48956         * modules/memrchr-tests: New file.
48957         * tests/test-memrchr.c: New file.
48958
48959 2008-04-26  Bruno Haible  <bruno@clisp.org>
48960
48961         Add tentative support for DragonFly BSD.
48962         * lib/stdio-impl.h: Add macros for DragonFly BSD.
48963         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
48964         fp.
48965         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
48966         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
48967         * lib/fpurge.c (fpurge): Likewise.
48968         * lib/freadable.c (freaadable): Likewise.
48969         * lib/freadahead.c (freadahead): Likewise.
48970         * lib/freading.c (freading): Likewise.
48971         * lib/freadptr.c (freadptr): Likewise.
48972         * lib/freadseek.c (freadptrinc): Likewise.
48973         * lib/fseeko.c (fseeko): Likewise.
48974         * lib/fseterr.c (fseterr): Likewise.
48975         * lib/fwritable.c (fwritable): Likewise.
48976         * lib/fwriting.c (fwriting): Likewise.
48977
48978 2008-04-26  Bruno Haible  <bruno@clisp.org>
48979
48980         * lib/stdio-impl.h: New file.
48981         * lib/fbufmode.c: Include stdio-impl.h.
48982         (fbufmode): Use fp_, remove redundant #defines.
48983         * lib/fflush.c: Include stdio-impl.h.
48984         (clear_ungetc_buffer): Remove redundant #defines.
48985         * lib/fpurge.c: Include stdio-impl.h.
48986         (fpurge): Remove redundant #defines.
48987         * lib/freadable.c: Include stdio-impl.h.
48988         (freadable): Remove redundant #defines.
48989         * lib/freadahead.c: Include stdio-impl.h.
48990         (freadahead): Remove redundant #defines.
48991         * lib/freading.c: Include stdio-impl.h.
48992         (freading): Remove redundant #defines.
48993         * lib/freadptr.c: Include stdio-impl.h.
48994         (freadptr): Remove redundant #defines.
48995         * lib/freadseek.c: Include stdio-impl.h.
48996         (freadptrinc): Remove redundant #defines.
48997         * lib/fseeko.c: Include stdio-impl.h.
48998         (rpl_fseeko): Remove redundant #defines.
48999         * lib/fseterr.c: Include stdio-impl.h.
49000         (fseterr): Remove redundant #defines.
49001         * lib/fwritable.c: Include stdio-impl.h.
49002         (fwritable: Remove redundant #defines.
49003         * lib/fwriting.c: Include stdio-impl.h.
49004         (fwriting): Remove redundant #defines.
49005         * modules/fbufmode (Files): Add lib/stdio-impl.h.
49006         * modules/fflush (Files): Likewise.
49007         * modules/fpurge (Files): Likewise.
49008         * modules/freadable (Files): Likewise.
49009         * modules/freadahead (Files): Likewise.
49010         * modules/freading (Files): Likewise.
49011         * modules/freadptr (Files): Likewise.
49012         * modules/freadseek (Files): Likewise.
49013         * modules/fseeko (Files): Likewise.
49014         * modules/fseterr (Files): Likewise.
49015         * modules/fwritable (Files): Likewise.
49016         * modules/fwriting (Files): Likewise.
49017
49018 2008-04-26  Bruno Haible  <bruno@clisp.org>
49019
49020         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
49021         restore_seek_optimization, update_fpos_cache): New functions, extracted
49022         from rpl_fflush.
49023         (rpl_fflush): Use them.
49024         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
49025         (gl_REPLACE_FFLUSH): Use it.
49026
49027 2008-04-26  Bruno Haible  <bruno@clisp.org>
49028
49029         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
49030         on Solaris.
49031         * tests/test-xstrtoimax.sh: Likewise.
49032         * tests/test-xstrtoumax.sh: Likewise.
49033         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49034
49035 2008-04-26  Bruno Haible  <bruno@clisp.org>
49036
49037         * modules/memchr-tests: New file.
49038         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
49039
49040 2008-04-26  Eric Blake  <ebb9@byu.net>
49041             Bruno Haible  <bruno@clisp.org>
49042
49043         * lib/memchr.c: Include intprops.h.
49044         (__memchr): Optimize parallel detection of matching bytes. Rename local
49045         variables. Add explanatory comments.
49046
49047 2008-04-26  Bruno Haible  <bruno@clisp.org>
49048
49049         Fix module 'memchr', broken since 2000-10-28.
49050         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
49051
49052 2008-04-26  Bruno Haible  <bruno@clisp.org>
49053
49054         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
49055         comments.
49056
49057 2008-04-25  Eric Blake  <ebb9@byu.net>
49058
49059         Use native fstatat on cygwin 1.7.0.
49060         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
49061         first.
49062
49063 2008-04-23  Eric Blake  <ebb9@byu.net>
49064
49065         Improve memchr2 performance.
49066         * lib/memchr2.c (memchr2): Further optimize parallel detection of
49067         NUL bytes.
49068         * modules/memchr2 (Depends-on): Use intprops.h.
49069
49070 2008-04-23  Simon Josefsson  <simon@josefsson.org>
49071
49072         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
49073         an inline function instead of a CPP macro.  Patch by Ben Pfaff
49074         <blp@cs.stanford.edu>.
49075
49076 2008-04-23  Simon Josefsson  <simon@josefsson.org>
49077
49078         * lib/arpa_inet.in.h: New file.
49079
49080         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
49081         (Makefile.am): Sed in substitute header file.
49082
49083         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
49084         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
49085
49086         * modules/inet_ntop (configure.ac): Use
49087         gl_ARPA_INET_MODULE_INDICATOR.
49088
49089         * modules/inet_pton (configure.ac): Use
49090         gl_ARPA_INET_MODULE_INDICATOR.
49091
49092 2008-04-22  Jim Meyering  <meyering@redhat.com>
49093
49094         * modules/verify (License): Re-license as LGPLv2+.
49095
49096 2008-04-22  Simon Josefsson  <simon@josefsson.org>
49097
49098         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
49099         parameter to void* as per POSIX standard (MinGW uses char*).
49100
49101 2008-04-21  Bruno Haible  <bruno@clisp.org>
49102
49103         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
49104         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
49105         Define to replacements if REPLACE_ISWCNTRL is 1.
49106         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
49107         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
49108         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
49109         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
49110         what it fixes.
49111         * doc/posix-functions/iswalpha.texi: Likewise.
49112         * doc/posix-functions/iswblank.texi: Likewise.
49113         * doc/posix-functions/iswcntrl.texi: Likewise.
49114         * doc/posix-functions/iswdigit.texi: Likewise.
49115         * doc/posix-functions/iswgraph.texi: Likewise.
49116         * doc/posix-functions/iswlower.texi: Likewise.
49117         * doc/posix-functions/iswprint.texi: Likewise.
49118         * doc/posix-functions/iswpunct.texi: Likewise.
49119         * doc/posix-functions/iswspace.texi: Likewise.
49120         * doc/posix-functions/iswupper.texi: Likewise.
49121         * doc/posix-functions/iswxdigit.texi: Likewise.
49122         Reported by Alain Guibert.
49123
49124 2008-04-21  Bruno Haible  <bruno@clisp.org>
49125
49126         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
49127         Patch by Alain Guibert.
49128
49129 2008-04-21  Bruno Haible  <bruno@clisp.org>
49130
49131         Fix test failures on mingw.
49132         * tests/test-xstrtol.c (print_no_progname): New function.
49133         (main): Install it in error_print_progname hook.
49134         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
49135         * tests/test-xstrtoimax.sh: Likewise.
49136         * tests/test-xstrtoumax.sh: Likewise.
49137
49138 2008-04-21  Bruno Haible  <bruno@clisp.org>
49139
49140         Fix test failure on mingw.
49141         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
49142
49143 2008-04-21  Bruno Haible  <bruno@clisp.org>
49144
49145         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
49146         Actually assign a value.
49147
49148 2008-04-20  Bruno Haible  <bruno@clisp.org>
49149
49150         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
49151         take 2.
49152         * lib/canonicalize.c (canonicalize_file_name): Elide if the
49153         'canonicalize-lgpl' module is also used.
49154         * lib/canonicalize-lgpl.c: Undo last change.
49155         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
49156
49157 2008-04-20  Bruno Haible  <bruno@clisp.org>
49158
49159         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
49160         config.h. Provide _mkdir based fallback for mingw.
49161         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
49162         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
49163         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
49164         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
49165         rather than defining mkdir in config.h.
49166         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
49167         (gl_SYS_STAT_H_DEFAULTS): New macro.
49168         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
49169         HAVE_IO_H any more.
49170         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
49171         HAVE_DECL_MKDIR and HAVE_IO_H.
49172
49173 2008-04-20  Bruno Haible  <bruno@clisp.org>
49174
49175         * lib/isapipe.c: Port to native Windows platforms.
49176
49177 2008-04-20  Bruno Haible  <bruno@clisp.org>
49178
49179         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
49180
49181 2008-04-21  Eric Blake  <ebb9@byu.net>
49182
49183         Work around preprocessors that don't handle UINTMAX_MAX.
49184         * lib/memchr2.c (memchr2): Avoid embedded #if.
49185         Reported by Alain Guibert, fix suggested by Bruno Haible.
49186
49187 2008-04-21  Simon Josefsson  <simon@josefsson.org>
49188
49189         * doc/posix-functions/strftime.texi (strftime): Explain better
49190         Windows incompatibility.  Suggested by Micah Cowan
49191         <micah@cowan.name>.
49192
49193 2008-04-20  Bruno Haible  <bruno@clisp.org>
49194
49195         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
49196         unistr/u8-mblen.
49197
49198 2008-04-20  Bruno Haible  <bruno@clisp.org>
49199
49200         Fix test failure on platforms with non-GNU iconv.
49201         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
49202         (U_TO_U8): Use it, rather than u16_to_u8.
49203         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
49204         units at the end of the input string.
49205         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
49206
49207 2008-04-20  Bruno Haible  <bruno@clisp.org>
49208
49209         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
49210         when the resulting length is 0.
49211         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
49212
49213 2008-04-20  Bruno Haible  <bruno@clisp.org>
49214
49215         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
49216         works.
49217         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
49218
49219 2008-04-20  Bruno Haible  <bruno@clisp.org>
49220
49221         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
49222         * modules/tsearch-tests (configure.ac): Test for initstate function.
49223
49224 2008-04-20  Bruno Haible  <bruno@clisp.org>
49225
49226         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
49227         for nlink_t if missing.
49228         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
49229
49230 2008-04-19  Bruno Haible  <bruno@clisp.org>
49231
49232         Work around snprintf bug on Linux libc5.
49233         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
49234         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
49235         gl_SNPRINTF_SIZE1.
49236         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49237         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
49238         that test failed.
49239         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
49240         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
49241         * modules/snprintf (Files): Add m4/printf.m4.
49242         * modules/vsnprintf (Files): Likewise.
49243         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
49244         * doc/posix-functions/vsnprintf.texi: Likewise.
49245
49246 2008-04-19  Bruno Haible  <bruno@clisp.org>
49247
49248         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
49249         from 0.0058 to less than 10^-7.
49250
49251 2008-04-19  Bruno Haible  <bruno@clisp.org>
49252
49253         Fix rounding when a precision is given.
49254         * lib/vasnprintf.c (is_borderline): New function.
49255         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
49256         9...9x.
49257         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
49258         %e, %g.
49259         * tests/test-vasprintf-posix.c (test_function): Likewise.
49260         * tests/test-snprintf-posix.h (test_function): Likewise.
49261         * tests/test-sprintf-posix.h (test_function): Likewise.
49262         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
49263         * tests/test-printf-posix.h (test_function): Likewise.
49264         * tests/test-printf-posix.output: Update.
49265         Reported by John Darrington <john@darrington.wattle.id.au> via
49266         Ben Pfaff <blp@cs.stanford.edu>.
49267
49268 2008-04-18  Simon Josefsson  <simon@josefsson.org>
49269
49270         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
49271         Suggested by Bruno Haible <bruno@clisp.org>.
49272
49273 2008-04-17  Bruno Haible  <bruno@clisp.org>
49274
49275         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
49276         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
49277         implementation.
49278         Patch by Bruce Merry <bmerry@gmail.com>.
49279
49280 2008-04-17  Simon Josefsson  <simon@josefsson.org>
49281
49282         * doc/posix-functions/strftime.texi (strftime): Mention that %e
49283         doesn't work under Windows.
49284
49285 2008-04-16  Bruno Haible  <bruno@clisp.org>
49286
49287         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
49288         New macros.
49289         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
49290         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
49291         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
49292         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
49293         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
49294         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
49295         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
49296         macros.
49297         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
49298         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
49299         Northern Sotho, Uighur.
49300
49301 2008-04-16  Bruno Haible  <bruno@clisp.org>
49302
49303         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
49304         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
49305         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
49306         Reported by Daniel Bergström <daniel@octocode.com>.
49307
49308 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
49309             Bruno Haible  <bruno@clisp.org>
49310
49311         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
49312         function.
49313         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
49314         New functions, mostly extracted from gl_locale_name_default.
49315         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
49316
49317 2008-04-16  Eric Blake  <ebb9@byu.net>
49318
49319         Adjust strtod detection to catch glibc 2.7 bug.
49320         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
49321         Reported by John Gatewood Ham.
49322
49323 2008-04-16  Bruno Haible  <bruno@clisp.org>
49324
49325         Add tentative support for Linux libc5.
49326         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
49327         * lib/fpurge.c (fpurge): Likewise.
49328         * lib/freadable.c (freadable): Likewise.
49329         * lib/freadahead.c (freadahead): Likewise.
49330         * lib/freading.c (freading): Likewise.
49331         * lib/freadptr.c (freadptr): Likewise.
49332         * lib/freadseek.c (freadptrinc): Likewise.
49333         * lib/fseeko.c (rpl_fseeko): Likewise.
49334         * lib/fseterr.c (fseterr): Likewise.
49335         * lib/fwritable.c (fwritable): Likewise.
49336         * lib/fwriting.c (fwriting): Likewise.
49337         Reported by Alain Guibert <alguibert+bts@free.fr>.
49338
49339 2008-04-15  Bruno Haible  <bruno@clisp.org>
49340
49341         * modules/mathl (configure.ac): Define module indicator.
49342
49343 2008-04-15  Bruno Haible  <bruno@clisp.org>
49344
49345         * lib/logl.c (logl): Remove unused variables.
49346
49347 2008-04-15  Bruno Haible  <bruno@clisp.org>
49348
49349         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
49350         fails.
49351
49352 2008-04-15  Bruno Haible  <bruno@clisp.org>
49353
49354         * lib/trim.c (trim2): Fix argument of isspace() macro.
49355
49356 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
49357
49358         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
49359         to 0.
49360         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
49361
49362 2008-04-14  Bruno Haible  <bruno@clisp.org>
49363
49364         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
49365         AC_LANG_PROGRAM argument.
49366         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
49367         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
49368         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
49369         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
49370         * m4/math_h.m4 (gl_MATH_H): Likewise.
49371         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
49372         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
49373         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
49374         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
49375         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
49376         * m4/regex.m4 (gl_REGEX): Likewise.
49377         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
49378         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
49379         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
49380         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
49381         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
49382         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
49383         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
49384         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
49385
49386 2008-04-14  Jim Meyering  <meyering@redhat.com>
49387
49388         test-strtod: fix typos: s/abs/fabs/
49389         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
49390
49391 2008-04-13  Bruno Haible  <bruno@clisp.org>
49392
49393         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
49394         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
49395         module is also used and while not building the reloc-wrapper.
49396
49397 2008-04-13  Bruno Haible  <bruno@clisp.org>
49398
49399         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
49400
49401 2008-04-13  Bruno Haible  <bruno@clisp.org>
49402
49403         Fix AIX compilation failure introduced on 2008-04-02.
49404         * tests/test-frexp.c (exp): Undefine before redefining.
49405         * tests/test-frexpl.c (exp): Likewise.
49406
49407 2008-04-13  Bruno Haible  <bruno@clisp.org>
49408
49409         Work around a HP-UX stdio bug.
49410         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
49411         * tests/test-ftello.c (main): Likewise.
49412         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
49413         * doc/posix-functions/ftello.texi: Likewise.
49414
49415 2008-04-13  Bruno Haible  <bruno@clisp.org>
49416
49417         Make test-signbit pass on HP-UX/hppa.
49418         * tests/test-signbit.c (minus_zerol): New variable.
49419         (test_signbitl): Use it.
49420
49421 2008-04-13  Bruno Haible  <bruno@clisp.org>
49422
49423         Make truncl work on OSF/1 4.0.
49424         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
49425         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
49426         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
49427         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
49428         HAVE_DECL_TRUNCL.
49429         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
49430         HAVE_DECL_TRUNCL.
49431         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
49432
49433 2008-04-13  Bruno Haible  <bruno@clisp.org>
49434
49435         * lib/unictype.h: Remove trailing comma from enumeration definitions.
49436
49437 2008-04-13  Bruno Haible  <bruno@clisp.org>
49438
49439         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
49440         expression, so as to avoid HP-UX 11 cc compiler bug.
49441
49442 2008-04-13  Bruno Haible  <bruno@clisp.org>
49443
49444         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
49445
49446 2008-04-13  Bruno Haible  <bruno@clisp.org>
49447
49448         * lib/git-merge-changelog.c: Remove empty declaration outside of
49449         functions.
49450
49451 2008-04-13  Bruno Haible  <bruno@clisp.org>
49452
49453         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
49454
49455 2008-04-13  Bruno Haible  <bruno@clisp.org>
49456
49457         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
49458         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
49459         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
49460         also if it exists but lacks definitions of the SHUT_* macros.
49461         * modules/sys_socket (Description): Update.
49462         Reported by Elbert Pol <e.pol@chello.nl>.
49463
49464 2008-04-13  Bruno Haible  <bruno@clisp.org>
49465
49466         * lib/localcharset.c (OS2): Don't redefine if already defined.
49467         Reported by Elbert Pol <e.pol@chello.nl>.
49468
49469 2008-04-13  Bruno Haible  <bruno@clisp.org>
49470
49471         * lib/binary-io.h [__EMX__]: Include <io.h>.
49472         Reported by Elbert Pol <e.pol@chello.nl>.
49473
49474 2008-04-12  Bruno Haible  <bruno@clisp.org>
49475
49476         * lib/fpucw.h: Enable the definitions also for x86_64.
49477         Needed for NetBSD/x86_64.
49478         Reported by Thomas Klausner <tk@giga.or.at>.
49479
49480 2008-04-12  Bruno Haible  <bruno@clisp.org>
49481
49482         * tests/test-strtod.c: Include isnand.h.
49483         (main): Use isnand instead of isnan.
49484         Reported by Jim Meyering.
49485
49486 2008-04-12  Bruno Haible  <bruno@clisp.org>
49487
49488         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
49489         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
49490
49491 2008-04-12  Jim Meyering  <meyering@redhat.com>
49492
49493         * m4/math_h.m4 (gl_MATH_H): Fix typos.
49494
49495 2008-04-12  Bruno Haible  <bruno@clisp.org>
49496
49497         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
49498         Reported by Elbert Pol <e.pol@chello.nl>.
49499
49500 2008-04-12  Eric Blake  <ebb9@byu.net>
49501
49502         Work around Solaris 10 math.h bug.
49503         * m4/math_h.m4 (gl_MATH_H): Check for bug.
49504         (gl_MATH_H_DEFAULTS): Set up default.
49505         * modules/math (Makefile.am): Replace new indicators.
49506         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
49507         * tests/test-math.c (main): Test this.
49508         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
49509         * doc/posix-headers/math.texi (math.h): Mention bug.
49510         Reported by Nelson H. F. Beebe and Jim Meyering.
49511
49512 2008-04-11  Bruno Haible  <bruno@clisp.org>
49513
49514         Adapt to future versions of Apple GCC.
49515         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
49516         Reported by Peter O'Gorman <peter@pogma.com>.
49517
49518 2008-04-11  Bruno Haible  <bruno@clisp.org>
49519
49520         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
49521
49522 2008-04-11  Bruno Haible  <bruno@clisp.org>
49523
49524         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
49525
49526         * modules/getaddrinfo-tests (Makefile.am): Define
49527         test_getaddrinfo_LDADD.
49528
49529 2008-04-11  Bruno Haible  <bruno@clisp.org>
49530
49531         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
49532         (init): Fix syntax error.
49533         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
49534         is declared.
49535
49536 2008-04-11  Bruno Haible  <bruno@clisp.org>
49537
49538         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
49539         * modules/glob (Depends-on): Add stdbool.
49540
49541 2008-04-11  Bruno Haible  <bruno@clisp.org>
49542
49543         * lib/trim.c: Include <string.h>.
49544
49545 2008-04-11  Eric Blake  <ebb9@byu.net>
49546
49547         Avoid compile failure on OS/2.
49548         * lib/regex_internal.h (internal_function): Disable optimization
49549         on OS/2 (__EMX__), where it caused compiler error.
49550         Reported by Elbert Pol.
49551
49552 2008-04-11  Bruno Haible  <bruno@clisp.org>
49553
49554         Flush the standard error stream before aborting. Needed on mingw.
49555         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
49556         * tests/test-array_list.c (ASSERT): Likewise.
49557         * tests/test-array_oset.c (ASSERT): Likewise.
49558         * tests/test-avltree_list.c (ASSERT): Likewise.
49559         * tests/test-avltree_oset.c (ASSERT): Likewise.
49560         * tests/test-avltreehash_list.c (ASSERT): Likewise.
49561         * tests/test-binary-io.c (ASSERT): Likewise.
49562         * tests/test-byteswap.c (ASSERT): Likewise.
49563         * tests/test-c-ctype.c (ASSERT): Likewise.
49564         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
49565         * tests/test-c-strcasestr.c (ASSERT): Likewise.
49566         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
49567         * tests/test-c-strstr.c (ASSERT): Likewise.
49568         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
49569         * tests/test-canonicalize.c (ASSERT): Likewise.
49570         * tests/test-carray_list.c (ASSERT): Likewise.
49571         * tests/test-ceilf1.c (ASSERT): Likewise.
49572         * tests/test-ceilf2.c (ASSERT): Likewise.
49573         * tests/test-ceill.c (ASSERT): Likewise.
49574         * tests/test-count-one-bits.c (ASSERT): Likewise.
49575         * tests/test-fbufmode.c (ASSERT): Likewise.
49576         * tests/test-fflush2.c (ASSERT): Likewise.
49577         * tests/test-floorf1.c (ASSERT): Likewise.
49578         * tests/test-floorf2.c (ASSERT): Likewise.
49579         * tests/test-floorl.c (ASSERT): Likewise.
49580         * tests/test-fopen.c (ASSERT): Likewise.
49581         * tests/test-fpending.c (ASSERT): Likewise.
49582         * tests/test-fprintf-posix.c (ASSERT): Likewise.
49583         * tests/test-fpurge.c (ASSERT): Likewise.
49584         * tests/test-freadable.c (ASSERT): Likewise.
49585         * tests/test-freadahead.c (ASSERT): Likewise.
49586         * tests/test-freading.c (ASSERT): Likewise.
49587         * tests/test-freadptr.c (ASSERT): Likewise.
49588         * tests/test-freadptr2.c (ASSERT): Likewise.
49589         * tests/test-freadseek.c (ASSERT): Likewise.
49590         * tests/test-freopen.c (ASSERT): Likewise.
49591         * tests/test-frexp.c (ASSERT): Likewise.
49592         * tests/test-frexpl.c (ASSERT): Likewise.
49593         * tests/test-fseek.c (ASSERT): Likewise.
49594         * tests/test-fseeko.c (ASSERT): Likewise.
49595         * tests/test-fstrcmp.c (ASSERT): Likewise.
49596         * tests/test-ftell.c (ASSERT): Likewise.
49597         * tests/test-ftello.c (ASSERT): Likewise.
49598         * tests/test-func.c (ASSERT): Likewise.
49599         * tests/test-fwritable.c (ASSERT): Likewise.
49600         * tests/test-fwriting.c (ASSERT): Likewise.
49601         * tests/test-getdelim.c (ASSERT): Likewise.
49602         * tests/test-getline.c (ASSERT): Likewise.
49603         * tests/test-i-ring.c (ASSERT): Likewise.
49604         * tests/test-iconv-utf.c (ASSERT): Likewise.
49605         * tests/test-iconv.c (ASSERT): Likewise.
49606         * tests/test-isfinite.c (ASSERT): Likewise.
49607         * tests/test-isnand.c (ASSERT): Likewise.
49608         * tests/test-isnanf.c (ASSERT): Likewise.
49609         * tests/test-isnanl.h (ASSERT): Likewise.
49610         * tests/test-ldexpl.c (ASSERT): Likewise.
49611         * tests/test-linked_list.c (ASSERT): Likewise.
49612         * tests/test-linkedhash_list.c (ASSERT): Likewise.
49613         * tests/test-localename.c (ASSERT): Likewise.
49614         * tests/test-lseek.c (ASSERT): Likewise.
49615         * tests/test-mbscasecmp.c (ASSERT): Likewise.
49616         * tests/test-mbscasestr1.c (ASSERT): Likewise.
49617         * tests/test-mbscasestr2.c (ASSERT): Likewise.
49618         * tests/test-mbscasestr3.c (ASSERT): Likewise.
49619         * tests/test-mbscasestr4.c (ASSERT): Likewise.
49620         * tests/test-mbschr.c (ASSERT): Likewise.
49621         * tests/test-mbscspn.c (ASSERT): Likewise.
49622         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
49623         * tests/test-mbspbrk.c (ASSERT): Likewise.
49624         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
49625         * tests/test-mbsrchr.c (ASSERT): Likewise.
49626         * tests/test-mbsspn.c (ASSERT): Likewise.
49627         * tests/test-mbsstr1.c (ASSERT): Likewise.
49628         * tests/test-mbsstr2.c (ASSERT): Likewise.
49629         * tests/test-mbsstr3.c (ASSERT): Likewise.
49630         * tests/test-memchr2.c (ASSERT): Likewise.
49631         * tests/test-memmem.c (ASSERT): Likewise.
49632         * tests/test-open.c (ASSERT): Likewise.
49633         * tests/test-printf-frexp.c (ASSERT): Likewise.
49634         * tests/test-printf-frexpl.c (ASSERT): Likewise.
49635         * tests/test-printf-posix.c (ASSERT): Likewise.
49636         * tests/test-quotearg.c (ASSERT): Likewise.
49637         * tests/test-rbtree_list.c (ASSERT): Likewise.
49638         * tests/test-rbtree_oset.c (ASSERT): Likewise.
49639         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
49640         * tests/test-round1.c (ASSERT): Likewise.
49641         * tests/test-roundf1.c (ASSERT): Likewise.
49642         * tests/test-roundl.c (ASSERT): Likewise.
49643         * tests/test-signbit.c (ASSERT): Likewise.
49644         * tests/test-sleep.c (ASSERT): Likewise.
49645         * tests/test-snprintf-posix.c (ASSERT): Likewise.
49646         * tests/test-snprintf.c (ASSERT): Likewise.
49647         * tests/test-sprintf-posix.c (ASSERT): Likewise.
49648         * tests/test-stat-time.c (ASSERT): Likewise.
49649         * tests/test-strcasestr.c (ASSERT): Likewise.
49650         * tests/test-strerror.c (ASSERT): Likewise.
49651         * tests/test-striconv.c (ASSERT): Likewise.
49652         * tests/test-striconveh.c (ASSERT): Likewise.
49653         * tests/test-striconveha.c (ASSERT): Likewise.
49654         * tests/test-strsignal.c (ASSERT): Likewise.
49655         * tests/test-strstr.c (ASSERT): Likewise.
49656         * tests/test-strtod.c (ASSERT): Likewise.
49657         * tests/test-trunc1.c (ASSERT): Likewise.
49658         * tests/test-trunc2.c (ASSERT): Likewise.
49659         * tests/test-truncf1.c (ASSERT): Likewise.
49660         * tests/test-truncf2.c (ASSERT): Likewise.
49661         * tests/test-truncl.c (ASSERT): Likewise.
49662         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
49663         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
49664         * tests/test-vasnprintf.c (ASSERT): Likewise.
49665         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
49666         * tests/test-vasprintf.c (ASSERT): Likewise.
49667         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
49668         * tests/test-vprintf-posix.c (ASSERT): Likewise.
49669         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
49670         * tests/test-vsnprintf.c (ASSERT): Likewise.
49671         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
49672         * tests/test-wcwidth.c (ASSERT): Likewise.
49673         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
49674         * tests/test-xprintf-posix.c (ASSERT): Likewise.
49675         * tests/test-xvasprintf.c (ASSERT): Likewise.
49676         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
49677         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
49678         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
49679         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
49680         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
49681         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
49682         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
49683         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
49684         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
49685         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
49686         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
49687         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
49688         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
49689         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
49690         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
49691         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
49692         * tests/unictype/test-block_list.c (ASSERT): Likewise.
49693         * tests/unictype/test-block_of.c (ASSERT): Likewise.
49694         * tests/unictype/test-block_test.c (ASSERT): Likewise.
49695         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
49696         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
49697         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
49698         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
49699         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
49700         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
49701         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
49702         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
49703         * tests/unictype/test-combining.c (ASSERT): Likewise.
49704         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
49705         * tests/unictype/test-digit.c (ASSERT): Likewise.
49706         * tests/unictype/test-mirror.c (ASSERT): Likewise.
49707         * tests/unictype/test-numeric.c (ASSERT): Likewise.
49708         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
49709         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
49710         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
49711         * tests/unictype/test-scripts.c (ASSERT): Likewise.
49712         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
49713         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
49714         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
49715         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
49716         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
49717         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
49718         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
49719         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
49720         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
49721         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
49722         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
49723         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
49724         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
49725         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
49726         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
49727         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
49728         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
49729         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
49730         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
49731         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
49732         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
49733         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
49734         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
49735         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
49736         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
49737         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
49738         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
49739         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
49740         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
49741         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
49742         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
49743         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
49744         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
49745         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
49746         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
49747         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
49748         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
49749         Reported by Eric Blake.
49750
49751 2008-04-11  Bruno Haible  <bruno@clisp.org>
49752
49753         * lib/wchar.in.h: Tweak comment.
49754
49755 2008-04-11  Bruno Haible  <bruno@clisp.org>
49756
49757         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
49758         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
49759         gl_COMMON.
49760         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
49761
49762 2008-04-11  Bruno Haible  <bruno@clisp.org>
49763
49764         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
49765
49766 2008-04-11  Simon Josefsson  <simon@josefsson.org>
49767
49768         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
49769         of attempting to use non-existing /dev/*random.  Based on patch
49770         from Adam Strzelecki <ono@java.pl> in
49771         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
49772
49773 2008-04-08  Bruno Haible  <bruno@clisp.org>
49774
49775         Add tentative support for emx+gcc.
49776         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
49777         * lib/fpurge.c (fpurge): Likewise.
49778         * lib/freadable.c (freadable): Likewise.
49779         * lib/freadahead.c (freadahead): Likewise.
49780         * lib/freading.c (freading): Likewise.
49781         * lib/freadptr.c (freadptr): Likewise.
49782         * lib/freadseek.c (freadptrinc): Likewise.
49783         * lib/fseeko.c (rpl_fseeko): Likewise.
49784         * lib/fseterr.c (fseterr): Likewise.
49785         * lib/fwritable.c (fwritable): Likewise.
49786         * lib/fwriting.c (fwriting): Likewise.
49787         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
49788
49789 2008-04-09  Eric Blake  <ebb9@byu.net>
49790
49791         Avoid some autoconf warnings.
49792         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
49793         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
49794         * m4/afs.m4 (gl_AFS): Likewise.
49795         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
49796         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
49797         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
49798         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
49799         (gl_INTEGER_TYPE_SUFFIX): Likewise.
49800         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
49801         (AC_CHECK_DECLS_ONCE): Likewise.
49802         Rename file...
49803         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
49804         gnulib-tool requires autoconf 2.59 or better.
49805         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
49806
49807 2008-04-08  Eric Blake  <ebb9@byu.net>
49808
49809         Use 'git describe --match' if present (added in git 1.5.5).
49810         * build-aux/git-version-gen: Limit result to tags that match 'v*'
49811         if possible.
49812
49813 2008-04-08  Bruno Haible  <bruno@clisp.org>
49814
49815         Add tentative support for OpenServer.
49816         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
49817         _ptr, _cnt.
49818         * lib/fpurge.c (fpurge): Likewise.
49819         * lib/freadable.c (freadable): Likewise.
49820         * lib/freadahead.c (freadahead): Likewise.
49821         * lib/freading.c (freading): Likewise.
49822         * lib/freadptr.c (freadptr): Likewise.
49823         * lib/freadseek.c (freadptrinc): Likewise.
49824         * lib/fseeko.c (rpl_fseeko): Likewise.
49825         * lib/fseterr.c (fseterr): Likewise.
49826         * lib/fwritable.c (fwritable): Likewise.
49827         * lib/fwriting.c (fwriting): Likewise.
49828         Reported by Roger Cornelius <rac@tenzing.org> and
49829         Brian K. White <brian@aljex.com>.
49830
49831 2008-04-06  Jim Meyering  <meyering@redhat.com>
49832
49833         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
49834
49835 2008-04-06  Bruno Haible  <bruno@clisp.org>
49836
49837         Avoid possible error with non-ASCII bytes in UTF-8 locales.
49838         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
49839         * tests/test-printf-posix.sh: Likewise.
49840         * tests/test-vfprintf-posix.sh: Likewise.
49841         * tests/test-vprintf-posix.sh: Likewise.
49842         * tests/test-xprintf-posix.sh: Likewise.
49843
49844 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49845
49846         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
49847         hide error from 'ls', needed on OS/2.
49848         Report by Elbert Pol <elbert.pol@gmail.com>.
49849
49850 2008-04-04  Eric Blake  <ebb9@byu.net>
49851
49852         Make test-fseeko.c failures meaningful.
49853         * tests/test-fseeko.c: Print line number on failure.
49854         * tests/test-fseek.c: Likewise.
49855         Reported by Nelson H. F. Beebe.
49856
49857         Improve strtod bug detection check.
49858         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
49859         required for Solaris 10.
49860         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
49861
49862 2008-04-04  Bruno Haible  <bruno@clisp.org>
49863
49864         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
49865         by m4/setenv.m4.
49866
49867 2008-04-03  Eric Blake  <ebb9@byu.net>
49868
49869         Ensure sane .version contents.
49870         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
49871         version string.
49872         * build-aux/git-version-gen: Improve documentation.
49873
49874         Make GNU make output nicer.
49875         * top/GNUmakefile [!_have-Makefile]: Add dependency on
49876         MAKECMDGOALS to enforce message for all command line targets.  Set
49877         srcdir for use in maint.mk.
49878
49879         Another maintainer tweak.
49880         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
49881         a target that regenerates version.
49882
49883 2008-04-03  Jim Meyering  <meyering@redhat.com>
49884
49885         vc-list-files: don't cause coreutils "make po-check" failure
49886         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
49887
49888 2008-04-03  Eric Blake  <ebb9@byu.net>
49889
49890         Allow VPATH usage of vc-list-files.
49891         * build-aux/vc-list-files (scriptversion): Add timestamp.
49892         (options): Add --help, --version, -C.
49893         (CVS): Support installed cvsu.
49894
49895 2008-04-02  Bruno Haible  <bruno@clisp.org>
49896
49897         Avoid some "statement with no effect" warnings from gcc.
49898         * tests/test-wctype.c (main): Explicitly ignore unused values.
49899         Reported by Jim Meyering.
49900
49901 2008-04-02  Jim Meyering  <meyering@redhat.com>
49902
49903         Avoid some warnings from "gcc -Wshadow".
49904         * tests/test-frexp.c (exp): Define to a different identifier.
49905         * tests/test-frexpl.c (exp): Likewise.
49906
49907 2008-04-03  Jim Meyering  <meyering@redhat.com>
49908
49909         bootstrap: remove dangling *.[ch] symlinks from lib
49910         * build-aux/bootstrap [dangling symlink removal]: Move find's
49911         -depth option to precede all others, to avoid a warning.
49912         Remove *.[ch] files too, and from "$source_base" (usually lib/).
49913
49914 2008-04-02  Bruno Haible  <bruno@clisp.org>
49915
49916         Avoid some warnings from "gcc -Wshadow".
49917         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
49918         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
49919         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
49920         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
49921         Reported by Jim Meyering.
49922
49923 2008-04-01  Bruno Haible  <bruno@clisp.org>
49924
49925         Fix test to work on IRIX 6.5 with cc.
49926         * tests/test-math.c (numeric_equal): New function.
49927         (main): Use it.
49928
49929 2008-04-01  Bruno Haible  <bruno@clisp.org>
49930
49931         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
49932
49933 2008-04-01  Bruno Haible  <bruno@clisp.org>
49934
49935         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
49936         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
49937         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
49938         (Depends-on): Remove math.
49939
49940         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
49941         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
49942         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
49943         (Depends-on): Remove math.
49944
49945         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
49946         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
49947         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
49948         (Depends-on): Remove math.
49949         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
49950         (Depends-on): Remove math.
49951
49952         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
49953         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
49954         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
49955         (Depends-on): Remove math.
49956         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
49957         (Depends-on): Remove math.
49958
49959         * tests/test-round1.c: Include nan.h.
49960         (main): Use NaNd instead of NAN.
49961         * modules/round-tests (Files): Add tests/nan.h.
49962
49963         * tests/test-trunc1.c: Include nan.h.
49964         (main): Use NaNd instead of NAN.
49965         * modules/trunc-tests (Files): Add tests/nan.h.
49966
49967         * tests/test-roundf1.c: Include nan.h.
49968         (main): Use NaNf instead of NAN.
49969         * modules/roundf-tests (Files): Add tests/nan.h.
49970
49971         * tests/test-truncf1.c: Include nan.h.
49972         (main): Use NaNf instead of NAN.
49973         * modules/truncf-tests (Files): Add tests/nan.h.
49974
49975         * tests/test-ceilf1.c: Include nan.h.
49976         (main): Use NaNf instead of NAN.
49977         * modules/ceilf-tests (Files): Add tests/nan.h.
49978
49979         * tests/test-floorf1.c: Include nan.h.
49980         (main): Use NaNf instead of NAN.
49981         * modules/floorf-tests (Files): Add tests/nan.h.
49982
49983         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
49984         (main): Use NaNf instead of NAN.
49985         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
49986
49987         * tests/test-isnand.c: Include nan.h instead of <math.h>.
49988         (main): Use NaNd instead of NAN.
49989         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
49990
49991         * tests/test-frexp.c: Include nan.h.
49992         (main): Use NaNd instead of NAN.
49993         * modules/frexp-tests (Files): Add tests/nan.h.
49994
49995         * lib/isnan.c: Don't include <math.h>.
49996         (FUNC): Don't use NAN macro.
49997         * modules/isnand-nolibm (Depends-on): Remove math.
49998         * modules/isnanf-nolibm (Depends-on): Remove math.
49999         * modules/isnanl (Depends-on): Remove math.
50000         * modules/isnanl-nolibm (Depends-on): Remove math.
50001
50002         * tests/nan.h: New file.
50003
50004 2008-04-01  Eric Blake  <ebb9@byu.net>
50005
50006         Fix typos.
50007         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
50008         values to be the right type.
50009
50010         For now, cater to gnulib strtod inaccuracies.
50011         * tests/test-strtod.c (main): Allow 1-ulp error on expected
50012         fractional results.  While not as nice from a QoI perspective, it
50013         is a quicker patch than correctly implementing decimal to binary
50014         rounding.
50015
50016 2008-03-31  Eric Blake  <ebb9@byu.net>
50017
50018         Guarantee a definition of NAN.
50019         * lib/math.in.h (NAN): Define if missing.
50020         * tests/test-math.c (main): Test it.
50021         * doc/posix-headers/math.texi (math.h): Document this.
50022         * lib/isnan.c (rpl_isnand): Use it.
50023         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
50024         * tests/test-floorf1.c (NaN): Likewise.
50025         * tests/test-frexp.c (NaN): Likewise.
50026         * tests/test-isnand.c (NaN): Likewise.
50027         * tests/test-isnanf.c (NaN): Likewise.
50028         * tests/test-round1.c (NaN): Likewise.
50029         * tests/test-roundf1.c (NaN): Likewise.
50030         * tests/test-snprintf-posix.h (NaN): Likewise.
50031         * tests/test-sprintf-posix.h (NaN): Likewise.
50032         * tests/test-trunc1.c (NaN): Likewise.
50033         * tests/test-truncf1.c (NaN): Likewise.
50034         * tests/test-vasnprintf-posix.c (NaN): Likewise.
50035         * tests/test-vasprintf-posix.c (NaN): Likewise.
50036         * modules/isnand-nolibm (Depends-on): Add math.
50037         * modules/isnanf-nolibm (Depends-on): Likewise.
50038         * modules/isnanl (Depends-on): Likewise.
50039         * modules/isnanl-nolibm (Depends-on): Likewise.
50040         * modules/snprintf-posix-tests (Depends-on): Likewise.
50041         * modules/sprintf-posix-tests (Depends-on): Likewise.
50042         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
50043         * modules/vsprintf-posix-tests (Depends-on): Likewise.
50044         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
50045         * modules/vasprintf-posix-tests (Depends-on): Likewise.
50046
50047 2008-03-31  Bruno Haible  <bruno@clisp.org>
50048
50049         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
50050         * doc/posix-functions/strtod.texi: Likewise.
50051
50052 2008-03-31  Bruno Haible  <bruno@clisp.org>
50053
50054         * tests/test-strtod.c (main): Don't use C99 syntax.
50055
50056 2008-03-31  Bruno Haible  <bruno@clisp.org>
50057
50058         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
50059         Reported by Eric Blake.
50060
50061 2008-03-31  Jim Meyering  <meyering@redhat.com>
50062
50063         Don't compare actual signbit return values.
50064         * tests/test-strtod.c (main): Rather, compare only their
50065         zero/non-zero nature.
50066
50067 2008-03-31  Eric Blake  <ebb9@byu.net>
50068
50069         More strtod documentation.
50070         * doc/posix-functions/strtod.texi (strtod): Interpret more test
50071         failures as distinct bugs.
50072
50073 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
50074
50075         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
50076         Problem reported by Erik Benada in
50077         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
50078
50079 2008-03-30  Bruno Haible  <bruno@clisp.org>
50080
50081         * tests/test-strtod.c: Add comments about which assertion fails on which
50082         platform.
50083         * doc/posix-functions/strtod.texi: Add info about many more platforms.
50084
50085 2008-03-30  Eric Blake  <ebb9@byu.net>
50086
50087         Test signbit behavior on zeros.
50088         * tests/test-signbit.c (test_signbitf): Add tests for zero.
50089         (test_signbitd, test_signbitl): Likewise.
50090
50091         More strtod touchups.
50092         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
50093         sign of negative underflow, for now.  Use .5, not .1.
50094         * doc/posix-functions/strtod.texi (strtod): Mention these
50095         limitations.
50096         Reported by Jim Meyering.
50097
50098 2008-03-30  Bruno Haible  <bruno@clisp.org>
50099
50100         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
50101         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
50102
50103 2008-03-30  Bruno Haible  <bruno@clisp.org>
50104
50105         Avoid failure when attempting to return empty iconv results on some
50106         platforms.
50107         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
50108         allocation, don't report ENOMEM when the resulting string is empty.
50109
50110 2008-03-30  Bruno Haible  <bruno@clisp.org>
50111
50112         Fix buffer overrun.
50113         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
50114         Don't consider the width for tmp_length. Check count against tmp_length
50115         before doing the padding. Ensure enough allocation during padding.
50116
50117 2008-03-30  Eric Blake  <ebb9@byu.net>
50118
50119         strtod touchups.
50120         * lib/strtod.c (strtod): Avoid compiler warnings.
50121         Reported by Jim Meyering.
50122
50123 2008-03-30  Bruno Haible  <bruno@clisp.org>
50124
50125         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
50126         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
50127         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
50128         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
50129         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
50130         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
50131         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
50132         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
50133
50134         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
50135         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
50136         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
50137         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
50138         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
50139         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
50140         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
50141         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
50142
50143         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
50144         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
50145         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
50146         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
50147         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
50148         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
50149         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
50150         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
50151
50152         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
50153         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
50154
50155         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
50156         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
50157
50158         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
50159         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
50160
50161         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
50162         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
50163         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
50164
50165         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
50166         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
50167         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
50168
50169         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
50170         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
50171         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
50172
50173         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
50174         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
50175         * modules/vasprintf (Depends-on): Add EOVERFLOW.
50176
50177         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
50178         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
50179         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
50180         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
50181         (Depends-on): Add EOVERFLOW.
50182         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
50183         (Depends-on): Add EOVERFLOW.
50184         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
50185         (Depends-on): Add EOVERFLOW.
50186         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
50187         (Depends-on): Add EOVERFLOW.
50188         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
50189         (Depends-on): Add EOVERFLOW.
50190         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
50191         (Depends-on): Add EOVERFLOW.
50192         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
50193         (Depends-on): Add EOVERFLOW.
50194         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
50195         (Depends-on): Add EOVERFLOW.
50196
50197         * lib/sprintf.c (EOVERFLOW): Remove fallback.
50198         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
50199         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
50200
50201         * lib/snprintf.c (EOVERFLOW): Remove fallback.
50202         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
50203         * modules/snprintf (Depends-on): Add EOVERFLOW.
50204
50205         * lib/poll.c (EOVERFLOW): Remove fallback.
50206         * modules/poll (Depends-on): Add EOVERFLOW.
50207
50208         * lib/getugroups.c (EOVERFLOW): Remove fallback.
50209         * modules/getugroups (Depends-on): Add EOVERFLOW.
50210
50211         * lib/getdelim.c (EOVERFLOW): Remove fallback.
50212         * modules/getdelim (Depends-on): Add EOVERFLOW.
50213
50214         * lib/ftell.c (EOVERFLOW): Remove fallback.
50215         * modules/ftell (Depends-on): Add EOVERFLOW.
50216
50217         * lib/fprintf.c (EOVERFLOW): Remove fallback.
50218         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
50219         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
50220
50221         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
50222
50223         * modules/EOVERFLOW-tests: New file.
50224         * tests/test-EOVERFLOW.c: New file.
50225
50226         * modules/EOVERFLOW: New file.
50227         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
50228
50229 2008-03-30  Bruno Haible  <bruno@clisp.org>
50230
50231         Fix bug introduced on 2007-06-10.
50232         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
50233         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
50234
50235 2008-03-30  Bruno Haible  <bruno@clisp.org>
50236
50237         Improve freadseek's efficiency after ungetc.
50238         * lib/freadseek.c: Include freadahead.h.
50239         (freadptrinc): New function, extracted from freadseek.
50240         (freadseek): Use it in a loop. Use freadahead to determine the number
50241         of loop iterations.
50242         * modules/freadseek (Depends-on): Add freadahead.
50243         (configure.ac): Require AC_C_INLINE.
50244
50245 2008-03-30  Bruno Haible  <bruno@clisp.org>
50246
50247         * lib/freadseek.c (freadseek): Don't ignore the return value of
50248         freadptr.
50249
50250 2008-03-29  Eric Blake  <ebb9@byu.net>
50251
50252         Add hex float support.
50253         * modules/strtod (Depends-on): Add c-ctype.
50254         (Link): Mention POW_LIB.
50255         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
50256         whitespace between 'e' and exponent.
50257         * tests/test-strtod.c (main): Enable hex float tests.
50258         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
50259         now provides.
50260
50261         Document various strtod bugs, with some fixes.
50262         * doc/posix-functions/strtod.texi (strtod): Document bugs with
50263         "-0x", "inf", "nan", and hex constants.
50264         * doc/posix-functions/atof.texi (atof): Likewise.
50265         * modules/stdlib (Makefile.am): Support strtod.
50266         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
50267         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
50268         detect additional strtod bugs.
50269         * lib/stdlib.in.h (rpl_strtod): Add declarations.
50270         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
50271         bool where appropriate.  Parse 'inf' and 'nan'.
50272         * tests/test-strtod.c: New file.
50273         * modules/strtod (Depends-on): Add stdbool, stdlib.
50274         (configure.ac): Turn on module indicator.
50275         * modules/strtod-tests: New module.
50276
50277 2008-03-29  Eric Blake  <ebb9@byu.net>
50278
50279         Fix ftell on mingw.
50280         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
50281         * modules/ftell-tests (Depends-on): Add binary-io.
50282         * modules/ftello-tests (Depends-on): Likewise.
50283         * tests/test-ftell.c (main): Enhance test to cover behavior after
50284         ungetc.  Enforce binary mode.
50285         * tests/test-ftello.c (main): Likewise.
50286
50287         Pass test-freadseek on cygwin.
50288         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
50289         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
50290         ungetc buffer.
50291
50292         * tests/test-fflush2.c (main): Fix typo.
50293
50294 2008-03-29  Bruno Haible  <bruno@clisp.org>
50295
50296         * tests/test-fflush2.c (main): Temporarily disable the contents of
50297         this test.
50298         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
50299         Reported by Eric Blake.
50300
50301 2008-03-28  Simon Josefsson  <simon@josefsson.org>
50302
50303         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
50304         (GC_SHA224_DIGEST_SIZE): Add.
50305
50306         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
50307         (gc_hash_digest_length): Likewise.
50308         (gc_hash_buffer): Likewise.
50309
50310 2008-03-25  Bruno Haible  <bruno@clisp.org>
50311
50312         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
50313         detail which gettext release to use.
50314         Reported by Simon Josefsson.
50315
50316 2008-03-26  Jim Meyering  <meyering@redhat.com>
50317
50318         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
50319         * modules/gnumakefile (clean-GNUmakefile): Also, use
50320         test ... && ... || : syntax rather than if-then ... fi.
50321
50322         gnumakefile: Don't double-quote-expand $(VPATH) value.
50323         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
50324
50325 2008-03-24  Eric Blake  <ebb9@byu.net>
50326
50327         Alter GNUmakefile to install into top directory.
50328         * modules/maintainer-makefile: Split, and add dependency...
50329         * modules/gnumakefile: to this new module.
50330         * build-aux/GNUmakefile: Move...
50331         * top/GNUmakefile: ...here.
50332         * build-aux/maint.mk: Move...
50333         * top/maint.mk: ...here.
50334         * MODULES.html.sh (Support for maintaining...): Document new
50335         module.
50336
50337 2008-03-23  Bruno Haible  <bruno@clisp.org>
50338
50339         * gnulib-tool: New options --vc-files, --no-vc-files.
50340         (func_usage): Document them.
50341         (vc_files): New variable.
50342         (func_import): Consider vc_files.
50343         (func_create_testdir): Set vc_files to empty.
50344         Suggested by Jim Meyering and Karl Berry.
50345
50346 2008-03-23  Bruno Haible  <bruno@clisp.org>
50347
50348         Fix regex compilation error on HP-UX 11.
50349         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
50350         * modules/regex (Files): Add m4/mbstate_t.m4.
50351         Reported by Ton Voon <ton.voon@altinity.com>.
50352
50353 2008-03-23  Bruno Haible  <bruno@clisp.org>
50354
50355         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
50356
50357 2008-03-23  Eric Blake  <ebb9@byu.net>
50358             Bruno Haible  <bruno@clisp.org>
50359
50360         Install files from top/ in the destination directory.
50361         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
50362         augmentation also for the files from top/.
50363         (func_import, func_create_testdir): Rewrite file names:
50364         top/filename -> filename.
50365
50366 2008-03-23  Bruno Haible  <bruno@clisp.org>
50367
50368         Tweak "gnulib --version" output.
50369         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
50370
50371 2008-03-23  Bruno Haible  <bruno@clisp.org>
50372
50373         Tweak "gnulib --version" output.
50374         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
50375         rather than contents of ChangeLog, when possible.
50376
50377 2008-03-21  Eric Blake  <ebb9@byu.net>
50378
50379         More --version tweaks.
50380         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
50381         date of last ChangeLog entry.
50382
50383 2008-03-21  Jim Meyering  <meyering@redhat.com>
50384
50385         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
50386
50387 2008-03-20  Eric Blake  <ebb9@byu.net>
50388
50389         VPATH fix.
50390         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
50391
50392 2008-03-20  Simon Josefsson  <simon@josefsson.org>
50393
50394         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
50395         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
50396
50397 2008-03-20  Eric Blake  <ebb9@byu.net>
50398
50399         Sync GNUmakefile with coreutils.
50400         * build-aux/GNUmakefile (have-Makefile): Rename...
50401         (_have-Makefile): ...to this, for namespace consideration.
50402         (GNUmakefile.cfg): Include, if present.
50403         (_autoreconf): Define a default.
50404         (_is-dist-target): New rule for rebuilds to pick up intra-release
50405         version.
50406         (maint-cfg.mk): Rename...
50407         (cfg.mk): ...to this.
50408
50409 2008-03-18  Jim Meyering  <meyering@redhat.com>
50410
50411         New script and module: mktempd
50412         * MODULES.html.sh (maint+release support): Add mktempd.
50413         * build-aux/mktempd: New file.
50414         * modules/mktempd: New file.
50415
50416 2008-03-15  Jim Meyering  <meyering@redhat.com>
50417
50418         Undo last change.
50419         * lib/sha1.c, lib/md5.c: 63 != ~63.
50420         Reported by Andreas Schwab.
50421
50422         sha1.c, md5.c: Hoist a redundant expression.
50423         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
50424         "ctx->buflen" only once, before calling *_process_block.
50425         * lib/md5.c (md5_process_bytes): Likewise.
50426
50427 2008-03-14  Eric Blake  <ebb9@byu.net>
50428
50429         Bump copyright year in files generated by gnulib-tool.
50430         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
50431         gnulib-tool, rather than hard-coding it.
50432
50433         Fix 'gnulib-tool --version' output to work with git.
50434         * gnulib-tool (func_gnulib_dir): New function, extracted from...
50435         (startup): ...here.
50436         (func_version): Use it to invoke git-version-gen, rather than
50437         relying on CVS keyword expansion.  Modernize wording.
50438         (cvsdatestamp, last_checkin_date, version): Kill unused
50439         variables.
50440
50441 2008-03-12  Jim Meyering  <meyering@redhat.com>
50442
50443         Recognize optional cast of the argument to free.
50444         * build-aux/useless-if-before-free: Update regexps.
50445
50446         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
50447
50448 2008-03-11  Bruno Haible  <bruno@clisp.org>
50449
50450         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
50451         by a single package.
50452         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
50453         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
50454         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
50455         Reported by Sam Steingold <sds@gnu.org>.
50456
50457 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
50458
50459         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
50460         repositories.
50461
50462 2008-03-11  Bruno Haible  <bruno@clisp.org>
50463
50464         Avoid conflicts between local macro definitions.
50465         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
50466         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
50467
50468 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
50469             Bruno Haible  <bruno@clisp.org>
50470
50471         Make va_copy work with some version of xlc on AIX 5.1.
50472         * lib/stdarg.in.h: New file.
50473         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
50474         On AIX, use a <stdarg.h> file substitute.
50475         * modules/stdarg (Files): Add lib/stdarg.in.h.
50476         (Depends-on): Add include_next.
50477         (Makefile.am): Build a stdarg.h substitute if requested.
50478         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
50479
50480 2008-03-10  Bruno Haible  <bruno@clisp.org>
50481
50482         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
50483         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
50484         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
50485
50486 2008-03-10  Bruno Haible  <bruno@clisp.org>
50487
50488         * modules/stdlib (Depends-on): Add include_next, remove
50489         absolute-header.
50490
50491 2008-03-09  Bruno Haible  <bruno@clisp.org>
50492
50493         * lib/freadahead.h (freadahead): Document more precisely.
50494         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
50495         the sum of both buffer sizes.
50496         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
50497         * NEWS: Document the change.
50498
50499 2008-03-09  Bruno Haible  <bruno@clisp.org>
50500
50501         Extend freadptr to return also the buffer size.
50502         * lib/freadptr.h (freadptr): Add sizep argument.
50503         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
50504         (freadptr): Add sizep argument. Determine buffer size like freadahead
50505         does.
50506         * tests/test-freadptr.c: Don't include freadahead.h.
50507         (main): Adapt for new calling convention of freadptr.
50508         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
50509         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
50510         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
50511         tests/test-freadptr2.sh.
50512         (Depends): Remove freadahead.
50513         (TESTS): Add test-freadptr2.sh.
50514         (check_PROGRAMS): Add test-freadptr2.
50515
50516 2008-03-09  Bruno Haible  <bruno@clisp.org>
50517
50518         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
50519         Report and solution by Simon Josefsson.
50520
50521 2008-03-06  Bruno Haible  <bruno@clisp.org>
50522
50523         Make fflush after ungetc work on BSD platforms.
50524         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
50525         * tests/test-fflush2.c: New file.
50526         * tests/test-fflush2.sh: New file.
50527         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
50528         tests/test-fflush2.c.
50529         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
50530         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
50531
50532 2008-03-06  Eric Blake  <ebb9@byu.net>
50533
50534         Likewise for ftello.
50535         * modules/ftello (Dependencies): Add extensions.
50536         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
50537
50538 2008-03-06  Bruno Haible  <bruno@clisp.org>
50539
50540         * modules/fseeko (Dependencies): Add extensions.
50541         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
50542         Needed on glibc systems.
50543
50544 2008-03-06  Bruno Haible  <bruno@clisp.org>
50545
50546         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
50547         email address.
50548         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
50549
50550 2008-03-06  Bruno Haible  <bruno@clisp.org>
50551
50552         * users.txt: Add libgnupdf.
50553
50554 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
50555
50556         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
50557         (Header File Substitutes, Function Substitutes,
50558         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
50559         (Build robot for gnulib): Fix typo.
50560
50561 2008-03-06  Bruno Haible  <bruno@clisp.org>
50562
50563         * doc/gnulib-tool.texi (VCS Issues): Small updates.
50564         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
50565
50566 2008-03-06  Bruno Haible  <bruno@clisp.org>
50567
50568         * doc/func.texi: New file, extracted from doc/gnulib.texi.
50569         * doc/gnulib.texi: Include it.
50570
50571 2008-03-06  Simon Josefsson  <simon@josefsson.org>
50572
50573         * modules/func (License): Change license to unlimited; there was
50574         no LGPL parts in the module anyway.
50575
50576 2008-03-06  Simon Josefsson  <simon@josefsson.org>
50577
50578         * modules/__func__: Renamed to modules/func.
50579         * modules/__func__-tests: Renamed to modules/func-tests.
50580         * tests/test-__func__.c: Renamed to tests/test-func.c.
50581         * m4/__func__.m4: Renamed to m4/func.m4.
50582         * doc/gnulib.texi (__func__): Section renamed to func.
50583         Suggested by Eric Blake <ebb9@byu.net>.
50584
50585 2008-03-06  Simon Josefsson  <simon@josefsson.org>
50586
50587         * doc/gnulib.texi (__func__): Use C99 terminology when talking
50588         about __func__.  Make example self-contained.  Suggested by Eric
50589         Blake <ebb9@byu.net>.
50590
50591         * tests/test-__func__.c (main): Avoid extraneous () around __func.
50592         Suggested by Eric Blake <ebb9@byu.net>.
50593
50594 2008-03-06  Simon Josefsson  <simon@josefsson.org>
50595
50596         * modules/__func__: New file.
50597         * modules/__func__-tests: New file.
50598         * tests/test-__func__.c: New file.
50599         * m4/__func__.m4: New file.
50600         * doc/gnulib.texi (__func__): Document __func__ module.
50601
50602 2008-03-05  Simon Josefsson  <simon@josefsson.org>
50603
50604         * modules/byteswap (License): Re-license as LGPLv2+.
50605
50606 2008-03-05  Simon Josefsson  <simon@josefsson.org>
50607
50608         * doc/Makefile: Add pdf target.
50609
50610 2008-03-05  Simon Josefsson  <simon@josefsson.org>
50611
50612         * modules/inline (License): Use 'unlimited', since there are only
50613         *.m4 files in this module.
50614
50615 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
50616             Bruno Haible  <bruno@clisp.org>
50617
50618         Add support for HP C 7.1 on OpenVMS 8.3.
50619         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
50620
50621 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
50622
50623         Update VMS specifics.
50624         * lib/getopt.c [VMS]: Remove include of unixlib.h.
50625
50626 2008-03-02  Jim Meyering  <meyering@redhat.com>
50627
50628         Remove the last dependency on the "free" module.
50629         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
50630         Reported by Bob Proulx.
50631
50632         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
50633
50634         Remove useless "if" tests before free.  Deprecate "free" module.
50635         * doc/posix-functions/free.texi: Mention that this
50636         module is no longer useful.
50637         * modules/free (Notice): Say this module is obsolete.
50638         * modules/readutmp (Depends-on): Remove free.
50639         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
50640         * lib/putenv.c (putenv): Likewise.
50641         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
50642         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
50643         * tests/test-c-strcasestr.c (main): Likewise.
50644         * tests/test-c-strstr.c (main): Likewise.
50645         * tests/test-mbscasestr1.c (main): Likewise.
50646         * tests/test-mbscasestr2.c (main): Likewise.
50647         * tests/test-mbsstr1.c (main): Likewise.
50648         * tests/test-mbsstr2.c (main): Likewise.
50649         * tests/test-memmem.c (main): Likewise.
50650         * tests/test-strcasestr.c (main): Likewise.
50651         * tests/test-striconv.c (main): Likewise.
50652         * tests/test-striconveh.c (main): Likewise.
50653         * tests/test-striconveha.c (main): Likewise.
50654         * tests/test-strstr.c (main): Likewise.
50655
50656         * build-aux/git-version-gen: Adjust a comment and the Usage string.
50657
50658         bootstrap: sync from coreutils again
50659         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
50660
50661 2008-03-01  Jim Meyering  <meyering@redhat.com>
50662
50663         bootstrap: sync from coreutils
50664         * build-aux/bootstrap (update_po_files): Copy a .po file into place
50665         also when the target doesn't exist.
50666
50667 2008-03-01  Eric Blake  <ebb9@byu.net>
50668
50669         Fix bugs in last patch.
50670         * lib/memchr2.c (memchr2): Fix typo.
50671         * tests/test-memchr2.c: Test previous bug, and don't use GNU
50672         extension.
50673         Reported by Bruce Korb.
50674
50675         New module 'memchr2'.
50676         * modules/memchr2: New file.
50677         * modules/memchr2-tests: Likewise.
50678         * lib/memchr2.h: Likewise.
50679         * lib/memchr2.c: Likewise, based on memchr.c.
50680         * tests/test-memchr2.c: New test.
50681         * MODULES.html.sh (String handling): Add memchr2.
50682
50683 2008-02-29  Bruno Haible  <bruno@clisp.org>
50684
50685         * modules/freadseek-tests: New file.
50686         * tests/test-freadseek.sh: New file.
50687         * tests/test-freadseek.c: New file.
50688
50689         New module 'freadseek'.
50690         * modules/freadseek: New file.
50691         * lib/freadseek.h: New file.
50692         * lib/freadseek.c: New file.
50693         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
50694
50695 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
50696
50697         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
50698         wydawca.
50699
50700         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
50701         program_invocation_name and program_invocation_short_name are
50702         present.
50703
50704 2008-02-28  Bruno Haible  <bruno@clisp.org>
50705
50706         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
50707         * tests/test-freadptr.sh: Also test non-seekable stdin.
50708
50709 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
50710
50711         * build-aux/bootstrap (source_base, m4_base)
50712         (doc_base, tests_base): New variables.
50713         (gnulib_tool_options): Do not hardcode base directories, use
50714         the above variables instead.
50715
50716 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
50717
50718         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
50719
50720 2008-02-28  Bruno Haible  <bruno@clisp.org>
50721
50722         * modules/freadptr-tests: New file.
50723         * tests/test-freadptr.sh: New file.
50724         * tests/test-freadptr.c: New file.
50725
50726         New module 'freadptr'.
50727         * modules/freadptr: New file.
50728         * lib/freadptr.h: New file.
50729         * lib/freadptr.c: New file.
50730         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
50731
50732 2008-02-26  Karl Berry  <karl@freefriends.org>
50733
50734         Sync from Libtool:
50735         * libltdl/argz.c (argz_add, argz_count): New functions.
50736         * libltdl/argz.in.h: Declare them.
50737         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
50738
50739 2008-02-22  Bruno Haible  <bruno@clisp.org>
50740
50741         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
50742         is a pointer type.  Needed for HP-UX 10.
50743         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
50744         * doc/posix-functions/gmtime_r.texi: Likewise.
50745         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
50746
50747 2008-02-24  Bruno Haible  <bruno@clisp.org>
50748
50749         * modules/environ-tests: New file.
50750         * tests/test-environ.c: New file.
50751
50752         New module 'environ'.
50753         * modules/environ: New file.
50754         * lib/unistd.in.h (environ): New declaration.
50755         * m4/environ.m4: New file.
50756         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
50757         after use.
50758         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
50759         HAVE_DECL_ENVIRON.
50760         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
50761         HAVE_DECL_ENVIRON.
50762         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
50763         wrong claim that 'environ' is missing on some systems.
50764         * modules/execute (Depends-on): Add environ.
50765         * lib/execute.c (environ): Remove fallback declaration.
50766         * modules/pipe (Depends-on): Add environ.
50767         * lib/pipe.c (environ): Remove fallback declaration.
50768         * modules/setenv (Depends-on): Add environ.
50769         * lib/setenv.c (environ): Remove fallback declaration.
50770         * modules/unsetenv (Depends-on): Add environ.
50771         * lib/unsetenv.c (environ): Remove fallback declaration.
50772         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
50773         m4/environ.m4.
50774         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
50775         (gl_PREREQ_UNSETENV): Likewise.
50776
50777 2008-02-24  Bruno Haible  <bruno@clisp.org>
50778
50779         * doc/posix-functions/environ.texi: Document the MacOS X problem.
50780
50781 2008-02-20  Bob Proulx  <bob@proulx.com>
50782
50783         Enable use of older two part flavor 'git describe'.
50784         * build-aux/git-version-gen: If using the older two part flavor of
50785         git version then recreate the third part now present in the
50786         newer three part flavor of git describe.
50787
50788 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
50789
50790         * lib/fts.c (fts_build): Typo correction to comment.
50791
50792 2008-02-17  Bruno Haible  <bruno@clisp.org>
50793
50794         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
50795         generating no-op conflicts.
50796
50797 2008-02-17  Bruno Haible  <bruno@clisp.org>
50798
50799         Speed up by 10%.
50800         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
50801         result_entries, rather than an index-based loop.
50802
50803 2008-02-17  Bruno Haible  <bruno@clisp.org>
50804
50805         Speed up by 25%.
50806         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
50807         'hashcode_cached'.
50808         (entry_create): New function.
50809         (entry_hashcode): Use the cached hashcode if possible.
50810         (read_changelog_file, try_split_merged_entry): Use entry_create.
50811
50812 2008-02-17  Bruno Haible  <bruno@clisp.org>
50813
50814         Speed up from O(n^2) to O(n) for long ChangeLog files.
50815         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
50816         (read_changelog_file): Change implementation of entries_reversed list
50817         to rbtreehash.
50818         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
50819
50820 2008-02-17  Bruno Haible  <bruno@clisp.org>
50821
50822         New option --split-merged-entry.
50823         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
50824         (find_paragraph_end, try_split_merged_entry): New functions.
50825         (long_options): Add option --split-merged-entry.
50826         (usage): Document option --split-merged-entry.
50827         (main): Implement option --split-merged-entry.
50828         Reported by Eric Blake.
50829
50830 2008-02-17  Bruno Haible  <bruno@clisp.org>
50831
50832         * lib/git-merge-changelog.c: Include c-strstr.h.
50833         (main): Support the "git pull --rebase" situation.
50834         * modules/git-merge-changelog (Depends-on): Add c-strstr.
50835         Reported by Eric Blake.
50836
50837 2008-02-16  Eric Blake  <ebb9@byu.net>
50838
50839         Avoid doubling \ in common case of "c-maybe" quoting style.
50840         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
50841         eliding outer quotes.
50842         * lib/quotearg.h: Document this.
50843         * tests/test-quotearg.c (result_strings, inputs, results_g)
50844         (flag_results, locale_results): Test it by adding a new string to
50845         each test group.
50846         (compare_strings): Test new string.
50847
50848 2008-02-13  Eric Blake  <ebb9@byu.net>
50849
50850         Avoid trigraph quoting in default output.
50851         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
50852         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
50853         unless explicitly requested.
50854         * tests/test-quotearg.c (flag_results, main): Add additional tests.
50855
50856 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
50857
50858         Don't rely on signed integer overflowing to negative value.
50859         * lib/getugroups.c (getugroups): Include <limits.h>.
50860         Instead, compare against INT_MAX, and increment only if the test passes.
50861
50862 2008-02-13  Jim Meyering  <meyering@redhat.com>
50863         and Eric Blake  <ebb9@byu.net>
50864
50865         Avoid shadowing warning and compile errors on Linux.
50866         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
50867         forwarding macros on Linux.
50868         (dcgettext): Define a stub, for Linux.
50869         (results_g, main): Avoid warnings.
50870
50871 2008-02-12  Eric Blake  <ebb9@byu.net>
50872
50873         Silence warning in last patch.
50874         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
50875
50876         Quotearg part 4: add tests, fix c-maybe colon quoting.
50877         * lib/quotearg.h: Improve documentation.
50878         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
50879         escapes when adding outer quotes.  When quoting trigraphs, use
50880         valid C notation.  When quoting NUL, omit extra characters if next
50881         character is not digit.  Alter prototype.
50882         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
50883         callers.
50884         * modules/quotearg-tests: New module.
50885         * tests/test-quotearg.c: New test.
50886
50887 2008-02-07  Eric Blake  <ebb9@byu.net>
50888
50889         Quotearg part 3: add flag to control outer quote elision.
50890         * lib/quotearg.h (c_maybe_quoting_style): New style.
50891         (enum quoting_flags): Better documentation of flags.
50892         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
50893         c-maybe style.
50894         (quotearg_buffer_restyled): Handle new flag to elide outer
50895         quotes.
50896
50897         Quotearg part 2: add flag that can control NUL elision.
50898         * lib/quotearg.h (set_quoting_flags): New prototype.
50899         * lib/quotearg.c (struct quoting_options): Add flag field.
50900         (set_quoting_flags): New function.
50901         (quotearg_buffer_restyled): Add flags parameter.
50902         (quotearg_alloc_mem): Set the flag if length cannot be returned.
50903         (quotearg_n_options): Set the flag, since length cannot be
50904         returned.
50905         (quoting_options_from_style): Default flags correctly.
50906
50907         Quotearg part 1: more wrappers, restore quotearg_char state.
50908         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
50909         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
50910         (quotearg_colon_mem): New wrappers.
50911         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
50912         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
50913         functions.
50914         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
50915         (quotearg_colon_mem): New functions.
50916
50917 2008-02-11  Bruno Haible  <bruno@clisp.org>
50918
50919         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
50920         library in the current directory: it does not work with parallel make.
50921         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50922
50923 2008-02-11  Bruno Haible  <bruno@clisp.org>
50924
50925         * .gitattributes: New file.
50926
50927 2008-02-11  Jim Meyering  <meyering@redhat.com>
50928
50929         useless-if-before-free: Fix reversed exit values.
50930         * build-aux/useless-if-before-free: Use correct values
50931         for EXIT_MATCH and EXIT_NO_MATCH.
50932
50933         * build-aux/useless-if-before-free: Close stdout carefully.
50934
50935 2008-02-10  Bruno Haible  <bruno@clisp.org>
50936
50937         New module 'git-merge-changelog'.
50938         * modules/git-merge-changelog: New file.
50939         * lib/git-merge-changelog.c: New file.
50940
50941 2008-02-10  Jim Meyering  <meyering@redhat.com>
50942
50943         useless-if-before-free: New option: --list (-l).
50944
50945         useless-if-before-free: Don't exit immediately upon open failure.
50946         * build-aux/useless-if-before-free: Exit 2 for errors.
50947         Upon failure to open a file, don't exit immediately.
50948         Rather, just warn and continue with any remaining files.
50949
50950 2008-02-10  Bruno Haible  <bruno@clisp.org>
50951
50952         New abstract list operation 'node_set_value'.
50953         * lib/gl_list.h (gl_list_node_set_value): New function.
50954         (struct gl_list_implementation): New field node_set_value.
50955         * lib/gl_list.c (gl_list_node_set_value): New function.
50956         * lib/gl_array_list.c (gl_array_node_set_value): New function.
50957         (gl_array_list_implementation): Update.
50958         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
50959         (gl_carray_list_implementation): Update.
50960         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
50961         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
50962         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
50963         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
50964         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
50965         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
50966         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
50967         Update.
50968         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
50969         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
50970         (gl_sublist_list_implementation): Update.
50971
50972 2008-02-10  Bruno Haible  <bruno@clisp.org>
50973
50974         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
50975         Needed when ELEMENT is #defined to 'some_type *'.
50976
50977 2008-02-10  Jim Meyering  <meyering@redhat.com>
50978
50979         New script and module: useless-if-before-free
50980         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
50981         * build-aux/useless-if-before-free: New file.
50982         * modules/useless-if-before-free: New file.
50983
50984         * build-aux/gitlog-to-changelog: Use committer date, not author date.
50985
50986         xstrtol_error: Fix typo.
50987         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
50988         s/exit_failure/exit_status/.
50989
50990 2008-02-09  Jim Meyering  <meyering@redhat.com>
50991
50992         New script and module: gitlog-to-changelog
50993         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
50994         * modules/gitlog-to-changelog: New file.
50995         * build-aux/gitlog-to-changelog: New file.
50996
50997 2008-02-08  Jim Meyering  <meyering@redhat.com>
50998
50999         Avoid two "parameter unused" warnings.
51000         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
51001         Mark "st" as used.
51002
51003         Use "git COMMAND", not "git-COMMAND".
51004         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
51005         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
51006         * build-aux/git-version-gen: Use "git status", not "git-status".
51007
51008 2008-02-07  Bruno Haible  <bruno@clisp.org>
51009
51010         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
51011         Avoids a crash on Windows Vista.
51012         Reported by Adam Strzelecki <ono@java.pl> via
51013         Simon Josefsson <simon@josefsson.org>.
51014
51015 2008-02-06  Bruno Haible  <bruno@clisp.org>
51016
51017         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
51018         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
51019         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
51020         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
51021         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
51022         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
51023         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
51024         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
51025         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
51026         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51027         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51028         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51029         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
51030         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51031         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51032         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
51033         left-adjust flag.
51034         * tests/test-snprintf-posix.h (test_function): Likewise.
51035         * tests/test-sprintf-posix.h (test_function): Likewise.
51036         * tests/test-vasprintf-posix.c (test_function): Likewise.
51037         * doc/posix-functions/fprintf.texi: Update.
51038         * doc/posix-functions/printf.texi: Update.
51039         * doc/posix-functions/snprintf.texi: Update.
51040         * doc/posix-functions/sprintf.texi: Update.
51041         * doc/posix-functions/vfprintf.texi: Update.
51042         * doc/posix-functions/vprintf.texi: Update.
51043         * doc/posix-functions/vsnprintf.texi: Update.
51044         * doc/posix-functions/vsprintf.texi: Update.
51045         Reported by Peter Fales <psfales@alcatel-lucent.com>.
51046
51047 2008-02-06  Bruno Haible  <bruno@clisp.org>
51048
51049         Fix bug introduced on 2008-01-26.
51050         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
51051
51052 2008-02-06  Bruno Haible  <bruno@clisp.org>
51053
51054         Fix bug introduced on 2007-06-10.
51055         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
51056         !NEED_PRINTF_FLAG_ZERO.
51057
51058 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
51059
51060         getloadavg: use libperfstat on AIX5
51061         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
51062
51063 2008-02-03  Bruno Haible  <bruno@clisp.org>
51064
51065         * lib/diffseq.h: Add comments about required #includes.
51066         Reported by Michael Biggs <gnulib@doubleplum.net>.
51067
51068 2008-02-01  Bruno Haible  <bruno@clisp.org>
51069
51070         * users.txt: Add gnuit.
51071
51072 2008-01-31  Bruno Haible  <bruno@clisp.org>
51073
51074         * lib/md4.c (set_uint32): Mark as inline.
51075         * lib/md5.c (set_uint32): Likewise.
51076         * lib/sha1.c (set_uint32): Likewise.
51077         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
51078         * m4/md5.m4 (gl_MD5): Likewise.
51079         * m4/sha1.m4 (gl_SHA1): Likewise.
51080
51081 2008-01-31  Jim Meyering  <meyering@redhat.com>
51082
51083         Use "sizeof VAR", rather than a literal "4".
51084         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
51085         * lib/md4.c (md4_read_ctx): Likewise.
51086         * lib/sha1.c (sha1_read_ctx): Likewise.
51087
51088 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51089
51090         * tests/test-sha1.c: New file, based on test-md5.c.
51091
51092         * modules/crypto/sha1-tests: New file.
51093
51094 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51095
51096         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
51097
51098 2008-01-31  Jim Meyering  <meyering@redhat.com>
51099
51100         Prefer "sizeof v" over the equivalent "4".
51101         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
51102         * lib/md5.c (set_uint32): Likewise.
51103         * lib/sha1.c (set_uint32): Likewise.
51104
51105 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51106
51107         * lib/sha1.c (set_uint32): Mark function as static.
51108
51109 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51110
51111         md2: clarify comments to say that alignment is not required.
51112         * lib/md2.h: Remove warning about alignment in comment.
51113         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
51114         never been required.
51115
51116 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51117
51118         md4: adapt alignment constraint fix from sha1.
51119         * lib/md4.c (set_uint32): New function, from sha1.c
51120         (md4_read_ctx): Use it.
51121         (md4_finish_ctx): Doc fix.
51122         * lib/md4.h: Doc fix.
51123
51124 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51125
51126         md5: adapt alignment constraint fix from sha1.
51127         * lib/md5.c (set_uint32): New function, from sha1.c
51128         (md5_read_ctx): Use it.
51129         (md5_finish_ctx): Doc fix.
51130         * lib/md5.h: Doc fix.
51131
51132 2008-01-30  Peter Palfrader  <weasel@debian.org>
51133
51134         sha1: remove the result buffer alignment constraint
51135         * lib/sha1.c (set_uint32): New function.
51136         (sha1_read_ctx): Rewrite to remove the result buffer alignment
51137         constraint.
51138         (sha1_finish_ctx): Remove comment warning about alignment constraint.
51139         * lib/sha1.h: Likewise.
51140
51141 2008-01-30  Andreas Schwab  <schwab@suse.de>
51142             Bruno Haible  <bruno@clisp.org>
51143
51144         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
51145         correct definition of LDBL_MIN_EXP.
51146
51147 2008-01-30  Karl Berry  <karl@gnu.org>
51148
51149         * config/srclist-update: try to preserve x bit on updates.
51150         * config/srclistvars.sh: update for karl.
51151
51152 2008-01-29  Jim Meyering  <meyering@redhat.com>
51153
51154         vasnprintf.c: Avoid warning about unused label
51155         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
51156         "overflow" label definition and associated code with the
51157         same cpp condition that guards the sole use of that label.
51158
51159 2008-01-26  Bruno Haible  <bruno@clisp.org>
51160
51161         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
51162         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
51163         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
51164         * lib/isnanl-nolibm.h (isnanl): Likewise.
51165         Reported by Paul Eggert <eggert@cs.ucla.edu>.
51166
51167 2008-01-26  Bruno Haible  <bruno@clisp.org>
51168
51169         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
51170         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
51171
51172 2008-01-26  Bruno Haible  <bruno@clisp.org>
51173
51174         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
51175         GCC >= 4.0 built-in.
51176         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
51177
51178 2008-01-26  Bruno Haible  <bruno@clisp.org>
51179
51180         Rename isnan, applicable to 'double' only, to isnand.
51181         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
51182         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
51183         (configure.ac): Update.
51184         (Include): Replace "isnan.h" with "isnand.h".
51185         * m4/isnand.m4: Renamed from m4/isnan.m4.
51186         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
51187         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
51188         instead of isnan.c.
51189         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
51190         instead of HAVE_ISNAN_IN_LIBC.
51191         (isnand): Renamed from isnan.
51192         * lib/isnand.c: New file.
51193         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
51194         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
51195         (Makefile.am): Update.
51196         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
51197         Include isnand.h instead of isnan.h.
51198         (main): Test isnand instead of isnan.
51199         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
51200         isnan-nolibm.
51201         * modules/frexp (Depends-on): Likewise.
51202         * modules/frexp-tests (Depends-on): Likewise.
51203         * modules/frexp-nolibm (Depends-on): Likewise.
51204         * modules/frexp-nolibm-tests (Depends-on): Likewise.
51205         * modules/isfinite (Depends-on): Likewise.
51206         * modules/round-tests (Depends-on): Likewise.
51207         * modules/signbit (Depends-on): Likewise.
51208         * modules/signbit-tests (Depends-on): Likewise.
51209         * modules/snprintf-posix (Depends-on): Likewise.
51210         * modules/sprintf-posix (Depends-on): Likewise.
51211         * modules/trunc-tests (Depends-on): Likewise.
51212         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
51213         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
51214         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
51215         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
51216         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
51217         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
51218         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
51219         * modules/vasnprintf-posix (Depends-on): Likewise.
51220         * modules/vasprintf-posix (Depends-on): Likewise.
51221         * modules/vfprintf-posix (Depends-on): Likewise.
51222         * modules/vsnprintf-posix (Depends-on): Likewise.
51223         * modules/vsprintf-posix (Depends-on): Likewise.
51224         * lib/frexp.c: Include isnand.h instead of isnan.h.
51225         (ISNAN): Set to isnand instead of isnan.
51226         * lib/isfinite.c: Include isnand.h instead of isnan.h.
51227         (gl_isfinited): Use isnand instead of isnan.
51228         * lib/signbitd.c: Include isnand.h instead of isnan.h.
51229         (gl_signbitd): Use isnand instead of isnan.
51230         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
51231         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
51232         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
51233         (main): Use isnand instead of isnan.
51234         * tests/test-round1.c: Include isnand.h.
51235         (main): Use isnand instead of isnan.
51236         * tests/test-round2.c: Include isnand.h instead of isnan.h.
51237         (ISNAN): Set to isnand instead of isnan.
51238         * tests/test-trunc1.c: Include isnand.h.
51239         (main): Use isnand instead of isnan.
51240         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
51241         (equal): Use isnand instead of isnan.
51242         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
51243         isnand-nolibm.
51244         * NEWS: Mention the change.
51245
51246 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
51247             Bruno Haible  <bruno@clisp.org>
51248
51249         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
51250         the GCC builtins for signbits are present and set
51251         REPLACE_SIGNBIT_USING_GCC if so.
51252         * lib/math.in.h (signbit): Define using GCC builtins if
51253         REPLACE_SIGNBIT_USING_GCC is set.
51254         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
51255         REPLACE_SIGNBIT_USING_GCC.
51256         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
51257
51258 2008-01-25  Jim Meyering  <meyering@redhat.com>
51259
51260         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
51261         * lib/poll.c: Include <config.h>, not "config.h".
51262         * tests/test-getaddrinfo.c: Likewise.
51263
51264 2008-01-25  Simon Josefsson  <simon@josefsson.org>
51265
51266         * modules/sockets-tests: New file.
51267
51268 2008-01-24  Simon Josefsson  <simon@josefsson.org>
51269
51270         * modules/sockets: New module, can be used to call WSA_Startup and
51271         WSA_Cleanup when needed.
51272
51273         * lib/sockets.h, lib/sockets.c: New files.
51274
51275         * m4/sockets.m4: New file.
51276
51277         * tests/test-sockets.c: New file.
51278
51279 2008-01-19  Bruno Haible  <bruno@clisp.org>
51280
51281         * doc/posix-headers: Renamed from doc/headers.
51282         * doc/posix-functions: Renamed from doc/functions.
51283         * doc/gnulib.texi: Update.
51284
51285 2008-01-19  Bruno Haible  <bruno@clisp.org>
51286
51287         * doc/glibc-functions/strcasestr.texi: Include contents of
51288         doc/functions/strcasestr.texi, fixing the list of platforms.
51289         * doc/functions/strcasestr.texi: Remove file.
51290
51291 2008-01-19  Bruno Haible  <bruno@clisp.org>
51292
51293         * doc/glibc-functions/memmem.texi: Include contents of
51294         doc/functions/memmem.texi.
51295         * doc/functions/memmem.texi: Remove file.
51296
51297 2008-01-18  Bruno Haible  <bruno@clisp.org>
51298
51299         * doc/glibc-functions/*.texi: New files.
51300         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
51301         to use the new files.
51302
51303 2008-01-17  Bruno Haible  <bruno@clisp.org>
51304
51305         * tests/test-gethostname.c (main): Fix printf statement.
51306
51307 2008-01-17  Simon Josefsson  <simon@josefsson.org>
51308
51309         * modules/gethostname-tests: New file.
51310
51311         * tests/test-gethostname.c: New file.
51312
51313 2008-01-17  Simon Josefsson  <simon@josefsson.org>
51314
51315         * lib/gethostname.c: Include string.h unconditionally, strncpy is
51316         used by the UNAME case.  Reported by Bruno Haible
51317         <bruno@clisp.org>.
51318
51319 2008-01-17  Eric Blake  <ebb9@byu.net>
51320
51321         Convert c-strcasestr to be more efficient.
51322         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
51323         (Depends-on): Add c-strcase, remove malloca, strnlen.
51324         * tests/test-c-strcasestr.c (main): Enhance test.
51325         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
51326
51327 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
51328
51329         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
51330         Use it in creating po/Makevars.
51331
51332 2008-01-15  Simon Josefsson  <simon@josefsson.org>
51333
51334         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
51335         Applications that requires it should initialize libgcrypt
51336         manually.
51337
51338 2008-01-16  Simon Josefsson  <simon@josefsson.org>
51339
51340         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
51341
51342 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
51343
51344         Fix problem with getdate on mingw32 reported by Simon Josefsson
51345         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
51346         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
51347         tzname", when deciding whether to declare tzname.
51348         * lib/strftime.c (tzname): Likewise.
51349
51350 2008-01-15  Bruno Haible  <bruno@clisp.org>
51351
51352         Work around a MacOS X 10.5 bug in frexpl().
51353         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
51354         * doc/functions/frexpl.texi: Document the bug.
51355         Reported by Elias Pipping <pipping@gentoo.org>.
51356
51357 2008-01-14  Eric Blake  <ebb9@byu.net>
51358
51359         Touch up previous patch.
51360         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
51361         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
51362
51363         Convert strcasestr module to use Two-Way algorithm.
51364         * modules/strcasestr-simple: New module, based on the old
51365         strcasestr, but with Two-Way rather than KMP.
51366         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
51367         * lib/string.in.h (rpl_strcasestr): Declare.
51368         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
51369         performance.
51370         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
51371         * modules/string (Makefile.am): Support strcasestr.
51372         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
51373         * modules/strcasestr-tests (Depends-on): Check for alarm.
51374         * tests/test-strcasestr.c: Augment test.
51375         * lib/str-two-way.h: Clean up stray macro.
51376         * NEWS: Document new module.
51377         * MODULES.html.sh (string handling): Likewise.
51378         * doc/functions/strcasestr.texi: New file.
51379         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
51380         here, since it is not a POSIX function.
51381
51382 2008-01-14  Colin Watson  <cjwatson@debian.org>
51383             Bruno Haible  <bruno@clisp.org>
51384
51385         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
51386         works fine; if not, set REPLACE_STRSIGNAL.
51387         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
51388         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
51389         REPLACE_STRSIGNAL.
51390         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
51391         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
51392         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
51393
51394 2008-01-14  Bruno Haible  <bruno@clisp.org>
51395
51396         * modules/strsignal (Include): Change to <string.h>.
51397
51398 2008-01-14  Colin Watson  <cjwatson@debian.org>
51399
51400         * modules/argp (Notice): Add a notice recommending to change
51401         XGETTEXT_OPTIONS.
51402         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
51403
51404 2008-01-13  Colin Watson  <cjwatson@debian.org>
51405
51406         * modules/strsignal-tests: New file.
51407         * tests/test-strsignal.c: New file.
51408
51409         * lib/strsignal.c: New file, from glibc with modifications.
51410         * lib/siglist.h: New file, from glibc with modifications.
51411         * lib/string.in.h (strsignal): New declaration.
51412         * m4/strsignal.m4: New file.
51413         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
51414         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
51415         * modules/strsignal: New file.
51416         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
51417         HAVE_DECL_STRSIGNAL.
51418
51419 2008-01-13  Bruno Haible  <bruno@clisp.org>
51420
51421         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
51422         locale encoding is not ASCII. Needed for OpenBSD 4.0.
51423         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
51424         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
51425
51426 2008-01-13  Bruno Haible  <bruno@clisp.org>
51427
51428         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
51429         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
51430         * lib/argp.h (__attribute__): Likewise.
51431         * lib/c-stack.c (__attribute__): Likewise.
51432         * lib/error.h (__attribute__): Likewise.
51433         * lib/fts.c (__attribute__): Likewise.
51434         * lib/openat.h (__attribute__): Likewise.
51435         * lib/stdio.in.h (__attribute__): Likewise.
51436         * lib/string.in.h (__attribute__): Likewise.
51437         * lib/utimens.c (__attribute__): Likewise.
51438         * lib/vasnprintf.h (__attribute__): Likewise.
51439         * lib/xalloc.h (__attribute__): Likewise.
51440         * lib/xprintf.h (__attribute__): Likewise.
51441         * lib/xstrtol.h (__attribute__): Likewise.
51442         * lib/xvasprintf.h (__attribute__): Likewise.
51443
51444 2008-01-12  Bruno Haible  <bruno@clisp.org>
51445
51446         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
51447         * doc/glibc-headers/a.out.texi: New file.
51448         * doc/glibc-headers/aliases.texi: New file.
51449         * doc/glibc-headers/alloca.texi: New file.
51450         * doc/glibc-headers/ar.texi: New file.
51451         * doc/glibc-headers/argp.texi: New file.
51452         * doc/glibc-headers/argz.texi: New file.
51453         * doc/glibc-headers/byteswap.texi: New file.
51454         * doc/glibc-headers/crypt.texi: New file.
51455         * doc/glibc-headers/endian.texi: New file.
51456         * doc/glibc-headers/envz.texi: New file.
51457         * doc/glibc-headers/err.texi: New file.
51458         * doc/glibc-headers/error.texi: New file.
51459         * doc/glibc-headers/execinfo.texi: New file.
51460         * doc/glibc-headers/fpu_control.texi: New file.
51461         * doc/glibc-headers/fstab.texi: New file.
51462         * doc/glibc-headers/fts.texi: New file.
51463         * doc/glibc-headers/getopt.texi: New file.
51464         * doc/glibc-headers/ieee754.texi: New file.
51465         * doc/glibc-headers/ifaddrs.texi: New file.
51466         * doc/glibc-headers/libintl.texi: New file.
51467         * doc/glibc-headers/mcheck.texi: New file.
51468         * doc/glibc-headers/mntent.texi: New file.
51469         * doc/glibc-headers/obstack.texi: New file.
51470         * doc/glibc-headers/paths.texi: New file.
51471         * doc/glibc-headers/printf.texi: New file.
51472         * doc/glibc-headers/pty.texi: New file.
51473         * doc/glibc-headers/resolv.texi: New file.
51474         * doc/glibc-headers/shadow.texi: New file.
51475         * doc/glibc-headers/sysexits.texi: New file.
51476         * doc/glibc-headers/ttyent.texi: New file.
51477
51478 2008-01-12  Jim Meyering  <meyering@redhat.com>
51479
51480         announce-gen: emit Gnulib's git-based version string.
51481         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
51482         New option --gnulib-version=V, where V is expected to be
51483         the output of running git describe in the gnulib directory.
51484         (get_tool_versions): Request feedback on xdelta.  I suspect it's
51485         not useful, and plan to stop publishing an xdelta file with each
51486         coreutils release.
51487
51488         * build-aux/announce-gen: Also check for lzma-compressed files.
51489
51490 2008-01-11  Bruno Haible  <bruno@clisp.org>
51491
51492         * tests/test-memmem.c (main): Increase maximum allowed time.
51493         * tests/test-strstr.c (main): Likewise.
51494
51495 2008-01-11  Bruno Haible  <bruno@clisp.org>
51496
51497         * doc/functions/memmem.texi: Add more precisions about platforms.
51498         * doc/functions/strstr.texi: Likewise.
51499
51500 2008-01-10  Eric Blake  <ebb9@byu.net>
51501
51502         * m4/strstr.m4: Delete cruft from copy-n-paste.
51503         Reported by Bruno Haible.
51504
51505 2008-01-10  Bruno Haible  <bruno@clisp.org>
51506
51507         Make c-strstr rely on strstr.
51508         * lib/c-strstr.c: Don't include str-kmp.h.
51509         (c_strstr): Define in terms of strstr.
51510         * modules/c-strstr (Files): Remove lib/str-kmp.h.
51511         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
51512
51513 2008-01-10  Bruno Haible  <bruno@clisp.org>
51514
51515         * doc/gnulib.texi (String Functions in C Locale): New section.
51516         * doc/c-ctype.texi: New file.
51517         * doc/c-strcase.texi: New file.
51518         * doc/c-strcaseeq.texi: New file.
51519         * doc/c-strcasestr.texi: New file.
51520         * doc/c-strstr.texi: New file.
51521         * doc/c-strtod.texi: New file.
51522         * doc/c-strtold.texi: New file.
51523
51524 2008-01-10  Eric Blake  <ebb9@byu.net>
51525
51526         * lib/relocatable.h: Fix a comment.
51527
51528 2008-01-10  Eric Blake  <ebb9@byu.net>
51529
51530         Share two-way algorithm.
51531         * lib/str-two-way.h: New file, merged from...
51532         * lib/memmem.c: ...here...
51533         * lib/strstr.c: ...and here.
51534         * modules/memmem (Files): Use it.
51535         * modules/strstr (Files): Likewise.
51536
51537         Avoid quadratic strstr implementations.
51538         * lib/strstr.c: New file.
51539         * m4/strstr.m4: Likewise.
51540         * modules/strstr: Likewise.
51541         * modules/strstr-tests: Likewise.
51542         * tests/test-strstr.c: Likewise.
51543         * lib/string.in.h (rpl_strstr): Declare.
51544         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
51545         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
51546         * modules/string (Makefile.am): Likewise.
51547         * MODULES.html.sh (string handling): Mention new module.
51548         * doc/functions/strstr.texi (strstr): Document the bug.
51549
51550 2008-01-10  Bruno Haible  <bruno@clisp.org>
51551
51552         * lib/relocatable.h (relocate): State whether result is freshly
51553         allocated or not.
51554         * lib/relocatable.c (relocate): Return a freshly allocated string
51555         instead of a pointer to a privately held string.
51556         Reported by Sylvain Beucler <beuc@gnu.org>.
51557
51558 2008-01-10  Colin Watson  <cjwatson@debian.org>
51559
51560         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
51561         s/S_ISNLK/S_ISLNK/.
51562
51563 2008-01-09  Bruno Haible  <bruno@clisp.org>
51564
51565         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
51566         and other files.
51567         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
51568         if it's only a guess.
51569         * modules/memmem: Simplify by depending on memmem-simple.
51570
51571 2008-01-09  Bruno Haible  <bruno@clisp.org>
51572
51573         Work around OpenBSD 4.0 tdelete() bug.
51574         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
51575         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
51576         macros and don't redefine the enum values.
51577         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
51578         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
51579         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
51580
51581 2008-01-09  Bruno Haible  <bruno@clisp.org>
51582
51583         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
51584         (main): Don't perform the tests if setlocale did not install a UTF-8
51585         locale. Needed on OpenBSD 4.0.
51586         * modules/wcwidth-tests (Depends-on): Add localcharset.
51587
51588 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
51589
51590         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
51591         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
51592         * NEWS: announce this.
51593         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
51594
51595 2008-01-09  Simon Josefsson  <simon@josefsson.org>
51596         and Eric Blake  <ebb9@byu.net>
51597
51598         Add memmem-simple module.
51599         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
51600         (gl_FUNC_MEMMEM): Separate performance from presence checks.
51601         * modules/memmem-simple: New file.
51602         * modules/memmem (Description): Tweak.
51603         * MODULES.html.sh (string handling): Mention new module.
51604         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
51605         addressed by memmem-simple.
51606         * NEWS: Document the difference.
51607
51608 2008-01-09  Eric Blake  <ebb9@byu.net>
51609
51610         Give gcc some memmem optimization hints.
51611         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
51612         (strcasestr): Declare as pure.
51613         * modules/memmem (Maintainer): Claim my implementation.
51614
51615 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51616
51617         Support AIX 6.1 and higher.
51618         * build-aux/config.libpath: Likewise.
51619         * build-aux/config.rpath: Likewise.
51620
51621 2008-01-08  Jim Meyering  <meyering@redhat.com>
51622             Bruno Haible  <bruno@clisp.org>
51623
51624         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
51625         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
51626         Reported by Peter Fales in
51627         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
51628
51629 2008-01-08  Bruno Haible  <bruno@clisp.org>
51630
51631         * modules/unictype/category-of (Depends-on): Add
51632         unictype/category-none.
51633         * modules/unictype/category-and-tests (Depends-on): Add
51634         unictype/category-{L,N,Lu,Nd}.
51635         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
51636         * modules/unictype/category-or-tests (Depends-on): Add
51637         unictype/category-{L,N}.
51638         * modules/unictype/category-name-tests (Depends-on): Add
51639         unictype/category-{Z,Nl}.
51640         Reported by Simon Josefsson.
51641
51642 2008-01-08  Bruno Haible  <bruno@clisp.org>
51643
51644         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
51645         convention better.
51646         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
51647         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
51648         Reported by Peter Miller <millerp@canb.auug.org.au>.
51649
51650 2008-01-08  Eric Blake  <ebb9@byu.net>
51651
51652         Rewrite memmem to guarantee linear complexity without malloc.
51653         * lib/memmem.c (memmem): Use Two-Way rather than
51654         Knuth-Morris-Pratt, to allow O(1) space usage.
51655         (critical_factorization, two_way_short_needle)
51656         (two_way_long_needle): New functions.
51657         (knuth_morris_pratt): Delete.
51658         * modules/memmem (Depends-on): No longer need malloca or stdbool.
51659         Add stdint.
51660         * tests/test-memmem.c (main): Add tests for periodic needle and
51661         sublinear performance.
51662         * doc/functions/memmem.texi (memmem): Document other deficiencies
51663         in cygwin and older glibc.
51664
51665 2008-01-08  Bruno Haible  <bruno@clisp.org>
51666
51667         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
51668         augmentation.
51669
51670 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
51671
51672         Add a configure time option: --disable-acl.
51673         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
51674         AC_ARG_ENABLE(acl).
51675
51676 2008-01-06  Simon Josefsson  <simon@josefsson.org>
51677
51678         * tests/test-localename.c: Don't include obsolete "setenv.h".
51679
51680         * modules/localename-tests (Depends-on): Need unsetenv.
51681
51682 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51683
51684         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
51685
51686 2008-01-06  Colin Watson  <cjwatson@debian.org>
51687
51688         * users.txt: Add man-db.
51689
51690 2008-01-07  Bruno Haible  <bruno@clisp.org>
51691
51692         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
51693         previous section name.
51694
51695 2008-01-07  Bruno Haible  <bruno@clisp.org>
51696
51697         * lib/progname.c (set_program_name): Don't strip off a leading
51698         "lt-" prefix outside a .libs directory.
51699         Suggested by Paul Eggert.
51700
51701 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
51702             Bruno Haible  <bruno@clisp.org>
51703
51704         Improve memory cleanup in 'relocatable' module.
51705         * lib/relocatable.h (compute_curr_prefix): Change return type to
51706         'char *'.
51707         * lib/relocatable.c (compute_curr_prefix): Change return type to
51708         'char *'. Free curr_installdir after use.
51709         (relocate): Free curr_prefix_better after use.
51710         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
51711
51712 2008-01-01  Bruno Haible  <bruno@clisp.org>
51713
51714         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
51715         failure on older glibc systems.
51716         Reported by Peter Fales <psfales@alcatel-lucent.com>.
51717
51718 2008-01-05  Eric Blake  <ebb9@byu.net>
51719
51720         Avoid quadratic system memmem.
51721         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
51722         Reported by Ralf Wildenhues.
51723
51724         Fix memmem test for mingw.
51725         * modules/memmem-tests (configure.ac): Check for alarm.
51726         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
51727         it.
51728         * doc/functions/memmem.texi: New file.
51729         * doc/gnulib.texi (Function Substitutes): Add memmem.
51730         Reported by Bruno Haible.
51731
51732 2008-01-04  Bruno Haible  <bruno@clisp.org>
51733
51734         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
51735         Require gl_HEADER_STRINGS_H_DEFAULTS, not
51736         gl_HEADER_STRING_H_DEFAULTS.
51737
51738 2008-01-04  Eric Blake  <ebb9@byu.net>
51739
51740         Shorten duration of memmem test.
51741         * tests/test-memmem.c (main): Use alarm to declare failure if test
51742         is taking too long.
51743         Reported by Ralf Wildenhues.
51744
51745 2007-12-21  Simon Josefsson  <simon@josefsson.org>
51746
51747         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
51748         string, needed by strerror.
51749
51750 2008-01-03  Colin Watson  <cjwatson@debian.org>
51751             Bruno Haible  <bruno@clisp.org>
51752
51753         * doc/gnulib-tool.texi (Localization): New section.
51754
51755 2008-01-02  Bruno Haible  <bruno@clisp.org>
51756
51757         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
51758         variables to 'unsigned char *' type.
51759         Reported by Paul Eggert.
51760
51761 2008-01-02  Jim Meyering  <jim@meyering.net>
51762
51763         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
51764
51765 2007-12-31  Jim Meyering  <jim@meyering.net>
51766
51767         Avoid use of private FTS type name.
51768         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
51769
51770 2007-12-30  Karl Berry  <karl@gnu.org>
51771
51772         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
51773         work around defect in Texinfo and/or the standalone Info browser.
51774
51775 2007-12-30  Bruno Haible  <bruno@clisp.org>
51776
51777         Unify 5 copies of the KMP code.
51778         * lib/str-kmp.h: New file.
51779         * lib/c-strcasestr.c: Include str-kmp.h.
51780         (knuth_morris_pratt): Remove function.
51781         (c_strcasestr): Update.
51782         * lib/c-strstr.c: Include str-kmp.h.
51783         (knuth_morris_pratt): Remove function.
51784         (c_strcasestr): Update.
51785         * lib/mbscasestr.c: Include str-kmp.h.
51786         (knuth_morris_pratt_unibyte): Remove function.
51787         * lib/mbsstr.c: Include str-kmp.h.
51788         (knuth_morris_pratt_unibyte): Remove function.
51789         * lib/strcasestr.c: Include str-kmp.h.
51790         (knuth_morris_pratt): Remove function.
51791         (strcasestr): Update.
51792         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
51793         * modules/c-strstr (Files): Likewise.
51794         * modules/mbscasestr (Files): Likewise.
51795         * modules/mbsstr (Files): Likewise.
51796         * modules/strcasestr (Files): Likewise.
51797         Suggested by Paul Eggert.
51798
51799 2007-12-30  Bruno Haible  <bruno@clisp.org>
51800
51801         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
51802         defined.
51803
51804 2007-12-30  Bruno Haible  <bruno@clisp.org>
51805
51806         * lib/xmalloca.h: Include xalloc.h.
51807         (xnmalloca): New macro.
51808
51809 2007-12-30  Bruno Haible  <bruno@clisp.org>
51810
51811         * lib/malloca.h (nmalloca): New macro.
51812         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
51813         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
51814         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
51815         knuth_morris_pratt_multibyte): Likewise.
51816         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
51817         knuth_morris_pratt_multibyte): Likewise.
51818         * lib/memmem.c (knuth_morris_pratt): Likewise.
51819         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
51820
51821 2007-12-25  Bruno Haible  <bruno@clisp.org>
51822
51823         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
51824         * lib/glob.c: Don't include openat.h.
51825         (link_exists2_p): Add back the code that deals with the
51826         !GLOB_ALTDIRFUNC case.
51827         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
51828         let it do the filename concatenation.
51829         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
51830         * modules/glob (Depends-on): Remove openat.
51831
51832 2007-12-31  Bruno Haible  <bruno@clisp.org>
51833
51834         * modules/dirfd (License): Change to LGPLv2+.
51835         Approved by Jim Meyering.
51836
51837 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
51838
51839         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
51840         when multiplying M by sizeof (size_t).
51841
51842 2007-12-10  Martin Lambers  <marlam@marlam.de>
51843
51844         Override getpagesize on mingw.
51845         * lib/getpagesize.c: New file.
51846         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
51847         * modules/getpagesize (Files): Add lib/getpagesize.c.
51848         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
51849         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
51850         REPLACE_GETPAGESIZE.
51851         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
51852
51853 2007-12-25  Bruno Haible  <bruno@clisp.org>
51854
51855         * modules/localcharset (Notice): New field.
51856         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
51857         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
51858
51859 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
51860             Bruno Haible  <bruno@clisp.org>
51861
51862         Avoid using the syntax symbol() in formatted documentation.
51863         * MODULES.html.sh (func_module): When replacing symbol() with a
51864         hyperlink, remove the parentheses. Show an error if some remain.
51865         Recognize and render the '...' syntax.
51866         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
51867         Rework. Add paragraph about GCC's inlining.
51868         * doc/alloca.texi: Likewise.
51869         * doc/error.texi: Remove parentheses from symbol reference.
51870         * doc/gnulib-intro.texi: Likewise.
51871         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
51872         * modules/fnmatch (Description): Reword to say "the ... function".
51873         * modules/full-read (Description): Likewise.
51874         * modules/full-write (Description): Likewise.
51875         * modules/safe-read (Description): Likewise.
51876         * modules/safe-write (Description): Likewise.
51877         * modules/strchrnul (Description): Likewise.
51878         * modules/trim (Description): Likewise.
51879         * modules/error (Description): Remove parentheses from symbol
51880         references.
51881         * modules/verror (Description): Likewise.
51882         Reported by Karl Berry.
51883
51884 2007-12-25  Bruno Haible  <bruno@clisp.org>
51885
51886         Fixup after 2007-10-16 commit.
51887         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
51888
51889 2007-12-24  Bruno Haible  <bruno@clisp.org>
51890
51891         Make --enable-relocatable work with DESTDIR.
51892         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
51893         to compute installdir from destprog.
51894         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
51895         also set the RELOC_DESTDIR variable.
51896         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
51897
51898 2007-12-24  Bruno Haible  <bruno@clisp.org>
51899
51900         Fix link error due to xalloc_die().
51901         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
51902         of xreadlink.
51903         * lib/relocwrapper.c: Update comments.
51904         * build-aux/install-reloc: Remove xreadlink.c from file list.
51905         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
51906         xreadlink.c.
51907         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
51908
51909 2007-12-24  Bruno Haible  <bruno@clisp.org>
51910
51911         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
51912         * lib/setenv.h: Remove file.
51913         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
51914         lib/setenv.h.
51915         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
51916         (Depends-on): Add stdlib.
51917         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
51918         gl_FUNC_UNSETENV.
51919         (Include): Replace setenv.h with <stdlib.h>.
51920         * modules/unsetenv: New file.
51921         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
51922         * lib/unsetenv.c: Include <stdlib.h> first.
51923         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
51924         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
51925         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
51926         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
51927         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
51928         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
51929         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
51930         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
51931         * doc/functions/unsetenv.texi: Update.
51932         * modules/xsetenv (Depends-on): Add unsetenv.
51933         * modules/getdate (Depends-on): Likewise.
51934         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
51935         * lib/xsetenv.c: Don't include setenv.h.
51936         * lib/getdate.y: Likewise.
51937         * lib/relocwrapper.c: Likewise.
51938         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
51939         (Depends-on): Add stdlib.
51940         * NEWS: Mention the changes.
51941         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
51942
51943 2007-12-23  Bruno Haible  <bruno@clisp.org>
51944
51945         * lib/memmem.c (memmem): Use lowercase variable names. Tab
51946         indentation.
51947
51948 2007-12-23  Bruno Haible  <bruno@clisp.org>
51949
51950         * lib/c-strcasestr.c: Add more comments.
51951         * lib/c-strstr.c: Likewise.
51952         * lib/mbscasestr.c: Likewise.
51953         * lib/mbsstr.c: Likewise.
51954         * lib/strcasestr.c: Likewise.
51955         * lib/memmem.c: Likewise.
51956
51957 2007-12-23  Bruno Haible  <bruno@clisp.org>
51958
51959         * tests/test-memmem.c: Include <string.h> first.
51960
51961 2007-12-22  Bruno Haible  <bruno@clisp.org>
51962
51963         * gnulib-tool (func_create_testdir): Change $auxdir while generating
51964         the contents of $testsbase.
51965         Reported by Ralf Wildenhues.
51966
51967 2007-12-22  Bruno Haible  <bruno@clisp.org>
51968
51969         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
51970         two variables local_ldadd_before, local_ldadd_last.
51971
51972 2007-12-20  Eric Blake  <ebb9@byu.net>
51973
51974         Work around circular library issue when cross-compiling.
51975         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
51976         that progname.o does not need to pull in rpl_memcmp.
51977
51978 2007-12-19  Eric Blake  <ebb9@byu.net>
51979
51980         Fix memmem to avoid O(n^2) worst-case complexity.
51981         * lib/memmem.c (knuth_morris_pratt): New function.
51982         (memmem): Use it if first few naive iterations fail.
51983         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
51984         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
51985         * modules/memchr (License): Likewise.
51986         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
51987         malloca.
51988         * tests/test-memmem.c: Rewrite, borrowing ideas from
51989         test-mbsstr1.c; the old version wouldn't even compile!
51990         * modules/memmem-tests: New file.
51991         * lib/string.in.h (rpl_memmem): Add declaration.
51992         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
51993         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
51994         REPLACE_MEMMEM.
51995
51996 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
51997
51998         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
51999         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
52000         before any system include files, and undef after them all.  This
52001         should fix a problem on VMS reported by John E. Malmberg in
52002         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
52003
52004 2007-12-17  Eric Blake  <ebb9@byu.net>
52005
52006         Revert addition of verify, for BSD/OS.
52007         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
52008         can't handle large files, for the sake of obsolete platforms.
52009         * modules/fseeko (Depends-on): Remove verify.
52010         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
52011         * doc/functions/ftello.texi (ftello): Likewise.
52012         * doc/functions/fgetpos.texi (fgetpos): Likewise.
52013         Reported by Larry Jones.
52014
52015 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
52016
52017         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
52018         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
52019
52020 2007-12-17  Jim Meyering  <meyering@redhat.com>
52021
52022         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
52023         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
52024         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
52025         * modules/getcwd (Depends-on): Add openat.
52026         Reported by Petr Salinger.
52027
52028 2007-12-17  Bruno Haible  <bruno@clisp.org>
52029
52030         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
52031         avoid a segmentation fault of the configure test on x86_64 systems.
52032
52033 2007-12-15  Jim Meyering  <meyering@redhat.com>
52034
52035         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
52036
52037 2007-12-13  Eric Blake  <ebb9@byu.net>
52038
52039         Another fseek test.
52040         * tests/test-fseek.c (main): Also test ungetc handling.
52041         * tests/test-fseeko.c (main): Likewise.
52042         * modules/fseeko (Depends-on): Add verify.
52043         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
52044         large.
52045         Reported by Larry Jones.
52046
52047         Fix fseeko on mingw.
52048         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
52049         seek.
52050
52051         Beef up fseek tests.
52052         * tests/test-fseek.c (main): Also test eof handling.
52053         * tests/test-fseeko.c (main): Likewise.
52054         Reported by Larry Jones.
52055
52056 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
52057
52058         Fix fseeko on BSD-based platforms.
52059         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
52060         successful seek.
52061
52062 2007-12-12  Eric Blake  <ebb9@byu.net>
52063
52064         Allow circular dependency of separate libtests.a
52065         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
52066         when use_libtests.
52067
52068 2007-12-11  Eric Blake  <ebb9@byu.net>
52069
52070         Fix bug with -0.0L in previous patch.
52071         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
52072         * tests/test-isnan.c (main): Also test on zeroes.
52073         * tests/test-isnanf.c (main): Likewise.
52074         * tests/test-isnanl.h (main): Likewise.
52075
52076         Detect pseudo-denormals on x86 even when cross-compiling.
52077         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
52078         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
52079         invalid bit patterns that happen to satisfy ==.
52080
52081         Avoid link failures with separate libtests.a.
52082         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
52083         last, to satisfy circular dependencies.
52084
52085 2007-12-11  Eric Blake  <ebb9@byu.net>
52086         and Bruno Haible  <bruno@clisp.org>
52087
52088         Fix OpenBSD 4.0 <float.h> handling of long double.
52089         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
52090         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
52091         * doc/headers/float.texi (float.h): Document OpenBSD bug.
52092
52093 2007-12-11  Jim Meyering  <meyering@redhat.com>
52094
52095         * users.txt: Add libvirt.
52096
52097         Support versions of autoconf prior to 2.59c.
52098         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
52099         if it is not already defined.
52100
52101 2007-12-09  Bruno Haible  <bruno@clisp.org>
52102
52103         Let 'gnulib-tool --import' collect sources needed for the tests in
52104         tests/ rather than in lib/.
52105         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
52106         argument. If true, add rules to generate libtests.a, and put libtests.a
52107         into $(LDADD). Consider source files in subdirectories and set
52108         uses_subdirs.
52109         (func_emit_initmacro_start, func_emit_initmacro_end,
52110         func_emit_initmacro_done): Pass all arguments explicitly.
52111         (func_import): Determine two module lists main_modules,
52112         testsrelated_modules. Determine use_libtests. Determine two variables
52113         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
52114         instead of just sed_transform_lib_file. Determine two variables
52115         main_files and testsrelated_files. Compute 'files' as the union of
52116         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
52117         func_add_or_update. In the generated gnulib-comp.m4, collect the
52118         object files for tests/ in different variables than those for lib/.
52119         Substitute LIBTESTS_LIBDEPS.
52120         (func_create_testdir): Combine the uses_subdirs results from
52121         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
52122
52123 2007-12-09  Bruno Haible  <bruno@clisp.org>
52124
52125         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
52126         the build-aux directory.
52127
52128 2007-12-09  Bruno Haible  <bruno@clisp.org>
52129
52130         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
52131         introduced on 2006-09-09.
52132
52133 2007-12-07  Jim Meyering  <meyering@redhat.com>
52134
52135         Let these macros work also with autoconf-2.59.
52136         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
52137         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
52138         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
52139
52140 2007-12-06  Jim Meyering  <meyering@redhat.com>
52141
52142         Avoid a configure-time syntax error in gl_FUNC_ACL.
52143         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
52144         function in each branch, before testing the cache variable.
52145
52146 2007-12-04  Eric Blake  <ebb9@byu.net>
52147
52148         Make scripts executable.
52149         * build-aux/config.guess: Add execute permissions.
52150         * build-aux/config.sub: Likewise.
52151         * build-aux/gendocs.sh: Likewise.
52152
52153         Fix frexp on mingw.
52154         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
52155         cross-compiling.
52156         * doc/functions/frexp.texi (frexp): Document the bug.
52157
52158         Make cygwin fseeko check more reliable.
52159         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
52160         version numbers, rather than unrelated feature check.
52161         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
52162         * doc/functions/ftello.texi (ftello): Likewise.
52163         Reported by Bruno Haible.
52164
52165         * m4/strerror.m4: Bump version number.
52166
52167 2007-12-03  Bruno Haible  <bruno@clisp.org>
52168
52169         * doc/functions/mprotect.texi: Mention the mingw problem.
52170
52171 2007-12-03  Eric Blake  <ebb9@byu.net>
52172
52173         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
52174         REPLACE_STRERROR is initialized before this macro.
52175
52176 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
52177
52178         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
52179         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
52180         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
52181         put -lsec in even for programs other than 'ls'.  This fixes a problem
52182         for gettext reported by Bruno Haible in
52183         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
52184         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
52185         Add support for Solaris 10.  This isn't efficient, but should get the
52186         job done for now.
52187
52188 2007-12-03  James Youngman  <jay@gnu.org>
52189
52190         * doc/regexprops-generic.texi: change "an close-group" to "a
52191         close-group" and "illegal" to "not allowed".
52192
52193 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52194
52195         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
52196         pr_byname.h. Needed for the rare case when the maintainer has done
52197         "make maintainer-clean" in the source directory and then attempts a
52198         build outside the source directory.
52199         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
52200         scripts_byname.h.
52201
52202 2007-12-02  Martin Lambers <marlam@marlam.de>
52203             Bruno Haible  <bruno@clisp.org>
52204
52205         * lib/getpagesize.h: Remove file.
52206         * lib/unistd.in.h: Include declaration of getpagesize here.
52207         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
52208         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
52209         HAVE_SYS_PARAM_H.
52210         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
52211         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
52212         * modules/getpagesize (Files): Remove lib/getpagesize.h.
52213         (Depends-on): Add unistd.
52214         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52215         (Include): Use <unistd.h> instead of getpagesize.h.
52216         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
52217         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
52218         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
52219         gl_GETPAGESIZE invocation, already handled by module dependency.
52220         * lib/pagealign_alloc.c: Don't include getpagesize.h.
52221
52222 2007-12-02  Bruno Haible  <bruno@clisp.org>
52223
52224         * modules/strings-tests: New file.
52225         * tests/test-strings.c: New file.
52226
52227         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
52228         * lib/strings.in.h: New file.
52229         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
52230         * m4/strings_h.m4: New file.
52231         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
52232         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
52233         * modules/strings: New file.
52234         * modules/string (Makefile.am): Update.
52235         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
52236         Reported by Karl Berry.
52237
52238 2007-12-01  Eric Blake  <ebb9@byu.net>
52239
52240         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
52241         accomodate fix in cygwin 1.5.25.
52242
52243 2007-12-01  Jim Meyering  <meyering@redhat.com>
52244
52245         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
52246         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
52247         that would inhibit utf8-optimization of a regexp containing line-
52248         or buffer-anchors, e.g., `^', `$'.
52249
52250 2007-11-30  Bruno Haible  <bruno@clisp.org>
52251
52252         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
52253         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
52254         glthread_recursive_lock_init.
52255         * lib/lock.c (glthread_recursive_lock_init)
52256         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
52257         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
52258
52259 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
52260
52261         New function qset_acl, like set_acl but with syscall semantics.
52262         * lib/acl.h (qset_acl): New decl.
52263         * lib/acl.c (qset_acl): New function.
52264         (set_acl): Use new function.  Use more-consistent diagnostics.
52265
52266 2007-11-28  Jim Meyering  <meyering@redhat.com>
52267
52268         * modules/physmem (License): Change from GPL to LGPLv2+.
52269
52270 2007-11-26  Bruno Haible  <bruno@clisp.org>
52271
52272         * lib/vasnprintf.c (decode_long_double): Don't abort if the
52273         'long double' type has excess precision.
52274         Reported by Jim Meyering in
52275         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
52276
52277 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52278
52279         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
52280         Sync from <http://gnu.org/licenses>.
52281         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
52282         with license text from same location.
52283         * doc/maintain.texi, doc/standards.texi:  Sync from
52284         <http://savannah.gnu.org/projects/gnustandards>.
52285
52286 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
52287         and Jim Meyering  <meyering@redhat.com>
52288
52289         Adjust getdate' grammar to accept a slightly more regular language.
52290         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
52291         Before, the former was rejected.
52292         * lib/getdate.y (digits_to_date_time): New function, factored
52293         out of ...
52294         (number): ...here.  Just call digits_to_date_time.
52295         (hybrid): New non-terminal to handle an <unsigned number,
52296         signed relative offset> sequence consistently.
52297
52298 2007-11-18  Jim Meyering  <meyering@redhat.com>
52299
52300         Pull my changes from coreutils:
52301         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
52302         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
52303         use of $gnulib_tool_option_extras, so that it's separated from the
52304         preceding argument.
52305
52306         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
52307         * build-aux/bootstrap (cp_mark_as_generated): Create any required
52308         parent destination directories before copying a file into place.
52309
52310 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
52311
52312         bootstrap: work also with 4-argument variant of AC_INIT
52313         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
52314
52315 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
52316
52317         Port test-getaddrinfo to Solaris.
52318         Problem reported by Bruno Haible in
52319         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
52320         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
52321         explanation of setting 'hints'.
52322         Don't reject an implementation merely because it returns EAI_SERVICE.
52323         (EAI_SERVICE): Define to 0 if not defined.
52324
52325 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
52326
52327         The license of gnu-make and posix-shell is now "GPLed build tool".
52328         * modules/gnu-make (License): Likewise.
52329         * modules/posix-shell (License): Likewise.
52330
52331         New module posix-shell, for determining a POSIX shell
52332         or perhaps something that is close enough to a POSIX shell.
52333         * m4/posix-shell.m4: New file.
52334         * modules/posix-shell: New file.
52335
52336         * MODULES.html.sh: Mention new module.
52337
52338         New module gnu-make, for determining whether we're using GNU Make.
52339         * m4/gnu-make.m4: New file.
52340         * modules/gnu-make: New file.
52341         * MODULES.html.sh: Mention new module.
52342
52343 2007-11-14  Jim Meyering  <meyering@redhat.com>
52344
52345         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
52346         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
52347         use this macro to create a function _definition_.
52348         Remove useless "#undef ARGMATCH_DIE".
52349
52350 2007-11-14  Bruno Haible  <bruno@clisp.org>
52351
52352         * lib/config.charset: Update for OpenBSD 4.1.
52353         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
52354
52355 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
52356
52357         Document 64-bit #if problems in stdint.texi.
52358         * doc/headers/stdint.texi (stdint.h): Mention problems with
52359         64-bit-#if, and how to work around them.
52360
52361         Don't insist on 'long long int' support in the preprocessor.  It
52362         breaks too many things.  For example, PRIdMAX still uses a 'long
52363         long int' format with the latest Sun compiler, even though
52364         HAVE_LONG_LONG_INT isn't defined due to that compiler's
52365         preprocessor problem.  This causes the latest coreutils to dump
52366         core on Solaris 10 sparc with the Sun C compiler.
52367         Instead, fix the 2007-10-16 problem in a different way, by evaluating
52368         the troublesome expressions at configure-time, not at #if-time.
52369         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
52370         preprocessor.
52371         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
52372         compile-time C checks, done at 'configure'-time.
52373         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
52374         * modules/inttypes (Makefile): Substitute the new symbols that
52375         gl_INTTYPES_H now generates.
52376         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
52377
52378 2007-11-12  Bruno Haible  <bruno@clisp.org>
52379
52380         Tests for Unicode character classification functions.
52381
52382         * modules/unictype/bidicategory-byname-tests: New file.
52383         * modules/unictype/bidicategory-name-tests: New file.
52384         * modules/unictype/bidicategory-of-tests: New file.
52385         * modules/unictype/bidicategory-test-tests: New file.
52386         * modules/unictype/block-list-tests: New file.
52387         * modules/unictype/block-of-tests: New file.
52388         * modules/unictype/block-test-tests: New file.
52389         * modules/unictype/category-C-tests: New file.
52390         * modules/unictype/category-Cc-tests: New file.
52391         * modules/unictype/category-Cf-tests: New file.
52392         * modules/unictype/category-Cn-tests: New file.
52393         * modules/unictype/category-Co-tests: New file.
52394         * modules/unictype/category-Cs-tests: New file.
52395         * modules/unictype/category-L-tests: New file.
52396         * modules/unictype/category-Ll-tests: New file.
52397         * modules/unictype/category-Lm-tests: New file.
52398         * modules/unictype/category-Lo-tests: New file.
52399         * modules/unictype/category-Lt-tests: New file.
52400         * modules/unictype/category-Lu-tests: New file.
52401         * modules/unictype/category-M-tests: New file.
52402         * modules/unictype/category-Mc-tests: New file.
52403         * modules/unictype/category-Me-tests: New file.
52404         * modules/unictype/category-Mn-tests: New file.
52405         * modules/unictype/category-N-tests: New file.
52406         * modules/unictype/category-Nd-tests: New file.
52407         * modules/unictype/category-Nl-tests: New file.
52408         * modules/unictype/category-No-tests: New file.
52409         * modules/unictype/category-P-tests: New file.
52410         * modules/unictype/category-Pc-tests: New file.
52411         * modules/unictype/category-Pd-tests: New file.
52412         * modules/unictype/category-Pe-tests: New file.
52413         * modules/unictype/category-Pf-tests: New file.
52414         * modules/unictype/category-Pi-tests: New file.
52415         * modules/unictype/category-Po-tests: New file.
52416         * modules/unictype/category-Ps-tests: New file.
52417         * modules/unictype/category-S-tests: New file.
52418         * modules/unictype/category-Sc-tests: New file.
52419         * modules/unictype/category-Sk-tests: New file.
52420         * modules/unictype/category-Sm-tests: New file.
52421         * modules/unictype/category-So-tests: New file.
52422         * modules/unictype/category-Z-tests: New file.
52423         * modules/unictype/category-Zl-tests: New file.
52424         * modules/unictype/category-Zp-tests: New file.
52425         * modules/unictype/category-Zs-tests: New file.
52426         * modules/unictype/category-and-not-tests: New file.
52427         * modules/unictype/category-and-tests: New file.
52428         * modules/unictype/category-byname-tests: New file.
52429         * modules/unictype/category-name-tests: New file.
52430         * modules/unictype/category-none-tests: New file.
52431         * modules/unictype/category-of-tests: New file.
52432         * modules/unictype/category-or-tests: New file.
52433         * modules/unictype/category-test-withtable-tests: New file.
52434         * modules/unictype/combining-class-tests: New file.
52435         * modules/unictype/ctype-alnum-tests: New file.
52436         * modules/unictype/ctype-alpha-tests: New file.
52437         * modules/unictype/ctype-blank-tests: New file.
52438         * modules/unictype/ctype-cntrl-tests: New file.
52439         * modules/unictype/ctype-digit-tests: New file.
52440         * modules/unictype/ctype-graph-tests: New file.
52441         * modules/unictype/ctype-lower-tests: New file.
52442         * modules/unictype/ctype-print-tests: New file.
52443         * modules/unictype/ctype-punct-tests: New file.
52444         * modules/unictype/ctype-space-tests: New file.
52445         * modules/unictype/ctype-upper-tests: New file.
52446         * modules/unictype/ctype-xdigit-tests: New file.
52447         * modules/unictype/decimal-digit-tests: New file.
52448         * modules/unictype/digit-tests: New file.
52449         * modules/unictype/mirror-tests: New file.
52450         * modules/unictype/numeric-tests: New file.
52451         * modules/unictype/property-alphabetic-tests: New file.
52452         * modules/unictype/property-ascii-hex-digit-tests: New file.
52453         * modules/unictype/property-bidi-arabic-digit-tests: New file.
52454         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
52455         * modules/unictype/property-bidi-block-separator-tests: New file.
52456         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
52457         * modules/unictype/property-bidi-common-separator-tests: New file.
52458         * modules/unictype/property-bidi-control-tests: New file.
52459         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
52460         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
52461         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
52462         * modules/unictype/property-bidi-european-digit-tests: New file.
52463         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
52464         * modules/unictype/property-bidi-left-to-right-tests: New file.
52465         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
52466         * modules/unictype/property-bidi-other-neutral-tests: New file.
52467         * modules/unictype/property-bidi-pdf-tests: New file.
52468         * modules/unictype/property-bidi-segment-separator-tests: New file.
52469         * modules/unictype/property-bidi-whitespace-tests: New file.
52470         * modules/unictype/property-byname-tests: New file.
52471         * modules/unictype/property-combining-tests: New file.
52472         * modules/unictype/property-composite-tests: New file.
52473         * modules/unictype/property-currency-symbol-tests: New file.
52474         * modules/unictype/property-dash-tests: New file.
52475         * modules/unictype/property-decimal-digit-tests: New file.
52476         * modules/unictype/property-default-ignorable-code-point-tests: New file.
52477         * modules/unictype/property-deprecated-tests: New file.
52478         * modules/unictype/property-diacritic-tests: New file.
52479         * modules/unictype/property-extender-tests: New file.
52480         * modules/unictype/property-format-control-tests: New file.
52481         * modules/unictype/property-grapheme-base-tests: New file.
52482         * modules/unictype/property-grapheme-extend-tests: New file.
52483         * modules/unictype/property-grapheme-link-tests: New file.
52484         * modules/unictype/property-hex-digit-tests: New file.
52485         * modules/unictype/property-hyphen-tests: New file.
52486         * modules/unictype/property-id-continue-tests: New file.
52487         * modules/unictype/property-id-start-tests: New file.
52488         * modules/unictype/property-ideographic-tests: New file.
52489         * modules/unictype/property-ids-binary-operator-tests: New file.
52490         * modules/unictype/property-ids-trinary-operator-tests: New file.
52491         * modules/unictype/property-ignorable-control-tests: New file.
52492         * modules/unictype/property-iso-control-tests: New file.
52493         * modules/unictype/property-join-control-tests: New file.
52494         * modules/unictype/property-left-of-pair-tests: New file.
52495         * modules/unictype/property-line-separator-tests: New file.
52496         * modules/unictype/property-logical-order-exception-tests: New file.
52497         * modules/unictype/property-lowercase-tests: New file.
52498         * modules/unictype/property-math-tests: New file.
52499         * modules/unictype/property-non-break-tests: New file.
52500         * modules/unictype/property-not-a-character-tests: New file.
52501         * modules/unictype/property-numeric-tests: New file.
52502         * modules/unictype/property-other-alphabetic-tests: New file.
52503         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
52504         * modules/unictype/property-other-grapheme-extend-tests: New file.
52505         * modules/unictype/property-other-id-continue-tests: New file.
52506         * modules/unictype/property-other-id-start-tests: New file.
52507         * modules/unictype/property-other-lowercase-tests: New file.
52508         * modules/unictype/property-other-math-tests: New file.
52509         * modules/unictype/property-other-uppercase-tests: New file.
52510         * modules/unictype/property-paired-punctuation-tests: New file.
52511         * modules/unictype/property-paragraph-separator-tests: New file.
52512         * modules/unictype/property-pattern-syntax-tests: New file.
52513         * modules/unictype/property-pattern-white-space-tests: New file.
52514         * modules/unictype/property-private-use-tests: New file.
52515         * modules/unictype/property-punctuation-tests: New file.
52516         * modules/unictype/property-quotation-mark-tests: New file.
52517         * modules/unictype/property-radical-tests: New file.
52518         * modules/unictype/property-sentence-terminal-tests: New file.
52519         * modules/unictype/property-soft-dotted-tests: New file.
52520         * modules/unictype/property-space-tests: New file.
52521         * modules/unictype/property-terminal-punctuation-tests: New file.
52522         * modules/unictype/property-test-tests: New file.
52523         * modules/unictype/property-titlecase-tests: New file.
52524         * modules/unictype/property-unassigned-code-value-tests: New file.
52525         * modules/unictype/property-unified-ideograph-tests: New file.
52526         * modules/unictype/property-uppercase-tests: New file.
52527         * modules/unictype/property-variation-selector-tests: New file.
52528         * modules/unictype/property-white-space-tests: New file.
52529         * modules/unictype/property-xid-continue-tests: New file.
52530         * modules/unictype/property-xid-start-tests: New file.
52531         * modules/unictype/property-zero-width-tests: New file.
52532         * modules/unictype/scripts-tests: New file.
52533         * modules/unictype/syntax-c-ident-tests: New file.
52534         * modules/unictype/syntax-c-whitespace-tests: New file.
52535         * modules/unictype/syntax-java-ident-tests: New file.
52536         * modules/unictype/syntax-java-whitespace-tests: New file.
52537         * tests/unictype/test-bidi_byname.c: New file.
52538         * tests/unictype/test-bidi_name.c: New file.
52539         * tests/unictype/test-bidi_of.c: New file.
52540         * tests/unictype/test-bidi_test.c: New file.
52541         * tests/unictype/test-block_list.c: New file.
52542         * tests/unictype/test-block_of.c: New file.
52543         * tests/unictype/test-block_test.c: New file.
52544         * tests/unictype/test-categ_and.c: New file.
52545         * tests/unictype/test-categ_and_not.c: New file.
52546         * tests/unictype/test-categ_byname.c: New file.
52547         * tests/unictype/test-categ_name.c: New file.
52548         * tests/unictype/test-categ_none.c: New file.
52549         * tests/unictype/test-categ_of.c: New file.
52550         * tests/unictype/test-categ_or.c: New file.
52551         * tests/unictype/test-categ_test_withtable.c: New file.
52552         * tests/unictype/test-combining.c: New file.
52553         * tests/unictype/test-decdigit.c: New file.
52554         * tests/unictype/test-digit.c: New file.
52555         * tests/unictype/test-mirror.c: New file.
52556         * tests/unictype/test-numeric.c: New file.
52557         * tests/unictype/test-pr_byname.c: New file.
52558         * tests/unictype/test-pr_test.c: New file.
52559         * tests/unictype/test-predicate-part1.h: New file.
52560         * tests/unictype/test-predicate-part2.h: New file.
52561         * tests/unictype/test-scripts.c: New file.
52562         * tests/unictype/test-sy_c_ident.c: New file.
52563         * tests/unictype/test-sy_java_ident.c: New file.
52564
52565         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
52566         for Unicode 5.0.0.
52567         * tests/unictype/test-categ_Cc.c: Likewise.
52568         * tests/unictype/test-categ_Cf.c: Likewise.
52569         * tests/unictype/test-categ_Cn.c: Likewise.
52570         * tests/unictype/test-categ_Co.c: Likewise.
52571         * tests/unictype/test-categ_Cs.c: Likewise.
52572         * tests/unictype/test-categ_L.c: Likewise.
52573         * tests/unictype/test-categ_Ll.c: Likewise.
52574         * tests/unictype/test-categ_Lm.c: Likewise.
52575         * tests/unictype/test-categ_Lo.c: Likewise.
52576         * tests/unictype/test-categ_Lt.c: Likewise.
52577         * tests/unictype/test-categ_Lu.c: Likewise.
52578         * tests/unictype/test-categ_M.c: Likewise.
52579         * tests/unictype/test-categ_Mc.c: Likewise.
52580         * tests/unictype/test-categ_Me.c: Likewise.
52581         * tests/unictype/test-categ_Mn.c: Likewise.
52582         * tests/unictype/test-categ_N.c: Likewise.
52583         * tests/unictype/test-categ_Nd.c: Likewise.
52584         * tests/unictype/test-categ_Nl.c: Likewise.
52585         * tests/unictype/test-categ_No.c: Likewise.
52586         * tests/unictype/test-categ_P.c: Likewise.
52587         * tests/unictype/test-categ_Pc.c: Likewise.
52588         * tests/unictype/test-categ_Pd.c: Likewise.
52589         * tests/unictype/test-categ_Pe.c: Likewise.
52590         * tests/unictype/test-categ_Pf.c: Likewise.
52591         * tests/unictype/test-categ_Pi.c: Likewise.
52592         * tests/unictype/test-categ_Po.c: Likewise.
52593         * tests/unictype/test-categ_Ps.c: Likewise.
52594         * tests/unictype/test-categ_S.c: Likewise.
52595         * tests/unictype/test-categ_Sc.c: Likewise.
52596         * tests/unictype/test-categ_Sk.c: Likewise.
52597         * tests/unictype/test-categ_Sm.c: Likewise.
52598         * tests/unictype/test-categ_So.c: Likewise.
52599         * tests/unictype/test-categ_Z.c: Likewise.
52600         * tests/unictype/test-categ_Zl.c: Likewise.
52601         * tests/unictype/test-categ_Zp.c: Likewise.
52602         * tests/unictype/test-categ_Zs.c: Likewise.
52603         * tests/unictype/test-ctype_alnum.c: Likewise.
52604         * tests/unictype/test-ctype_alpha.c: Likewise.
52605         * tests/unictype/test-ctype_blank.c: Likewise.
52606         * tests/unictype/test-ctype_cntrl.c: Likewise.
52607         * tests/unictype/test-ctype_digit.c: Likewise.
52608         * tests/unictype/test-ctype_graph.c: Likewise.
52609         * tests/unictype/test-ctype_lower.c: Likewise.
52610         * tests/unictype/test-ctype_print.c: Likewise.
52611         * tests/unictype/test-ctype_punct.c: Likewise.
52612         * tests/unictype/test-ctype_space.c: Likewise.
52613         * tests/unictype/test-ctype_upper.c: Likewise.
52614         * tests/unictype/test-ctype_xdigit.c: Likewise.
52615         * tests/unictype/test-decdigit.h: Likewise.
52616         * tests/unictype/test-digit.h: Likewise.
52617         * tests/unictype/test-numeric.h: Likewise.
52618         * tests/unictype/test-pr_alphabetic.c: Likewise.
52619         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
52620         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
52621         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
52622         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
52623         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
52624         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
52625         * tests/unictype/test-pr_bidi_control.c: Likewise.
52626         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
52627         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
52628         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
52629         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
52630         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
52631         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
52632         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
52633         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
52634         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
52635         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
52636         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
52637         * tests/unictype/test-pr_combining.c: Likewise.
52638         * tests/unictype/test-pr_composite.c: Likewise.
52639         * tests/unictype/test-pr_currency_symbol.c: Likewise.
52640         * tests/unictype/test-pr_dash.c: Likewise.
52641         * tests/unictype/test-pr_decimal_digit.c: Likewise.
52642         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
52643         * tests/unictype/test-pr_deprecated.c: Likewise.
52644         * tests/unictype/test-pr_diacritic.c: Likewise.
52645         * tests/unictype/test-pr_extender.c: Likewise.
52646         * tests/unictype/test-pr_format_control.c: Likewise.
52647         * tests/unictype/test-pr_grapheme_base.c: Likewise.
52648         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
52649         * tests/unictype/test-pr_grapheme_link.c: Likewise.
52650         * tests/unictype/test-pr_hex_digit.c: Likewise.
52651         * tests/unictype/test-pr_hyphen.c: Likewise.
52652         * tests/unictype/test-pr_id_continue.c: Likewise.
52653         * tests/unictype/test-pr_id_start.c: Likewise.
52654         * tests/unictype/test-pr_ideographic.c: Likewise.
52655         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
52656         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
52657         * tests/unictype/test-pr_ignorable_control.c: Likewise.
52658         * tests/unictype/test-pr_iso_control.c: Likewise.
52659         * tests/unictype/test-pr_join_control.c: Likewise.
52660         * tests/unictype/test-pr_left_of_pair.c: Likewise.
52661         * tests/unictype/test-pr_line_separator.c: Likewise.
52662         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
52663         * tests/unictype/test-pr_lowercase.c: Likewise.
52664         * tests/unictype/test-pr_math.c: Likewise.
52665         * tests/unictype/test-pr_non_break.c: Likewise.
52666         * tests/unictype/test-pr_not_a_character.c: Likewise.
52667         * tests/unictype/test-pr_numeric.c: Likewise.
52668         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
52669         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
52670         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
52671         * tests/unictype/test-pr_other_id_continue.c: Likewise.
52672         * tests/unictype/test-pr_other_id_start.c: Likewise.
52673         * tests/unictype/test-pr_other_lowercase.c: Likewise.
52674         * tests/unictype/test-pr_other_math.c: Likewise.
52675         * tests/unictype/test-pr_other_uppercase.c: Likewise.
52676         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
52677         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
52678         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
52679         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
52680         * tests/unictype/test-pr_private_use.c: Likewise.
52681         * tests/unictype/test-pr_punctuation.c: Likewise.
52682         * tests/unictype/test-pr_quotation_mark.c: Likewise.
52683         * tests/unictype/test-pr_radical.c: Likewise.
52684         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
52685         * tests/unictype/test-pr_soft_dotted.c: Likewise.
52686         * tests/unictype/test-pr_space.c: Likewise.
52687         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
52688         * tests/unictype/test-pr_titlecase.c: Likewise.
52689         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
52690         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
52691         * tests/unictype/test-pr_uppercase.c: Likewise.
52692         * tests/unictype/test-pr_variation_selector.c: Likewise.
52693         * tests/unictype/test-pr_white_space.c: Likewise.
52694         * tests/unictype/test-pr_xid_continue.c: Likewise.
52695         * tests/unictype/test-pr_xid_start.c: Likewise.
52696         * tests/unictype/test-pr_zero_width.c: Likewise.
52697         * tests/unictype/test-sy_c_whitespace.c: Likewise.
52698         * tests/unictype/test-sy_java_whitespace.c: Likewise.
52699
52700 2007-11-12  Bruno Haible  <bruno@clisp.org>
52701
52702         Unicode character classification functions.
52703         * lib/unictype.h: New file.
52704         * modules/unictype/base: New file.
52705         * modules/unictype/category-L: New file.
52706         * modules/unictype/category-Lu: New file.
52707         * modules/unictype/category-Ll: New file.
52708         * modules/unictype/category-Lt: New file.
52709         * modules/unictype/category-Lm: New file.
52710         * modules/unictype/category-Lo: New file.
52711         * modules/unictype/category-M: New file.
52712         * modules/unictype/category-Mn: New file.
52713         * modules/unictype/category-Mc: New file.
52714         * modules/unictype/category-Me: New file.
52715         * modules/unictype/category-N: New file.
52716         * modules/unictype/category-Nd: New file.
52717         * modules/unictype/category-Nl: New file.
52718         * modules/unictype/category-No: New file.
52719         * modules/unictype/category-P: New file.
52720         * modules/unictype/category-Pc: New file.
52721         * modules/unictype/category-Pd: New file.
52722         * modules/unictype/category-Ps: New file.
52723         * modules/unictype/category-Pe: New file.
52724         * modules/unictype/category-Pi: New file.
52725         * modules/unictype/category-Pf: New file.
52726         * modules/unictype/category-Po: New file.
52727         * modules/unictype/category-S: New file.
52728         * modules/unictype/category-Sm: New file.
52729         * modules/unictype/category-Sc: New file.
52730         * modules/unictype/category-Sk: New file.
52731         * modules/unictype/category-So: New file.
52732         * modules/unictype/category-Z: New file.
52733         * modules/unictype/category-Zs: New file.
52734         * modules/unictype/category-Zl: New file.
52735         * modules/unictype/category-Zp: New file.
52736         * modules/unictype/category-C: New file.
52737         * modules/unictype/category-Cc: New file.
52738         * modules/unictype/category-Cf: New file.
52739         * modules/unictype/category-Cs: New file.
52740         * modules/unictype/category-Co: New file.
52741         * modules/unictype/category-Cn: New file.
52742         * modules/unictype/category-or: New file.
52743         * modules/unictype/category-of: New file.
52744         * modules/unictype/category-test: New file.
52745         * modules/unictype/category-test-withtable: New file.
52746         * modules/unictype/category-byname: New file.
52747         * modules/unictype/category-none: New file.
52748         * modules/unictype/category-and: New file.
52749         * modules/unictype/category-and-not: New file.
52750         * modules/unictype/category-name: New file.
52751         * modules/unictype/combining-class: New file.
52752         * modules/unictype/category-all: New file.
52753         * modules/unictype/bidicategory-all: New file.
52754         * modules/unictype/bidicategory-byname: New file.
52755         * modules/unictype/bidicategory-name: New file.
52756         * modules/unictype/bidicategory-of: New file.
52757         * modules/unictype/bidicategory-test: New file.
52758         * modules/unictype/decimal-digit: New file.
52759         * modules/unictype/digit: New file.
52760         * modules/unictype/numeric: New file.
52761         * modules/unictype/mirror: New file.
52762         * modules/unictype/property-white-space: New file.
52763         * modules/unictype/property-alphabetic: New file.
52764         * modules/unictype/property-other-alphabetic: New file.
52765         * modules/unictype/property-not-a-character: New file.
52766         * modules/unictype/property-default-ignorable-code-point: New file.
52767         * modules/unictype/property-other-default-ignorable-code-point: New
52768         file.
52769         * modules/unictype/property-deprecated: New file.
52770         * modules/unictype/property-logical-order-exception: New file.
52771         * modules/unictype/property-variation-selector: New file.
52772         * modules/unictype/property-private-use: New file.
52773         * modules/unictype/property-unassigned-code-value: New file.
52774         * modules/unictype/property-uppercase: New file.
52775         * modules/unictype/property-other-uppercase: New file.
52776         * modules/unictype/property-lowercase: New file.
52777         * modules/unictype/property-other-lowercase: New file.
52778         * modules/unictype/property-titlecase: New file.
52779         * modules/unictype/property-soft-dotted: New file.
52780         * modules/unictype/property-id-start: New file.
52781         * modules/unictype/property-other-id-start: New file.
52782         * modules/unictype/property-id-continue: New file.
52783         * modules/unictype/property-other-id-continue: New file.
52784         * modules/unictype/property-xid-start: New file.
52785         * modules/unictype/property-xid-continue: New file.
52786         * modules/unictype/property-pattern-white-space: New file.
52787         * modules/unictype/property-pattern-syntax: New file.
52788         * modules/unictype/property-join-control: New file.
52789         * modules/unictype/property-grapheme-base: New file.
52790         * modules/unictype/property-grapheme-extend: New file.
52791         * modules/unictype/property-other-grapheme-extend: New file.
52792         * modules/unictype/property-grapheme-link: New file.
52793         * modules/unictype/property-bidi-control: New file.
52794         * modules/unictype/property-bidi-left-to-right: New file.
52795         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
52796         * modules/unictype/property-bidi-arabic-right-to-left: New file.
52797         * modules/unictype/property-bidi-european-digit: New file.
52798         * modules/unictype/property-bidi-eur-num-separator: New file.
52799         * modules/unictype/property-bidi-eur-num-terminator: New file.
52800         * modules/unictype/property-bidi-arabic-digit: New file.
52801         * modules/unictype/property-bidi-common-separator: New file.
52802         * modules/unictype/property-bidi-block-separator: New file.
52803         * modules/unictype/property-bidi-segment-separator: New file.
52804         * modules/unictype/property-bidi-whitespace: New file.
52805         * modules/unictype/property-bidi-non-spacing-mark: New file.
52806         * modules/unictype/property-bidi-boundary-neutral: New file.
52807         * modules/unictype/property-bidi-pdf: New file.
52808         * modules/unictype/property-bidi-embedding-or-override: New file.
52809         * modules/unictype/property-bidi-other-neutral: New file.
52810         * modules/unictype/property-hex-digit: New file.
52811         * modules/unictype/property-ascii-hex-digit: New file.
52812         * modules/unictype/property-ideographic: New file.
52813         * modules/unictype/property-unified-ideograph: New file.
52814         * modules/unictype/property-radical: New file.
52815         * modules/unictype/property-ids-binary-operator: New file.
52816         * modules/unictype/property-ids-trinary-operator: New file.
52817         * modules/unictype/property-zero-width: New file.
52818         * modules/unictype/property-space: New file.
52819         * modules/unictype/property-non-break: New file.
52820         * modules/unictype/property-iso-control: New file.
52821         * modules/unictype/property-format-control: New file.
52822         * modules/unictype/property-dash: New file.
52823         * modules/unictype/property-hyphen: New file.
52824         * modules/unictype/property-punctuation: New file.
52825         * modules/unictype/property-line-separator: New file.
52826         * modules/unictype/property-paragraph-separator: New file.
52827         * modules/unictype/property-quotation-mark: New file.
52828         * modules/unictype/property-sentence-terminal: New file.
52829         * modules/unictype/property-terminal-punctuation: New file.
52830         * modules/unictype/property-currency-symbol: New file.
52831         * modules/unictype/property-math: New file.
52832         * modules/unictype/property-other-math: New file.
52833         * modules/unictype/property-paired-punctuation: New file.
52834         * modules/unictype/property-left-of-pair: New file.
52835         * modules/unictype/property-combining: New file.
52836         * modules/unictype/property-composite: New file.
52837         * modules/unictype/property-decimal-digit: New file.
52838         * modules/unictype/property-numeric: New file.
52839         * modules/unictype/property-diacritic: New file.
52840         * modules/unictype/property-extender: New file.
52841         * modules/unictype/property-ignorable-control: New file.
52842         * modules/unictype/property-test: New file.
52843         * modules/unictype/property-byname: New file.
52844         * modules/unictype/property-all: New file.
52845         * modules/unictype/scripts: New file.
52846         * modules/unictype/scripts-all: New file.
52847         * modules/unictype/block-of: New file.
52848         * modules/unictype/block-test: New file.
52849         * modules/unictype/block-list: New file.
52850         * modules/unictype/block-all: New file.
52851         * modules/unictype/syntax-c-whitespace: New file.
52852         * modules/unictype/syntax-java-whitespace: New file.
52853         * modules/unictype/syntax-c-ident: New file.
52854         * modules/unictype/syntax-java-ident: New file.
52855         * modules/unictype/ctype-alnum: New file.
52856         * modules/unictype/ctype-alpha: New file.
52857         * modules/unictype/ctype-cntrl: New file.
52858         * modules/unictype/ctype-digit: New file.
52859         * modules/unictype/ctype-graph: New file.
52860         * modules/unictype/ctype-lower: New file.
52861         * modules/unictype/ctype-print: New file.
52862         * modules/unictype/ctype-punct: New file.
52863         * modules/unictype/ctype-space: New file.
52864         * modules/unictype/ctype-upper: New file.
52865         * modules/unictype/ctype-xdigit: New file.
52866         * modules/unictype/ctype-blank: New file.
52867         * lib/unictype/bidi_byname.c: New file.
52868         * lib/unictype/bidi_name.c: New file.
52869         * lib/unictype/bidi_of.c: New file.
52870         * lib/unictype/bidi_test.c: New file.
52871         * lib/unictype/bitmap.h: New file.
52872         * lib/unictype/block_test.c: New file.
52873         * lib/unictype/blocks.c: New file.
52874         * lib/unictype/categ_C.c: New file.
52875         * lib/unictype/categ_Cc.c: New file.
52876         * lib/unictype/categ_Cf.c: New file.
52877         * lib/unictype/categ_Cn.c: New file.
52878         * lib/unictype/categ_Co.c: New file.
52879         * lib/unictype/categ_Cs.c: New file.
52880         * lib/unictype/categ_L.c: New file.
52881         * lib/unictype/categ_Ll.c: New file.
52882         * lib/unictype/categ_Lm.c: New file.
52883         * lib/unictype/categ_Lo.c: New file.
52884         * lib/unictype/categ_Lt.c: New file.
52885         * lib/unictype/categ_Lu.c: New file.
52886         * lib/unictype/categ_M.c: New file.
52887         * lib/unictype/categ_Mc.c: New file.
52888         * lib/unictype/categ_Me.c: New file.
52889         * lib/unictype/categ_Mn.c: New file.
52890         * lib/unictype/categ_N.c: New file.
52891         * lib/unictype/categ_Nd.c: New file.
52892         * lib/unictype/categ_Nl.c: New file.
52893         * lib/unictype/categ_No.c: New file.
52894         * lib/unictype/categ_P.c: New file.
52895         * lib/unictype/categ_Pc.c: New file.
52896         * lib/unictype/categ_Pd.c: New file.
52897         * lib/unictype/categ_Pe.c: New file.
52898         * lib/unictype/categ_Pf.c: New file.
52899         * lib/unictype/categ_Pi.c: New file.
52900         * lib/unictype/categ_Po.c: New file.
52901         * lib/unictype/categ_Ps.c: New file.
52902         * lib/unictype/categ_S.c: New file.
52903         * lib/unictype/categ_Sc.c: New file.
52904         * lib/unictype/categ_Sk.c: New file.
52905         * lib/unictype/categ_Sm.c: New file.
52906         * lib/unictype/categ_So.c: New file.
52907         * lib/unictype/categ_Z.c: New file.
52908         * lib/unictype/categ_Zl.c: New file.
52909         * lib/unictype/categ_Zp.c: New file.
52910         * lib/unictype/categ_Zs.c: New file.
52911         * lib/unictype/categ_and.c: New file.
52912         * lib/unictype/categ_and_not.c: New file.
52913         * lib/unictype/categ_byname.c: New file.
52914         * lib/unictype/categ_name.c: New file.
52915         * lib/unictype/categ_none.c: New file.
52916         * lib/unictype/categ_of.c: New file.
52917         * lib/unictype/categ_or.c: New file.
52918         * lib/unictype/categ_test.c: New file.
52919         * lib/unictype/combining.c: New file.
52920         * lib/unictype/ctype_alnum.c: New file.
52921         * lib/unictype/ctype_alpha.c: New file.
52922         * lib/unictype/ctype_blank.c: New file.
52923         * lib/unictype/ctype_cntrl.c: New file.
52924         * lib/unictype/ctype_digit.c: New file.
52925         * lib/unictype/ctype_graph.c: New file.
52926         * lib/unictype/ctype_lower.c: New file.
52927         * lib/unictype/ctype_print.c: New file.
52928         * lib/unictype/ctype_punct.c: New file.
52929         * lib/unictype/ctype_space.c: New file.
52930         * lib/unictype/ctype_upper.c: New file.
52931         * lib/unictype/ctype_xdigit.c: New file.
52932         * lib/unictype/decdigit.c: New file.
52933         * lib/unictype/digit.c: New file.
52934         * lib/unictype/identsyntaxmap.h: New file.
52935         * lib/unictype/mirror.c: New file.
52936         * lib/unictype/numeric.c: New file.
52937         * lib/unictype/pr_alphabetic.c: New file.
52938         * lib/unictype/pr_ascii_hex_digit.c: New file.
52939         * lib/unictype/pr_bidi_arabic_digit.c: New file.
52940         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
52941         * lib/unictype/pr_bidi_block_separator.c: New file.
52942         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
52943         * lib/unictype/pr_bidi_common_separator.c: New file.
52944         * lib/unictype/pr_bidi_control.c: New file.
52945         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
52946         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
52947         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
52948         * lib/unictype/pr_bidi_european_digit.c: New file.
52949         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
52950         * lib/unictype/pr_bidi_left_to_right.c: New file.
52951         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
52952         * lib/unictype/pr_bidi_other_neutral.c: New file.
52953         * lib/unictype/pr_bidi_pdf.c: New file.
52954         * lib/unictype/pr_bidi_segment_separator.c: New file.
52955         * lib/unictype/pr_bidi_whitespace.c: New file.
52956         * lib/unictype/pr_byname.c: New file.
52957         * lib/unictype/pr_byname.gperf: New file.
52958         * lib/unictype/pr_combining.c: New file.
52959         * lib/unictype/pr_composite.c: New file.
52960         * lib/unictype/pr_currency_symbol.c: New file.
52961         * lib/unictype/pr_dash.c: New file.
52962         * lib/unictype/pr_decimal_digit.c: New file.
52963         * lib/unictype/pr_default_ignorable_code_point.c: New file.
52964         * lib/unictype/pr_deprecated.c: New file.
52965         * lib/unictype/pr_diacritic.c: New file.
52966         * lib/unictype/pr_extender.c: New file.
52967         * lib/unictype/pr_format_control.c: New file.
52968         * lib/unictype/pr_grapheme_base.c: New file.
52969         * lib/unictype/pr_grapheme_extend.c: New file.
52970         * lib/unictype/pr_grapheme_link.c: New file.
52971         * lib/unictype/pr_hex_digit.c: New file.
52972         * lib/unictype/pr_hyphen.c: New file.
52973         * lib/unictype/pr_id_continue.c: New file.
52974         * lib/unictype/pr_id_start.c: New file.
52975         * lib/unictype/pr_ideographic.c: New file.
52976         * lib/unictype/pr_ids_binary_operator.c: New file.
52977         * lib/unictype/pr_ids_trinary_operator.c: New file.
52978         * lib/unictype/pr_ignorable_control.c: New file.
52979         * lib/unictype/pr_iso_control.c: New file.
52980         * lib/unictype/pr_join_control.c: New file.
52981         * lib/unictype/pr_left_of_pair.c: New file.
52982         * lib/unictype/pr_line_separator.c: New file.
52983         * lib/unictype/pr_logical_order_exception.c: New file.
52984         * lib/unictype/pr_lowercase.c: New file.
52985         * lib/unictype/pr_math.c: New file.
52986         * lib/unictype/pr_non_break.c: New file.
52987         * lib/unictype/pr_not_a_character.c: New file.
52988         * lib/unictype/pr_numeric.c: New file.
52989         * lib/unictype/pr_other_alphabetic.c: New file.
52990         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
52991         * lib/unictype/pr_other_grapheme_extend.c: New file.
52992         * lib/unictype/pr_other_id_continue.c: New file.
52993         * lib/unictype/pr_other_id_start.c: New file.
52994         * lib/unictype/pr_other_lowercase.c: New file.
52995         * lib/unictype/pr_other_math.c: New file.
52996         * lib/unictype/pr_other_uppercase.c: New file.
52997         * lib/unictype/pr_paired_punctuation.c: New file.
52998         * lib/unictype/pr_paragraph_separator.c: New file.
52999         * lib/unictype/pr_pattern_syntax.c: New file.
53000         * lib/unictype/pr_pattern_white_space.c: New file.
53001         * lib/unictype/pr_private_use.c: New file.
53002         * lib/unictype/pr_punctuation.c: New file.
53003         * lib/unictype/pr_quotation_mark.c: New file.
53004         * lib/unictype/pr_radical.c: New file.
53005         * lib/unictype/pr_sentence_terminal.c: New file.
53006         * lib/unictype/pr_soft_dotted.c: New file.
53007         * lib/unictype/pr_space.c: New file.
53008         * lib/unictype/pr_terminal_punctuation.c: New file.
53009         * lib/unictype/pr_test.c: New file.
53010         * lib/unictype/pr_titlecase.c: New file.
53011         * lib/unictype/pr_unassigned_code_value.c: New file.
53012         * lib/unictype/pr_unified_ideograph.c: New file.
53013         * lib/unictype/pr_uppercase.c: New file.
53014         * lib/unictype/pr_variation_selector.c: New file.
53015         * lib/unictype/pr_white_space.c: New file.
53016         * lib/unictype/pr_xid_continue.c: New file.
53017         * lib/unictype/pr_xid_start.c: New file.
53018         * lib/unictype/pr_zero_width.c: New file.
53019         * lib/unictype/scripts.c: New file.
53020         * lib/unictype/sy_c_ident.c: New file.
53021         * lib/unictype/sy_c_whitespace.c: New file.
53022         * lib/unictype/sy_java_ident.c: New file.
53023         * lib/unictype/sy_java_whitespace.c: New file.
53024
53025         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
53026         Unicode 5.0.0.
53027         * lib/unictype/blocks.h: Likewise.
53028         * lib/unictype/categ_C.h: Likewise.
53029         * lib/unictype/categ_Cc.h: Likewise.
53030         * lib/unictype/categ_Cf.h: Likewise.
53031         * lib/unictype/categ_Cn.h: Likewise.
53032         * lib/unictype/categ_Co.h: Likewise.
53033         * lib/unictype/categ_Cs.h: Likewise.
53034         * lib/unictype/categ_L.h: Likewise.
53035         * lib/unictype/categ_Ll.h: Likewise.
53036         * lib/unictype/categ_Lm.h: Likewise.
53037         * lib/unictype/categ_Lo.h: Likewise.
53038         * lib/unictype/categ_Lt.h: Likewise.
53039         * lib/unictype/categ_Lu.h: Likewise.
53040         * lib/unictype/categ_M.h: Likewise.
53041         * lib/unictype/categ_Mc.h: Likewise.
53042         * lib/unictype/categ_Me.h: Likewise.
53043         * lib/unictype/categ_Mn.h: Likewise.
53044         * lib/unictype/categ_N.h: Likewise.
53045         * lib/unictype/categ_Nd.h: Likewise.
53046         * lib/unictype/categ_Nl.h: Likewise.
53047         * lib/unictype/categ_No.h: Likewise.
53048         * lib/unictype/categ_P.h: Likewise.
53049         * lib/unictype/categ_Pc.h: Likewise.
53050         * lib/unictype/categ_Pd.h: Likewise.
53051         * lib/unictype/categ_Pe.h: Likewise.
53052         * lib/unictype/categ_Pf.h: Likewise.
53053         * lib/unictype/categ_Pi.h: Likewise.
53054         * lib/unictype/categ_Po.h: Likewise.
53055         * lib/unictype/categ_Ps.h: Likewise.
53056         * lib/unictype/categ_S.h: Likewise.
53057         * lib/unictype/categ_Sc.h: Likewise.
53058         * lib/unictype/categ_Sk.h: Likewise.
53059         * lib/unictype/categ_Sm.h: Likewise.
53060         * lib/unictype/categ_So.h: Likewise.
53061         * lib/unictype/categ_Z.h: Likewise.
53062         * lib/unictype/categ_Zl.h: Likewise.
53063         * lib/unictype/categ_Zp.h: Likewise.
53064         * lib/unictype/categ_Zs.h: Likewise.
53065         * lib/unictype/categ_of.h: Likewise.
53066         * lib/unictype/combining.h: Likewise.
53067         * lib/unictype/ctype_alnum.h: Likewise.
53068         * lib/unictype/ctype_alpha.h: Likewise.
53069         * lib/unictype/ctype_blank.h: Likewise.
53070         * lib/unictype/ctype_cntrl.h: Likewise.
53071         * lib/unictype/ctype_digit.h: Likewise.
53072         * lib/unictype/ctype_graph.h: Likewise.
53073         * lib/unictype/ctype_lower.h: Likewise.
53074         * lib/unictype/ctype_print.h: Likewise.
53075         * lib/unictype/ctype_punct.h: Likewise.
53076         * lib/unictype/ctype_space.h: Likewise.
53077         * lib/unictype/ctype_upper.h: Likewise.
53078         * lib/unictype/ctype_xdigit.h: Likewise.
53079         * lib/unictype/decdigit.h: Likewise.
53080         * lib/unictype/digit.h: Likewise.
53081         * lib/unictype/mirror.h: Likewise.
53082         * lib/unictype/numeric.h: Likewise.
53083         * lib/unictype/pr_alphabetic.h: Likewise.
53084         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
53085         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
53086         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
53087         * lib/unictype/pr_bidi_block_separator.h: Likewise.
53088         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
53089         * lib/unictype/pr_bidi_common_separator.h: Likewise.
53090         * lib/unictype/pr_bidi_control.h: Likewise.
53091         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
53092         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
53093         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
53094         * lib/unictype/pr_bidi_european_digit.h: Likewise.
53095         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
53096         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
53097         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
53098         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
53099         * lib/unictype/pr_bidi_pdf.h: Likewise.
53100         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
53101         * lib/unictype/pr_bidi_whitespace.h: Likewise.
53102         * lib/unictype/pr_combining.h: Likewise.
53103         * lib/unictype/pr_composite.h: Likewise.
53104         * lib/unictype/pr_currency_symbol.h: Likewise.
53105         * lib/unictype/pr_dash.h: Likewise.
53106         * lib/unictype/pr_decimal_digit.h: Likewise.
53107         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
53108         * lib/unictype/pr_deprecated.h: Likewise.
53109         * lib/unictype/pr_diacritic.h: Likewise.
53110         * lib/unictype/pr_extender.h: Likewise.
53111         * lib/unictype/pr_format_control.h: Likewise.
53112         * lib/unictype/pr_grapheme_base.h: Likewise.
53113         * lib/unictype/pr_grapheme_extend.h: Likewise.
53114         * lib/unictype/pr_grapheme_link.h: Likewise.
53115         * lib/unictype/pr_hex_digit.h: Likewise.
53116         * lib/unictype/pr_hyphen.h: Likewise.
53117         * lib/unictype/pr_id_continue.h: Likewise.
53118         * lib/unictype/pr_id_start.h: Likewise.
53119         * lib/unictype/pr_ideographic.h: Likewise.
53120         * lib/unictype/pr_ids_binary_operator.h: Likewise.
53121         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
53122         * lib/unictype/pr_ignorable_control.h: Likewise.
53123         * lib/unictype/pr_iso_control.h: Likewise.
53124         * lib/unictype/pr_join_control.h: Likewise.
53125         * lib/unictype/pr_left_of_pair.h: Likewise.
53126         * lib/unictype/pr_line_separator.h: Likewise.
53127         * lib/unictype/pr_logical_order_exception.h: Likewise.
53128         * lib/unictype/pr_lowercase.h: Likewise.
53129         * lib/unictype/pr_math.h: Likewise.
53130         * lib/unictype/pr_non_break.h: Likewise.
53131         * lib/unictype/pr_not_a_character.h: Likewise.
53132         * lib/unictype/pr_numeric.h: Likewise.
53133         * lib/unictype/pr_other_alphabetic.h: Likewise.
53134         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
53135         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
53136         * lib/unictype/pr_other_id_continue.h: Likewise.
53137         * lib/unictype/pr_other_id_start.h: Likewise.
53138         * lib/unictype/pr_other_lowercase.h: Likewise.
53139         * lib/unictype/pr_other_math.h: Likewise.
53140         * lib/unictype/pr_other_uppercase.h: Likewise.
53141         * lib/unictype/pr_paired_punctuation.h: Likewise.
53142         * lib/unictype/pr_paragraph_separator.h: Likewise.
53143         * lib/unictype/pr_pattern_syntax.h: Likewise.
53144         * lib/unictype/pr_pattern_white_space.h: Likewise.
53145         * lib/unictype/pr_private_use.h: Likewise.
53146         * lib/unictype/pr_punctuation.h: Likewise.
53147         * lib/unictype/pr_quotation_mark.h: Likewise.
53148         * lib/unictype/pr_radical.h: Likewise.
53149         * lib/unictype/pr_sentence_terminal.h: Likewise.
53150         * lib/unictype/pr_soft_dotted.h: Likewise.
53151         * lib/unictype/pr_space.h: Likewise.
53152         * lib/unictype/pr_terminal_punctuation.h: Likewise.
53153         * lib/unictype/pr_titlecase.h: Likewise.
53154         * lib/unictype/pr_unassigned_code_value.h: Likewise.
53155         * lib/unictype/pr_unified_ideograph.h: Likewise.
53156         * lib/unictype/pr_uppercase.h: Likewise.
53157         * lib/unictype/pr_variation_selector.h: Likewise.
53158         * lib/unictype/pr_white_space.h: Likewise.
53159         * lib/unictype/pr_xid_continue.h: Likewise.
53160         * lib/unictype/pr_xid_start.h: Likewise.
53161         * lib/unictype/pr_zero_width.h: Likewise.
53162         * lib/unictype/scripts.h: Likewise.
53163         * lib/unictype/scripts_byname.gperf: Likewise.
53164         * lib/unictype/sy_c_ident.h: Likewise.
53165         * lib/unictype/sy_c_whitespace.h: Likewise.
53166         * lib/unictype/sy_java_ident.h: Likewise.
53167         * lib/unictype/sy_java_whitespace.h: Likewise.
53168
53169         * lib/unictype/Makefile: New file.
53170         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
53171         glibc.
53172         * lib/unictype/3level.h: New file, copied from glibc.
53173         * lib/unictype/3levelbit.h: New file.
53174
53175 2007-11-11  Bruno Haible  <bruno@clisp.org>
53176
53177         * modules/gperf: New file.
53178         * modules/iconv_open (Depends-on): Add it.
53179         (Makefile.am): Remove the GPERF definition.
53180
53181 2007-11-11  Bruno Haible  <bruno@clisp.org>
53182
53183         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
53184         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
53185
53186 2007-11-11  Bruno Haible  <bruno@clisp.org>
53187
53188         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
53189         (usage): Remove function.
53190
53191 2007-11-11  Bruno Haible  <bruno@clisp.org>
53192
53193         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
53194         gl_FUNC_CEILF_LIBS.
53195         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
53196         gl_FUNC_CEIL_LIBS.
53197         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
53198         gl_FUNC_CEILL_LIBS.
53199         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
53200         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
53201         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
53202
53203 2007-11-11  Bruno Haible  <bruno@clisp.org>
53204
53205         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
53206         roundf were declared but do not exist on functions.
53207         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
53208         roundl were declared but do not exist on functions.
53209         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
53210         HAVE_FLOORL_AND_CEILL, respectively.
53211         Needed for Sun C on Solaris 10.
53212
53213 2007-11-11  Bruno Haible  <bruno@clisp.org>
53214
53215         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
53216         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
53217         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
53218         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
53219         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
53220         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
53221         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
53222         HAVE_DECL_ROUNDF.
53223         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
53224         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
53225         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
53226         of HAVE_DECL_ROUND*.
53227         * modules/math (Makefile.am): Update.
53228
53229 2007-11-10  Bruno Haible  <bruno@clisp.org>
53230
53231         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
53232         ptrdiff_t as m4/intl.m4.
53233
53234 2007-11-10  Jim Meyering  <meyering@redhat.com>
53235
53236         Avoid link failure for the argmatch test.
53237         * tests/test-argmatch.c (usage): Define function to avoid a link
53238         failure: argmatch_die requires a usage function.
53239
53240 2007-11-09  Bruno Haible  <bruno@clisp.org>
53241
53242         * doc/functions/snprintf.texi: Mention BeOS deficiency.
53243         * doc/functions/vsnprintf.texi: Likewise.
53244         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
53245         with a size argument < 2.
53246
53247 2007-11-09  Bruno Haible  <bruno@clisp.org>
53248
53249         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
53250         buffer. Fixes an inefficiency introduced on 2007-11-03.
53251
53252 2007-11-09  Bruno Haible  <bruno@clisp.org>
53253
53254         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
53255         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
53256
53257 2007-11-08  Jim Meyering  <meyering@redhat.com>
53258
53259         Change cache variable name prefix "jm_" to "gl_" everywhere.
53260         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
53261         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
53262         * m4/uptime.m4: s/gl_/jm_/
53263
53264 2007-11-07  Bruno Haible  <bruno@clisp.org>
53265
53266         Update to GNU gettext 0.17.
53267         * m4/intl.m4: Update to GNU gettext 0.17.
53268         * m4/po.m4: Likewise.
53269         * modules/gettext (Files): Remove m4/ulonglong.m4.
53270         (configure.ac): Require gettext infrastructure from version 0.17.
53271
53272 2007-11-06  Bruno Haible  <bruno@clisp.org>
53273
53274         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
53275         symbolic values are not defined in a public header.
53276         * lib/freadable.c (freadable) [QNX]: Likewise.
53277         * lib/freadahead.c (freadahead) [QNX]: Likewise.
53278         * lib/freading.c (freading) [QNX]: Likewise.
53279         * lib/fseterr.c (fseterr) [QNX]: Likewise.
53280         * lib/fwritable.c (fwritable) [QNX]: Likewise.
53281         * lib/fwriting.c (fwriting) [QNX]: Likewise.
53282         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
53283         Reported by Alain Magloire.
53284
53285         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
53286
53287 2007-11-05  Bruno Haible  <bruno@clisp.org>
53288
53289         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
53290         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
53291         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
53292         Reported by Eric Blake.
53293
53294 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53295             Bruno Haible  <bruno@clisp.org>
53296
53297         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
53298         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
53299         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
53300         (malloc): Undefine also before including <stdlib.h>.
53301         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
53302         Needed on OSF/1 4.0.
53303
53304 2007-11-05  Jim Meyering  <meyering@redhat.com>
53305
53306         git-version-gen: sync from coreutils.
53307         * build-aux/git-version-gen: Add comments.
53308         Change the first '-' to '.' in the snapshot version string,
53309         e.g., 6.9-377-08144 -> 6.9.377-08144
53310         Remove first parameter.
53311         Don't declare a version "-dirty" merely because a time
53312         stamp has changed.
53313
53314 2007-11-04  Bruno Haible  <bruno@clisp.org>
53315
53316         * lib/lock.h: Protect all macro definitions containing an 'if'
53317         statement through a "do { ... } while (0)".
53318         * lib/tls.h: Likewise.
53319
53320 2007-11-04  Bruno Haible  <bruno@clisp.org>
53321
53322         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
53323
53324 2007-11-04  Bruno Haible  <bruno@clisp.org>
53325
53326         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
53327         * modules/fprintf-posix (Depends-on): Add nocrash.
53328         * modules/snprintf-posix (Depends-on): Likewise.
53329         * modules/sprintf-posix (Depends-on): Likewise.
53330         * modules/vasnprintf-posix (Depends-on): Likewise.
53331         * modules/vasprintf-posix (Depends-on): Likewise.
53332         * modules/vfprintf-posix (Depends-on): Likewise.
53333         * modules/vsnprintf-posix (Depends-on): Likewise.
53334         * modules/vsprintf-posix (Depends-on): Likewise.
53335         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
53336         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
53337         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
53338         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
53339         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
53340         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
53341         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
53342
53343 2007-11-04  Bruno Haible  <bruno@clisp.org>
53344
53345         * modules/nocrash: New file.
53346         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
53347         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
53348
53349 2007-11-04  Bruno Haible  <bruno@clisp.org>
53350
53351         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
53352         precision handling.
53353         * tests/test-vasprintf-posix.c (test_function): Likewise.
53354         * tests/test-snprintf-posix.h (test_function): Likewise.
53355         * tests/test-sprintf-posix.h (test_function): Likewise.
53356
53357         Fix *printf behaviour for large precisions on mingw and BeOS.
53358         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
53359         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
53360         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
53361         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
53362         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
53363         gl_PRINTF_PRECISION and test its result. Invoke
53364         gl_PREREQ_VASNPRINTF_PRECISION.
53365         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
53366         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
53367         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
53368         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
53369         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
53370         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
53371         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
53372         * doc/functions/fprintf.texi: Update.
53373         * doc/functions/printf.texi: Update.
53374         * doc/functions/snprintf.texi: Update.
53375         * doc/functions/sprintf.texi: Update.
53376         * doc/functions/vfprintf.texi: Update.
53377         * doc/functions/vprintf.texi: Update.
53378         * doc/functions/vsnprintf.texi: Update.
53379         * doc/functions/vsprintf.texi: Update.
53380
53381 2007-11-04  Bruno Haible  <bruno@clisp.org>
53382
53383         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
53384
53385 2007-11-04  Bruno Haible  <bruno@clisp.org>
53386
53387         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
53388         Reported by Sylvain Beucler <beuc@gnu.org>.
53389
53390 2007-11-03  Bruno Haible  <bruno@clisp.org>
53391
53392         * tests/test-fprintf-posix2.sh: New file.
53393         * tests/test-fprintf-posix2.c: New file.
53394         * modules/fprintf-posix-tests (Files): Add them.
53395         (TESTS): Add test-fprintf-posix2.sh.
53396         (configure.ac): Check for getrlimit and setrlimit.
53397         (check_PROGRAMS): Add test-fprintf-posix2.
53398
53399         * tests/test-printf-posix2.sh: New file.
53400         * tests/test-printf-posix2.c: New file.
53401         * modules/printf-posix-tests (Files): Add them.
53402         (TESTS): Add test-printf-posix2.sh.
53403         (configure.ac): Check for getrlimit and setrlimit.
53404         (check_PROGRAMS): Add test-printf-posix2.
53405
53406         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
53407         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
53408         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
53409         (decode_double): New function, copied from decode_long_double.
53410         (scale10_round_decimal_decoded): New function, extracted from
53411         scale10_round_decimal_long_double.
53412         (scale10_round_decimal_long_double): Use it.
53413         (scale10_round_decimal_double): New function.
53414         (floorlog10): New function.
53415         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
53416         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
53417         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
53418         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
53419         gl_PRINTF_ENOMEM and test its result. Invoke
53420         gl_PREREQ_VASNPRINTF_ENOMEM.
53421         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
53422         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
53423         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
53424         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
53425         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
53426         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
53427         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
53428         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
53429         * modules/snprintf-posix (Depends-on): Likewise.
53430         * modules/sprintf-posix (Depends-on): Likewise.
53431         * modules/vasnprintf-posix (Depends-on): Likewise.
53432         * modules/vasprintf-posix (Depends-on): Likewise.
53433         * modules/vfprintf-posix (Depends-on): Likewise.
53434         * modules/vsnprintf-posix (Depends-on): Likewise.
53435         * modules/vsprintf-posix (Depends-on): Likewise.
53436         * doc/functions/fprintf.texi: Update.
53437         * doc/functions/printf.texi: Update.
53438         * doc/functions/snprintf.texi: Update.
53439         * doc/functions/sprintf.texi: Update.
53440         * doc/functions/vfprintf.texi: Update.
53441         * doc/functions/vprintf.texi: Update.
53442         * doc/functions/vsnprintf.texi: Update.
53443         * doc/functions/vsprintf.texi: Update.
53444
53445 2007-11-03  Bruno Haible  <bruno@clisp.org>
53446
53447         * modules/frexp-nolibm-tests: New file.
53448
53449         * modules/frexp-nolibm: New file.
53450         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
53451
53452 2007-11-03  Bruno Haible  <bruno@clisp.org>
53453
53454         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
53455         value is C99 compliant.
53456         Needed for OSF/1 5.1.
53457
53458 2007-11-03  Bruno Haible  <bruno@clisp.org>
53459
53460         Fix out-of-memory handling of vasnprintf.
53461         * lib/printf-parse.c: Include <errno.h>.
53462         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
53463         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
53464         is already set.
53465
53466 2007-11-02  Eric Blake  <ebb9@byu.net>
53467
53468         Fix tests on cygwin.
53469         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
53470
53471 2007-11-01  Bruno Haible  <bruno@clisp.org>
53472
53473         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
53474         warning.
53475         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
53476         needed for POSIX compatibility.
53477
53478 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
53479
53480         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
53481         for compatibility with GNU.
53482
53483 2007-11-01  Bruno Haible  <bruno@clisp.org>
53484
53485         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
53486         (putenv): Renamed from rpl_putenv. Change argument type from
53487         'const char *' to 'char *'.
53488         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
53489         of defining putenv in config.h, just set REPLACE_PUTENV.
53490         * modules/putenv (Depends-on): Add stdlib.
53491         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
53492         (Include): Use <stdlib.h>.
53493         * lib/stdlib.in.h (putenv): New declaration.
53494         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
53495         REPLACE_PUTENV.
53496         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
53497         REPLACE_PUTENV.
53498         Needed for MacOS X 10.5.0.
53499         Reported by Peter O'Gorman <peter@pogma.com>.
53500
53501 2007-11-01  Jim Meyering  <meyering@redhat.com>
53502
53503         Treat an empty date string exactly like "0".
53504         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
53505         if the remaining date string (to be parsed) is empty, use "0".
53506         Reported by Mischa Molhoek and discussed in this thread:
53507         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
53508
53509 2007-10-31  Bruno Haible  <bruno@clisp.org>
53510
53511         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
53512         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
53513         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
53514         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
53515         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
53516         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
53517
53518 2007-10-31  Bruno Haible  <bruno@clisp.org>
53519
53520         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
53521         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
53522         (AC_TYPE_LONG_LONG_INT): Use it.
53523         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
53524         it as well.
53525         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
53526         to m4/longlong.m4.
53527         * modules/stdint (Files): Remove m4/ulonglong.m4.
53528         * modules/strtoull (Files): Use m4/longlong.m4 instead of
53529         m4/ulonglong.m4.
53530         * modules/strtoumax (Files): Likewise.
53531
53532 2007-10-30  Bruno Haible  <bruno@clisp.org>
53533
53534         * modules/xvasprintf-posix: New file.
53535         Suggested by Eric Blake.
53536
53537 2007-10-30  Bruno Haible  <bruno@clisp.org>
53538
53539         * modules/xprintf-posix-tests: New file.
53540         * tests/test-xprintf-posix.sh: New file.
53541         * tests/test-xprintf-posix.c: New file.
53542         * tests/test-xfprintf-posix.c: New file.
53543
53544         * modules/xprintf-posix: New file.
53545
53546 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53547
53548         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
53549         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
53550         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
53551
53552 2007-10-29  Bruno Haible  <bruno@clisp.org>
53553
53554         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
53555         contain the special marker '_cv_'.
53556         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
53557         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
53558         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
53559         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
53560         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
53561         Reported by Ralf Wildenhues.
53562
53563 2007-10-29  Bruno Haible  <bruno@clisp.org>
53564
53565         * gnulib-tool (func_import): When --lgpl is not specified, set
53566         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
53567         GPLv3.
53568         Reported by Simon Josefsson.
53569
53570 2007-10-28  Bruno Haible  <bruno@clisp.org>
53571
53572         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
53573         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
53574         HAVE_DECL_ISFINITE.
53575         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
53576         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
53577         HAVE_DECL_ISFINITE.
53578
53579 2007-10-28  Bruno Haible  <bruno@clisp.org>
53580
53581         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
53582         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
53583
53584 2007-10-28  Bruno Haible  <bruno@clisp.org>
53585
53586         Fix link errors with Sun C 5.0 on Solaris 10.
53587         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
53588         function is declared but not present in the compiler's libm.
53589         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
53590         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
53591         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
53592         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
53593         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
53594         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
53595         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
53596         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
53597         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
53598         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
53599         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
53600         HAVE_DECL_FLOORL.
53601
53602 2007-10-28  Bruno Haible  <bruno@clisp.org>
53603
53604         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
53605         gl_FUNC_FLOORL. Cache the result.
53606         (gl_FUNC_FLOORL): Use it.
53607         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
53608         gl_FUNC_CEILL. Cache the result.
53609         (gl_FUNC_CEILL): Use it.
53610
53611         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
53612         gl_FUNC_FLOOR. Cache the result.
53613         (gl_FUNC_FLOOR): Use it.
53614         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
53615         gl_FUNC_CEIL. Cache the result.
53616         (gl_FUNC_CEIL): Use it.
53617
53618         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
53619         gl_FUNC_FLOORF. Cache the result.
53620         (gl_FUNC_FLOORF): Use it.
53621         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
53622         gl_FUNC_CEILF. Cache the result.
53623         (gl_FUNC_CEILF): Use it.
53624
53625 2007-10-28  Bruno Haible  <bruno@clisp.org>
53626
53627         * gnulib-tool: Allow specifying the LGPL version number through
53628         --lgpl=2 or --lgpl=3.
53629         (func_usage): Document --lgpl with argument.
53630         Handle --lgpl=... arguments.
53631         (func_import): Recognize also gl_LGPL calls with an argument. When
53632         --lgpl=2 is used and the module's license is just LGPL, report an
53633         error. Set sed_transform_lib_file according to the lgpl variable. In
53634         the generated files, use --lgpl or gl_LGPL invocations with argument,
53635         if necessary.
53636         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
53637         an LGPv2+ license.
53638         * doc/gnulib-tool.texi (Modified imports): Update explanation of
53639         gl_LGPL macro.
53640
53641 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53642             Bruno Haible  <bruno@clisp.org>
53643
53644         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
53645         (u16_uctomb_aux): Likewise.
53646         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
53647         !HAVE_INLINE.
53648         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
53649
53650 2007-10-28  Bruno Haible  <bruno@clisp.org>
53651
53652         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
53653         Invoke AM_GETTEXT_OPTION if it exists.
53654         * modules/vasprintf: Likewise.
53655         * modules/verror: Likewise.
53656         * modules/xprintf: Likewise.
53657         * modules/xvasprintf: Likewise.
53658
53659 2007-10-27  Ben Pfaff  <blp@gnu.org>
53660
53661         * lib/math.in.h: Define isfinite macro and prototypes for
53662         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
53663         implementations.
53664         * m4/math_h.m4: New substitutions for isfinite module.
53665         * lib/isfinite.c: New file.
53666         * m4/isfinite.m4: New file.
53667         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
53668         * modules/isfinite: New file.
53669         * modules/isfinite-tests: New file.
53670         * tests/tests-isfinite.c: New file.
53671         * doc/functions/isfinite.texi: Mention isfinite module.
53672         * MODULES.html.sh: Mention new module.
53673
53674 2007-10-27  Ben Pfaff  <blp@gnu.org>
53675
53676         Ralf Wildenhues reported that Tru64 4.0D declares the round
53677         functions but does not have definitions.
53678         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
53679         cannot be found in any library, set the output variable to
53680         "missing" instead of "".
53681         * m4/round.m4: Also use our substitute if we cannot find round in
53682         any library, even if it is declared.
53683         * m4/roundf.m4: Likewise for roundf.
53684         * m4/roundl.m4: Likewise for roundl.
53685         * lib/math.in.h: Undefine roundf, round, roundl before defining
53686         their replacements, to allow for hypothetical systems where these
53687         may be defined as macros but not available in libraries.
53688
53689 2007-10-27  Bruno Haible  <bruno@clisp.org>
53690
53691         * doc/gnulib.texi: Invoke @firstparagraphindent.
53692         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
53693         changes in gnulib.
53694         (Source changes): New section.
53695
53696 2007-10-26  Bruno Haible  <bruno@clisp.org>
53697
53698         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
53699         borrowed from autoconf.
53700
53701 2007-10-26  Bruno Haible  <bruno@clisp.org>
53702
53703         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
53704         strerror returned the empty string. Needed on HP-UX 11.00.
53705
53706 2007-10-24  Micah Cowan  <micah@cowan.name>
53707
53708         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
53709         * build-aux/bootstrap: Remove support for now-unnecessary option,
53710         --cvs-user, and envvars CVS_USER, CVS_RSH.
53711
53712 2007-10-24  Jim Meyering  <meyering@redhat.com>
53713
53714         Avoid diagnostics from sha1sum when there is no cached checksum.
53715         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
53716         if the po.s1 file hasn't been created yet.
53717
53718         * build-aux/bootstrap: Sync from coreutils:
53719         2007-10-24  Jim Meyering  <meyering@redhat.com>
53720         Get gnulib from the git repository, not from an obsolete cvs one.
53721         * build-aux/bootstrap: Suggestion from Micah Cowan.
53722         2007-10-04  Jim Meyering  <jim@meyering.net>
53723         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
53724         (update_po_files): Work also when there are no .po files in po/.
53725
53726 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
53727
53728         * README: Append ".git" to git and cg examples.
53729         Problem reported by Benoit Sigoure.
53730
53731 2007-10-23  Micah Cowan  <micah@cowan.name>
53732
53733         * users.txt: Add wget.
53734
53735 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53736
53737         Fix linking of some unistdio tests on FreeBSD.
53738         * modules/unistdio/u16-vsnprintf-tests
53739         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
53740         * modules/unistdio/u16-vsprintf-tests
53741         (test_u16_vsnprintf1_LDADD): Likewise.
53742         * modules/unistdio/u32-vsnprintf-tests
53743         (test_u32_vsnprintf1_LDADD): Likewise.
53744         * modules/unistdio/u32-vsprintf-tests
53745         (test_u32_vsprintf1_LDADD): Likewise.
53746         * modules/unistdio/u8-vsnprintf-tests
53747         (test_u8_vsnprintf1_LDADD): Likewise.
53748         * modules/unistdio/u8-vsprintf-tests
53749         (test_u8_vsprintf1_LDADD): Likewise.
53750         * modules/unistdio/ulc-vsnprintf-tests
53751         (test_ulc_vsnprintf1_LDADD): Likewise.
53752         * modules/unistdio/ulc-vsprintf-tests
53753         (test_ulc_vsprintf1_LDADD): Likewise.
53754
53755         Fix linking of some uniconv tests on FreeBSD.
53756         * modules/uniconv/u16-conv-from-enc-tests
53757         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
53758         * modules/uniconv/u16-conv-to-enc-tests
53759         (test_u16_conv_to_enc_LDADD): Likewise.
53760         * modules/uniconv/u16-strconv-from-enc-tests
53761         (test_u16_strconv_from_enc_LDADD): Likewise.
53762         * modules/uniconv/u16-strconv-to-enc-tests
53763         (test_u16_strconv_to_enc_LDADD): Likewise.
53764         * modules/uniconv/u32-conv-from-enc-tests
53765         (test_u32_conv_from_enc_LDADD): Likewise.
53766         * modules/uniconv/u32-conv-to-enc-tests
53767         (test_u32_conv_to_enc_LDADD): Likewise.
53768         * modules/uniconv/u32-strconv-from-enc-tests
53769         (test_u32_strconv_from_enc_LDADD): Likewise.
53770         * modules/uniconv/u32-strconv-to-enc-tests
53771         (test_u32_strconv_to_enc_LDADD): Likewise.
53772         * modules/uniconv/u8-conv-from-enc-tests
53773         (test_u8_conv_from_enc_LDADD): Likewise.
53774         * modules/uniconv/u8-conv-to-enc-tests
53775         (test_u8_conv_to_enc_LDADD): Likewise.
53776         * modules/uniconv/u8-strconv-from-enc-tests
53777         (test_u8_strconv_from_enc_LDADD): Likewise.
53778         * modules/uniconv/u8-strconv-to-enc-tests
53779         (test_u8_strconv_to_enc_LDADD): Likewise.
53780
53781 2007-10-22  Bruno Haible  <bruno@clisp.org>
53782
53783         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
53784         size.
53785
53786 2007-10-22  Eric Blake  <ebb9@byu.net>
53787
53788         Tweak x*printf documentation.
53789         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
53790         variable name and comments.
53791         Suggested by Bruno Haible.
53792
53793 2007-10-22  Bruno Haible  <bruno@clisp.org>
53794
53795         * lib/acl.c (copy_acl): Fix file name in comment.
53796
53797 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
53798
53799         Fix Tru64 problem with stdbool.h.
53800         * lib/stdbool.in.h (false, true):
53801         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
53802         Don't declare as an enum in this situation; it runs afoul of Tru64.
53803         Problem reported by Steven M. Schweda in
53804         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
53805
53806 2007-10-22  Eric Blake  <ebb9@byu.net>
53807
53808         Also wrap vf?printf.
53809         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
53810         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
53811         (xvprintf, xvfprintf): New functions.
53812
53813 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53814
53815         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
53816         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
53817
53818         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
53819         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
53820
53821 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
53822
53823         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
53824         by Bruno Haible.
53825
53826 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53827
53828         * lib/getloadavg.c
53829         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
53830         Undef `sys' after including sys/table.h, for Tru64 4.0D.
53831
53832         * tests/test-i-ring.c: Work for C89.
53833
53834 2007-10-22  Bruno Haible  <bruno@clisp.org>
53835
53836         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
53837         -1u, in preprocessor expression, so that we don't test for the bug
53838         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
53839         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
53840
53841 2007-10-22  Eric Blake  <ebb9@byu.net>
53842
53843         * tests/test-yesno.sh: Silence stderr during test.
53844
53845 2007-10-22  Simon Josefsson  <simon@josefsson.org>
53846
53847         * modules/crypto/gc-camellia: New file.
53848
53849         * m4/gc-camellia.m4: New file.
53850
53851         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
53852
53853         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
53854
53855 2007-10-22  Simon Josefsson  <simon@josefsson.org>
53856
53857         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
53858         --help to stdout.  Reported by sms@antinode.org (Steven
53859         M. Schweda).
53860
53861 2007-10-22  Simon Josefsson  <simon@josefsson.org>
53862
53863         * users.txt: Fix link to libksba.
53864
53865 2007-10-21  Ben Pfaff  <blp@gnu.org>
53866
53867         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
53868         round.c roundf implementation that depends on floorf and ceilf to
53869         be tested unconditionally.
53870
53871 2007-10-21  Ben Pfaff  <blp@gnu.org>
53872
53873         * m4/check-libm-func.m4: Removed.
53874         * m4/check-math-lib.m4: New file.
53875         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
53876         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
53877         definition and lack of AC_LIBOBJ([roundf]).
53878         * m4/roundl.m4: Ditto, and similarly for roundl.
53879         * modules/round: Reference new m4 file.
53880         * modules/roundf: Ditto.
53881         * modules/roundl: Ditto.
53882         * tests/test-round2.c (main): Use ROUND instead of round.
53883         Bug report from Bruno Haible.
53884
53885 2007-10-21  Bruno Haible  <bruno@clisp.org>
53886
53887         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
53888         context.
53889
53890 2007-10-21  Bruno Haible  <bruno@clisp.org>
53891
53892         * tests/test-wcwidth.c (main): Allow negative result for some control
53893         characters.
53894
53895         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
53896         Needed on OSF/1 5.1.
53897
53898 2007-10-21  Bruno Haible  <bruno@clisp.org>
53899
53900         * tests/test-floorf1.c: Include isnanf.h.
53901         (main): Use isnanf() instead of isnan().
53902         * tests/test-ceilf1.c: Include isnanf.h.
53903         (main): Use isnanf() instead of isnan().
53904         * tests/test-truncf1.c: Include isnanf.h.
53905         (main): Use isnanf() instead of isnan().
53906         * tests/test-roundf1.c: Include isnanf.h.
53907         (main): Use isnanf() instead of isnan().
53908
53909 2007-10-21  Eric Blake  <ebb9@byu.net>
53910
53911         * users.txt: Update URL for m4.
53912
53913 2007-10-21  Bruno Haible  <bruno@clisp.org>
53914
53915         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
53916
53917 2007-10-21  Bruno Haible  <bruno@clisp.org>
53918
53919         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
53920         Git's management files if the CVS files are not present.
53921
53922 2007-10-20  Bruno Haible  <bruno@clisp.org>
53923
53924         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
53925         gcc-3.4.x.
53926
53927 2007-10-20  Ben Pfaff  <blp@gnu.org>
53928
53929         * lib/math.in.h: Declare round, roundf, roundl if we are providing
53930         implementations.
53931         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
53932         * lib/round.c: New file.
53933         * lib/roundf.c: New file.
53934         * lib/roundl.c: New file.
53935         * m4/round.m4: New file.
53936         * m4/roundf.m4: New file.
53937         * m4/roundl.m4: New file.
53938         * m4/check-libm-func-m4: New file.
53939         * modules/math: Replace round, roundf, roundl related @VARS@ in
53940         math.in.h.
53941         * modules/round: New file.
53942         * modules/round-tests: New file.
53943         * modules/roundf: New file.
53944         * modules/roundf-tests: New file.
53945         * modules/roundl: New file.
53946         * modules/roundl-tests: New file.
53947         * tests/test-round1.c: New file.
53948         * tests/test-round2.c: New file.
53949         * tests/test-roundf1.c: New file.
53950         * tests/test-roundf2.c: New file.
53951         * tests/test-roundl.c: New file.
53952         * doc/functions/round.texi: Mention round module.
53953         * doc/functions/roundf.texi: Mention roundf module.
53954         * doc/functions/roundl.texi: Mention roundl module.
53955         * MODULES.html.sh: Mention new modules.
53956         Thanks to Bruno Haible for suggestions.
53957
53958 2007-10-20  Jim Meyering  <meyering@redhat.com>
53959
53960         * lib/xprintf.c: Include <config.h> unconditionally.
53961
53962         Change xprintf's license to GPL.
53963         * modules/xprintf (License): s/LGPL/GPL/, since this module
53964         depends on modules (exit and exitfail) which are GPL.
53965         Suggestion from Bruno Haible.
53966
53967         xprintf fixes.
53968         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
53969         Use a clearer diagnostic.
53970         Patch from Bruno Haible.
53971
53972 2007-10-20  Bruno Haible  <bruno@clisp.org>
53973
53974         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
53975         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
53976         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53977
53978 2007-10-20  Bruno Haible  <bruno@clisp.org>
53979
53980         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
53981         precision in the comparison result > x - 1 or similar.
53982         * tests/test-ceilf2.c (correct_result_p): Likewise.
53983         * tests/test-truncf2.c (correct_result_p): Likewise.
53984         * tests/test-trunc2.c (correct_result_p): Likewise.
53985         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53986
53987 2007-10-20  Bruno Haible  <bruno@clisp.org>
53988
53989         * modules/ceil: New file.
53990         * m4/ceil.m4: New file.
53991         * doc/functions/ceil.texi: Mention the 'ceil' module.
53992
53993 2007-10-20  Bruno Haible  <bruno@clisp.org>
53994
53995         * modules/floor: New file.
53996         * m4/floor.m4: New file.
53997         * doc/functions/floor.texi: Mention the 'floor' module.
53998
53999 2007-10-20  Bruno Haible  <bruno@clisp.org>
54000
54001         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
54002         of %a.
54003         * modules/floorf-tests (Depends-on): Likewise.
54004         * modules/truncf-tests (Depends-on): Likewise.
54005         * modules/trunc-tests (Depends-on): Likewise.
54006         Reported by Ben Pfaff.
54007
54008 2007-10-19  Jim Meyering  <meyering@redhat.com>
54009
54010         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
54011         Don't bother testing specific errno values.  Just test ferror.
54012
54013         New module: xprintf
54014         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
54015
54016 2007-10-19  Bruno Haible  <bruno@clisp.org>
54017
54018         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
54019         syntax.
54020         * modules/javaexec (Makefile.am): Likewise.
54021         * modules/relocatable-prog (Makefile.am): Likewise.
54022         Suggested by Jim Meyering.
54023
54024 2007-10-18  Bruno Haible  <bruno@clisp.org>
54025
54026         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
54027         Reported by Jim Meyering.
54028
54029 2007-10-18  Eric Blake  <ebb9@byu.net>
54030
54031         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
54032
54033 2007-10-18  Bruno Haible  <bruno@clisp.org>
54034
54035         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
54036         the format string into writable memory. Needed in Fortify conditions.
54037
54038 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
54039             Bruno Haible  <bruno@clisp.org>
54040
54041         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
54042         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
54043         * modules/trim (Depends-on): Add mbchar.
54044         (configure.ac): Add gl_FUNC_MBRTOWC.
54045         (Makefile.am): Augment lib_SOURCES.
54046
54047 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
54048
54049         Modify glob.c to use fstatat and dirfd, to simplify it.
54050         Suggested by Eric Blake.
54051         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
54052         Don't include <stdbool.h>; not used.
54053         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
54054         (link_exists_p): Simplify implementation, since we can now assume
54055         dirfd and fstatat.
54056         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
54057
54058 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54059
54060         * gnulib-tool (func_get_dependencies): Fix sed script to
54061         match only tests.
54062
54063 2007-10-17  Bruno Haible  <bruno@clisp.org>
54064
54065         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
54066         allow locale names without encoding suffix.
54067         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
54068         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
54069
54070 2007-10-16  Bruno Haible  <bruno@clisp.org>
54071
54072         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
54073         * lib/getgroups.c (getgroups): Likewise.
54074         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
54075
54076 2007-10-16  Bruno Haible  <bruno@clisp.org>
54077
54078         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
54079         * modules/malloc-posix (License): Likewise.
54080         * modules/realloc-posix (License): Likewise.
54081         * modules/calloc-posix (License): Likewise.
54082         * modules/intprops (License): Change from GPL to LGPL, with
54083         Paul Eggert's approval.
54084
54085 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
54086
54087         Merge glibc changes into lib/glob.c.
54088
54089         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
54090         2007-10-15 04:59:03 UTC.  Here are the changes:
54091
54092         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
54093
54094         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
54095
54096         * lib/glob.c: Add some branch prediction throughout.
54097
54098         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
54099
54100         [BZ #5103]
54101         * lib/glob.c (glob): Recognize patterns starting \/.
54102
54103         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
54104
54105         [BZ #3996]
54106         * lib/glob.c (attribute_hidden): Define if not defined.
54107         (glob): Unescape dirname, filename or username when needed and not
54108         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
54109         is NULL.  Handle unescaped [ in pattern without closing ].
54110         Don't pass GLOB_CHECK down to recursive glob for directories.
54111         (__glob_pattern_type): New function.
54112         (__glob_pattern_p): Implement using __glob_pattern_type.
54113         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
54114         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
54115         Remove unreachable code.
54116
54117         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
54118
54119         * lib/glob.c (glob_in_dir): Add some comments and asserts to
54120         explain why there are no leaks.
54121
54122         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
54123
54124         [BZ #3253]
54125         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
54126         time, rather allocate increasingly bigger arrays of pointers, if
54127         possible with alloca, if too large with malloc.
54128
54129 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
54130
54131         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
54132         Problem reported by H.Merijn Brand in
54133         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
54134         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
54135         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
54136
54137 2007-10-15  Bruno Haible  <bruno@clisp.org>
54138
54139         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
54140         with explicit rpl_ prefix.
54141         * lib/fopen.c (fopen): Likewise.
54142         * lib/freopen.c (freopen): Likewise.
54143         * lib/iconv.c (iconv): Likewise.
54144         * lib/iconv_close.c (iconv_close): Likewise.
54145
54146 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54147
54148         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
54149
54150 2007-10-15  Bruno Haible  <bruno@clisp.org>
54151
54152         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
54153         <stddef.h> instead of <stdlib.h> since we only need NULL.
54154         Reported by Ben Pfaff <blp@cs.stanford.edu>.
54155
54156 2007-10-15  Bruno Haible  <bruno@clisp.org>
54157
54158         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
54159         Replace paragraph talking about LIBOBJS.
54160         Reported by Colin Watson <cjwatson@debian.org>.
54161
54162 2007-10-15  Bruno Haible  <bruno@clisp.org>
54163
54164         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
54165         <stdlib.h> before using NULL.
54166
54167 2007-10-15  Simon Josefsson  <simon@josefsson.org>
54168
54169         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
54170         Reported by Albert Chin <china@thewrittenword.com>.
54171
54172 2007-10-14  Bruno Haible  <bruno@clisp.org>
54173
54174         * modules/iconv_open-utf-tests: New file.
54175         * tests/test-iconv-utf.c: New file.
54176
54177         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
54178         * modules/iconv_open-utf: New file.
54179         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
54180         (iconv, iconv_close): New declarations.
54181         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
54182         be defined.
54183         (iconv_open): Add special handling of conversion between UTF-8 and
54184         UTF-{16,32}{BE,LE}.
54185         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
54186         * lib/iconv_close.c: New file.
54187         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
54188         gl_FUNC_ICONV_OPEN.
54189         (gl_FUNC_ICONV_OPEN): Use it.
54190         (gl_FUNC_ICONV_OPEN_UTF): New macro.
54191         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
54192         and REPLACE_ICONV_UTF.
54193         * modules/iconv_open (Depends-on): Add c-strcase.
54194         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
54195         ICONV_CONST.
54196         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
54197
54198 2007-10-13  Albert Chin  <china@thewrittenword.com>
54199             Bruno Haible  <bruno@clisp.org>
54200
54201         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
54202         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
54203
54204 2007-10-13  Bruno Haible  <bruno@clisp.org>
54205
54206         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
54207         defined, use the ISO C99 inline semantics.
54208         * lib/argp.h (ARGP_EI): Likewise.
54209
54210 2007-10-13  Bruno Haible  <bruno@clisp.org>
54211
54212         Handle 'inline' change in gcc 4.3.0.
54213         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
54214         argp_fmtstream_write, argp_fmtstream_set_lmargin,
54215         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
54216         argp_fmtstream_point): Disable 'extern' declaration if the function
54217         definition is going to be provided inline.
54218         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
54219         semantics, not the ISO C99 inline semantics.
54220         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
54221         'extern' declaration if the function definition is going to be provided
54222         inline.
54223         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
54224         the GNU C inline semantics, not the ISO C99 inline semantics. With
54225         GCC 4.2, avoid a warning.
54226
54227 2007-10-13  Bruno Haible  <bruno@clisp.org>
54228
54229         * lib/freading.h (freading): Enable the use of __freading for
54230         glibc >= 2.7.
54231         * lib/freading.c (freading): Likewise.
54232
54233 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
54234
54235         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
54236         "warning: C99 inline functions are not supported; using GNU89".
54237
54238 2007-10-12  Bruno Haible  <bruno@clisp.org>
54239
54240         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
54241         of 2.
54242         * tests/test-ceilf2.c: New file.
54243         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
54244
54245         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
54246         * modules/ceilf-tests: Update.
54247
54248 2007-10-12  Bruno Haible  <bruno@clisp.org>
54249
54250         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
54251         of 2.
54252         * tests/test-floorf2.c: New file.
54253         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
54254
54255         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
54256         * modules/floorf-tests: Update.
54257
54258 2007-10-12  Bruno Haible  <bruno@clisp.org>
54259
54260         * tests/test-trunc2.c: New file.
54261         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
54262
54263         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
54264         * modules/trunc-tests: Update.
54265
54266 2007-10-12  Bruno Haible  <bruno@clisp.org>
54267
54268         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
54269         of 2.
54270         * tests/test-truncf2.c: New file.
54271         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
54272
54273         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
54274         * modules/truncf-tests: Update.
54275
54276 2007-10-11  Eric Blake  <ebb9@byu.net>
54277
54278         Don't claim strerror is broken on Interix.
54279         * doc/functions/strerror.texi (strerror): Known broken systems are
54280         now Solaris 8, and not Interix.
54281         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
54282         Interix on cross-compile.
54283         Reported by Martin Koeppe in
54284         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
54285
54286 2007-10-11  Bruno Haible  <bruno@clisp.org>
54287
54288         * modules/i-ring-tests: New file.
54289         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
54290         instead of assert.
54291
54292 2007-10-11  Bruno Haible  <bruno@clisp.org>
54293
54294         * modules/filenamecat-tests: New file.
54295         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
54296         * lib/filenamecat.c: Remove test code.
54297
54298 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
54299
54300         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
54301
54302         * lib/strerror.c: Include <string.h> always, to test interface,
54303         and to remove the need for the dummy.
54304         Include intprops.h to compute width instead of doing it ourselves
54305         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
54306         (strerror): Define it to return NULL if there's no system strerror.
54307         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
54308         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
54309         ancient pre-strerror Unix systems well any more.  Saying "unknown
54310         system error" is enough.
54311         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
54312         simpler strerror.c implementation.
54313         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
54314         Simplify the tests to reflect the simpler strerror implementation.
54315         * modules/strerror (Depends-on): Add intprops.
54316
54317 2007-10-09  Eric Blake  <ebb9@byu.net>
54318
54319         Silence test-fpending.
54320         * modules/fpending-tests (Files): Add wrapper script.
54321         * tests/test-fpending.sh: New file.
54322
54323 2007-10-09  Bruno Haible  <bruno@clisp.org>
54324
54325         * MODULES.html.sh (func_module): Don't create a hyperlink for
54326         function names like 'printf_frexp'.
54327         (Misc): Add crc, memxor.
54328         (Characteristics of floating types): New section.
54329         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
54330         isnanf-nolibm, signbit, trunc, truncf, truncl.
54331         (Enhancements for ISO C 99 functions): New subsection Input/output.
54332         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
54333         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
54334         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
54335         (Compatibility checks for POSIX:2001 functions): Add clock-time.
54336         (Enhancements for POSIX:2001 functions): Add chdir-long.
54337         (File system functions): Add areadlink, chdir-safer, read-file.
54338         Remove cycle-check.
54339         (File system as inode set): New section.
54340         (Date and time): Add gethrxtime.
54341         (Multithreading): Add openmp.
54342         (Internationalization functions): Add localename.
54343         (Unicode string functions): Add unistr/u*-mbsnlen.
54344         (Support for maintaining and releasing projects): Add git-version-gen.
54345         (Lone files): Remove directories.
54346
54347 2007-10-08  Ben Pfaff  <blp@gnu.org>
54348
54349         * lib/xmalloca.h: Fix typo in comment.
54350
54351 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
54352
54353         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
54354         when avoiding problems with integer overflow.  Use a portable test
54355         instead.
54356
54357 2007-10-08  Simon Josefsson  <simon@josefsson.org>
54358
54359         * modules/dummy (License): Change to LGPLv2+.
54360         * modules/float (License): Likewise
54361         * modules/realloc (License): Likewise
54362         * modules/stdlib (License): Likewise
54363
54364 2007-10-07  Bruno Haible  <bruno@clisp.org>
54365
54366         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
54367         * floor.c (TWO_MANT_DIG): Likewise.
54368         * ceil.c (TWO_MANT_DIG): Likewise.
54369         Reported by Ben Pfaff.
54370
54371 2007-10-07  Bruno Haible  <bruno@clisp.org>
54372
54373         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
54374         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
54375         * lib/frexp.c (FUNC): Likewise.
54376         * lib/printf-frexp.h (printf_frexp): Likewise.
54377         * lib/printf-frexpl.h (printf_frexpl): Likewise.
54378         * lib/printf-frexp.c (FUNC): Likewise.
54379         Suggested by Jim Meyering.
54380
54381 2007-10-07  Jim Meyering  <meyering@redhat.com>
54382
54383         Make xnanosleep's integer overflow test more robust.
54384         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
54385         so that gcc-4.3.0 doesn't optimize away this test for overflow.
54386
54387 2007-10-07  Bruno Haible  <bruno@clisp.org>
54388
54389         * NEWS: Mention the license change.
54390
54391         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
54392         abbreviations in the modules files.
54393
54394         Change copyright notice from GPLv2+ to GPLv3+.
54395         * README: Change copyright notice.
54396         * MODULES.html.sh: Likewise.
54397         * build-aux/bootstrap.conf: Likewise.
54398         * build-aux/config.libpath: Likewise.
54399         * build-aux/csharpcomp.sh.in: Likewise.
54400         * build-aux/csharpexec.sh.in: Likewise.
54401         * build-aux/install-reloc: Likewise.
54402         * build-aux/javacomp.sh.in: Likewise.
54403         * build-aux/javaexec.sh.in: Likewise.
54404         * build-aux/ldd.sh.in: Likewise.
54405         * build-aux/reloc-ldflags: Likewise.
54406         * build-aux/relocatable.sh.in: Likewise.
54407         * build-aux/x-to-1.in: Likewise.
54408         * check-module: Likewise.
54409         * config/srclistvars.sh: Likewise.
54410         * gnulib-tool: Likewise.
54411         * lib/acl-internal.h: Likewise.
54412         * lib/acl.c: Likewise.
54413         * lib/acl.h: Likewise.
54414         * lib/acl_entries.c: Likewise.
54415         * lib/areadlink-with-size.c: Likewise.
54416         * lib/areadlink.c: Likewise.
54417         * lib/areadlink.h: Likewise.
54418         * lib/argmatch.c: Likewise.
54419         * lib/argmatch.h: Likewise.
54420         * lib/argp-ba.c: Likewise.
54421         * lib/argp-eexst.c: Likewise.
54422         * lib/argp-fmtstream.c: Likewise.
54423         * lib/argp-fmtstream.h: Likewise.
54424         * lib/argp-fs-xinl.c: Likewise.
54425         * lib/argp-help.c: Likewise.
54426         * lib/argp-namefrob.h: Likewise.
54427         * lib/argp-parse.c: Likewise.
54428         * lib/argp-pin.c: Likewise.
54429         * lib/argp-pv.c: Likewise.
54430         * lib/argp-pvh.c: Likewise.
54431         * lib/argp-xinl.c: Likewise.
54432         * lib/argp.h: Likewise.
54433         * lib/at-func.c: Likewise.
54434         * lib/atanl.c: Likewise.
54435         * lib/backupfile.c: Likewise.
54436         * lib/backupfile.h: Likewise.
54437         * lib/basename.c: Likewise.
54438         * lib/binary-io.h: Likewise.
54439         * lib/byteswap.in.h: Likewise.
54440         * lib/c-stack.c: Likewise.
54441         * lib/c-stack.h: Likewise.
54442         * lib/c-strcasestr.c: Likewise.
54443         * lib/c-strcasestr.h: Likewise.
54444         * lib/c-strstr.c: Likewise.
54445         * lib/c-strstr.h: Likewise.
54446         * lib/c-strtod.c: Likewise.
54447         * lib/calloc.c: Likewise.
54448         * lib/canon-host.c: Likewise.
54449         * lib/canon-host.h: Likewise.
54450         * lib/canonicalize-lgpl.c: Likewise.
54451         * lib/canonicalize.c: Likewise.
54452         * lib/canonicalize.h: Likewise.
54453         * lib/ceil.c: Likewise.
54454         * lib/ceilf.c: Likewise.
54455         * lib/ceill.c: Likewise.
54456         * lib/chdir-long.c: Likewise.
54457         * lib/chdir-long.h: Likewise.
54458         * lib/chdir-safer.c: Likewise.
54459         * lib/chdir-safer.h: Likewise.
54460         * lib/chown.c: Likewise.
54461         * lib/classpath.c: Likewise.
54462         * lib/classpath.h: Likewise.
54463         * lib/clean-temp.c: Likewise.
54464         * lib/clean-temp.h: Likewise.
54465         * lib/cloexec.c: Likewise.
54466         * lib/close-stream.c: Likewise.
54467         * lib/closein.c: Likewise.
54468         * lib/closein.h: Likewise.
54469         * lib/closeout.c: Likewise.
54470         * lib/closeout.h: Likewise.
54471         * lib/concat-filename.c: Likewise.
54472         * lib/copy-file.c: Likewise.
54473         * lib/copy-file.h: Likewise.
54474         * lib/count-one-bits.h: Likewise.
54475         * lib/crc.c: Likewise.
54476         * lib/crc.h: Likewise.
54477         * lib/creat-safer.c: Likewise.
54478         * lib/csharpcomp.c: Likewise.
54479         * lib/csharpcomp.h: Likewise.
54480         * lib/csharpexec.c: Likewise.
54481         * lib/csharpexec.h: Likewise.
54482         * lib/cycle-check.c: Likewise.
54483         * lib/cycle-check.h: Likewise.
54484         * lib/diacrit.c: Likewise.
54485         * lib/diacrit.h: Likewise.
54486         * lib/diffseq.h: Likewise.
54487         * lib/dirchownmod.c: Likewise.
54488         * lib/dirent.in.h: Likewise.
54489         * lib/dirfd.c: Likewise.
54490         * lib/dirfd.h: Likewise.
54491         * lib/dirname.c: Likewise.
54492         * lib/dirname.h: Likewise.
54493         * lib/dummy.c: Likewise.
54494         * lib/dup-safer.c: Likewise.
54495         * lib/dup2.c: Likewise.
54496         * lib/eealloc.h: Likewise.
54497         * lib/error.c: Likewise.
54498         * lib/error.h: Likewise.
54499         * lib/euidaccess.c: Likewise.
54500         * lib/exclude.c: Likewise.
54501         * lib/exclude.h: Likewise.
54502         * lib/execute.c: Likewise.
54503         * lib/execute.h: Likewise.
54504         * lib/exitfail.c: Likewise.
54505         * lib/exitfail.h: Likewise.
54506         * lib/expl.c: Likewise.
54507         * lib/fatal-signal.c: Likewise.
54508         * lib/fatal-signal.h: Likewise.
54509         * lib/fbufmode.c: Likewise.
54510         * lib/fbufmode.h: Likewise.
54511         * lib/fchdir.c: Likewise.
54512         * lib/fchmodat.c: Likewise.
54513         * lib/fchownat.c: Likewise.
54514         * lib/fcntl--.h: Likewise.
54515         * lib/fcntl-safer.h: Likewise.
54516         * lib/fcntl.in.h: Likewise.
54517         * lib/fd-safer.c: Likewise.
54518         * lib/fflush.c: Likewise.
54519         * lib/file-has-acl.c: Likewise.
54520         * lib/file-set.c: Likewise.
54521         * lib/file-type.c: Likewise.
54522         * lib/file-type.h: Likewise.
54523         * lib/fileblocks.c: Likewise.
54524         * lib/filemode.c: Likewise.
54525         * lib/filemode.h: Likewise.
54526         * lib/filename.h: Likewise.
54527         * lib/filenamecat.c: Likewise.
54528         * lib/filenamecat.h: Likewise.
54529         * lib/findprog.c: Likewise.
54530         * lib/findprog.h: Likewise.
54531         * lib/float.in.h: Likewise.
54532         * lib/floor.c: Likewise.
54533         * lib/floorf.c: Likewise.
54534         * lib/floorl.c: Likewise.
54535         * lib/fopen-safer.c: Likewise.
54536         * lib/fopen.c: Likewise.
54537         * lib/fpending.c: Likewise.
54538         * lib/fpending.h: Likewise.
54539         * lib/fprintf.c: Likewise.
54540         * lib/fprintftime.h: Likewise.
54541         * lib/fpucw.h: Likewise.
54542         * lib/fpurge.c: Likewise.
54543         * lib/fpurge.h: Likewise.
54544         * lib/freadable.c: Likewise.
54545         * lib/freadable.h: Likewise.
54546         * lib/freadahead.c: Likewise.
54547         * lib/freadahead.h: Likewise.
54548         * lib/freading.c: Likewise.
54549         * lib/freading.h: Likewise.
54550         * lib/free.c: Likewise.
54551         * lib/freopen.c: Likewise.
54552         * lib/frexp.c: Likewise.
54553         * lib/frexpl.c: Likewise.
54554         * lib/fseek.c: Likewise.
54555         * lib/fseterr.c: Likewise.
54556         * lib/fseterr.h: Likewise.
54557         * lib/fstatat.c: Likewise.
54558         * lib/fstrcmp.c: Likewise.
54559         * lib/fstrcmp.h: Likewise.
54560         * lib/fsusage.c: Likewise.
54561         * lib/fsusage.h: Likewise.
54562         * lib/ftell.c: Likewise.
54563         * lib/ftello.c: Likewise.
54564         * lib/fts-cycle.c: Likewise.
54565         * lib/fts.c: Likewise.
54566         * lib/fts_.h: Likewise.
54567         * lib/full-read.c: Likewise.
54568         * lib/full-read.h: Likewise.
54569         * lib/full-write.c: Likewise.
54570         * lib/full-write.h: Likewise.
54571         * lib/fwritable.c: Likewise.
54572         * lib/fwritable.h: Likewise.
54573         * lib/fwriteerror.c: Likewise.
54574         * lib/fwriteerror.h: Likewise.
54575         * lib/fwriting.c: Likewise.
54576         * lib/fwriting.h: Likewise.
54577         * lib/gcd.c: Likewise.
54578         * lib/gcd.h: Likewise.
54579         * lib/getcwd.c: Likewise.
54580         * lib/getdate.h: Likewise.
54581         * lib/getdate.y: Likewise.
54582         * lib/getdomainname.c: Likewise.
54583         * lib/getdomainname.h: Likewise.
54584         * lib/getgroups.c: Likewise.
54585         * lib/gethostname.c: Likewise.
54586         * lib/gethrxtime.c: Likewise.
54587         * lib/gethrxtime.h: Likewise.
54588         * lib/getloadavg.c: Likewise.
54589         * lib/getndelim2.c: Likewise.
54590         * lib/getndelim2.h: Likewise.
54591         * lib/getnline.c: Likewise.
54592         * lib/getnline.h: Likewise.
54593         * lib/getopt.c: Likewise.
54594         * lib/getopt.in.h: Likewise.
54595         * lib/getopt1.c: Likewise.
54596         * lib/getopt_int.h: Likewise.
54597         * lib/getpagesize.h: Likewise.
54598         * lib/getsubopt.c: Likewise.
54599         * lib/gettime.c: Likewise.
54600         * lib/getugroups.c: Likewise.
54601         * lib/getugroups.h: Likewise.
54602         * lib/getusershell.c: Likewise.
54603         * lib/gl_anyavltree_list1.h: Likewise.
54604         * lib/gl_anyavltree_list2.h: Likewise.
54605         * lib/gl_anyhash_list1.h: Likewise.
54606         * lib/gl_anyhash_list2.h: Likewise.
54607         * lib/gl_anylinked_list1.h: Likewise.
54608         * lib/gl_anylinked_list2.h: Likewise.
54609         * lib/gl_anyrbtree_list1.h: Likewise.
54610         * lib/gl_anyrbtree_list2.h: Likewise.
54611         * lib/gl_anytree_list1.h: Likewise.
54612         * lib/gl_anytree_list2.h: Likewise.
54613         * lib/gl_anytree_oset.h: Likewise.
54614         * lib/gl_anytreehash_list1.h: Likewise.
54615         * lib/gl_anytreehash_list2.h: Likewise.
54616         * lib/gl_array_list.c: Likewise.
54617         * lib/gl_array_list.h: Likewise.
54618         * lib/gl_array_oset.c: Likewise.
54619         * lib/gl_array_oset.h: Likewise.
54620         * lib/gl_avltree_list.c: Likewise.
54621         * lib/gl_avltree_list.h: Likewise.
54622         * lib/gl_avltree_oset.c: Likewise.
54623         * lib/gl_avltree_oset.h: Likewise.
54624         * lib/gl_avltreehash_list.c: Likewise.
54625         * lib/gl_avltreehash_list.h: Likewise.
54626         * lib/gl_carray_list.c: Likewise.
54627         * lib/gl_carray_list.h: Likewise.
54628         * lib/gl_linked_list.c: Likewise.
54629         * lib/gl_linked_list.h: Likewise.
54630         * lib/gl_linkedhash_list.c: Likewise.
54631         * lib/gl_linkedhash_list.h: Likewise.
54632         * lib/gl_list.c: Likewise.
54633         * lib/gl_list.h: Likewise.
54634         * lib/gl_oset.c: Likewise.
54635         * lib/gl_oset.h: Likewise.
54636         * lib/gl_rbtree_list.c: Likewise.
54637         * lib/gl_rbtree_list.h: Likewise.
54638         * lib/gl_rbtree_oset.c: Likewise.
54639         * lib/gl_rbtree_oset.h: Likewise.
54640         * lib/gl_rbtreehash_list.c: Likewise.
54641         * lib/gl_rbtreehash_list.h: Likewise.
54642         * lib/gl_sublist.c: Likewise.
54643         * lib/gl_sublist.h: Likewise.
54644         * lib/group-member.c: Likewise.
54645         * lib/group-member.h: Likewise.
54646         * lib/hard-locale.c: Likewise.
54647         * lib/hard-locale.h: Likewise.
54648         * lib/hash-pjw.c: Likewise.
54649         * lib/hash-pjw.h: Likewise.
54650         * lib/hash-triple.c: Likewise.
54651         * lib/hash.c: Likewise.
54652         * lib/hash.h: Likewise.
54653         * lib/human.c: Likewise.
54654         * lib/human.h: Likewise.
54655         * lib/i-ring.c: Likewise.
54656         * lib/i-ring.h: Likewise.
54657         * lib/idcache.c: Likewise.
54658         * lib/imaxabs.c: Likewise.
54659         * lib/imaxdiv.c: Likewise.
54660         * lib/inet_pton.c: Likewise.
54661         * lib/inet_pton.h: Likewise.
54662         * lib/intprops.h: Likewise.
54663         * lib/inttostr.c: Likewise.
54664         * lib/inttostr.h: Likewise.
54665         * lib/inttypes.in.h: Likewise.
54666         * lib/isapipe.c: Likewise.
54667         * lib/isdir.c: Likewise.
54668         * lib/isnan.c: Likewise.
54669         * lib/isnan.h: Likewise.
54670         * lib/isnanf.c: Likewise.
54671         * lib/isnanf.h: Likewise.
54672         * lib/isnanl-nolibm.h: Likewise.
54673         * lib/isnanl.c: Likewise.
54674         * lib/isnanl.h: Likewise.
54675         * lib/javacomp.c: Likewise.
54676         * lib/javacomp.h: Likewise.
54677         * lib/javaexec.c: Likewise.
54678         * lib/javaexec.h: Likewise.
54679         * lib/javaversion.c: Likewise.
54680         * lib/javaversion.h: Likewise.
54681         * lib/javaversion.java: Likewise.
54682         * lib/lbrkprop.h: Likewise.
54683         * lib/lchmod.h: Likewise.
54684         * lib/lchown.c: Likewise.
54685         * lib/ldexpl.c: Likewise.
54686         * lib/linebreak.c: Likewise.
54687         * lib/linebreak.h: Likewise.
54688         * lib/linebuffer.c: Likewise.
54689         * lib/linebuffer.h: Likewise.
54690         * lib/locale.in.h: Likewise.
54691         * lib/logl.c: Likewise.
54692         * lib/long-options.c: Likewise.
54693         * lib/long-options.h: Likewise.
54694         * lib/lstat.c: Likewise.
54695         * lib/lstat.h: Likewise.
54696         * lib/math.in.h: Likewise.
54697         * lib/mbchar.c: Likewise.
54698         * lib/mbchar.h: Likewise.
54699         * lib/mbfile.h: Likewise.
54700         * lib/mbiter.h: Likewise.
54701         * lib/mbscasecmp.c: Likewise.
54702         * lib/mbscasestr.c: Likewise.
54703         * lib/mbschr.c: Likewise.
54704         * lib/mbscspn.c: Likewise.
54705         * lib/mbslen.c: Likewise.
54706         * lib/mbsncasecmp.c: Likewise.
54707         * lib/mbsnlen.c: Likewise.
54708         * lib/mbspbrk.c: Likewise.
54709         * lib/mbspcasecmp.c: Likewise.
54710         * lib/mbsrchr.c: Likewise.
54711         * lib/mbssep.c: Likewise.
54712         * lib/mbsspn.c: Likewise.
54713         * lib/mbsstr.c: Likewise.
54714         * lib/mbstok_r.c: Likewise.
54715         * lib/mbswidth.c: Likewise.
54716         * lib/mbswidth.h: Likewise.
54717         * lib/mbuiter.h: Likewise.
54718         * lib/memcasecmp.c: Likewise.
54719         * lib/memcasecmp.h: Likewise.
54720         * lib/memchr.c: Likewise.
54721         * lib/memcmp.c: Likewise.
54722         * lib/memcoll.c: Likewise.
54723         * lib/memcoll.h: Likewise.
54724         * lib/memcpy.c: Likewise.
54725         * lib/memrchr.c: Likewise.
54726         * lib/mkancesdirs.c: Likewise.
54727         * lib/mkdir-p.c: Likewise.
54728         * lib/mkdir-p.h: Likewise.
54729         * lib/mkdir.c: Likewise.
54730         * lib/mkdirat.c: Likewise.
54731         * lib/mkdtemp.c: Likewise.
54732         * lib/mkstemp-safer.c: Likewise.
54733         * lib/mkstemp.c: Likewise.
54734         * lib/modechange.c: Likewise.
54735         * lib/modechange.h: Likewise.
54736         * lib/mountlist.c: Likewise.
54737         * lib/mountlist.h: Likewise.
54738         * lib/mpsort.c: Likewise.
54739         * lib/nanosleep.c: Likewise.
54740         * lib/obstack.c: Likewise.
54741         * lib/obstack.h: Likewise.
54742         * lib/open-safer.c: Likewise.
54743         * lib/open.c: Likewise.
54744         * lib/openat-die.c: Likewise.
54745         * lib/openat-priv.h: Likewise.
54746         * lib/openat-proc.c: Likewise.
54747         * lib/openat.c: Likewise.
54748         * lib/openat.h: Likewise.
54749         * lib/pagealign_alloc.c: Likewise.
54750         * lib/pagealign_alloc.h: Likewise.
54751         * lib/physmem.c: Likewise.
54752         * lib/physmem.h: Likewise.
54753         * lib/pipe-safer.c: Likewise.
54754         * lib/pipe.c: Likewise.
54755         * lib/pipe.h: Likewise.
54756         * lib/posixtm.c: Likewise.
54757         * lib/posixtm.h: Likewise.
54758         * lib/posixver.c: Likewise.
54759         * lib/printf-frexp.c: Likewise.
54760         * lib/printf-frexp.h: Likewise.
54761         * lib/printf-frexpl.c: Likewise.
54762         * lib/printf-frexpl.h: Likewise.
54763         * lib/printf.c: Likewise.
54764         * lib/progname.c: Likewise.
54765         * lib/progname.h: Likewise.
54766         * lib/progreloc.c: Likewise.
54767         * lib/putenv.c: Likewise.
54768         * lib/quote.c: Likewise.
54769         * lib/quote.h: Likewise.
54770         * lib/quotearg.c: Likewise.
54771         * lib/quotearg.h: Likewise.
54772         * lib/raise.c: Likewise.
54773         * lib/readline.c: Likewise.
54774         * lib/readline.h: Likewise.
54775         * lib/readlink.c: Likewise.
54776         * lib/readtokens.c: Likewise.
54777         * lib/readtokens.h: Likewise.
54778         * lib/readtokens0.c: Likewise.
54779         * lib/readtokens0.h: Likewise.
54780         * lib/readutmp.c: Likewise.
54781         * lib/readutmp.h: Likewise.
54782         * lib/realloc.c: Likewise.
54783         * lib/relocwrapper.c: Likewise.
54784         * lib/rename-dest-slash.c: Likewise.
54785         * lib/rename.c: Likewise.
54786         * lib/rmdir.c: Likewise.
54787         * lib/rpmatch.c: Likewise.
54788         * lib/safe-read.c: Likewise.
54789         * lib/safe-read.h: Likewise.
54790         * lib/safe-write.c: Likewise.
54791         * lib/safe-write.h: Likewise.
54792         * lib/same-inode.h: Likewise.
54793         * lib/same.c: Likewise.
54794         * lib/same.h: Likewise.
54795         * lib/save-cwd.c: Likewise.
54796         * lib/save-cwd.h: Likewise.
54797         * lib/savedir.c: Likewise.
54798         * lib/savedir.h: Likewise.
54799         * lib/savewd.c: Likewise.
54800         * lib/savewd.h: Likewise.
54801         * lib/search.in.h: Likewise.
54802         * lib/setenv.c: Likewise.
54803         * lib/setenv.h: Likewise.
54804         * lib/settime.c: Likewise.
54805         * lib/sh-quote.c: Likewise.
54806         * lib/sh-quote.h: Likewise.
54807         * lib/sig2str.c: Likewise.
54808         * lib/sig2str.h: Likewise.
54809         * lib/signal.in.h: Likewise.
54810         * lib/signbitd.c: Likewise.
54811         * lib/signbitf.c: Likewise.
54812         * lib/signbitl.c: Likewise.
54813         * lib/sigprocmask.c: Likewise.
54814         * lib/sincosl.c: Likewise.
54815         * lib/sleep.c: Likewise.
54816         * lib/sprintf.c: Likewise.
54817         * lib/sqrtl.c: Likewise.
54818         * lib/stat-time.h: Likewise.
54819         * lib/stdio--.h: Likewise.
54820         * lib/stdio-safer.h: Likewise.
54821         * lib/stdlib--.h: Likewise.
54822         * lib/stdlib-safer.h: Likewise.
54823         * lib/stdlib.in.h: Likewise.
54824         * lib/stpcpy.c: Likewise.
54825         * lib/stpncpy.c: Likewise.
54826         * lib/strchrnul.c: Likewise.
54827         * lib/strcspn.c: Likewise.
54828         * lib/strerror.c: Likewise.
54829         * lib/strftime.c: Likewise.
54830         * lib/strftime.h: Likewise.
54831         * lib/striconveh.c: Likewise.
54832         * lib/striconveh.h: Likewise.
54833         * lib/striconveha.c: Likewise.
54834         * lib/striconveha.h: Likewise.
54835         * lib/stripslash.c: Likewise.
54836         * lib/strnlen1.c: Likewise.
54837         * lib/strnlen1.h: Likewise.
54838         * lib/strtod.c: Likewise.
54839         * lib/strtoimax.c: Likewise.
54840         * lib/strtok_r.c: Likewise.
54841         * lib/strtol.c: Likewise.
54842         * lib/strtoll.c: Likewise.
54843         * lib/strtoul.c: Likewise.
54844         * lib/strtoull.c: Likewise.
54845         * lib/sysexits.in.h: Likewise.
54846         * lib/tempname.c: Likewise.
54847         * lib/tempname.h: Likewise.
54848         * lib/timespec.h: Likewise.
54849         * lib/tls.c: Likewise.
54850         * lib/tls.h: Likewise.
54851         * lib/tmpdir.c: Likewise.
54852         * lib/tmpdir.h: Likewise.
54853         * lib/tmpfile-safer.c: Likewise.
54854         * lib/tmpfile.c: Likewise.
54855         * lib/trigl.c: Likewise.
54856         * lib/trigl.h: Likewise.
54857         * lib/trim.c: Likewise.
54858         * lib/trim.h: Likewise.
54859         * lib/trunc.c: Likewise.
54860         * lib/truncf.c: Likewise.
54861         * lib/truncl.c: Likewise.
54862         * lib/tsearch.c: Likewise.
54863         * lib/unicodeio.c: Likewise.
54864         * lib/unicodeio.h: Likewise.
54865         * lib/unistd--.h: Likewise.
54866         * lib/unistd-safer.h: Likewise.
54867         * lib/unistdio/ulc-fprintf.c: Likewise.
54868         * lib/unistdio/ulc-vfprintf.c: Likewise.
54869         * lib/unlinkdir.c: Likewise.
54870         * lib/unlinkdir.h: Likewise.
54871         * lib/unlocked-io.h: Likewise.
54872         * lib/unsetenv.c: Likewise.
54873         * lib/userspec.c: Likewise.
54874         * lib/utime.c: Likewise.
54875         * lib/utimecmp.c: Likewise.
54876         * lib/utimecmp.h: Likewise.
54877         * lib/utimens.c: Likewise.
54878         * lib/verify.h: Likewise.
54879         * lib/verror.c: Likewise.
54880         * lib/verror.h: Likewise.
54881         * lib/version-etc-fsf.c: Likewise.
54882         * lib/version-etc.c: Likewise.
54883         * lib/version-etc.h: Likewise.
54884         * lib/vfprintf.c: Likewise.
54885         * lib/vprintf.c: Likewise.
54886         * lib/vsprintf.c: Likewise.
54887         * lib/w32spawn.h: Likewise.
54888         * lib/wait-process.c: Likewise.
54889         * lib/wait-process.h: Likewise.
54890         * lib/wcwidth.c: Likewise.
54891         * lib/write-any-file.c: Likewise.
54892         * lib/xalloc-die.c: Likewise.
54893         * lib/xalloc.h: Likewise.
54894         * lib/xasprintf.c: Likewise.
54895         * lib/xgetcwd.c: Likewise.
54896         * lib/xgetcwd.h: Likewise.
54897         * lib/xgetdomainname.c: Likewise.
54898         * lib/xgetdomainname.h: Likewise.
54899         * lib/xgethostname.c: Likewise.
54900         * lib/xmalloc.c: Likewise.
54901         * lib/xmalloca.c: Likewise.
54902         * lib/xmalloca.h: Likewise.
54903         * lib/xmemcoll.c: Likewise.
54904         * lib/xnanosleep.c: Likewise.
54905         * lib/xreadlink.c: Likewise.
54906         * lib/xreadlink.h: Likewise.
54907         * lib/xsetenv.c: Likewise.
54908         * lib/xsetenv.h: Likewise.
54909         * lib/xstriconv.c: Likewise.
54910         * lib/xstriconv.h: Likewise.
54911         * lib/xstrndup.c: Likewise.
54912         * lib/xstrndup.h: Likewise.
54913         * lib/xstrtod.c: Likewise.
54914         * lib/xstrtod.h: Likewise.
54915         * lib/xstrtol-error.c: Likewise.
54916         * lib/xstrtol.c: Likewise.
54917         * lib/xstrtol.h: Likewise.
54918         * lib/xtime.h: Likewise.
54919         * lib/xvasprintf.c: Likewise.
54920         * lib/xvasprintf.h: Likewise.
54921         * lib/yesno.c: Likewise.
54922         * lib/yesno.h: Likewise.
54923         * posix-modules: Likewise.
54924         * tests/test-alloca-opt.c: Likewise.
54925         * tests/test-arcfour.c: Likewise.
54926         * tests/test-arctwo.c: Likewise.
54927         * tests/test-argmatch.c: Likewise.
54928         * tests/test-argp-2.sh: Likewise.
54929         * tests/test-argp.c: Likewise.
54930         * tests/test-arpa_inet.c: Likewise.
54931         * tests/test-array_list.c: Likewise.
54932         * tests/test-array_oset.c: Likewise.
54933         * tests/test-atexit.c: Likewise.
54934         * tests/test-avltree_list.c: Likewise.
54935         * tests/test-avltree_oset.c: Likewise.
54936         * tests/test-avltreehash_list.c: Likewise.
54937         * tests/test-base64.c: Likewise.
54938         * tests/test-binary-io.c: Likewise.
54939         * tests/test-byteswap.c: Likewise.
54940         * tests/test-c-ctype.c: Likewise.
54941         * tests/test-c-strcasecmp.c: Likewise.
54942         * tests/test-c-strcasestr.c: Likewise.
54943         * tests/test-c-strncasecmp.c: Likewise.
54944         * tests/test-c-strstr.c: Likewise.
54945         * tests/test-canonicalize-lgpl.c: Likewise.
54946         * tests/test-canonicalize.c: Likewise.
54947         * tests/test-carray_list.c: Likewise.
54948         * tests/test-ceilf.c: Likewise.
54949         * tests/test-ceill.c: Likewise.
54950         * tests/test-count-one-bits.c: Likewise.
54951         * tests/test-crc.c: Likewise.
54952         * tests/test-dirname.c: Likewise.
54953         * tests/test-fbufmode.c: Likewise.
54954         * tests/test-fcntl.c: Likewise.
54955         * tests/test-fflush.c: Likewise.
54956         * tests/test-floorf.c: Likewise.
54957         * tests/test-floorl.c: Likewise.
54958         * tests/test-fopen.c: Likewise.
54959         * tests/test-fprintf-posix.c: Likewise.
54960         * tests/test-fprintf-posix.h: Likewise.
54961         * tests/test-fpurge.c: Likewise.
54962         * tests/test-freadable.c: Likewise.
54963         * tests/test-freadahead.c: Likewise.
54964         * tests/test-freading.c: Likewise.
54965         * tests/test-freopen.c: Likewise.
54966         * tests/test-frexp.c: Likewise.
54967         * tests/test-frexpl.c: Likewise.
54968         * tests/test-fseek.c: Likewise.
54969         * tests/test-fseeko.c: Likewise.
54970         * tests/test-fseterr.c: Likewise.
54971         * tests/test-fstrcmp.c: Likewise.
54972         * tests/test-ftell.c: Likewise.
54973         * tests/test-ftello.c: Likewise.
54974         * tests/test-fwritable.c: Likewise.
54975         * tests/test-fwriting.c: Likewise.
54976         * tests/test-getaddrinfo.c: Likewise.
54977         * tests/test-getpass.c: Likewise.
54978         * tests/test-gettimeofday.c: Likewise.
54979         * tests/test-hmac-md5.c: Likewise.
54980         * tests/test-hmac-sha1.c: Likewise.
54981         * tests/test-iconv.c: Likewise.
54982         * tests/test-iconvme.c: Likewise.
54983         * tests/test-inttypes.c: Likewise.
54984         * tests/test-isnan.c: Likewise.
54985         * tests/test-isnanf.c: Likewise.
54986         * tests/test-isnanl-nolibm.c: Likewise.
54987         * tests/test-isnanl.c: Likewise.
54988         * tests/test-isnanl.h: Likewise.
54989         * tests/test-ldexpl.c: Likewise.
54990         * tests/test-linked_list.c: Likewise.
54991         * tests/test-linkedhash_list.c: Likewise.
54992         * tests/test-locale.c: Likewise.
54993         * tests/test-localename.c: Likewise.
54994         * tests/test-lock.c: Likewise.
54995         * tests/test-lseek.c: Likewise.
54996         * tests/test-malloca.c: Likewise.
54997         * tests/test-math.c: Likewise.
54998         * tests/test-mbscasecmp.c: Likewise.
54999         * tests/test-mbscasestr1.c: Likewise.
55000         * tests/test-mbscasestr2.c: Likewise.
55001         * tests/test-mbscasestr3.c: Likewise.
55002         * tests/test-mbscasestr4.c: Likewise.
55003         * tests/test-mbschr.c: Likewise.
55004         * tests/test-mbscspn.c: Likewise.
55005         * tests/test-mbsncasecmp.c: Likewise.
55006         * tests/test-mbspbrk.c: Likewise.
55007         * tests/test-mbspcasecmp.c: Likewise.
55008         * tests/test-mbsrchr.c: Likewise.
55009         * tests/test-mbsspn.c: Likewise.
55010         * tests/test-mbsstr1.c: Likewise.
55011         * tests/test-mbsstr2.c: Likewise.
55012         * tests/test-mbsstr3.c: Likewise.
55013         * tests/test-md5.c: Likewise.
55014         * tests/test-memmem.c: Likewise.
55015         * tests/test-netinet_in.c: Likewise.
55016         * tests/test-open.c: Likewise.
55017         * tests/test-printf-frexp.c: Likewise.
55018         * tests/test-printf-frexpl.c: Likewise.
55019         * tests/test-printf-posix.c: Likewise.
55020         * tests/test-printf-posix.h: Likewise.
55021         * tests/test-rbtree_list.c: Likewise.
55022         * tests/test-rbtree_oset.c: Likewise.
55023         * tests/test-rbtreehash_list.c: Likewise.
55024         * tests/test-read-file.c: Likewise.
55025         * tests/test-rijndael.c: Likewise.
55026         * tests/test-search.c: Likewise.
55027         * tests/test-signbit.c: Likewise.
55028         * tests/test-sleep.c: Likewise.
55029         * tests/test-snprintf-posix.c: Likewise.
55030         * tests/test-snprintf-posix.h: Likewise.
55031         * tests/test-snprintf.c: Likewise.
55032         * tests/test-sprintf-posix.c: Likewise.
55033         * tests/test-sprintf-posix.h: Likewise.
55034         * tests/test-stat-time.c: Likewise.
55035         * tests/test-stdbool.c: Likewise.
55036         * tests/test-stdint.c: Likewise.
55037         * tests/test-stdio.c: Likewise.
55038         * tests/test-stdlib.c: Likewise.
55039         * tests/test-stpncpy.c: Likewise.
55040         * tests/test-strcasestr.c: Likewise.
55041         * tests/test-striconv.c: Likewise.
55042         * tests/test-striconveh.c: Likewise.
55043         * tests/test-striconveha.c: Likewise.
55044         * tests/test-string.c: Likewise.
55045         * tests/test-sys_select.c: Likewise.
55046         * tests/test-sys_socket.c: Likewise.
55047         * tests/test-sys_stat.c: Likewise.
55048         * tests/test-sys_time.c: Likewise.
55049         * tests/test-sysexits.c: Likewise.
55050         * tests/test-time.c: Likewise.
55051         * tests/test-tls.c: Likewise.
55052         * tests/test-trunc.c: Likewise.
55053         * tests/test-truncf.c: Likewise.
55054         * tests/test-truncl.c: Likewise.
55055         * tests/test-unistd.c: Likewise.
55056         * tests/test-vasnprintf-posix.c: Likewise.
55057         * tests/test-vasnprintf-posix2.c: Likewise.
55058         * tests/test-vasnprintf.c: Likewise.
55059         * tests/test-vasprintf-posix.c: Likewise.
55060         * tests/test-vasprintf.c: Likewise.
55061         * tests/test-verify.c: Likewise.
55062         * tests/test-vfprintf-posix.c: Likewise.
55063         * tests/test-vprintf-posix.c: Likewise.
55064         * tests/test-vsnprintf-posix.c: Likewise.
55065         * tests/test-vsnprintf.c: Likewise.
55066         * tests/test-vsprintf-posix.c: Likewise.
55067         * tests/test-wchar.c: Likewise.
55068         * tests/test-wctype.c: Likewise.
55069         * tests/test-wcwidth.c: Likewise.
55070         * tests/test-xstrtol.c: Likewise.
55071         * tests/test-xvasprintf.c: Likewise.
55072         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
55073         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
55074         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
55075         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
55076         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
55077         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
55078         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
55079         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
55080         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
55081         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
55082         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
55083         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
55084         * tests/uniname/test-uninames.c: Likewise.
55085         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
55086         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
55087         * tests/unistdio/test-u16-printf1.h: Likewise.
55088         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
55089         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
55090         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
55091         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
55092         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
55093         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
55094         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
55095         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
55096         * tests/unistdio/test-u32-printf1.h: Likewise.
55097         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
55098         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
55099         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
55100         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
55101         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
55102         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
55103         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
55104         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
55105         * tests/unistdio/test-u8-printf1.h: Likewise.
55106         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
55107         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
55108         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
55109         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
55110         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
55111         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
55112         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
55113         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
55114         * tests/unistdio/test-ulc-printf1.h: Likewise.
55115         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
55116         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
55117         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
55118         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
55119         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
55120         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
55121         * tests/uniwidth/test-u16-strwidth.c: Likewise.
55122         * tests/uniwidth/test-u16-width.c: Likewise.
55123         * tests/uniwidth/test-u32-strwidth.c: Likewise.
55124         * tests/uniwidth/test-u32-width.c: Likewise.
55125         * tests/uniwidth/test-u8-strwidth.c: Likewise.
55126         * tests/uniwidth/test-u8-width.c: Likewise.
55127         * tests/uniwidth/test-uc_width.c: Likewise.
55128         * config/srclist-update: Likewise.
55129         (fixlicense): Update to GPLv3+.
55130
55131         Change copyright notice from LGPLv2.1+ to LGPLv3+.
55132         * tests/test-tsearch.c: Change copyright notice.
55133
55134         Change copyright notice from LGPLv2.0+ to LGPLv3+.
55135         * lib/c-strcaseeq.h: Change copyright notice.
55136         * lib/streq.h: Likewise.
55137         * lib/uniconv.h: Likewise.
55138         * lib/uniconv/u-conv-from-enc.h: Likewise.
55139         * lib/uniconv/u-conv-to-enc.h: Likewise.
55140         * lib/uniconv/u-strconv-from-enc.h: Likewise.
55141         * lib/uniconv/u-strconv-to-enc.h: Likewise.
55142         * lib/uniconv/u16-conv-from-enc.c: Likewise.
55143         * lib/uniconv/u16-conv-to-enc.c: Likewise.
55144         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
55145         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
55146         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
55147         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
55148         * lib/uniconv/u32-conv-from-enc.c: Likewise.
55149         * lib/uniconv/u32-conv-to-enc.c: Likewise.
55150         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
55151         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
55152         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
55153         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
55154         * lib/uniconv/u8-conv-from-enc.c: Likewise.
55155         * lib/uniconv/u8-conv-to-enc.c: Likewise.
55156         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
55157         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
55158         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
55159         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
55160         * lib/uniname.h: Likewise.
55161         * lib/uniname/uniname.c: Likewise.
55162         * lib/unistdio.h: Likewise.
55163         * lib/unistdio/u-asnprintf.h: Likewise.
55164         * lib/unistdio/u-asprintf.h: Likewise.
55165         * lib/unistdio/u-printf-args.c: Likewise.
55166         * lib/unistdio/u-printf-args.h: Likewise.
55167         * lib/unistdio/u-printf-parse.h: Likewise.
55168         * lib/unistdio/u-snprintf.h: Likewise.
55169         * lib/unistdio/u-sprintf.h: Likewise.
55170         * lib/unistdio/u-vasprintf.h: Likewise.
55171         * lib/unistdio/u-vsnprintf.h: Likewise.
55172         * lib/unistdio/u-vsprintf.h: Likewise.
55173         * lib/unistdio/u16-asnprintf.c: Likewise.
55174         * lib/unistdio/u16-asprintf.c: Likewise.
55175         * lib/unistdio/u16-printf-parse.c: Likewise.
55176         * lib/unistdio/u16-snprintf.c: Likewise.
55177         * lib/unistdio/u16-sprintf.c: Likewise.
55178         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
55179         * lib/unistdio/u16-u16-asprintf.c: Likewise.
55180         * lib/unistdio/u16-u16-snprintf.c: Likewise.
55181         * lib/unistdio/u16-u16-sprintf.c: Likewise.
55182         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
55183         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
55184         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
55185         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
55186         * lib/unistdio/u16-vasnprintf.c: Likewise.
55187         * lib/unistdio/u16-vasprintf.c: Likewise.
55188         * lib/unistdio/u16-vsnprintf.c: Likewise.
55189         * lib/unistdio/u16-vsprintf.c: Likewise.
55190         * lib/unistdio/u32-asnprintf.c: Likewise.
55191         * lib/unistdio/u32-asprintf.c: Likewise.
55192         * lib/unistdio/u32-printf-parse.c: Likewise.
55193         * lib/unistdio/u32-snprintf.c: Likewise.
55194         * lib/unistdio/u32-sprintf.c: Likewise.
55195         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
55196         * lib/unistdio/u32-u32-asprintf.c: Likewise.
55197         * lib/unistdio/u32-u32-snprintf.c: Likewise.
55198         * lib/unistdio/u32-u32-sprintf.c: Likewise.
55199         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
55200         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
55201         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
55202         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
55203         * lib/unistdio/u32-vasnprintf.c: Likewise.
55204         * lib/unistdio/u32-vasprintf.c: Likewise.
55205         * lib/unistdio/u32-vsnprintf.c: Likewise.
55206         * lib/unistdio/u32-vsprintf.c: Likewise.
55207         * lib/unistdio/u8-asnprintf.c: Likewise.
55208         * lib/unistdio/u8-asprintf.c: Likewise.
55209         * lib/unistdio/u8-printf-parse.c: Likewise.
55210         * lib/unistdio/u8-snprintf.c: Likewise.
55211         * lib/unistdio/u8-sprintf.c: Likewise.
55212         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
55213         * lib/unistdio/u8-u8-asprintf.c: Likewise.
55214         * lib/unistdio/u8-u8-snprintf.c: Likewise.
55215         * lib/unistdio/u8-u8-sprintf.c: Likewise.
55216         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
55217         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
55218         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
55219         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
55220         * lib/unistdio/u8-vasnprintf.c: Likewise.
55221         * lib/unistdio/u8-vasprintf.c: Likewise.
55222         * lib/unistdio/u8-vsnprintf.c: Likewise.
55223         * lib/unistdio/u8-vsprintf.c: Likewise.
55224         * lib/unistdio/ulc-asnprintf.c: Likewise.
55225         * lib/unistdio/ulc-asprintf.c: Likewise.
55226         * lib/unistdio/ulc-printf-parse.c: Likewise.
55227         * lib/unistdio/ulc-snprintf.c: Likewise.
55228         * lib/unistdio/ulc-sprintf.c: Likewise.
55229         * lib/unistdio/ulc-vasnprintf.c: Likewise.
55230         * lib/unistdio/ulc-vasprintf.c: Likewise.
55231         * lib/unistdio/ulc-vsnprintf.c: Likewise.
55232         * lib/unistdio/ulc-vsprintf.c: Likewise.
55233         * lib/unistr.h: Likewise.
55234         * lib/unistr/u-cpy-alloc.h: Likewise.
55235         * lib/unistr/u-cpy.h: Likewise.
55236         * lib/unistr/u-endswith.h: Likewise.
55237         * lib/unistr/u-move.h: Likewise.
55238         * lib/unistr/u-set.h: Likewise.
55239         * lib/unistr/u-startswith.h: Likewise.
55240         * lib/unistr/u-stpcpy.h: Likewise.
55241         * lib/unistr/u-stpncpy.h: Likewise.
55242         * lib/unistr/u-strcat.h: Likewise.
55243         * lib/unistr/u-strcpy.h: Likewise.
55244         * lib/unistr/u-strcspn.h: Likewise.
55245         * lib/unistr/u-strdup.h: Likewise.
55246         * lib/unistr/u-strlen.h: Likewise.
55247         * lib/unistr/u-strncat.h: Likewise.
55248         * lib/unistr/u-strncpy.h: Likewise.
55249         * lib/unistr/u-strnlen.h: Likewise.
55250         * lib/unistr/u-strpbrk.h: Likewise.
55251         * lib/unistr/u-strspn.h: Likewise.
55252         * lib/unistr/u-strstr.h: Likewise.
55253         * lib/unistr/u-strtok.h: Likewise.
55254         * lib/unistr/u16-check.c: Likewise.
55255         * lib/unistr/u16-chr.c: Likewise.
55256         * lib/unistr/u16-cmp.c: Likewise.
55257         * lib/unistr/u16-cpy-alloc.c: Likewise.
55258         * lib/unistr/u16-cpy.c: Likewise.
55259         * lib/unistr/u16-endswith.c: Likewise.
55260         * lib/unistr/u16-mblen.c: Likewise.
55261         * lib/unistr/u16-mbsnlen.c: Likewise.
55262         * lib/unistr/u16-mbtouc-aux.c: Likewise.
55263         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
55264         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
55265         * lib/unistr/u16-mbtouc.c: Likewise.
55266         * lib/unistr/u16-mbtoucr.c: Likewise.
55267         * lib/unistr/u16-move.c: Likewise.
55268         * lib/unistr/u16-next.c: Likewise.
55269         * lib/unistr/u16-prev.c: Likewise.
55270         * lib/unistr/u16-set.c: Likewise.
55271         * lib/unistr/u16-startswith.c: Likewise.
55272         * lib/unistr/u16-stpcpy.c: Likewise.
55273         * lib/unistr/u16-stpncpy.c: Likewise.
55274         * lib/unistr/u16-strcat.c: Likewise.
55275         * lib/unistr/u16-strchr.c: Likewise.
55276         * lib/unistr/u16-strcmp.c: Likewise.
55277         * lib/unistr/u16-strcpy.c: Likewise.
55278         * lib/unistr/u16-strcspn.c: Likewise.
55279         * lib/unistr/u16-strdup.c: Likewise.
55280         * lib/unistr/u16-strlen.c: Likewise.
55281         * lib/unistr/u16-strmblen.c: Likewise.
55282         * lib/unistr/u16-strmbtouc.c: Likewise.
55283         * lib/unistr/u16-strncat.c: Likewise.
55284         * lib/unistr/u16-strncmp.c: Likewise.
55285         * lib/unistr/u16-strncpy.c: Likewise.
55286         * lib/unistr/u16-strnlen.c: Likewise.
55287         * lib/unistr/u16-strpbrk.c: Likewise.
55288         * lib/unistr/u16-strrchr.c: Likewise.
55289         * lib/unistr/u16-strspn.c: Likewise.
55290         * lib/unistr/u16-strstr.c: Likewise.
55291         * lib/unistr/u16-strtok.c: Likewise.
55292         * lib/unistr/u16-to-u32.c: Likewise.
55293         * lib/unistr/u16-to-u8.c: Likewise.
55294         * lib/unistr/u16-uctomb-aux.c: Likewise.
55295         * lib/unistr/u16-uctomb.c: Likewise.
55296         * lib/unistr/u32-check.c: Likewise.
55297         * lib/unistr/u32-chr.c: Likewise.
55298         * lib/unistr/u32-cmp.c: Likewise.
55299         * lib/unistr/u32-cpy-alloc.c: Likewise.
55300         * lib/unistr/u32-cpy.c: Likewise.
55301         * lib/unistr/u32-endswith.c: Likewise.
55302         * lib/unistr/u32-mblen.c: Likewise.
55303         * lib/unistr/u32-mbsnlen.c: Likewise.
55304         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
55305         * lib/unistr/u32-mbtouc.c: Likewise.
55306         * lib/unistr/u32-mbtoucr.c: Likewise.
55307         * lib/unistr/u32-move.c: Likewise.
55308         * lib/unistr/u32-next.c: Likewise.
55309         * lib/unistr/u32-prev.c: Likewise.
55310         * lib/unistr/u32-set.c: Likewise.
55311         * lib/unistr/u32-startswith.c: Likewise.
55312         * lib/unistr/u32-stpcpy.c: Likewise.
55313         * lib/unistr/u32-stpncpy.c: Likewise.
55314         * lib/unistr/u32-strcat.c: Likewise.
55315         * lib/unistr/u32-strchr.c: Likewise.
55316         * lib/unistr/u32-strcmp.c: Likewise.
55317         * lib/unistr/u32-strcpy.c: Likewise.
55318         * lib/unistr/u32-strcspn.c: Likewise.
55319         * lib/unistr/u32-strdup.c: Likewise.
55320         * lib/unistr/u32-strlen.c: Likewise.
55321         * lib/unistr/u32-strmblen.c: Likewise.
55322         * lib/unistr/u32-strmbtouc.c: Likewise.
55323         * lib/unistr/u32-strncat.c: Likewise.
55324         * lib/unistr/u32-strncmp.c: Likewise.
55325         * lib/unistr/u32-strncpy.c: Likewise.
55326         * lib/unistr/u32-strnlen.c: Likewise.
55327         * lib/unistr/u32-strpbrk.c: Likewise.
55328         * lib/unistr/u32-strrchr.c: Likewise.
55329         * lib/unistr/u32-strspn.c: Likewise.
55330         * lib/unistr/u32-strstr.c: Likewise.
55331         * lib/unistr/u32-strtok.c: Likewise.
55332         * lib/unistr/u32-to-u16.c: Likewise.
55333         * lib/unistr/u32-to-u8.c: Likewise.
55334         * lib/unistr/u32-uctomb.c: Likewise.
55335         * lib/unistr/u8-check.c: Likewise.
55336         * lib/unistr/u8-chr.c: Likewise.
55337         * lib/unistr/u8-cmp.c: Likewise.
55338         * lib/unistr/u8-cpy-alloc.c: Likewise.
55339         * lib/unistr/u8-cpy.c: Likewise.
55340         * lib/unistr/u8-endswith.c: Likewise.
55341         * lib/unistr/u8-mblen.c: Likewise.
55342         * lib/unistr/u8-mbsnlen.c: Likewise.
55343         * lib/unistr/u8-mbtouc-aux.c: Likewise.
55344         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
55345         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
55346         * lib/unistr/u8-mbtouc.c: Likewise.
55347         * lib/unistr/u8-mbtoucr.c: Likewise.
55348         * lib/unistr/u8-move.c: Likewise.
55349         * lib/unistr/u8-next.c: Likewise.
55350         * lib/unistr/u8-prev.c: Likewise.
55351         * lib/unistr/u8-set.c: Likewise.
55352         * lib/unistr/u8-startswith.c: Likewise.
55353         * lib/unistr/u8-stpcpy.c: Likewise.
55354         * lib/unistr/u8-stpncpy.c: Likewise.
55355         * lib/unistr/u8-strcat.c: Likewise.
55356         * lib/unistr/u8-strchr.c: Likewise.
55357         * lib/unistr/u8-strcmp.c: Likewise.
55358         * lib/unistr/u8-strcpy.c: Likewise.
55359         * lib/unistr/u8-strcspn.c: Likewise.
55360         * lib/unistr/u8-strdup.c: Likewise.
55361         * lib/unistr/u8-strlen.c: Likewise.
55362         * lib/unistr/u8-strmblen.c: Likewise.
55363         * lib/unistr/u8-strmbtouc.c: Likewise.
55364         * lib/unistr/u8-strncat.c: Likewise.
55365         * lib/unistr/u8-strncmp.c: Likewise.
55366         * lib/unistr/u8-strncpy.c: Likewise.
55367         * lib/unistr/u8-strnlen.c: Likewise.
55368         * lib/unistr/u8-strpbrk.c: Likewise.
55369         * lib/unistr/u8-strrchr.c: Likewise.
55370         * lib/unistr/u8-strspn.c: Likewise.
55371         * lib/unistr/u8-strstr.c: Likewise.
55372         * lib/unistr/u8-strtok.c: Likewise.
55373         * lib/unistr/u8-to-u16.c: Likewise.
55374         * lib/unistr/u8-to-u32.c: Likewise.
55375         * lib/unistr/u8-uctomb-aux.c: Likewise.
55376         * lib/unistr/u8-uctomb.c: Likewise.
55377         * lib/unitypes.h: Likewise.
55378         * lib/uniwidth.h: Likewise.
55379         * lib/uniwidth/cjk.h: Likewise.
55380         * lib/uniwidth/u16-strwidth.c: Likewise.
55381         * lib/uniwidth/u16-width.c: Likewise.
55382         * lib/uniwidth/u32-strwidth.c: Likewise.
55383         * lib/uniwidth/u32-width.c: Likewise.
55384         * lib/uniwidth/u8-strwidth.c: Likewise.
55385         * lib/uniwidth/u8-width.c: Likewise.
55386         * lib/uniwidth/width.c: Likewise.
55387
55388 2007-10-07  Bruno Haible  <bruno@clisp.org>
55389
55390         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
55391         The file is still under LGPL (see modules/inttypes).
55392
55393 2007-10-06  Bruno Haible  <bruno@clisp.org>
55394
55395         * modules/trunc (Dependencies): Add 'extensions'.
55396         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
55397         Reported by Ben Pfaff <blp@gnu.org>.
55398
55399 2007-10-06  Bruno Haible  <bruno@clisp.org>
55400
55401         * modules/freopen-tests: New file.
55402         * tests/test-freopen.c: New file.
55403
55404         * modules/fopen-tests: New file.
55405         * tests/test-fopen.c: New file.
55406
55407         * modules/fopen: New file.
55408         * lib/fopen.c: New file.
55409         * m4/fopen.m4: New file.
55410         * modules/freopen: New file.
55411         * lib/freopen.c: New file.
55412         * m4/freopen.m4: New file.
55413         * lib/stdio.in.h (fopen, freopen): New declarations.
55414         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
55415         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
55416         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
55417         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
55418         * doc/functions/fopen.texi: Mention the 'fopen' module.
55419         * doc/functions/freopen.texi: Mention the 'freopen' module.
55420
55421 2007-10-06  Bruno Haible  <bruno@clisp.org>
55422
55423         * modules/open-tests: New file.
55424         * tests/test-open.c: New file.
55425
55426         * modules/open: New file.
55427         * lib/open.c: New file.
55428         * m4/open.m4: New file.
55429         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
55430         lib/open.c does.
55431         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
55432         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
55433         macros.
55434         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
55435         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
55436         REPLACE_OPEN.
55437         * doc/functions/open.texi: Mention the 'open' module.
55438
55439 2007-10-04  Bruno Haible  <bruno@clisp.org>
55440
55441         * modules/ceill-tests: New file.
55442         * tests/test-ceill.c: New file.
55443
55444         * modules/ceill: New file.
55445         * lib/ceill.c: Replace entire file.
55446         * m4/ceill.m4: New file.
55447         * lib/math.in.h (ceill): Replace declaration.
55448         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
55449         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
55450         * doc/functions/ceill.texi: Mention the 'ceill' module.
55451         * modules/mathl (Files): Remove lib/ceill.c.
55452         (Depends-on): Add ceill.
55453
55454 2007-10-04  Bruno Haible  <bruno@clisp.org>
55455
55456         * modules/ceilf-tests: New file.
55457         * tests/test-ceilf.c: New file.
55458
55459         * modules/ceilf: New file.
55460         * lib/ceil.c: New file.
55461         * lib/ceilf.c: New file.
55462         * m4/ceilf.m4: New file.
55463         * lib/math.in.h (ceilf): New declaration.
55464         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
55465         HAVE_DECL_CEILF.
55466         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
55467         HAVE_DECL_CEILF.
55468         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
55469
55470 2007-10-04  Bruno Haible  <bruno@clisp.org>
55471
55472         * modules/floorl-tests: New file.
55473         * tests/test-floorl.c: New file.
55474
55475         * modules/floorl: New file.
55476         * lib/floorl.c: Replace entire file.
55477         * m4/floorl.m4: New file.
55478         * lib/math.in.h (floorl): Replace declaration.
55479         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
55480         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
55481         * doc/functions/floorl.texi: Mention the 'floorl' module.
55482         * modules/mathl (Files): Remove lib/floorl.c.
55483         (Depends-on): Add floorl.
55484
55485 2007-10-04  Bruno Haible  <bruno@clisp.org>
55486
55487         * modules/floorf-tests: New file.
55488         * tests/test-floorf.c: New file.
55489
55490         * modules/floorf: New file.
55491         * lib/floor.c: New file.
55492         * lib/floorf.c: New file.
55493         * m4/floorf.m4: New file.
55494         * lib/math.in.h (floorf): New declaration.
55495         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
55496         HAVE_DECL_FLOORF.
55497         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
55498         HAVE_DECL_FLOORF.
55499         * doc/functions/floorf.texi: Mention the 'floorf' module.
55500
55501 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
55502             Bruno Haible  <bruno@clisp.org>
55503
55504         Advertise for the Git server instead of the CVS server.
55505         * doc/gnulib-intro.texi (Steady Development): Mention the Git
55506         repository instead of the CVS one.
55507         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
55508         about all VCS systems generically.
55509         * doc/gnulib.texi (Introduction): Capitalize `Git'.
55510
55511 2007-10-04  Bruno Haible  <bruno@clisp.org>
55512
55513         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
55514         means.
55515         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
55516
55517 2007-10-04  Bruno Haible  <bruno@clisp.org>
55518
55519         * modules/truncl-tests: New file.
55520         * tests/test-truncl.c: New file.
55521
55522         * modules/truncl: New file.
55523         * lib/truncl.c: New file.
55524         * m4/truncl.m4: New file.
55525         * lib/math.in.h (truncl): New declaration.
55526         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
55527         HAVE_DECL_TRUNCL.
55528         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
55529         HAVE_DECL_TRUNCL.
55530         * doc/functions/truncl.texi: Mention the 'truncl' module.
55531
55532 2007-10-04  Bruno Haible  <bruno@clisp.org>
55533
55534         * modules/truncf-tests: New file.
55535         * tests/test-truncf.c: New file.
55536
55537         * modules/truncf: New file.
55538         * lib/trunc.c: Make paramerizable through USE_* macros.
55539         * lib/truncf.c: New file.
55540         * m4/truncf.m4: New file.
55541         * lib/math.in.h (truncf): New declaration.
55542         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
55543         HAVE_DECL_TRUNCF.
55544         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
55545         HAVE_DECL_TRUNCF.
55546         * doc/functions/truncf.texi: Mention the 'truncf' module.
55547
55548 2007-10-03  Bruno Haible  <bruno@clisp.org>
55549
55550         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
55551         augmentation also for tests modules.
55552         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
55553         * modules/atexit-tests (Makefile.am): Likewise.
55554         * modules/binary-io-tests (Makefile.am): Likewise.
55555         * modules/c-strcase-tests (Makefile.am): Likewise.
55556         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
55557         * modules/canonicalize-tests (Makefile.am): Likewise.
55558         * modules/closein-tests (Makefile.am): Likewise.
55559         * modules/fprintf-posix-tests (Makefile.am): Likewise.
55560         * modules/freadahead-tests (Makefile.am): Likewise.
55561         * modules/fseek-tests (Makefile.am): Likewise.
55562         * modules/fseeko-tests (Makefile.am): Likewise.
55563         * modules/ftell-tests (Makefile.am): Likewise.
55564         * modules/ftello-tests (Makefile.am): Likewise.
55565         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
55566         * modules/isnanl-tests (Makefile.am): Likewise.
55567         * modules/lseek-tests (Makefile.am): Likewise.
55568         * modules/mbscasecmp-tests (Makefile.am): Likewise.
55569         * modules/mbscasestr-tests (Makefile.am): Likewise.
55570         * modules/mbschr-tests (Makefile.am): Likewise.
55571         * modules/mbscspn-tests (Makefile.am): Likewise.
55572         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
55573         * modules/mbspbrk-tests (Makefile.am): Likewise.
55574         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
55575         * modules/mbsrchr-tests (Makefile.am): Likewise.
55576         * modules/mbsspn-tests (Makefile.am): Likewise.
55577         * modules/mbsstr-tests (Makefile.am): Likewise.
55578         * modules/printf-posix-tests (Makefile.am): Likewise.
55579         * modules/snprintf-posix-tests (Makefile.am): Likewise.
55580         * modules/sprintf-posix-tests (Makefile.am): Likewise.
55581         * modules/tsearch-tests (Makefile.am): Likewise.
55582         * modules/uniname/uniname-tests (Makefile.am): Likewise.
55583         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
55584         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
55585         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
55586         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
55587         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
55588         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
55589         * modules/vprintf-posix-tests (Makefile.am): Likewise.
55590         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
55591         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
55592         * modules/xstrtoimax-tests (Makefile.am): Likewise.
55593         * modules/xstrtol-tests (Makefile.am): Likewise.
55594         * modules/xstrtoumax-tests (Makefile.am): Likewise.
55595         * modules/yesno-tests (Makefile.am): Likewise.
55596
55597 2007-10-03  Bruno Haible  <bruno@clisp.org>
55598
55599         * modules/trunc-tests: New file.
55600         * tests/test-trunc.c: New file.
55601
55602         * modules/trunc: New file.
55603         * lib/trunc.c: New file.
55604         * m4/trunc.m4: New file.
55605         * lib/math.in.h (trunc): New declaration.
55606         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
55607         HAVE_DECL_TRUNC.
55608         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
55609         HAVE_DECL_TRUNC.
55610         * doc/functions/trunc.texi: Mention the 'trunc' module.
55611
55612 2007-10-03  Bruno Haible  <bruno@clisp.org>
55613
55614         * tests/test-fpending.c: New file, mostly copied
55615         from coreutils/lib/t-fpending.c.
55616         * modules/fpending-tests: New file.
55617
55618 2007-10-03  Bruno Haible  <bruno@clisp.org>
55619
55620         Port the stdio extensions to QNX (untested).
55621         * lib/fseterr.c (fseterr): Add support for QNX.
55622         * lib/fbufmode.c (fbufmode): Likewise.
55623         * lib/freadable.c (freadable): Likewise.
55624         * lib/fwritable.c (fwritable): Likewise.
55625         * lib/freading.c (freading): Likewise.
55626         * lib/fwriting.c (fwriting): Likewise.
55627         * lib/freadahead.c (freadahed): Likewise.
55628         * lib/fpurge.c (fpurge): Likewise.
55629         * lib/fseeko.c (rpl_fseeko): Likewise.
55630
55631 2007-10-03  Bruno Haible  <bruno@clisp.org>
55632             Jim Meyering  <jim@meyering.net>
55633             Eric Blake  <ebb9@byu.net>
55634
55635         * doc/relocatable.texi: Use @command instead of @program.
55636
55637 2007-10-02  Jim Meyering  <jim@meyering.net>
55638
55639         Perform one more "_.h" -> ".in.h" substitution.
55640         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
55641         instead of unistd_.h here, too.
55642
55643 2007-10-01  Bruno Haible  <bruno@clisp.org>
55644
55645         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
55646         Needed for the alloca-opt module.
55647
55648 2007-09-30  Bruno Haible  <bruno@clisp.org>
55649
55650         * lib/alloca.in.h: Renamed from lib/alloca_.h.
55651         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
55652         alloca_.h.
55653         * lib/argz.in.h: Renamed from lib/argz_.h.
55654         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
55655         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
55656         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
55657         byteswap_.h.
55658         * lib/dirent.in.h: Renamed from lib/dirent_.h.
55659         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
55660         dirent_.h.
55661         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
55662         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
55663         fcntl_.h.
55664         * lib/float.in.h: Renamed from lib/float_.h.
55665         * modules/float (Files, Makefile.am): Use float.in.h instead of
55666         float_.h.
55667         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
55668         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
55669         fnmatch_.h.
55670         * lib/getopt.in.h: Renamed from lib/getopt_.h.
55671         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
55672         getopt_.h.
55673         * lib/glob.in.h: Renamed from lib/glob_.h.
55674         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
55675         * lib/iconv.in.h: Renamed from lib/iconv_.h.
55676         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
55677         iconv_.h.
55678         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
55679         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
55680         inttypes_.h.
55681         * lib/locale.in.h: Renamed from lib/locale_.h.
55682         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
55683         locale_.h.
55684         * lib/math.in.h: Renamed from lib/math_.h.
55685         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
55686         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
55687         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
55688         of netinet_in_.h. Add dependency.
55689         * lib/poll.in.h: Renamed from lib/poll_.h.
55690         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
55691         * lib/search.in.h: Renamed from lib/search_.h.
55692         * modules/search (Files, Makefile.am): Use search.in.h instead of
55693         search_.h.
55694         * lib/signal.in.h: Renamed from lib/signal_.h.
55695         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
55696         _signal.h.
55697         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
55698         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
55699         stdbool_.h.
55700         * lib/stdint.in.h: Renamed from lib/stdint_.h.
55701         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
55702         stdint_.h.
55703         * lib/stdio.in.h: Renamed from lib/stdio_.h.
55704         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
55705         stdio_.h.
55706         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
55707         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
55708         stdlib_.h.
55709         * lib/string.in.h: Renamed from lib/string_.h.
55710         * modules/string (Files, Makefile.am): Use string.in.h instead of
55711         string_.h.
55712         * doc/gnulib-tool.texi (Initial import): Update.
55713         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
55714         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
55715         of sys_select_.h. Add dependency.
55716         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
55717         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
55718         of sys_socket_.h.
55719         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
55720         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
55721         sys_stat_.h.
55722         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
55723         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
55724         sys_time_.h.
55725         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
55726         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
55727         sysexits_.h.
55728         * lib/time.in.h: Renamed from lib/time_.h.
55729         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
55730         * lib/unistd.in.h: Renamed from lib/unistd_.h.
55731         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
55732         unistd_.h.
55733         * lib/wchar.in.h: Renamed from lib/wchar_.h.
55734         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
55735         wchar_.h.
55736         * lib/wctype.in.h: Renamed from lib/wctype_.h.
55737         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
55738         wctype_.h.
55739         * build-aux/bootstrap (slurp): Update.
55740         * lib/.cppi-disable: Update.
55741
55742 2007-09-30  Bruno Haible  <bruno@clisp.org>
55743
55744         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
55745         Needed on BeOS.
55746
55747 2007-09-30  Bruno Haible  <bruno@clisp.org>
55748
55749         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
55750
55751 2007-09-29  Bruno Haible  <bruno@clisp.org>
55752
55753         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
55754
55755 2007-09-29  Bruno Haible  <bruno@clisp.org>
55756
55757         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
55758         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
55759         * build-aux/install-reloc: Compile also areadlink.c.
55760         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
55761
55762 2007-09-29  Bruno Haible  <bruno@clisp.org>
55763
55764         * gnulib-tool (func_emit_initmacro_done): Indentation.
55765
55766 2007-09-29  Bruno Haible  <bruno@clisp.org>
55767
55768         * README: Add CVS checkout update instructions.
55769         Info from Bob Proulx <bob@proulx.com>.
55770
55771 2007-09-28  Eric Blake  <ebb9@byu.net>
55772
55773         Provide move-if-change.
55774         * build-aux/move-if-change: New file, based on best practice
55775         rather than any canonical upstream location.
55776
55777 2007-09-28  Jim Meyering  <jim@meyering.net>
55778
55779         Fix canonicalize loop-detection corner case.
55780         Do not attempt to stat the symlink values stored via seen_triple.
55781         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
55782         on linux-2.6.18, (but not 2.6.22).
55783         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
55784         triple_compare.  The former compares dev,ino,filename, while the latter
55785         would actually stat dirname(filename) when dev and ino were equal.
55786         * lib/hash-triple.c: Install <string.h>.
55787         (STREQ): Define.
55788         (triple_compare_ino_str): New function.
55789         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
55790
55791 2007-09-28  Eric Blake  <ebb9@byu.net>
55792
55793         Enforce that AC_REPLACE_FUNCS files exist.
55794         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
55795         override check for typos.
55796
55797         Fix test-closein on Solaris 10.
55798         * tests/test-closein.c (main): Don't assume stdin can be inherited
55799         closed on all systems.
55800         * tests/test-closein.sh: Likewise.
55801         Reported by Piotr Tarnowski.
55802
55803 2007-09-28  Jim Meyering  <jim@meyering.net>
55804
55805         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
55806
55807 2007-09-27  Jim Meyering  <jim@meyering.net>
55808
55809         canonicalize: Avoid a false-positive cycle failure.
55810         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
55811         Sort.  Remove cycle-check.
55812         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
55813         not cycle-check.h.
55814         (seen_triple): New function.
55815         (canonicalize_filename_mode): Use it instead of cycle-check.
55816         * tests/test-canonicalize.c: Add a test for this bug.
55817         * tests/test-canonicalize.sh: Set up and run the test.
55818
55819         New module, file-set, from coreutils.
55820         * modules/file-set: Define it.
55821         * lib/file-set.c, lib/file-set.h: Implement.
55822
55823         New module, hash-triple, from coreutils.
55824         * modules/hash-triple: Define it.
55825         * lib/hash-triple.c, lib/hash-triple.h: Implement.
55826
55827 2007-09-25  Eric Blake  <ebb9@byu.net>
55828
55829         Fix strerror on Interix.
55830         * lib/string_.h (strerror): Declare replacement.
55831         * doc/functions/strerror.texi (strerror): Document the Interix
55832         shortcoming.
55833         * modules/string (Makefile.am): Support new hooks.
55834         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
55835         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
55836         gl_FUNC_STRERROR_SEPARATE.
55837         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
55838         * lib/strerror.c (rpl_strerror): Provide replacement.
55839         * modules/strerror (Depends-on): Add string.
55840         (configure.ac): Detect use of module.
55841         * tests/test-strerror.c: New file.
55842         * modules/strerror-tests: New test module.
55843         * modules/argp (Depends-on): Add strerror.
55844         * modules/error (Depends-on): Likewise.
55845         Reported by Martin Koeppe.
55846
55847 2007-09-24  Bruno Haible  <bruno@clisp.org>
55848
55849         * README: Update git instructions.
55850
55851 2007-09-24  Eric Blake  <ebb9@byu.net>
55852
55853         Revert fpending breakage from 2007-09-08.
55854         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
55855         __fpending.c.
55856
55857 2007-09-24  Jim Meyering  <jim@meyering.net>
55858
55859         filenamecat.c: Add a test.
55860         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
55861         showing how the function works when DIR is the empty string.
55862
55863 2007-09-21  Simon Josefsson  <simon@josefsson.org>
55864
55865         * tests/test-canonicalize.sh: Turn on executable bit.
55866
55867 2007-09-19  Eric Blake  <ebb9@byu.net>
55868
55869         * README: Update CVS instructions.
55870
55871 2007-09-18  Bruno Haible  <bruno@clisp.org>
55872
55873         * modules/areadlink: New file.
55874         * lib/areadlink.h (areadlink): New declaration.
55875         * lib/areadlink.c: New file, based on lib/xreadlink.c.
55876
55877 2007-09-17  Jim Meyering  <jim@meyering.net>
55878
55879         * lib/savewd.c (ESTALE) [!defined]: Define.
55880         Reported to be required on Interix by Martin Koeppe.
55881
55882 2007-09-17  Bruno Haible  <bruno@clisp.org>
55883
55884         * gnulib-tool (func_version): Use $version.
55885
55886 2007-09-16  Bruno Haible  <bruno@clisp.org>
55887
55888         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
55889         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
55890         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
55891         Reported by Greg Schafer <gschafer@zip.com.au>.
55892
55893 2007-09-15  Bruno Haible  <bruno@clisp.org>
55894
55895         * gnulib-tool (sed): Try a little harder to make bash understand the
55896         alias.
55897         Reported by Bruce Korb <bruce.korb@gmail.com>.
55898
55899 2007-09-13  Eric Blake  <ebb9@byu.net>
55900
55901         * ChangeLog: Remove conflict markers.
55902
55903 2007-09-13  Simon Josefsson  <simon@josefsson.org>
55904
55905         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
55906         Reported by Bruno Haible <bruno@clisp.org>.
55907
55908 2007-09-12  Bruno Haible  <bruno@clisp.org>
55909
55910         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
55911         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
55912         is not defined.
55913
55914 2007-09-12  Eric Blake  <ebb9@byu.net>
55915
55916         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
55917         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
55918         Autoconf definition.
55919         * modules/euidaccess (Depends-on): Add extensions, for
55920         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
55921         * modules/fnmatch (Depends-on): Likewise.
55922         * modules/getaddrinfo (Depends-on): Likewise.
55923         * modules/getdelim (Depends-on): Likewise.
55924         * modules/getline (Depends-on): Likewise.
55925         * modules/getsubopt (Depends-on): Likewise.
55926         * modules/gettext (Depends-on): Likewise.
55927         * modules/group-member (Depends-on): Likewise.
55928         * modules/mbchar (Depends-on): Likewise.
55929         * modules/memmem (Depends-on): Likewise.
55930         * modules/mempcpy (Depends-on): Likewise.
55931         * modules/memrchr (Depends-on): Likewise.
55932         * modules/pagealign_alloc (Depends-on): Likewise.
55933         * modules/readutmp (Depends-on): Likewise.
55934         * modules/stpcpy (Depends-on): Likewise.
55935         * modules/stpncpy (Depends-on): Likewise.
55936         * modules/strchrnul (Depends-on): Likewise.
55937         * modules/strndup (Depends-on): Likewise.
55938         * modules/strsep (Depends-on): Likewise.
55939         * modules/strverscmp (Depends-on): Likewise.
55940         * modules/vasprintf (Depends-on): Likewise.
55941         * modules/wcwidth (Depends-on): Likewise.
55942         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
55943         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
55944         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
55945         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
55946         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
55947         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
55948         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
55949         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
55950         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
55951         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
55952         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
55953         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
55954         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
55955         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
55956         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
55957         * m4/readutmp.m4 (gl_READUTMP): Likewise.
55958         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
55959         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
55960         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
55961         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
55962         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
55963         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
55964         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
55965         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
55966         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
55967         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
55968         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
55969         so that lock.m4 can be used in gettext without extensions module.
55970
55971 2007-09-11  Bruno Haible  <bruno@clisp.org>
55972
55973         * m4/isc-posix.m4: Remove file.
55974         Suggested by Eric Blake.
55975
55976 2007-09-11  Eric Blake  <ebb9@byu.net>
55977
55978         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
55979
55980 2007-09-10  Bruno Haible  <bruno@clisp.org>
55981
55982         * posix-modules: Fix typo in error message.
55983         Reported by Matt <mkraai@beckman.com>.
55984
55985 2007-09-09  Bruno Haible  <bruno@clisp.org>
55986
55987         * doc/functions/getdelim.texi: Update list of platforms lacking the
55988         function.
55989         * doc/functions/getline.texi: Likewise.
55990
55991 2007-09-09  Jim Meyering  <jim@meyering.net>
55992
55993         * lib/hash.c (hash_initialize): Detect calloc failure.
55994         Reported by Bruno Haible.
55995
55996 2007-09-09  Bruno Haible  <bruno@clisp.org>
55997
55998         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
55999         malloc or realloc fails.
56000
56001 2007-09-09  Bruno Haible  <bruno@clisp.org>
56002
56003         * modules/getcwd (Depends-on): Add malloc-posix.
56004         * modules/glob (Depends-on): Likewise.
56005         * modules/putenv (Depends-on): Likewise.
56006         * modules/strdup (Depends-on): Likewise.
56007         * modules/getdelim (Depends-on): Add realloc-posix.
56008         * modules/read-file (Depends-on): Likewise.
56009
56010 2007-09-09  Bruno Haible  <bruno@clisp.org>
56011
56012         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
56013         (gl_FUNC_MALLOC_POSIX): Require it.
56014         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
56015         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
56016         * modules/realloc (Files): Add m4/malloc.m4.
56017         * modules/calloc (Files): Likewise.
56018
56019 2007-09-09  Bruno Haible  <bruno@clisp.org>
56020
56021         * modules/malloc-posix: New file.
56022         * modules/malloc (Depends-on): Add malloc-posix.
56023         * lib/malloc.c: Include errno.h.
56024         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
56025         and a POSIX-compatible malloc into a single function. Set ENOMEM
56026         when returning NULL.
56027         * m4/malloc.m4: New file.
56028         * doc/functions/malloc.texi: Mention the malloc-posix module.
56029         * lib/stdlib_.h (malloc): New declaration.
56030         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
56031         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
56032         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
56033         and HAVE_MALLOC_POSIX.
56034
56035 2007-09-09  Bruno Haible  <bruno@clisp.org>
56036
56037         * modules/realloc-posix: New file.
56038         * modules/realloc (Depends-on): Add realloc-posix.
56039         * lib/realloc.c: Include errno.h.
56040         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
56041         and a POSIX-compatible realloc into a single function. Set ENOMEM
56042         when returning NULL.
56043         * m4/realloc.m4: New file.
56044         * doc/functions/realloc.texi: Mention the realloc-posix module.
56045         * lib/stdlib_.h (realloc): New declaration.
56046         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
56047         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
56048         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
56049         and HAVE_REALLOC_POSIX.
56050
56051 2007-09-09  Bruno Haible  <bruno@clisp.org>
56052
56053         * modules/calloc-posix: New file.
56054         * modules/calloc (Depends-on): Add calloc-posix.
56055         * lib/calloc.c: Include errno.h.
56056         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
56057         and a POSIX-compatible calloc into a single function. Set ENOMEM
56058         when returning NULL.
56059         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
56060         * doc/functions/calloc.texi: Mention the calloc-posix module.
56061         * lib/stdlib_.h (calloc): New declaration.
56062         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
56063         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
56064         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
56065         and HAVE_CALLOC_POSIX.
56066
56067 2007-09-09  Bruno Haible  <bruno@clisp.org>
56068
56069         Allow for modules to show an arbitrary notice.
56070         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
56071         * gnulib-tool: New option --extract-notice.
56072         (func_usage): Document it.
56073         (sed_extract_prog): Update.
56074         (func_get_notice): New function.
56075         (func_modules_notice): New function.
56076         (func_import, func_create_testdir): Invoke it.
56077         Suggested by Jim Meyering.
56078
56079 2007-09-09  Bruno Haible  <bruno@clisp.org>
56080
56081         * gnulib-tool: New options --verbose, --quiet.
56082         (func_usage): Document them.
56083         (verbose): New variable.
56084         (func_execute_command): New function.
56085         (func_import): Don't show the module list and the file list if
56086         $verbose < 0.
56087         (func_create_testdir): Likewise. Use func_execute_command.
56088         (func_create_megatestdir): Use func_execute_command.
56089
56090 2007-09-08  Bruno Haible  <bruno@clisp.org>
56091
56092         * gnulib-tool (func_import): Prefer rsync over wget when available,
56093         for fetching the PO files.
56094
56095 2007-09-08  Bruno Haible  <bruno@clisp.org>
56096
56097         * posix-modules: New file. Portions copied from gnulib-tool.
56098         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
56099
56100 2007-09-08  Jim Meyering  <jim@meyering.net>
56101
56102         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
56103         * lib/fpending.h: Rename from __fpending.h.
56104         * lib/fpending.c: Rename from __fpending.c.
56105         Include "fpending.h", not "__fpending.h".
56106         * lib/__fpending.h, lib/__fpending.c: Remove files.
56107         * modules/fpending (Files): Reflect new file names.
56108         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
56109
56110 2007-09-08  Bruno Haible  <bruno@clisp.org>
56111
56112         * m4/inttypes-h.m4: Remove stub file.
56113
56114 2007-09-07  Simon Josefsson  <simon@josefsson.org>
56115
56116         * doc/headers/stdint.texi: Discuss #include_next issue.
56117
56118 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
56119
56120         * build-aux/bootstrap: Remove obsolete comment about wget --help.
56121
56122 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56123
56124         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
56125         in variable name.
56126
56127 2007-09-03  Jim Meyering  <jim@meyering.net>
56128
56129         New module: git-version-gen.
56130         * modules/git-version-gen: New file.
56131
56132         Import changes from coreutils for bootstrap script.
56133
56134         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
56135
56136         bootstrap: uses rsync to download the .po files
56137         * build-aux/bootstrap (po_download_command_format): New global.
56138         (download_po_files): Use rsync.
56139         (update_po_files): Don't remove .po files after download,
56140         so future rsync runs can take advantage of the copies.
56141
56142         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
56143
56144         Solve the unnecessary-.po-file-regeneration problem once and for all.
56145         * build-aux/bootstrap (download_po_files): New function, renamed from
56146         get_translations.  Now, downloads, but doesn't update LINGUAS.
56147         (update_po_files): New function.
56148
56149         bootstrap: Ignore more.
56150         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
56151         uniwidth to e.g., lib/.gitignore.
56152         (slurp): Handle the sys_stat_.h -> sys mapping, too.
56153
56154         * build-aux/bootstrap: New setting: vc_ignore.
56155         (insert_sorted_if_absent): Create $file if absent.
56156         Adapt to new, possibly empty, list: $vc_ignore.
56157
56158         bootstrap: generate more ignorable names
56159         * build-aux/bootstrap (slurp): When generating ignorable names,
56160         also map .sin to .sed, .gperf to .c, and .y to .c.
56161
56162 2007-09-03  Jim Meyering  <jim@meyering.net>
56163
56164         * build-aux/git-version-gen: New file, from coreutils.  For details, see
56165         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
56166
56167 2007-09-02  Bruno Haible  <bruno@clisp.org>
56168
56169         Fix mis-recognition of 'mcs' on QNX 6.
56170         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
56171         output contains the string "Mono".
56172         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
56173         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
56174
56175 2007-09-01  Bruno Haible  <bruno@clisp.org>
56176
56177         Fix collision between uniwidth/* and linebreak modules.
56178         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
56179         u32_width): Remove declarations.
56180         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
56181         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
56182         streq3, streq2, streq1, streq0): Remove functions.
56183         (STREQ): Remove macro.
56184         (is_cjk_encoding): Remove function.
56185         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
56186         (uc_width, u8_width, u16_width, u32_width): Remove functions.
56187         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
56188         * NEWS: Document the change.
56189
56190 2007-09-01  Bruno Haible  <bruno@clisp.org>
56191
56192         * lib/streq.h: Add double-inclusion guard.
56193
56194 2007-09-01  Karl Berry  <karl@gnu.org>
56195
56196         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
56197
56198 2007-08-28  Jim Meyering  <jim@meyering.net>
56199
56200         Rename mreadlink_with_size to areadlink_with_size.
56201         * NEWS: Document the change.
56202         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
56203         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
56204         * lib/mreadlink.h: Rename this to...
56205         * lib/areadlink.h: ...this.
56206         * modules/mreadlink-with-size: Rename this to...
56207         * modules/areadlink-with-size: ...this.
56208         * lib/canonicalize.c: Reflect the renaming.
56209         * modules/canonicalize: Likewise.
56210
56211 2007-08-26  Bruno Haible  <bruno@clisp.org>
56212
56213         * gnulib-tool (func_import): When deciding which files to remove,
56214         consider also dangling symbolic links.
56215         Reported by Eric Blake.
56216
56217 2007-08-26  Bruno Haible  <bruno@clisp.org>
56218
56219         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
56220
56221 2007-08-23  Simon Josefsson  <simon@josefsson.org>
56222
56223         * lib/readline.c: Don't include getline.h, the prototype is now
56224         found in stdio.h.
56225
56226 2007-08-23  Jim Meyering  <jim@meyering.net>
56227
56228         Getdelim touchup.
56229         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
56230         around the funlockfile call, since funlockfile never sets errno.
56231         Don't set errno upon failed realloc.
56232
56233 2007-08-22  Eric Blake  <ebb9@byu.net>
56234
56235         Getline touchups.
56236         * lib/getdelim.c (getdelim): Revert regression that required *n to
56237         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
56238         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
56239         getdelim, rather than whether implementation is missing.
56240         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
56241         * lib/stdio_.h (getline): Also declare if replacement is
56242         required.
56243         * doc/functions/getdelim.texi: New file.
56244         * doc/functions/getline.texi: Likewise.
56245         * doc/gnulib.texi (Function Substitutes): Add new files.
56246         Reported by Bruno Haible.
56247
56248 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
56249
56250         * users.txt: Add Guile.
56251
56252 2007-08-22  Eric Blake  <ebb9@byu.net>
56253
56254         * tests/test-getdelim.c (main): Use remove, not unlink.
56255         * tests/test-getline.c (main): Likewise.
56256
56257         Move getline and getdelim into stdio.h, per POSIX 200x.
56258         * modules/getline (Files): Remove getline.h.
56259         (Depends-on): Add stdio.
56260         (configure.ac): Add module indicator.
56261         * modules/getdelim (Files): Remove getdelim.h.
56262         (Depends-on): Add stdio.
56263         (configure.ac): Add module indicator.
56264         * modules/stdio (Makefile.am): Work with new indicators.
56265         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
56266         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
56267         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
56268         * lib/getdelim.h: Delete.
56269         * lib/getline.h: Delete.
56270         * lib/stdio_.h (getdelim, getline): Declare.
56271         * modules/getdelim-tests: New module.
56272         * modules/getline-tests: Likewise.
56273         * tests/test-getdelim.c: New file.
56274         * tests/test-getline.c: Likewise.
56275         * NEWS: Document the change.
56276         * lib/getline.c: Update choice of header.
56277         * lib/csharpcomp.c: Likewise.
56278         * lib/getpass.c: Likewise.
56279         * lib/javacomp.c: Likewise.
56280         * lib/javaversion.c: Likewise.
56281         * lib/yesno.c: Likewise.
56282         * lib/getdelim.c: Likewise.
56283         (getdelim): Set errno on failure, and avoid memory leak.
56284
56285 2007-08-19  Bruno Haible  <bruno@clisp.org>
56286
56287         * modules/closein (Depends-on): Add freadahead.
56288         * lib/closein.c: Include freadahead.h.
56289         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
56290         is zero.
56291
56292 2007-08-19  Bruno Haible  <bruno@clisp.org>
56293
56294         * modules/freadahead-tests: New file.
56295         * tests/test-freadahead.sh: New file.
56296         * tests/test-freadahead.c: New file.
56297
56298         * modules/freadahead: New file.
56299         * lib/freadahead.h: New file.
56300         * lib/freadahead.c: New file.
56301         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
56302         fbufmode, fpurge, freadable, fwritable.
56303
56304 2007-08-19  Eric Blake  <ebb9@byu.net>
56305
56306         Test yesno in combination with closein.
56307         * lib/yesno.c (yesno): Document use of stdin.
56308         * modules/yesno-tests (Files): New module.
56309         * tests/test-yesno.c (main): New file.
56310         * tests/test-yesno.sh: Likewise.
56311
56312 2007-08-19  Bruno Haible  <bruno@clisp.org>
56313
56314         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
56315         * lib/fseeko.c (rpl_fseeko): Likewise.
56316         * lib/fseterr.c (fseterr): Likewise.
56317
56318 2007-08-19  Bruno Haible  <bruno@clisp.org>
56319
56320         * tests/test-lseek.c (main): Disable a test for BeOS.
56321         * doc/functions/lseek.texi: Document the BeOS bug.
56322
56323 2007-08-19  Bruno Haible  <bruno@clisp.org>
56324             Eric Blake  <ebb9@byu.net>
56325
56326         * lib/lseek.c: Include <sys/stat.h>.
56327         (rpl_lseek): Add workaround code also for Unix platforms.
56328         Needed for BeOS.
56329         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
56330         * doc/functions/lseek.texi: Document BeOS definiency.
56331
56332 2007-08-18  Bruno Haible  <bruno@clisp.org>
56333
56334         * modules/fstrcmp-tests: New file.
56335         * tests/test-fstrcmp.c: New file.
56336
56337 2007-08-18  Bruno Haible  <bruno@clisp.org>
56338
56339         * modules/fstrcmp: New file, from GNU gettext with modifications.
56340         * lib/fstrcmp.h: New file, from GNU gettext.
56341         * lib/fstrcmp.c: New file, from GNU gettext.
56342         * MODULES.html.sh (String handling): Add fstrcmp.
56343
56344 2007-08-18  Bruno Haible  <bruno@clisp.org>
56345
56346         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
56347         'bool'.
56348         (diag, compareseq): Remove const from the ctxt argument.
56349         (USE_HEURISTIC): Undefine at the end.
56350
56351 2007-08-18  Jim Meyering  <jim@meyering.net>
56352
56353         New file: lib/idcache.h
56354         * NEWS: Mention the addition.
56355         * modules/idcache (Files): Add lib/idcache.h
56356         * lib/idcache.c: Include "idcache.h".
56357         Don't include <sys/types.h>.
56358         Add a FIXME comment.
56359         Move file-scoped "static" declarations to the top.
56360         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
56361
56362 2007-08-17  Bruno Haible  <bruno@clisp.org>
56363         and Paul Eggert  <eggert@cs.ucla.edu>
56364
56365         * MODULES.html.sh: Add diffseq.
56366         * modules/diffseq: New file.
56367         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
56368         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
56369
56370 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
56371
56372         Import changes from coreutils for bootstrap script.
56373
56374         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
56375
56376         * build-aux/bootstrap (slurp): Work even in environments where
56377         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
56378         current code does not slurp files whose names start with ".", and
56379         this looks like it might be a troublesome area.
56380
56381         2007-07-11  Jim Meyering  <jim@meyering.net>
56382
56383         If there's a GPL vN copyright comment, require that N == 3.
56384
56385         2007-07-08  Jim Meyering  <jim@meyering.net>
56386
56387         Run the coreutils-specific code only if tests/Makefile.am.in exists.
56388         * build-aux/bootstrap (mam_template): Move definition out of loop.
56389
56390         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
56391
56392         * build-aux/bootstrap (symlink_to_dir): Rename function from
56393         symlink_to_gnulib.  Add a directory parameter.  Update all
56394         callers.
56395         (cp_mark_as_generated): Also check for -- and link to -- files in
56396         gl/.
56397
56398         2007-07-08  Jim Meyering  <jim@meyering.net>
56399
56400         Adapt to deeper hierarchy in gnulib.
56401         * build-aux/bootstrap (symlink_to_dir): If the destination
56402         directory doesn't exist, create it. This is required at least for
56403         "lib/uniwidth/cjk.h".
56404
56405         2007-05-15  Jim Meyering  <jim@meyering.net>
56406
56407         * build-aux/bootstrap: Now that generated Makefile.am files
56408         are no longer under version control, they must be created at
56409         bootstrap time.
56410
56411 2007-08-14  Ben Pfaff  <blp@gnu.org>
56412
56413         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
56414
56415 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
56416
56417         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
56418         given the changes below.
56419         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
56420         even on hosts that have padding bits beyond the supported 64.
56421
56422 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
56423
56424         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
56425         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
56426         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
56427         depends on it.
56428         (xstrtol_error): Remove.
56429         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
56430         but with a different signature.
56431         (ATTRIBUTE_NORETURN, __attribute__): New macros.
56432         * lib/xstrtol-error.c: Include exitfail.h.
56433         (xstrtol_fatal): New function, with a different signature from the
56434         old xstrtol_error, so that the caller need not worry about passing
56435         in an exit status, or about storage management of the option argument.
56436         (xstrtol_error): Now a static function.  Redo signature to
56437         implement xstrtol_fatal.  Output the correct number of hyphens in
56438         front of the option so that the caller need not worry about
56439         storage management.
56440         (N_): New macro.
56441         (_): Remove; not used now.
56442         * modules/xstrtol: Depend on getopt.
56443         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
56444         of old STRTOL_FATAL_ERROR macro.
56445         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
56446         of test program.
56447         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
56448         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
56449
56450 2007-08-08  Eric Blake  <ebb9@byu.net>
56451
56452         * lib/xstrtol-error.c: Add missing include.
56453
56454         Move xstrtol messages into gnulib domain, when --pobase is used.
56455         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
56456         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
56457         * modules/xstrtol (Files): Distribute new file.
56458         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
56459         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
56460         * tests/test-xstrtol.c: ...into new file.
56461         * tests/test-xstrtoul.c: Also test xstrtoul.
56462         * tests/test-xstrtoimax.c: Also test xstrtoimax.
56463         * tests/test-xstrtoumax.c: Also test xstrtoumax.
56464         * tests/test-xstrtol.sh: Drive the tests.
56465         * tests/test-xstrtoimax.sh: Likewise.
56466         * tests/test-xstrtoumax.sh: Likewise.
56467         * modules/xstrtol-tests: New module.
56468         * modules/xstrtoimax-tests: Likewise.
56469         * modules/xstrtoumax-tests: Likewise.
56470
56471 2007-08-08  Jim Meyering  <jim@meyering.net>
56472
56473         New function: mfile_name_concat.
56474         * lib/filenamecat.c (mfile_name_concat): New function, just like
56475         file_name_concat, but return NULL upon failure rather than exiting
56476         with a diagnostic.
56477         * lib/filenamecat.h: Declare it.
56478
56479 2007-08-07  Bruno Haible  <bruno@clisp.org>
56480
56481         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
56482         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
56483         warning from gcc.
56484         Reported by Eric Blake.
56485
56486 2007-08-07  Simon Josefsson  <simon@josefsson.org>
56487
56488         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
56489         * modules/crypto/arcfour (License): Likewise.
56490         * modules/crypto/des-tests (License): Likewise.
56491         * modules/crypto/gc-arctwo-tests (License): Likewise.
56492         * modules/crypto/gc-des-tests (License): Likewise.
56493         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
56494         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
56495         * modules/crypto/gc-md2-tests (License): Likewise.
56496         * modules/crypto/gc-md4-tests (License): Likewise.
56497         * modules/crypto/gc-md5-tests (License): Likewise.
56498         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
56499         * modules/crypto/gc-rijndael-tests (License): Likewise.
56500         * modules/crypto/gc-sha1-tests (License): Likewise.
56501         * modules/crypto/gc-tests (License): Likewise.
56502         * modules/crypto/hmac-md5 (License): Likewise.
56503         * modules/crypto/hmac-sha1 (License): Likewise.
56504         * modules/crypto/md2-tests (License): Likewise.
56505         * modules/crypto/md4-tests (License): Likewise.
56506         * modules/crypto/md5 (License): Likewise.
56507         * modules/crypto/rijndael (License): Likewise.
56508         * modules/crypto/sha1 (License): Likewise.
56509         * modules/memxor (License): Likewise.
56510
56511 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
56512         and Bruno Haible  <bruno@clisp.org>
56513
56514         * NEWS: Describe interface changes to human, xstrtol.
56515         * lib/human.h: Include <xstrtol.h>.
56516         (human_options): Return enum strtol_error, not int.  Remove
56517         bool arg; take int * instead.
56518         * lib/human.c: Don't include "gettext.h".
56519         (_): Remove; no longer used.
56520         Don't include <xstrtol.h>, since human.h does it.
56521         (human_options): Adjust to abovementioned interface changes.
56522         Do not report error to stderr; that's now the caller's
56523         responsibility.
56524         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
56525         interface change.
56526         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
56527         Str, Argument_type_string.  All uses changed.  Put " argument"
56528         in diagnostics to make them clearer.  Change wording of suffix
56529         message for clarity.
56530         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
56531         Argument_type_string.
56532         (STRTOL_FATAL_WARN): Remove; no longer used.
56533         * modules/human (Depends-on): Remove gettext-h.
56534
56535 2007-08-06  Simon Josefsson  <simon@josefsson.org>
56536
56537         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
56538
56539 2007-07-31  Bruno Haible  <bruno@clisp.org>
56540
56541         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
56542         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
56543         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
56544
56545 2007-07-31  Bruno Haible  <bruno@clisp.org>
56546
56547         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
56548         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
56549
56550 2007-07-30  Bruno Haible  <bruno@clisp.org>
56551
56552         * modules/base64 (License): Use the synonymous term "LGPLv2+".
56553         * modules/c-ctype (License): Likewise.
56554         * modules/c-strcase (License): Likewise.
56555         * modules/check-version (License): Likewise.
56556         * modules/iconv (License): Likewise.
56557         * modules/iconv_open (License): Likewise.
56558         * modules/read-file (License): Likewise.
56559         * modules/striconv (License): Likewise.
56560         * modules/strverscmp (License): Likewise.
56561         * modules/vasprintf (License): Likewise.
56562         * modules/crypto/des (License): Likewise.
56563         * modules/crypto/gc (License): Likewise.
56564         * modules/crypto/gc-arcfour (License): Likewise.
56565         * modules/crypto/gc-arctwo (License): Likewise.
56566         * modules/crypto/gc-des (License): Likewise.
56567         * modules/crypto/gc-hmac-md5 (License): Likewise.
56568         * modules/crypto/gc-hmac-sha1 (License): Likewise.
56569         * modules/crypto/gc-md2 (License): Likewise.
56570         * modules/crypto/gc-md4 (License): Likewise.
56571         * modules/crypto/gc-md5 (License): Likewise.
56572         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
56573         * modules/crypto/gc-random (License): Likewise.
56574         * modules/crypto/gc-rijndael (License): Likewise.
56575         * modules/crypto/gc-sha1 (License): Likewise.
56576         * modules/crypto/md2 (License): Likewise.
56577         * modules/crypto/md4 (License): Likewise.
56578
56579 2007-07-30  Jim Meyering  <jim@meyering.net>
56580
56581         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
56582         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
56583         it has valid stat data.  This bug would cause du not to count the
56584         sizes of inaccessible directories.
56585         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
56586         in <http://bugzilla.redhat.com/250077>.
56587
56588 2007-07-25  Peter O'Gorman  <peter@pogma.com>
56589             Bruno Haible  <bruno@clisp.org>
56590
56591         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
56592         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
56593         #include_next, gives a diagnostic about it, but reports no error in
56594         the exit code.
56595         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
56596
56597 2007-07-24  Ben Pfaff  <blp@gnu.org>
56598
56599         Improve name: "count-one-bits" is better than "popcount".
56600         * MODULES.html.sh: Update name.
56601         * lib/popcount.h: Renamed lib/count-one-bits.h.
56602         (popcount): Renamed count_one_bits.
56603         (popcountl): Renamed count_one_bits_l.
56604         (popcountll): Renamed count_one_bits_ll.
56605         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
56606         * modules/popcount: Renamed module/count-one-bits.
56607         * modules/popcount-tests: Renamed module/count-one-bits-tests.
56608         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
56609
56610 2007-07-23  Ben Pfaff  <blp@gnu.org>
56611
56612         * lib/popcount.h (popcount32): Reduce size of constants, to allow
56613         better code generation, and add U to large constants to avoid
56614         warnings, in non-GCC case.
56615         Suggested by Bruno Haible.
56616
56617 2007-07-23  Ben Pfaff  <blp@gnu.org>
56618
56619         * lib/popcount.h: Use verify_true instead of if...abort.
56620         * modules/popcount: Depend on verify module.
56621         Suggested by Jim Meyering.
56622
56623 2007-07-23  Bruno Haible  <bruno@clisp.org>
56624
56625         * gnulib-tool (func_import): Create a .cvsignore file also when the
56626         directory is not yet in CVS but the toplevel directory is. When
56627         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
56628         Reported by Karl Berry.
56629
56630 2007-07-22  Ben Pfaff  <blp@gnu.org>
56631
56632         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
56633         case.
56634         Suggested by Eric Blake.
56635
56636 2007-07-22  Ben Pfaff  <blp@gnu.org>
56637
56638         New module: popcount.
56639         * MODULES.html.sh: Add popcount.
56640         * modules/popcount: New file.
56641         * modules/popcount-tests: New file.
56642         * tests/test-popcount.c: New file.
56643         * lib/popcount.h: New file.
56644         * m4/popcount.m4: New file.
56645
56646 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
56647
56648         * build-aux/announce-gen: Update to GPLv3.
56649
56650         * build-aux/config.guess: Update from config.
56651
56652 2007-07-21  Bruno Haible  <bruno@clisp.org>
56653
56654         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
56655         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
56656
56657 2007-07-20  Jim Meyering  <jim@meyering.net>
56658
56659         * check-module: Diagnose a self-dependency.
56660
56661 2007-07-19  Bruno Haible  <bruno@clisp.org>
56662
56663         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
56664         empty.
56665         Reported by Eric Blake.
56666
56667 2007-07-18  Bruno Haible  <bruno@clisp.org>
56668
56669         * gnulib-tool: New options --po-base, --po-domain.
56670         (func_usage): Document them.
56671         (pobase, po_domain): New variables.
56672         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
56673         DEFAULT_TEXT_DOMAIN.
56674         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
56675         (func_import): Consider pobase and po_domain. Create a po/ directory.
56676         (func_create_testdir): Set pobase and po_domain to empty.
56677         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
56678         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
56679
56680 2007-07-18  Bruno Haible  <bruno@clisp.org>
56681
56682         * gnulib-tool (func_get_automake_snippet): Synthesize also an
56683         EXTRA_DIST augmentation for files in build-aux/.
56684
56685 2007-07-16  Bruno Haible  <bruno@clisp.org>
56686
56687         * modules/lseek (License): Use the synonymous term "LGPLv2+".
56688         * modules/getdelim (License): Likewise.
56689
56690 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56691
56692         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
56693         * modules/d-type (License): Likewise.
56694         * modules/extensions (License): Likewise.
56695         * modules/fnmatch (License): Likewise.
56696         * modules/fseeko (License): Likewise.
56697         * modules/getaddrinfo (License): Likewise.
56698         * modules/getline (License): Likewise.
56699         * modules/getlogin_r (License): Likewise.
56700         * modules/getpass (License): Likewise.
56701         * modules/gettimeofday (License): Likewise.
56702         * modules/glob (License): Likewise.
56703         * modules/inet_ntop (License): Likewise.
56704         * modules/malloc (License): Likewise.
56705         * modules/malloca (License): Likewise.
56706         * modules/memmem (License): Likewise.
56707         * modules/mempcpy (License): Likewise.
56708         * modules/memset (License): Likewise.
56709         * modules/minmax (License): Likewise.
56710         * modules/mktime (License): Likewise.
56711         * modules/netinet_in (License): Likewise.
56712         * modules/pathmax (License): Likewise.
56713         * modules/poll (License): Likewise.
56714         * modules/regex (License): Likewise.
56715         * modules/snprintf (License): Likewise.
56716         * modules/stdbool (License): Likewise.
56717         * modules/stdint (License): Likewise.
56718         * modules/stdio (License): Likewise.
56719         * modules/strcase (License): Likewise.
56720         * modules/strcasestr (License): Likewise.
56721         * modules/strdup (License): Likewise.
56722         * modules/string (License): Likewise.
56723         * modules/strndup (License): Likewise.
56724         * modules/strnlen (License): Likewise.
56725         * modules/strpbrk (License): Likewise.
56726         * modules/strptime (License): Likewise.
56727         * modules/strsep (License): Likewise.
56728         * modules/sys_select (License): Likewise.
56729         * modules/sys_socket (License): Likewise.
56730         * modules/sys_stat (License): Likewise.
56731         * modules/sys_time (License): Likewise.
56732         * modules/time (License): Likewise.
56733         * modules/time_r (License): Likewise.
56734         * modules/timegm (License): Likewise.
56735         * modules/unistd (License): Likewise.
56736         * modules/vsnprintf (License): Likewise.
56737         * modules/wctype (License): Likewise.
56738
56739 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56740
56741         * modules/argz (License): LGPLv2+.
56742
56743 2007-07-15  Karl Berry  <karl@gnu.org>
56744
56745         * doc/gnulib.texi: revise node structure per new fdl.texi.
56746
56747 2007-07-14  Bruno Haible  <bruno@clisp.org>
56748
56749         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
56750         the output file.
56751         * lib/uniname/uninames.h: Regenerated.
56752
56753 2007-07-14  Karl Berry  <karl@gnu.org>
56754
56755         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
56756         omitting sectioning and index commands.
56757
56758 2007-07-13  Bruno Haible  <bruno@clisp.org>
56759
56760         New gnulib-tool option --more-symlinks.
56761         * gnulib-tool (func_usage): Document --more-symlinks.
56762         (do_copyrights): New variable.
56763         Recognize option --more-symlinks.
56764         (func_import): Don't add a copyright notice transform to
56765         sed_transform_lib_file if do_copyrights is empty.
56766
56767 2007-07-13  Bruno Haible  <bruno@clisp.org>
56768
56769         * lib/vasnprintf.c (decimal_point_char): Define also if
56770         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
56771         && !NEED_PRINTF_DIRECTIVE_A.
56772         Reported by Clemens Koller <clemens.koller@anagramm.de> via
56773         Gary V. Vaughan <gary@gnu.org>.
56774
56775 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
56776
56777         * lib/inttypes_.h: Undo previous change, since it was fixed
56778         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
56779
56780 2007-07-13  Bruno Haible  <bruno@clisp.org>
56781
56782         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
56783         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
56784
56785 2007-07-13  Jim Meyering  <jim@meyering.net>
56786
56787         df: Don't fail for Tru64's "file-on-file mount".
56788         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
56789         so we fall through and use statfs instead.  Details here:
56790         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
56791         Reported by Albert Chin.
56792
56793 2007-07-13  Bruno Haible  <bruno@clisp.org>
56794
56795         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
56796         * modules/configmake (License): Likewise.
56797         * modules/gettext (License): Likewise.
56798         * modules/gettext-h (License): Likewise.
56799         * modules/include_next (License): Likewise.
56800         * modules/link-warning (License): Likewise.
56801         * modules/localcharset (License): Likewise.
56802         * modules/localename (License): Likewise.
56803         * modules/lock (License): Likewise.
56804         * modules/relocatable-lib-lgpl (License): Likewise.
56805         * modules/size_max (License): Likewise.
56806         * modules/vasnprintf (License): Likewise.
56807         * modules/wchar (License): Likewise.
56808         * modules/xsize (License): Likewise.
56809
56810 2007-07-13  Bruno Haible  <bruno@clisp.org>
56811
56812         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
56813         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
56814
56815 2007-07-12  Bruno Haible  <bruno@clisp.org>
56816
56817         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
56818         in the modules files.
56819
56820 2007-07-11  Karl Berry  <karl@gnu.org>
56821
56822         * MODULES.html.sh (func_module): use
56823          sed -e '\|^'"${includefile}"'$|d'
56824          instead of /.../d, to avoid errors on $includefile's containing /.
56825
56826 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
56827
56828         * gnulib-tool (func_import): Avoid duplication of --avoid
56829         statements
56830         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
56831         names to `_' in variable names.
56832
56833 2007-07-10  Eric Blake  <ebb9@byu.net>
56834
56835         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
56836         * NEWS: Document this change.
56837
56838 2007-07-08  Bruno Haible  <bruno@clisp.org>
56839
56840         Update to Unicode 5.0.
56841         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
56842         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
56843         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
56844         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
56845         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
56846         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
56847         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
56848         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
56849         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
56850         U+10A3F, U+1D242..U+1D244.
56851         (nonspacing_table_ind): Update.
56852         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
56853         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
56854
56855 2007-07-08  Bruno Haible  <bruno@clisp.org>
56856
56857         Update to Unicode 5.0.
56858         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
56859         code transform. Extend the name index field of unicode_name_to_code and
56860         unicode_code_to_name from 16 to 24 bits.
56861         * lib/uniname/uniname.c (unicode_character_name,
56862         unicode_name_character): Add the range 0x12xxx to the code transform.
56863         * lib/uniname/uninames.h: Regenerated.
56864         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
56865
56866 2007-07-07  Bruno Haible  <bruno@clisp.org>
56867
56868         * modules/wcwidth-tests: New file.
56869         * tests/test-wcwidth.c: New file.
56870
56871         Work around MacOS X wcwidth() bug.
56872         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
56873         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
56874         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
56875         original wcwidth in non-UTF-8 locales.
56876         * modules/wcwidth (Depends-on): Add localcharset, streq,
56877         uniwidth/width.
56878         * doc/functions/wcwidth.texi: Update.
56879
56880 2007-07-07  Bruno Haible  <bruno@clisp.org>
56881
56882         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
56883         (wcwidth): New declaration.
56884         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
56885         macros.
56886         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
56887         here. Prepare for creating <wchar.h> unconditionally.
56888         * modules/wchar (Depends-on): Add link-warning.
56889         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
56890         REPLACE_WCWIDTH, and GL_LINK_WARNING.
56891         * lib/wcwidth.h: Remove file.
56892         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
56893         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
56894         * modules/wcwidth (Files): Remove lib/wcwidth.h.
56895         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
56896         (Include): Replace wcwidth.h with <wchar.h>.
56897         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
56898         * lib/mbchar.h: Don't include wcwidth.h.
56899         * lib/mbswidth.c: Likewise.
56900         * NEWS: Mention the change.
56901
56902 2007-07-07  Bruno Haible  <bruno@clisp.org>
56903
56904         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
56905         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
56906         definition with an external declaration.
56907         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
56908         defined as a function. Remove AC_C_INLINE requirement.
56909         * modules/wcwidth (Files): Add lib/wcwidth.c.
56910         (Makefile.am): Remove redundant statement.
56911
56912 2007-07-07  Bruno Haible  <bruno@clisp.org>
56913
56914         * MODULES.html.sh (Unicode string functions): Add the new modules.
56915
56916         * tests/uniwidth/test-u32-strwidth.c: New file.
56917         * modules/uniwidth/u32-strwidth-tests: New file.
56918
56919         * lib/uniwidth/u32-strwidth.c: New file.
56920         * modules/uniwidth/u32-strwidth: New file.
56921
56922         * tests/uniwidth/test-u16-strwidth.c: New file.
56923         * modules/uniwidth/u16-strwidth-tests: New file.
56924
56925         * lib/uniwidth/u16-strwidth.c: New file.
56926         * modules/uniwidth/u16-strwidth: New file.
56927
56928         * tests/uniwidth/test-u8-strwidth.c: New file.
56929         * modules/uniwidth/u8-strwidth-tests: New file.
56930
56931         * lib/uniwidth/u8-strwidth.c: New file.
56932         * modules/uniwidth/u8-strwidth: New file.
56933
56934         * tests/uniwidth/test-u32-width.c: New file.
56935         * modules/uniwidth/u32-width-tests: New file.
56936
56937         * lib/uniwidth/u32-width.c: New file.
56938         * modules/uniwidth/u32-width: New file.
56939
56940         * tests/uniwidth/test-u16-width.c: New file.
56941         * modules/uniwidth/u16-width-tests: New file.
56942
56943         * lib/uniwidth/u16-width.c: New file.
56944         * modules/uniwidth/u16-width: New file.
56945
56946         * tests/uniwidth/test-u8-width.c: New file.
56947         * modules/uniwidth/u8-width-tests: New file.
56948
56949         * lib/uniwidth/u8-width.c: New file.
56950         * modules/uniwidth/u8-width: New file.
56951
56952         * tests/uniwidth/test-uc_width.c: New file.
56953         * modules/uniwidth/width-tests: New file.
56954
56955         * lib/uniwidth/width.c: New file, from GNU libiconv.
56956         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
56957         * modules/uniwidth/width: New file.
56958
56959         * lib/uniwidth.h: New file, from GNU libiconv.
56960         * modules/uniwidth/base: New file.
56961
56962 2007-07-07  Bruno Haible  <bruno@clisp.org>
56963
56964         * lib/uniname.h: New file, from GNU gettext.
56965         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
56966         * lib/uniname/uninames.h: New file, from GNU gettext.
56967         * lib/uniname/uniname.c: New file, from GNU gettext.
56968         * tests/uniname/test-uninames.sh: New file.
56969         * tests/uniname/test-uninames.c: New file, from GNU gettext.
56970         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
56971         * modules/uniname/base: New file.
56972         * modules/uniname/uniname: New file.
56973         * modules/uniname/uniname-tests: New file.
56974         * MODULES.html.sh (Unicode string functions): Add the new modules.
56975
56976 2007-07-06  Bruno Haible  <bruno@clisp.org>
56977
56978         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
56979
56980 2007-07-06  Bruno Haible  <bruno@clisp.org>
56981
56982         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
56983         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
56984         includes <cygwin/sys_time.h> which includes <sys/select.h> which
56985         include <sys/time.h>.
56986         Reported by Eric Blake.
56987
56988 2007-07-06  Eric Blake  <ebb9@byu.net>
56989
56990         Fix testing canonicalize on cygwin.
56991         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
56992         Revert patch from 2007-06-19.
56993         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
56994         canonicalize module is also in use.
56995         * tests/test-canonicalize.c: New file.
56996         * tests/test-canonicalize.sh: Likewise.
56997         * modules/canonicalize-tests: Likewise.
56998
56999 2007-07-06  Jim Meyering  <jim@meyering.net>
57000
57001         * lib/getugroups.c (getugroups): Detect getgrent failure.
57002         Adjust comment to reflect reality: this function may return -1.
57003
57004 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
57005
57006         * build-aux/bootstrap (TP_URL,get_translations): Update to use
57007         the new TP address.
57008         (usage): Fix typo
57009         (gnulib_mk): New variable.
57010
57011 2007-07-05  Jim Meyering  <jim@meyering.net>
57012
57013         Don't let endgrent clobber errno, no matter how improbable.
57014         * lib/getugroups.c (getugroups): Save and restore errno around
57015         endgrent call.
57016
57017         Close the group DB even when failing with 2^31 or more members.
57018         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
57019
57020 2007-07-04  Jim Meyering  <jim@meyering.net>
57021
57022         * lib/getugroups.h: New file.
57023         * lib/getugroups.c: Include "getugroups.h".
57024         Remove uses of "register" keyword.
57025         Move local variable, "cp", down into scope where used.
57026         Give "username" parameter the "const" attribute.
57027         * modules/getugroups (Files): Add lib/getugroups.h
57028
57029 2007-07-04  Karl Berry  <karl@gnu.org>
57030
57031         * MODULES.html.sh (func_all_modules): Complete rename of
57032         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
57033
57034 2007-07-02  Bruno Haible  <bruno@clisp.org>
57035
57036         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
57037         mode, when inttypes.h comes from gnulib.
57038         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
57039
57040 2007-07-02  Simon Josefsson  <simon@josefsson.org>
57041
57042         * NEWS: Mention lgpl module name change.
57043
57044         * modules/lgpl-2.1: Renamed from lgpl.
57045
57046         * NEWS: Mention gpl module name change.
57047
57048         * modules/gpl-3.0: New file, based on gpl-2.0.
57049
57050         * modules/gpl-2.0: Renamed from gpl.
57051
57052         * modules/gpl: Fix filename, doc/gpl.texi is now found at
57053         doc/gpl-2.0.texi.
57054
57055 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
57056
57057         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
57058         #define __STDC_LIMIT_MACROS temporarily while including
57059         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
57060         Problem reported by Joel E. Denny in
57061         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
57062
57063 2007-07-01  Bruno Haible  <bruno@clisp.org>
57064
57065         * lib/unistdio.h: New file.
57066         * lib/unistdio/u-asnprintf.h: New file.
57067         * lib/unistdio/u-asprintf.h: New file.
57068         * lib/unistdio/u-printf-args.c: New file.
57069         * lib/unistdio/u-printf-args.h: New file.
57070         * lib/unistdio/u-printf-parse.h: New file.
57071         * lib/unistdio/u-snprintf.h: New file.
57072         * lib/unistdio/u-sprintf.h: New file.
57073         * lib/unistdio/u-vasprintf.h: New file.
57074         * lib/unistdio/u-vsnprintf.h: New file.
57075         * lib/unistdio/u-vsprintf.h: New file.
57076         * lib/unistdio/ulc-asnprintf.c: New file.
57077         * lib/unistdio/ulc-asprintf.c: New file.
57078         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
57079         * lib/unistdio/ulc-printf-parse.c: New file.
57080         * lib/unistdio/ulc-snprintf.c: New file.
57081         * lib/unistdio/ulc-sprintf.c: New file.
57082         * lib/unistdio/ulc-vasnprintf.c: New file.
57083         * lib/unistdio/ulc-vasprintf.c: New file.
57084         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
57085         * lib/unistdio/ulc-vsnprintf.c: New file.
57086         * lib/unistdio/ulc-vsprintf.c: New file.
57087         * lib/unistdio/u8-asnprintf.c: New file.
57088         * lib/unistdio/u8-asprintf.c: New file.
57089         * lib/unistdio/u8-printf-parse.c: New file.
57090         * lib/unistdio/u8-snprintf.c: New file.
57091         * lib/unistdio/u8-sprintf.c: New file.
57092         * lib/unistdio/u8-vasnprintf.c: New file.
57093         * lib/unistdio/u8-vasprintf.c: New file.
57094         * lib/unistdio/u8-vsnprintf.c: New file.
57095         * lib/unistdio/u8-vsprintf.c: New file.
57096         * lib/unistdio/u8-u8-asnprintf.c: New file.
57097         * lib/unistdio/u8-u8-asprintf.c: New file.
57098         * lib/unistdio/u8-u8-snprintf.c: New file.
57099         * lib/unistdio/u8-u8-sprintf.c: New file.
57100         * lib/unistdio/u8-u8-vasnprintf.c: New file.
57101         * lib/unistdio/u8-u8-vasprintf.c: New file.
57102         * lib/unistdio/u8-u8-vsnprintf.c: New file.
57103         * lib/unistdio/u8-u8-vsprintf.c: New file.
57104         * lib/unistdio/u16-asnprintf.c: New file.
57105         * lib/unistdio/u16-asprintf.c: New file.
57106         * lib/unistdio/u16-printf-parse.c: New file.
57107         * lib/unistdio/u16-snprintf.c: New file.
57108         * lib/unistdio/u16-sprintf.c: New file.
57109         * lib/unistdio/u16-vasnprintf.c: New file.
57110         * lib/unistdio/u16-vasprintf.c: New file.
57111         * lib/unistdio/u16-vsnprintf.c: New file.
57112         * lib/unistdio/u16-vsprintf.c: New file.
57113         * lib/unistdio/u16-u16-asnprintf.c: New file.
57114         * lib/unistdio/u16-u16-asprintf.c: New file.
57115         * lib/unistdio/u16-u16-snprintf.c: New file.
57116         * lib/unistdio/u16-u16-sprintf.c: New file.
57117         * lib/unistdio/u16-u16-vasnprintf.c: New file.
57118         * lib/unistdio/u16-u16-vasprintf.c: New file.
57119         * lib/unistdio/u16-u16-vsnprintf.c: New file.
57120         * lib/unistdio/u16-u16-vsprintf.c: New file.
57121         * lib/unistdio/u32-asnprintf.c: New file.
57122         * lib/unistdio/u32-asprintf.c: New file.
57123         * lib/unistdio/u32-printf-parse.c: New file.
57124         * lib/unistdio/u32-snprintf.c: New file.
57125         * lib/unistdio/u32-sprintf.c: New file.
57126         * lib/unistdio/u32-vasnprintf.c: New file.
57127         * lib/unistdio/u32-vasprintf.c: New file.
57128         * lib/unistdio/u32-vsnprintf.c: New file.
57129         * lib/unistdio/u32-vsprintf.c: New file.
57130         * lib/unistdio/u32-u32-asnprintf.c: New file.
57131         * lib/unistdio/u32-u32-asprintf.c: New file.
57132         * lib/unistdio/u32-u32-snprintf.c: New file.
57133         * lib/unistdio/u32-u32-sprintf.c: New file.
57134         * lib/unistdio/u32-u32-vasnprintf.c: New file.
57135         * lib/unistdio/u32-u32-vasprintf.c: New file.
57136         * lib/unistdio/u32-u32-vsnprintf.c: New file.
57137         * lib/unistdio/u32-u32-vsprintf.c: New file.
57138         * tests/unistdio/test-ulc-asnprintf1.c: New file.
57139         * tests/unistdio/test-ulc-asnprintf1.h: New file.
57140         * tests/unistdio/test-ulc-printf1.h: New file.
57141         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
57142         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
57143         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
57144         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
57145         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
57146         * tests/unistdio/test-ulc-vasprintf1.c: New file.
57147         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
57148         * tests/unistdio/test-ulc-vsprintf1.c: New file.
57149         * tests/unistdio/test-u8-asnprintf1.c: New file.
57150         * tests/unistdio/test-u8-asnprintf1.h: New file.
57151         * tests/unistdio/test-u8-printf1.h: New file.
57152         * tests/unistdio/test-u8-vasnprintf1.c: New file.
57153         * tests/unistdio/test-u8-vasnprintf2.c: New file.
57154         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
57155         * tests/unistdio/test-u8-vasnprintf3.c: New file.
57156         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
57157         * tests/unistdio/test-u8-vasprintf1.c: New file.
57158         * tests/unistdio/test-u8-vsnprintf1.c: New file.
57159         * tests/unistdio/test-u8-vsprintf1.c: New file.
57160         * tests/unistdio/test-u16-asnprintf1.c: New file.
57161         * tests/unistdio/test-u16-asnprintf1.h: New file.
57162         * tests/unistdio/test-u16-printf1.h: New file.
57163         * tests/unistdio/test-u16-vasnprintf1.c: New file.
57164         * tests/unistdio/test-u16-vasnprintf2.c: New file.
57165         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
57166         * tests/unistdio/test-u16-vasnprintf3.c: New file.
57167         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
57168         * tests/unistdio/test-u16-vasprintf1.c: New file.
57169         * tests/unistdio/test-u16-vsnprintf1.c: New file.
57170         * tests/unistdio/test-u16-vsprintf1.c: New file.
57171         * tests/unistdio/test-u32-asnprintf1.c: New file.
57172         * tests/unistdio/test-u32-asnprintf1.h: New file.
57173         * tests/unistdio/test-u32-printf1.h: New file.
57174         * tests/unistdio/test-u32-vasnprintf1.c: New file.
57175         * tests/unistdio/test-u32-vasnprintf2.c: New file.
57176         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
57177         * tests/unistdio/test-u32-vasnprintf3.c: New file.
57178         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
57179         * tests/unistdio/test-u32-vasprintf1.c: New file.
57180         * tests/unistdio/test-u32-vsnprintf1.c: New file.
57181         * tests/unistdio/test-u32-vsprintf1.c: New file.
57182         * modules/unistdio/base: New file.
57183         * modules/unistdio/u-printf-args: New file.
57184         * modules/unistdio/ulc-asnprintf: New file.
57185         * modules/unistdio/ulc-asprintf: New file.
57186         * modules/unistdio/ulc-fprintf: New file.
57187         * modules/unistdio/ulc-printf-parse: New file.
57188         * modules/unistdio/ulc-snprintf: New file.
57189         * modules/unistdio/ulc-sprintf: New file.
57190         * modules/unistdio/ulc-vasnprintf: New file.
57191         * modules/unistdio/ulc-vasprintf: New file.
57192         * modules/unistdio/ulc-vfprintf: New file.
57193         * modules/unistdio/ulc-vsnprintf: New file.
57194         * modules/unistdio/ulc-vsprintf: New file.
57195         * modules/unistdio/u8-asnprintf: New file.
57196         * modules/unistdio/u8-asprintf: New file.
57197         * modules/unistdio/u8-printf-parse: New file.
57198         * modules/unistdio/u8-snprintf: New file.
57199         * modules/unistdio/u8-sprintf: New file.
57200         * modules/unistdio/u8-vasnprintf: New file.
57201         * modules/unistdio/u8-vasprintf: New file.
57202         * modules/unistdio/u8-vsnprintf: New file.
57203         * modules/unistdio/u8-vsprintf: New file.
57204         * modules/unistdio/u8-u8-asnprintf: New file.
57205         * modules/unistdio/u8-u8-asprintf: New file.
57206         * modules/unistdio/u8-u8-snprintf: New file.
57207         * modules/unistdio/u8-u8-sprintf: New file.
57208         * modules/unistdio/u8-u8-vasnprintf: New file.
57209         * modules/unistdio/u8-u8-vasprintf: New file.
57210         * modules/unistdio/u8-u8-vsnprintf: New file.
57211         * modules/unistdio/u8-u8-vsprintf: New file.
57212         * modules/unistdio/u16-asnprintf: New file.
57213         * modules/unistdio/u16-asprintf: New file.
57214         * modules/unistdio/u16-printf-parse: New file.
57215         * modules/unistdio/u16-snprintf: New file.
57216         * modules/unistdio/u16-sprintf: New file.
57217         * modules/unistdio/u16-vasnprintf: New file.
57218         * modules/unistdio/u16-vasprintf: New file.
57219         * modules/unistdio/u16-vsnprintf: New file.
57220         * modules/unistdio/u16-vsprintf: New file.
57221         * modules/unistdio/u16-u16-asnprintf: New file.
57222         * modules/unistdio/u16-u16-asprintf: New file.
57223         * modules/unistdio/u16-u16-snprintf: New file.
57224         * modules/unistdio/u16-u16-sprintf: New file.
57225         * modules/unistdio/u16-u16-vasnprintf: New file.
57226         * modules/unistdio/u16-u16-vasprintf: New file.
57227         * modules/unistdio/u16-u16-vsnprintf: New file.
57228         * modules/unistdio/u16-u16-vsprintf: New file.
57229         * modules/unistdio/u32-asnprintf: New file.
57230         * modules/unistdio/u32-asprintf: New file.
57231         * modules/unistdio/u32-printf-parse: New file.
57232         * modules/unistdio/u32-snprintf: New file.
57233         * modules/unistdio/u32-sprintf: New file.
57234         * modules/unistdio/u32-vasnprintf: New file.
57235         * modules/unistdio/u32-vasprintf: New file.
57236         * modules/unistdio/u32-vsnprintf: New file.
57237         * modules/unistdio/u32-vsprintf: New file.
57238         * modules/unistdio/u32-u32-asnprintf: New file.
57239         * modules/unistdio/u32-u32-asprintf: New file.
57240         * modules/unistdio/u32-u32-snprintf: New file.
57241         * modules/unistdio/u32-u32-sprintf: New file.
57242         * modules/unistdio/u32-u32-vasnprintf: New file.
57243         * modules/unistdio/u32-u32-vasprintf: New file.
57244         * modules/unistdio/u32-u32-vsnprintf: New file.
57245         * modules/unistdio/u32-u32-vsprintf: New file.
57246         * modules/unistdio/ulc-asnprintf-tests: New file.
57247         * modules/unistdio/ulc-vasnprintf-tests: New file.
57248         * modules/unistdio/ulc-vasprintf-tests: New file.
57249         * modules/unistdio/ulc-vsnprintf-tests: New file.
57250         * modules/unistdio/ulc-vsprintf-tests: New file.
57251         * modules/unistdio/u8-asnprintf-tests: New file.
57252         * modules/unistdio/u8-vasnprintf-tests: New file.
57253         * modules/unistdio/u8-vasprintf-tests: New file.
57254         * modules/unistdio/u8-vsnprintf-tests: New file.
57255         * modules/unistdio/u8-vsprintf-tests: New file.
57256         * modules/unistdio/u16-asnprintf-tests: New file.
57257         * modules/unistdio/u16-vasnprintf-tests: New file.
57258         * modules/unistdio/u16-vasprintf-tests: New file.
57259         * modules/unistdio/u16-vsnprintf-tests: New file.
57260         * modules/unistdio/u16-vsprintf-tests: New file.
57261         * modules/unistdio/u32-asnprintf-tests: New file.
57262         * modules/unistdio/u32-vasnprintf-tests: New file.
57263         * modules/unistdio/u32-vasprintf-tests: New file.
57264         * modules/unistdio/u32-vsnprintf-tests: New file.
57265         * modules/unistdio/u32-vsprintf-tests: New file.
57266         * MODULES.html.sh (Unicode string functions): Add the new modules.
57267
57268 2007-07-01  Bruno Haible  <bruno@clisp.org>
57269
57270         * lib/sprintf.c (sprintf): Limit the available length estimation,
57271         to avoid address wraparound.
57272         * lib/vsprintf.c (vsprintf): Likewise.
57273         * modules/sprintf-posix (Dependencies): Add stdint.
57274         * modules/vsprintf-posix (Dependencies): Likewise.
57275
57276 2007-07-01  Bruno Haible  <bruno@clisp.org>
57277
57278         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
57279         Windows PATH as well. Conservative double-quoting. Comments.
57280
57281 2007-07-01  Bruno Haible  <bruno@clisp.org>
57282             Eric Blake  <ebb9@byu.net>
57283             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57284
57285         * gnulib-tool (self_abspathname): Fix algorithm to cope with
57286         empty components in $PATH, denoting '.'.
57287
57288 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57289
57290         * gnulib-tool: Fix indentation.
57291         (func_create_megatestdir): Likewise.
57292         Report by Bruno Haible.
57293
57294 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57295
57296         Sync from Automake.
57297         * build-aux/gnupload: Fix shell portability issues with for loops.
57298         Report by Karl Berry.
57299
57300 2007-06-29  Simon Josefsson  <simon@josefsson.org>
57301
57302         * build-aux/maint.mk (POURL): Use translationproject.org.
57303
57304 2007-06-27  Simon Josefsson  <simon@josefsson.org>
57305             Bruno Haible  <bruno@clisp.org>
57306
57307         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
57308         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
57309         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
57310         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
57311         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
57312
57313 2007-06-27  Bruno Haible  <bruno@clisp.org>
57314
57315         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
57316         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
57317
57318 2007-06-26  Karl Berry  <karl@gnu.org>
57319
57320         * MODULES.html.sh: remove xreadlink-with-size.
57321
57322 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
57323
57324         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
57325         method that I hope also handles the double-include problem noted
57326         by Bruno Haible in
57327         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
57328
57329 2007-06-23  Bruno Haible  <bruno@clisp.org>
57330
57331         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57332         Don't let the 'mostlyclean' target fail if the last subdirectory could
57333         not be removed.
57334         Reported by Karl Berry.
57335
57336 2007-06-23  Bruno Haible  <bruno@clisp.org>
57337
57338         * gnulib-tool (echo): Add a speedier workaround for ksh.
57339         * tests/test-echo.sh: Likewise.
57340
57341 2007-06-23  Bruno Haible  <bruno@clisp.org>
57342
57343         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
57344         * tests/test-echo.sh: Likewise.
57345
57346 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57347
57348         * gnulib-tool (IFS): Initialize early, so we don't set it to
57349         empty later.
57350         (self_abspathname): Rewrite algorithm to set it, reindent.
57351         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
57352         (func_create_megatestdir): Merge some sed scripts.
57353
57354 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
57355
57356         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
57357         exposed by Sun Studio 11 cc on Solaris 8.
57358
57359 2007-06-22  Bruno Haible  <bruno@clisp.org>
57360
57361         * gnulib-tool (echo): Ensure the echo primitive does not interpret
57362         backslashes.
57363         * tests/test-echo.sh: New file.
57364
57365 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57366
57367         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
57368         simplify `sed_replace_build_aux' scripts, they are portable but
57369         echoing them with `echo' is not.
57370         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
57371
57372 2007-06-21  Karl Berry  <karl@gnu.org>
57373
57374         * config/srclist.txt: guess we can't handle the licenses via
57375         srclist at the moment.
57376
57377 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
57378
57379         * MODULES.html.sh: Add include_next.
57380         * modules/include_next: New file.
57381
57382 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
57383
57384         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
57385         INCLUDE_NEXT.
57386         (gl_CHECK_NEXT_HEADERS): New macro.
57387         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
57388         the obsolescent gl_ABSOLUTE_HEADER.
57389         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
57390         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
57391         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
57392         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
57393         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
57394         * m4/math_h.m4 (gl_MATH_H): Likewise.
57395         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
57396         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
57397         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
57398         * m4/stdint.m4 (gl_STDINT_H): Likewise.
57399         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
57400         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
57401         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
57402         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
57403         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
57404         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
57405         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
57406         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
57407         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
57408         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
57409         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
57410         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
57411         * m4/inttypes.m4 (gl_INTTYPES_H): Define
57412         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
57413         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
57414         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
57415         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
57416         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
57417         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
57418         * lib/float_.h: Likewise.
57419         * lib/inttypes_.h: Likewise.
57420         * lib/math_.h: Likewise.
57421         * lib/search_.h: Likewise.
57422         * lib/signal_.h: Likewise.
57423         * lib/stdint_.h: Likewise.
57424         * lib/stdio_.h: Likewise.
57425         * lib/stdlib_.h: Likewise.
57426         * lib/string_.h: Likewise.
57427         * lib/sys_stat_.h: Likewise.
57428         * lib/sys_time_.h: Likewise.
57429         * lib/time_.h: Likewise.
57430         * lib/unistd_.h: Likewise.
57431         * lib/wchar_.h: Likewise.
57432         * lib/wctype_.h: Likewise.
57433         * lib/dirent_.h: Likewise.
57434         * lib/iconv_.h: Likewise.
57435         * lib/locale_.h: Likewise.
57436         * lib/netinet_in_.h: Likewise.
57437         * lib/sys_select_.h: Likewise.
57438         * lib/sys_socket_.h: Likewise.
57439         * lib/sysexits_.h: Likewise.
57440         * modules/fcntl (Depends-on): Depend on include_next, not
57441         absolute_header.
57442         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
57443         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
57444         * modules/fchdir: Likewise.
57445         * modules/float: Likewise.
57446         * modules/iconv_open: Likewise.
57447         * modules/inttypes: Likewise.
57448         * modules/locale: Likewise.
57449         * modules/math: Likewise.
57450         * modules/netinet_in: Likewise.
57451         * modules/search: Likewise.
57452         * modules/signal: Likewise.
57453         * modules/stdint: Likewise.
57454         * modules/stdio: Likewise.
57455         * modules/stdlib: Likewise.
57456         * modules/string: Likewise.
57457         * modules/sys_select: Likewise.
57458         * modules/sys_socket: Likewise.
57459         * modules/sys_stat: Likewise.
57460         * modules/sys_time: Likewise.
57461         * modules/sysexits: Likewise.
57462         * modules/time: Likewise.
57463         * modules/unistd: Likewise.
57464         * modules/wchar: Likewise.
57465         * modules/wctype: Likewise.
57466         * modules/sys_stat: Change maintainer to "all".
57467         * modules/unistd: Likewise.
57468
57469 2007-06-20  Karl Berry  <karl@gnu.org>
57470
57471         * config/srclist.txt: track www changes in license files.
57472
57473 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
57474
57475         * build-aux/bootstrap: Remove stray dot.
57476         Make sure build_aux settings are honored when linking
57477         gnulib_extra_files.
57478
57479 2007-06-19  Eric Blake  <ebb9@byu.net>
57480
57481         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
57482         Allow compilation on cygwin.
57483
57484 2007-06-19  Jim Meyering  <jim@meyering.net>
57485
57486         xreadlink-with-size: Remove module.  No longer used.
57487         Ex-callers now use xreadlink or mreadlink-with-size.
57488         * modules/xreadlink-with-size: Remove module.
57489         * lib/xreadlink-with-size.c: Remove file.
57490         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
57491         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
57492         just before the function definition *is* accurate.
57493
57494         Eliminate one way canonicalize_filename_mode could exit.
57495         * lib/canonicalize.c (canonicalize_filename_mode):
57496         Use mreadlink_with_size, not xreadlink_with_size.
57497
57498 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
57499
57500         Detect porting problems to FreeBSD/arm, which has time_t wider than
57501         long int.  Original problem reported for GNU diff by Xin Li in
57502         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
57503         * modules/getdate (Depends-on): Add intprops, verify.
57504         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
57505         is an integer type no wider than long int.
57506
57507 2007-06-18  Jim Meyering  <jim@meyering.net>
57508
57509         New module: mreadlink-with-size.
57510         * MODULES.html.sh: Add mreadlink-with-size.
57511         * modules/mreadlink-with-size: New module
57512         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
57513         not xreadlink-with-size.
57514         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
57515
57516 2007-06-16  Bruno Haible  <bruno@clisp.org>
57517
57518         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
57519         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
57520         Reported by Gary V. Vaughan <gary@gnu.org>.
57521
57522 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
57523
57524         Revamp lchown so that it lives in unistd.h where it belongs.
57525         * lib/lchown.h: Remove.
57526         * lib/dirchownmod.c: Don't include lib/lchown.h.
57527         * lib/fchownat.c: Likewise.
57528         * lib/openat.c: Likewise.
57529         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
57530         does not follow symlinks.
57531         (EOPNOTSUPP): Define if not defined.
57532         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
57533         is defined to 0.
57534         (lchown): New decl.
57535         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
57536         Do not check for lchown decl.
57537         Set REPLACE_LCHOWN.
57538         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
57539         REPLACE_LCHOWN.
57540         * modules/chown: Make it clear it follows symlinks.
57541         * modules/lchown: Make it clear it doesn't follow symlinks.
57542         (Files): Remove lib/lchown.h
57543         (Depends-on): Add unistd.
57544         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
57545         (Include): Include <unistd.h>, not "lchown.h".
57546         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
57547         REPLACE_LCHOWN.
57548
57549 2007-06-15  Jim Meyering  <jim@meyering.net>
57550
57551         Change license (GPL to LGPL) of fsusage and dependents.
57552         * modules/fsusage (License): Change to LGPL.
57553         * modules/full-read (License): Likewise.
57554         * modules/full-write (License): Likewise.
57555         * modules/safe-read (License): Likewise.
57556         * modules/safe-write (License): Likewise.
57557
57558 2007-06-14  Ben Pfaff  <blp@gnu.org>
57559
57560         Missing part of allocsa -> malloca transition.
57561         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
57562         gl_MALLOCA.
57563
57564 2007-06-12  Bruno Haible  <bruno@clisp.org>
57565
57566         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
57567         to ia64, x86_64, i386.
57568         Reported by Eric Blake.
57569
57570 2007-06-12  Bruno Haible  <bruno@clisp.org>
57571
57572         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
57573         cross-compiling to x86_64.
57574
57575 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
57576
57577         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
57578         glitch reported by Ralf Wildenhues in
57579         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
57580
57581         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
57582         Vin Shelton.
57583
57584 2007-06-11  Bruno Haible  <bruno@clisp.org>
57585
57586         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
57587         replacement string.
57588         Reported by Eric Blake.
57589
57590 2007-06-10  Bruno Haible  <bruno@clisp.org>
57591
57592         Prepare vasnprintf code for use with Unicode strings.
57593         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
57594         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
57595         TYPE_U32_STRING.
57596         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
57597         a_u32_string variants.
57598         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
57599         * lib/printf-args.c: Don't include config.h and the specification
57600         header if PRINTF_FETCHARGS is already defined.
57601         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
57602         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
57603         TYPE_U16_STRING, TYPE_U32_STRING.
57604         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
57605         u16_directive, u16_directives, u32_directive, u32_directives): New
57606         types.
57607         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
57608         New declarations.
57609         * lib/printf-parse.c: Don't include config.h and the specification
57610         header if PRINTF_PARSE is already defined. Eliminate the set of
57611         parameters for WIDE_CHAR_VERSION; the user of this file must provide
57612         them now. Include c-ctype.h.
57613         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
57614         directive and CHAR_T_ONLY_ASCII.
57615         * lib/vasnprintf.c: Don't include config.h and the specification header
57616         if VASNPRINTF is already defined.
57617         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
57618         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
57619         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
57620         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
57621         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
57622         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
57623         code accordingly.
57624         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
57625         pad_ourselves also in this case, with the 'c' and 's' directives, and
57626         with a different notion of "width".
57627         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
57628
57629 2007-06-10  Bruno Haible  <bruno@clisp.org>
57630
57631         * modules/unistr/u32-mbsnlen: New file.
57632         * lib/unistr/u32-mbsnlen.c: New file.
57633
57634         * modules/unistr/u16-mbsnlen: New file.
57635         * lib/unistr/u16-mbsnlen.c: New file.
57636
57637         * modules/unistr/u8-mbsnlen: New file.
57638         * lib/unistr/u8-mbsnlen.c: New file.
57639
57640         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
57641         declarations.
57642
57643 2007-06-10  Bruno Haible  <bruno@clisp.org>
57644
57645         * lib/string_.h (mbsnlen): New declaration.
57646         * lib/mbsnlen.c: New file.
57647         * m4/mbsnlen.m4: New file.
57648         * modules/mbsnlen: New file.
57649         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
57650         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
57651         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
57652
57653 2007-06-10  Bruno Haible  <bruno@clisp.org>
57654
57655         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
57656
57657 2007-06-10  Bruno Haible  <bruno@clisp.org>
57658
57659         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
57660         * lib/mbuiter.h: Likewise.
57661
57662 2007-06-10  Bruno Haible  <bruno@clisp.org>
57663
57664         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
57665         declaration.
57666
57667 2007-06-10  Karl Berry  <karl@gnu.org>
57668
57669         * config/srclist.txt: remove gettext entries, Bruno prefers
57670         to update individually.
57671
57672 2007-06-10  Bruno Haible  <bruno@clisp.org>
57673
57674         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
57675         'maxlen'. Ensure only length + width bytes are allocated, not
57676         length + 1 + width.
57677
57678 2007-06-09  Bruno Haible  <bruno@clisp.org>
57679
57680         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
57681         (CHAR_T): Remove macro.
57682         (VASNPRINTF): Update.
57683
57684 2007-06-09  Bruno Haible  <bruno@clisp.org>
57685
57686         * MODULES.html.sh (Unicode string functions): Add the new modules.
57687
57688         * modules/uniconv/u32-conv-to-enc: New file.
57689         * lib/uniconv/u32-conv-to-enc.c: New file.
57690         * modules/uniconv/u32-conv-to-enc-tests: New file.
57691         * tests/uniconv/test-u32-conv-to-enc.c: New file.
57692
57693         * modules/uniconv/u16-conv-to-enc: New file.
57694         * lib/uniconv/u16-conv-to-enc.c: New file.
57695         * lib/uniconv/u-conv-to-enc.h: New file.
57696         * modules/uniconv/u16-conv-to-enc-tests: New file.
57697         * tests/uniconv/test-u16-conv-to-enc.c: New file.
57698
57699         * modules/uniconv/u8-conv-to-enc: New file.
57700         * lib/uniconv/u8-conv-to-enc.c: New file.
57701         * modules/uniconv/u8-conv-to-enc-tests: New file.
57702         * tests/uniconv/test-u8-conv-to-enc.c: New file.
57703
57704         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
57705         u32_conv_to_encoding): New declarations.
57706
57707 2007-06-09  Bruno Haible  <bruno@clisp.org>
57708
57709         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
57710
57711 2007-06-09  Bruno Haible  <bruno@clisp.org>
57712
57713         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
57714         * modules/malloca: Renamed from modules/allocsa, updated.
57715         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
57716         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
57717         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
57718         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
57719         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
57720         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
57721         * modules/xmalloca: Renamed from modules/xallocsa, updated.
57722         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
57723         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
57724         * modules/c-strcasestr (Depends-on): Update.
57725         * lib/c-strcasestr.c: Update.
57726         * modules/c-strstr (Depends-on): Update.
57727         * lib/c-strstr.c: Update.
57728         * modules/canonicalize-lgpl (Depends-on): Update.
57729         * lib/canonicalize-lgpl.c: Update.
57730         * modules/clean-temp (Depends-on): Update.
57731         * lib/clean-temp.c: Update.
57732         * modules/csharpcomp (Depends-on): Update.
57733         * lib/csharpcomp.c: Update.
57734         * modules/csharpexec (Depends-on): Update.
57735         * lib/csharpexec.c: Update.
57736         * modules/javacomp (Depends-on): Update.
57737         * lib/javacomp.c: Update.
57738         * modules/javaexec (Depends-on): Update.
57739         * lib/javaexec.c: Update.
57740         * modules/mbscasestr (Depends-on): Update.
57741         * lib/mbscasestr.c: Update.
57742         * modules/mbsstr (Depends-on): Update.
57743         * lib/mbsstr.c: Update.
57744         * modules/setenv (Depends-on): Update.
57745         * lib/setenv.c: Update.
57746         * modules/strcasestr (Depends-on): Update.
57747         * lib/strcasestr.c: Update.
57748         * modules/striconveha (Depends-on): Update.
57749         * lib/striconveha.c: Update.
57750         * modules/relocatable-prog-wrapper (Files): Update.
57751         * lib/relocwrapper.c: Update.
57752         * build-aux/install-reloc: Update.
57753         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
57754
57755 2007-06-08  Bruno Haible  <bruno@clisp.org>
57756
57757         Port to uClibc.
57758         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
57759         * lib/fpurge.c (fpurge): Likewise.
57760         * lib/freading.c (freading): Likewise.
57761         * lib/fseeko.c (rpl_fseeko): Likewise.
57762         * lib/fseterr.c (fseterr): Likewise.
57763         * lib/fwriting.c (fwriting): Likewise.
57764         * tests/test-fflush.c (main): Avoid a failure on uClibc.
57765
57766 2007-06-08  Bruno Haible  <bruno@clisp.org>
57767
57768         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
57769         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
57770         * modules/gettext (Files): Add m4/intlmacosx.m4.
57771
57772 2007-06-07  Bruno Haible  <bruno@clisp.org>
57773
57774         * modules/localename-tests: New file.
57775         * tests/test-localename.c: New file.
57776
57777         New module 'localename'.
57778         * lib/localename.h: New file.
57779         * lib/localename.c: New file, from GNU gettext.
57780         * m4/localename.m4: New file.
57781         * modules/localename: New file.
57782
57783 2007-06-07  Bruno Haible  <bruno@clisp.org>
57784
57785         Work around the lack of <wchar.h> on some builds of uClibc.
57786         * doc/headers/wchar.texi: Update.
57787         * lib/wchar_.h: Include <wchar.h> only if it exists.
57788         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
57789         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
57790         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
57791         doesn't exist.
57792         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
57793         * modules/mbfile (Depends-on): Add wchar.
57794         * modules/mbiter (Depends-on): Likewise.
57795         * modules/mbuiter (Depends-on): Likewise.
57796         Reported by Simon Josefsson.
57797
57798 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
57799
57800         Work around problem reported by Steven M. Schweda in
57801         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
57802         Tru64 5.1B with the Compaq compiler environment installed declares
57803         an 'isblank' function but does not define it in the C library.
57804         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
57805         * lib/regex_internal.h (isblank): Likewise.
57806         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
57807         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
57808
57809 2007-06-05  Bruno Haible  <bruno@clisp.org>
57810
57811         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
57812         ia64.
57813         * modules/printf-safe: New file.
57814         * modules/fprintf-posix (Depends-on): Add printf-safe.
57815         * modules/printf-posix (Depends-on): Likewise.
57816         * modules/snprintf-posix (Depends-on): Likewise.
57817         * modules/sprintf-posix (Depends-on): Likewise.
57818         * modules/vasnprintf-posix (Depends-on): Likewise.
57819         * modules/vasprintf-posix (Depends-on): Likewise.
57820         * modules/vfprintf-posix (Depends-on): Likewise.
57821         * modules/vprintf-posix (Depends-on): Likewise.
57822         * modules/vsnprintf-posix (Depends-on): Likewise.
57823         * modules/vsprintf-posix (Depends-on): Likewise.
57824         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
57825         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
57826         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
57827         "no" on i386, x86_64, ia64.
57828         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
57829         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
57830         on i386, x86_64, ia64.
57831         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
57832         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
57833         on i386, x86_64, ia64.
57834         * tests/test-vasnprintf-posix.c: Include float.h.
57835         (LDBL80_WORDS): New macro.
57836         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
57837         on i386, x86_64, ia64.
57838         * tests/test-vasprintf-posix.c: Include float.h.
57839         (LDBL80_WORDS): New macro.
57840         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
57841         on i386, x86_64, ia64.
57842         * tests/test-snprintf-posix.c: Include float.h.
57843         * tests/test-sprintf-posix.c: Likewise.
57844         * tests/test-vsnprintf-posix.c: Likewise.
57845         * tests/test-vsprintf-posix.c: Likewise.
57846
57847 2007-06-05  Bruno Haible  <bruno@clisp.org>
57848
57849         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
57850         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
57851         non-IEEE numbers on i386, x86_64, ia64.
57852         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
57853         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
57854         * tests/test-isnanl.h: Include float.h.
57855         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
57856
57857 2007-06-05  Bruno Haible  <bruno@clisp.org>
57858
57859         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
57860         also the %a / %A. Handle the %a / %A code before this extra handling.
57861
57862 2007-06-05  Bruno Haible  <bruno@clisp.org>
57863
57864         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
57865         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
57866
57867 2007-06-05  Bruno Haible  <bruno@clisp.org>
57868
57869         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
57870         typo in variable name.
57871
57872 2007-06-05  Eric Blake  <ebb9@byu.net>
57873
57874         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
57875         Reported by Simon Josefsson.
57876
57877 2007-06-04  Bruno Haible  <bruno@clisp.org>
57878
57879         Avoid test failures on some PowerPC platforms.
57880         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
57881         Define differently for PowerPC.
57882         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
57883         Reported by Gary V. Vaughan <gary@gnu.org>.
57884
57885 2007-06-02  Bruno Haible  <bruno@clisp.org>
57886
57887         Fix test-stdint failure on FreeBSD/ia64.
57888         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
57889         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
57890         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
57891         * doc/headers/stdint.texi: Update.
57892
57893 2007-06-01  Bruno Haible  <bruno@clisp.org>
57894
57895         * tests/test-binary-io.c (main): Pass a third argument to open().
57896         Reported by Gary V. Vaughan <gary@gnu.org>.
57897
57898 2007-06-01  Bruno Haible  <bruno@clisp.org>
57899
57900         * doc/functions/frexpl.texi: Update for mingw.
57901
57902 2007-06-01  Bruno Haible  <bruno@clisp.org>
57903
57904         * tests/test-lseek.c (main): Disable test of errno for invalid third
57905         argument.
57906         * doc/functions/lseek.texi: Update.
57907         Reported by Gary V. Vaughan <gary@gnu.org>.
57908
57909 2007-05-28  Bruno Haible  <bruno@clisp.org>
57910
57911         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
57912
57913 2007-05-31  Eric Blake  <ebb9@byu.net>
57914
57915         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
57916         cross compiling.
57917
57918 2007-05-30  Eric Blake  <ebb9@byu.net>
57919         and Bruno Haible  <bruno@clisp.org>
57920
57921         Work around mingw test failures exposed by m4-1.4.9b.
57922         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
57923         * tests/test-unistd.c: Disable uid_t and git_t tests for the
57924         moment.
57925
57926 2007-05-30  Bruno Haible  <bruno@clisp.org>
57927
57928         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
57929         assuming that they are closed. Needed on HP-UX 11.
57930
57931 2007-05-29  Bruno Haible  <bruno@clisp.org>
57932
57933         Fix a problem with #include_next.
57934         * lib/dirent_.h: Split the double-inclusion guard.
57935         * lib/fcntl_.h: Likewise.
57936         * lib/float_.h: Likewise.
57937         * lib/iconv_.h: Likewise.
57938         * lib/inttypes_.h: Likewise.
57939         * lib/locale_.h: Likewise.
57940         * lib/math_.h: Likewise.
57941         * lib/netinet_in_.h: Likewise.
57942         * lib/search_.h: Likewise.
57943         * lib/signal_.h: Likewise.
57944         * lib/stdint_.h: Likewise.
57945         * lib/stdio_.h: Likewise.
57946         * lib/stdlib_.h: Likewise.
57947         * lib/string_.h: Likewise.
57948         * lib/sys_select_.h: Likewise.
57949         * lib/sys_socket_.h: Likewise.
57950         * lib/sys_stat_.h: Likewise.
57951         * lib/sys_time_.h: Likewise.
57952         * lib/sysexits_.h: Likewise.
57953         * lib/time_.h: Likewise.
57954         * lib/unistd_.h: Likewise.
57955         * lib/wchar_.h: Likewise.
57956         * lib/wctype_.h: Likewise.
57957
57958 2007-05-29  Bruno Haible  <bruno@clisp.org>
57959
57960         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
57961         for the moment.
57962
57963 2007-05-29  Bruno Haible  <bruno@clisp.org>
57964
57965         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
57966         invocation.
57967         Reported by Eric Blake.
57968
57969 2007-05-29  Bruno Haible  <bruno@clisp.org>
57970
57971         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
57972         compiling case.
57973
57974 2007-05-29  Eric Blake  <ebb9@byu.net>
57975             Bruno Haible  <bruno@clisp.org>
57976
57977         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
57978         cross compiles.
57979
57980 2007-05-28  Eric Blake  <ebb9@byu.net>
57981
57982         * modules/closein-tests (test_closein_LDADD): Support test on
57983         cygwin with libtool.
57984
57985 2007-05-28  Bruno Haible  <bruno@clisp.org>
57986
57987         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
57988         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
57989         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
57990         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
57991         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
57992         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
57993         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
57994         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
57995         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
57996
57997 2007-05-28  Eric Blake  <ebb9@byu.net>
57998
57999         Unconditionally include <config.h> in unit tests.
58000         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
58001         * tests/test-allocsa.c, tests/test-arcfour.c,
58002         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
58003         tests/test-array_list.c, tests/test-array_oset.c,
58004         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
58005         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
58006         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
58007         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
58008         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
58009         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
58010         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
58011         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
58012         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
58013         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
58014         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
58015         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
58016         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
58017         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
58018         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
58019         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
58020         test-md5.c, test-memmem.c, test-printf-posix.c,
58021         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
58022         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
58023         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
58024         test-strcasestr.c, test-striconv.c, test-striconveh.c,
58025         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
58026         test-vasnprintf-posix2.c, test-vasnprintf.c,
58027         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
58028         test-vfprintf-posix.c, test-vprintf-posix.c,
58029         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
58030         test-xvasprintf.c: Likewise.
58031
58032 2007-05-28  Bruno Haible  <bruno@clisp.org>
58033
58034         * gnulib-tool (func_import): Remember the --with-tests command-line
58035         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
58036         Reported by Eric Blake.
58037
58038 2007-05-28  Bruno Haible  <bruno@clisp.org>
58039
58040         * modules/ftell-tests: New file.
58041         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
58042         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
58043
58044         * lib/ftell.c: New file.
58045         * modules/ftell: New file.
58046         * m4/ftell.m4: New file.
58047         * doc/functions/ftell.texi: Update.
58048         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
58049         REPLACE_FTELL.
58050         * lib/stdio_.h (rpl_ftell): New declaration.
58051         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
58052         REPLACE_FTELL.
58053
58054 2007-05-28  Eric Blake  <ebb9@byu.net>
58055
58056         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
58057
58058 2007-05-28  Bruno Haible  <bruno@clisp.org>
58059
58060         * modules/fseek-tests: New file.
58061         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
58062         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
58063
58064         * lib/fseek.c: New file.
58065         * modules/fseek: New file.
58066         * m4/fseek.m4: New file.
58067         * doc/functions/fseek.texi: Update.
58068         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
58069         REPLACE_FSEEK.
58070         * lib/stdio_.h (rpl_fseek): New declaration.
58071         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
58072         REPLACE_FSEEK.
58073
58074 2007-05-28  Bruno Haible  <bruno@clisp.org>
58075
58076         * lib/stdio_.h (fflush): More comments.
58077
58078 2007-05-28  Bruno Haible  <bruno@clisp.org>
58079
58080         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
58081         runtime test.
58082
58083 2007-05-28  Eric Blake  <ebb9@byu.net>
58084
58085         Improve lseek module.
58086         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
58087         * lib/unistd_.h (lseek): Scale back link warning message.
58088         * tests/test-lseek.c: Beef up test.
58089         * tests/test-lseek.sh: Exercise more facets of lseek.
58090         Reported by Bruno Haible.
58091
58092 2007-05-28  Bruno Haible  <bruno@clisp.org>
58093
58094         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
58095         to define.
58096
58097 2007-05-27  Bruno Haible  <bruno@clisp.org>
58098
58099         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
58100
58101 2007-05-27  Bruno Haible  <bruno@clisp.org>
58102
58103         * modules/openmp: New file.
58104         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
58105         Noah Misch.
58106
58107 2007-05-26  Bruno Haible  <bruno@clisp.org>
58108
58109         * modules/chdir-long (Depends-on): Add fchdir.
58110         * modules/chdir-safer (Depends-on): Likewise.
58111         * modules/fts (Depends-on): Likewise.
58112         * modules/fts-lgpl (Depends-on): Likewise.
58113         * modules/openat (Depends-on): Likewise.
58114         * modules/savewd (Depends-on): Likewise.
58115
58116 2007-05-24  Eric Blake  <ebb9@byu.net>
58117
58118         Fix lseek on mingw.
58119         * modules/lseek: New module.
58120         * m4/lseek.m4: New file.
58121         * lib/lseek.c: New file.
58122         * modules/lseek-tests: New file.
58123         * tests/test-lseek.c: New file.
58124         * tests/test-lseek.sh: New file.
58125         * MODULES.html.sh: Document lseek module.
58126         * modules/fflush (Depends-on): Add lseek, fseeko.
58127         * modules/fseeko (Depends-on): Likewise.
58128         * modules/ftello (Depends-on): Likewise.
58129         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
58130         broken.
58131         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
58132         broken.
58133         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
58134         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
58135         * lib/ftello.c (rpl_ftello): Likewise.
58136         * tests/test-fseeko.c (main): Test this.
58137         * tests/test-fseeko.sh: Likewise.
58138         * tests/test-ftello.c (main): Likewise.
58139         * tests/test-ftello.sh: Likewise.
58140         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
58141         implies replacing fseek.
58142         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
58143         HAVE_FTELLO.
58144         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
58145         * modules/unistd (Makefile.am): Likewise.
58146         * lib/unistd_.h (lseek): Declare a replacement.
58147         * doc/functions/lseek.texi (lseek): Document this fix.
58148         * doc/functions/fseek.texi (fseek): Likewise.
58149         * doc/functions/ftell.texi (ftell): Likewise.
58150
58151 2007-05-24  Bruno Haible  <bruno@clisp.org>
58152
58153         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
58154         in the printed representation of a NaN.
58155         * tests/test-vasprintf-posix.c (test_function): Likewise.
58156         * tests/test-snprintf-posix.h (test_function): Likewise.
58157         * tests/test-sprintf-posix.h (test_function): Likewise.
58158         Reported by Eric Blake.
58159
58160 2007-05-23  Eric Blake  <ebb9@byu.net>
58161
58162         Fix fseeko/ftello on cygwin 1.5.24.
58163         * doc/functions/fseeko.texi (fseeko): Document the fix.
58164         * doc/functions/ftello.texi (ftello): Document the fix.
58165         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
58166         * doc/functions/stdout.text (stdout): New file.
58167         * doc/functions/stderr.text (stderr): New file.
58168         * doc/gnulib.texi (Function Substitutes): Use new files.
58169         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
58170         prior to 1.7.0.
58171         * tests/test-ftello.c (main): Likewise for ftello.
58172         * tests/test-fseeko.sh: New file.
58173         * tests/test-ftello.sh: New file.
58174         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
58175         with seekable stdin.
58176         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
58177         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
58178         (gl_REPLACE_FSEEKO): New macro.
58179         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
58180         * modules/fseeko (Files): Distribute fseeko.c.
58181         * modules/ftello (Files): Distribute ftello.c.
58182         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
58183         mode.
58184         * lib/ftello.c (rpl_ftello): New file.
58185         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
58186         fseeko, ftello.
58187         (gl_STDIN_LARGE_OFFSET): New macro.
58188         * modules/stdio (Makefile.am): Perform the replacement.
58189         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
58190
58191 2007-05-23  Bruno Haible  <bruno@clisp.org>
58192
58193         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
58194         GNULIB_POSIXCHECK is defined.
58195
58196 2007-05-21  Bruno Haible  <bruno@clisp.org>
58197
58198         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
58199         Check also the output for NaN arguments. When cross-compiling, guess
58200         no on IRIX.
58201         * lib/vasnprintf.c: Update comments.
58202         * tests/test-vasnprintf-posix.c (strisnan): New function.
58203         (test_function): Use it.
58204         * tests/test-vasprintf-posix.c (strisnan): New function.
58205         (test_function): Use it.
58206         * tests/test-snprintf-posix.h (strisnan): New function.
58207         (test_function): Use it.
58208         * tests/test-sprintf-posix.h (strisnan): New function.
58209         (test_function): Use it.
58210         Reported by Eric Blake.
58211
58212 2007-05-20  Bruno Haible  <bruno@clisp.org>
58213
58214         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
58215         numbers that fails on BeOS.
58216         * doc/functions/frexpl.texi: Update.
58217
58218 2007-05-20  Jim Meyering  <jim@meyering.net>
58219
58220         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
58221         forced upon us by glibc-2.6.
58222
58223 2007-05-20  Bruno Haible  <bruno@clisp.org>
58224
58225         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
58226         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
58227         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
58228         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
58229         NEED_PRINTF_INFINITE.
58230         (is_infinitel): New function.
58231         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
58232         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
58233         gl_PREREQ_VASNPRINTF_INFINITE.
58234         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
58235         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58236         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
58237         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
58238         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
58239         gl_PREREQ_VASNPRINTF_INFINITE.
58240         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58241         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58242         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58243         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58244         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58245         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58246         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58247         * doc/functions/fprintf.texi: Update.
58248         * doc/functions/printf.texi: Update.
58249         * doc/functions/snprintf.texi: Update.
58250         * doc/functions/sprintf.texi: Update.
58251         * doc/functions/vfprintf.texi: Update.
58252         * doc/functions/vprintf.texi: Update.
58253         * doc/functions/vsnprintf.texi: Update.
58254         * doc/functions/vsprintf.texi: Update.
58255
58256 2007-05-20  Bruno Haible  <bruno@clisp.org>
58257
58258         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
58259         was not found in libc.
58260         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
58261
58262 2007-05-20  Bruno Haible  <bruno@clisp.org>
58263
58264         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
58265         printed as "-nan" instead of "nan".
58266         * tests/test-vasprintf-posix.c (test_function): Likewise.
58267         * tests/test-snprintf-posix.h (test_function): Likewise.
58268         * tests/test-sprintf-posix.h (test_function): Likewise.
58269         Needed for HP-UX 11.
58270
58271 2007-05-20  Jim Meyering  <jim@meyering.net>
58272
58273         Fix buggy test for the fchownat-deref bug.
58274         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
58275         symlink required for the run-test.  Without it, this test would
58276         always declare that fchownat doesn't work, and client code would
58277         unnecessarily use the replacement function with fixed libc.
58278         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
58279         Reported by Greg Schafer.
58280
58281 2007-05-19  Bruno Haible  <bruno@clisp.org>
58282
58283         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
58284         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
58285         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
58286         Needed for IRIX 6.5 and Solaris 2.5.1.
58287
58288 2007-05-19  Bruno Haible  <bruno@clisp.org>
58289
58290         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
58291         (test_function): Skip tests involving -0.0 on platforms where
58292         -0.0 = 0.0.
58293         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
58294         (test_function): Skip tests involving -0.0 on platforms where
58295         -0.0 = 0.0.
58296         * tests/test-snprintf-posix.h (have_minus_zero): New function.
58297         (test_function): Skip tests involving -0.0 on platforms where
58298         -0.0 = 0.0.
58299         * tests/test-sprintf-posix.h (have_minus_zero): New function.
58300         (test_function): Skip tests involving -0.0 on platforms where
58301         -0.0 = 0.0.
58302         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
58303         tests.
58304         * tests/test-printf-posix.h (test_function): Likewise.
58305         * tests/test-printf-posix.output: Remove all -0.0 related results.
58306         Needed for IRIX 6.5.
58307
58308 2007-05-19  Bruno Haible  <bruno@clisp.org>
58309
58310         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
58311         printed as "nan0x7fffffff" instead of "nan".
58312         * tests/test-vasprintf-posix.c (test_function): Likewise.
58313         * tests/test-snprintf-posix.h (test_function): Likewise.
58314         * tests/test-sprintf-posix.h (test_function): Likewise.
58315         * tests/test-fprintf-posix.h (NaN): Remove macro.
58316         (test_function): Remove all NaN related tests.
58317         * tests/test-printf-posix.h (NaN): Remove macro.
58318         (test_function): Remove all NaN related tests.
58319         * tests/test-printf-posix.output: Remove all NaN related results.
58320         Needed for IRIX 6.5.
58321
58322 2007-05-19  Bruno Haible  <bruno@clisp.org>
58323
58324         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
58325         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
58326
58327 2007-05-19  Bruno Haible  <bruno@clisp.org>
58328
58329         * lib/float_.h: New file.
58330         * m4/float_h.m4: New file.
58331         * modules/float: New file.
58332         * modules/isnanl (Dependencies): Add float.
58333         * modules/isnanl-nolibm (Dependencies): Likewise.
58334         * modules/mathl (Dependencies): Likewise.
58335         * modules/printf-frexpl (Dependencies): Likewise.
58336         * modules/signbit (Dependencies): Likewise.
58337         * modules/vasnprintf (Dependencies): Likewise.
58338         * doc/headers/float.texi: Update.
58339
58340 2007-05-19  Jim Meyering  <jim@meyering.net>
58341
58342         * lib/utimens.c (gl_futimens): Rename from futimens,
58343         now that glibc-2.6 declares futimens.
58344         * lib/utimens.h: Likewise.
58345
58346 2007-05-19  Bruno Haible  <bruno@clisp.org>
58347
58348         Avoid test failures on mingw.
58349         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
58350         * tests/test-printf-posix.sh: Likewise.
58351         * tests/test-vfprintf-posix.sh: Likewise.
58352         * tests/test-vprintf-posix.sh: Likewise.
58353
58354 2007-05-19  Bruno Haible  <bruno@clisp.org>
58355
58356         Fix *printf result for NaN, Inf, -0.0 on mingw.
58357         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
58358         * lib/vasnprintf.c: Include math.h and isnan.h.
58359         (is_infinite_or_zero): New function.
58360         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
58361         values in the %f, %F, %e, %E, %g, %G directives.
58362         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
58363         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58364         gl_PRINTF_INFINITE and test its result. Invoke
58365         gl_PREREQ_VASNPRINTF_INFINITE.
58366         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58367         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58368         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58369         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58370         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58371         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58372         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58373         * doc/functions/fprintf.texi: Update.
58374         * doc/functions/printf.texi: Update.
58375         * doc/functions/snprintf.texi: Update.
58376         * doc/functions/sprintf.texi: Update.
58377         * doc/functions/vfprintf.texi: Update.
58378         * doc/functions/vprintf.texi: Update.
58379         * doc/functions/vsnprintf.texi: Update.
58380         * doc/functions/vsprintf.texi: Update.
58381
58382 2007-05-19  Bruno Haible  <bruno@clisp.org>
58383
58384         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
58385         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
58386         Instead of multiplying with 10^k, set extra_zeroes to k.
58387         (scale10_round_long_double): Remove function.
58388
58389 2007-05-18  Bruno Haible  <bruno@clisp.org>
58390
58391         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
58392         introduced on 2007-05-06.
58393
58394 2007-05-18  Bruno Haible  <bruno@clisp.org>
58395
58396         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
58397         %g directives.
58398         * tests/test-vasprintf-posix.c (test_function): Likewise.
58399         * tests/test-snprintf-posix.h (test_function): Likewise.
58400         * tests/test-sprintf-posix.h (test_function): Likewise.
58401
58402 2007-05-18  Bruno Haible  <bruno@clisp.org>
58403
58404         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
58405         (strmatch): New function.
58406         (test_function): Test the %f directive on numbers of various exponents.
58407         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
58408         (strmatch): New function.
58409         (test_function): Test the %f directive on numbers of various exponents.
58410         * tests/test-snprintf-posix.h (strmatch): New function.
58411         (test_function): Test the %f directive on numbers of various exponents.
58412         * tests/test-sprintf-posix.h (strmatch): New function.
58413         (test_function): Test the %f directive on numbers of various exponents.
58414         * tests/test-snprintf-posix.c (SIZEOF): New macro.
58415         * tests/test-sprintf-posix.c (SIZEOF): New macro.
58416         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
58417         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
58418
58419 2007-05-18  Bruno Haible  <bruno@clisp.org>
58420
58421         Add support for 'long double' number output.
58422         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
58423         * lib/vasnprintf.c: Include math.h and float+.h.
58424         (mp_limb_t): New type.
58425         (GMP_LIMB_BITS): New macro.
58426         (mp_twolimb_t): New type.
58427         (GMP_TWOLIMB_BITS): New macro.
58428         (mpn_t): New type.
58429         (multiply, divide, convert_to_decimal, decode_long_double,
58430         scale10_round_long_double, scale10_round_decimal_long_double,
58431         floorlog10l): New functions.
58432         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
58433         for the %f, %F, %e, %E, %g, %G directives.
58434         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
58435         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58436         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
58437         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
58438         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58439         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58440         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58441         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58442         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58443         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58444         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58445         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
58446         * modules/snprintf-posix (Depends-on): Likewise.
58447         * modules/sprintf-posix (Depends-on): Likewise.
58448         * modules/vasnprintf-posix (Depends-on): Likewise.
58449         * modules/vasprintf-posix (Depends-on): Likewise.
58450         * modules/vfprintf-posix (Depends-on): Likewise.
58451         * modules/vsnprintf-posix (Depends-on): Likewise.
58452         * modules/vsprintf-posix (Depends-on): Likewise.
58453         * modules/vasnprintf (Files): Add lib/float+.h.
58454         * doc/functions/fprintf.texi: Update.
58455         * doc/functions/printf.texi: Update.
58456         * doc/functions/snprintf.texi: Update.
58457         * doc/functions/sprintf.texi: Update.
58458         * doc/functions/vfprintf.texi: Update.
58459         * doc/functions/vprintf.texi: Update.
58460         * doc/functions/vsnprintf.texi: Update.
58461         * doc/functions/vsprintf.texi: Update.
58462
58463 2007-05-18  Bruno Haible  <bruno@clisp.org>
58464
58465         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
58466
58467 2007-05-18  Bruno Haible  <bruno@clisp.org>
58468
58469         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
58470         for printing 64-bit integers. Needed for mingw.
58471
58472 2007-05-18  Bruno Haible  <bruno@clisp.org>
58473
58474         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
58475         gl_FUNC_FREXPL_WORKS.
58476         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
58477
58478 2007-05-18  Bruno Haible  <bruno@clisp.org>
58479
58480         * modules/frexpl-nolibm-tests: New file.
58481
58482         * modules/frexpl-nolibm: New file.
58483         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
58484
58485 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
58486
58487         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
58488         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
58489         GCC 4.2, which otherwise issues a lot of warnings.
58490         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
58491         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
58492         Likewise.
58493         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
58494         * modules/iconv_open (iconv.h): Likewise.
58495         * modules/locale (locale.h): Likewise.
58496         * modules/netinet_in (netinet/in.h): Likewise.
58497         * modules/sys_select (sys_select.h): Likewise.
58498         * modules/sys_socket (sys/socket.h): Likewise.
58499         * modules/sys_stat (sys/stat.h): Likewise.
58500         * modules/sysexits (sysexits.h): Likewise.
58501         * modules/unistd (unistd.h): Likewise.
58502
58503 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58504
58505         * modules/closein-tests (Makefile.am): Distribute
58506         `test-closein.sh'.
58507
58508 2007-05-17  Bruno Haible  <bruno@clisp.org>
58509
58510         * tests/test-printf-posix.output: Renamed from
58511         tests/test-fprintf-posix.out.
58512         * modules/fprintf-posix-tests: Update.
58513         * modules/printf-posix-tests: Update.
58514         * modules/vfprintf-posix-tests: Update.
58515         * modules/vprintf-posix-tests: Update.
58516         * tests/test-fprintf-posix.sh: Update.
58517         * tests/test-printf-posix.sh: Update.
58518         * tests/test-vfprintf-posix.sh: Update.
58519         * tests/test-vprintf-posix.sh: Update.
58520         Reported by Ralf Wildenhues.
58521
58522 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
58523
58524         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
58525         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
58526         GCC 4.2, which otherwise issues a lot of warnings.
58527         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
58528         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
58529         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
58530         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
58531         it should no longer be needed.
58532         * lib/string_.h: Likewise.
58533         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
58534         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
58535         * modules/inttypes (inttypes.h): Likewise.
58536         * modules/math (math.h): Likewise.
58537         * modules/search (search.h): Likewise.
58538         * modules/signal (signal.h): Likewise.
58539         * modules/stdint (stdint.h): Likewise.
58540         * modules/stdio (stdio.h): Likewise.
58541         * modules/stdlib (stdlib.h): Likewise.
58542         * modules/string (string.h): Likewise.
58543         * modules/sys_time (sys/time.h): Likewise.
58544         * modules/time (time.h): Likewise.
58545         * modules/wchar (wchar.h): Likewise.
58546         * modules/wctype (wtype.h): Likewise.
58547
58548 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
58549
58550         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
58551
58552 2007-05-13  Bruno Haible  <bruno@clisp.org>
58553
58554         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
58555         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
58556         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
58557         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
58558         (gl_PREREQ_STRTOK_R): Don't require it here.
58559
58560 2007-05-13  Bruno Haible  <bruno@clisp.org>
58561
58562         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
58563         when used in C++ mode.
58564
58565 2007-05-12  Bruno Haible  <bruno@clisp.org>
58566
58567         * lib/linebuffer.h: Tweak doc.
58568         * lib/linebuffer.c: Likewise.
58569
58570 2007-05-12  James Youngman  <jay@gnu.org>
58571
58572         * lib/linebuffer.c (readlinebuffer_delim): New function,
58573         like readlinebuffer, but use a caller-specified delimiter.
58574         (readlinebuffer): Just call readlinebuffer_delim with '\n'
58575         as the delimiter.
58576         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
58577
58578 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
58579
58580         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
58581         * modules/openat (Files): Remove openat-die.c.
58582         (Depends-on): Add openat-die.
58583         * modules/openat-die: New module.
58584
58585 2007-05-06  Bruno Haible  <bruno@clisp.org>
58586
58587         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
58588         Update with info about Cygwin.
58589         * doc/functions/fprintf.texi: Update.
58590         * doc/functions/printf.texi: Update.
58591         * doc/functions/snprintf.texi: Update.
58592         * doc/functions/sprintf.texi: Update.
58593         * doc/functions/vfprintf.texi: Update.
58594         * doc/functions/vprintf.texi: Update.
58595         * doc/functions/vsnprintf.texi: Update.
58596         * doc/functions/vsprintf.texi: Update.
58597         Reported by Eric Blake.
58598
58599 2007-05-06  Bruno Haible  <bruno@clisp.org>
58600
58601         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
58602         padding ourselves for the floating-point directives.
58603         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
58604         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
58605         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
58606         gl_PRINTF_FLAG_ZERO and test its result. Invoke
58607         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
58608         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58609         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
58610         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58611         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58612         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58613         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58614         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58615         * tests/test-snprintf-posix.h (test_function): Also check the width
58616         and some flags in the %f directive.
58617         * tests/test-sprintf-posix.h (test_function): Likewise.
58618         * tests/test-vasnprintf-posix.c (test_function): Likewise.
58619         * tests/test-vasprintf-posix.c (test_function): Likewise.
58620         * doc/functions/fprintf.texi: Update.
58621         * doc/functions/printf.texi: Update.
58622         * doc/functions/snprintf.texi: Update.
58623         * doc/functions/sprintf.texi: Update.
58624         * doc/functions/vfprintf.texi: Update.
58625         * doc/functions/vprintf.texi: Update.
58626         * doc/functions/vsnprintf.texi: Update.
58627         * doc/functions/vsprintf.texi: Update.
58628
58629 2007-05-06  Bruno Haible  <bruno@clisp.org>
58630
58631         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
58632         pass the ' flag character to sprintf or snprintf.
58633         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
58634         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
58635         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
58636         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
58637         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
58638         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58639         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
58640         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58641         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58642         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58643         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58644         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58645         * tests/test-snprintf-posix.h (test_function): Also check the grouping
58646         flag.
58647         * tests/test-sprintf-posix.h (test_function): Likewise.
58648         * tests/test-vasnprintf-posix.c (test_function): Likewise.
58649         * tests/test-vasprintf-posix.c (test_function): Likewise.
58650         * doc/functions/fprintf.texi: Update.
58651         * doc/functions/printf.texi: Update.
58652         * doc/functions/snprintf.texi: Update.
58653         * doc/functions/sprintf.texi: Update.
58654         * doc/functions/vfprintf.texi: Update.
58655         * doc/functions/vprintf.texi: Update.
58656         * doc/functions/vsnprintf.texi: Update.
58657         * doc/functions/vsprintf.texi: Update.
58658
58659 2007-05-01  Bruno Haible  <bruno@clisp.org>
58660
58661         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
58662
58663 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
58664
58665         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
58666         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
58667
58668 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
58669
58670         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
58671         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
58672         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
58673
58674 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
58675
58676         * lib/argp-help.c (struct hol_entry): New member `ord'.
58677         (HOL_ENTRY_PTRCMP): Use ord for comparison
58678         (hol_sort): Initialize ord.
58679
58680 2007-05-01  Bruno Haible  <bruno@clisp.org>
58681
58682         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
58683         Reported by Eric Blake.
58684         * doc/gnulib.texi (Function Substitutes): Update.
58685
58686 2007-05-01  Bruno Haible  <bruno@clisp.org>
58687
58688         * doc/functions.texi: Remove file, now redundant through
58689         doc/functions/*.texi.
58690
58691 2007-05-01  Bruno Haible  <bruno@clisp.org>
58692
58693         * modules/argp (Depends-on): Add sleep.
58694
58695 2007-05-01  Bruno Haible  <bruno@clisp.org>
58696
58697         * modules/sleep-tests: New file.
58698         * tests/test-sleep.c: New file.
58699
58700         * modules/sleep: New file.
58701         * lib/sleep.c: New file.
58702         * m4/sleep.m4: New file.
58703         * lib/unistd_.h (sleep): New declaration.
58704         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
58705         HAVE_SLEEP.
58706         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
58707         * doc/functions/sleep.texi: Document the sleep module.
58708
58709 2007-05-01  Bruno Haible  <bruno@clisp.org>
58710
58711         * lib/sigprocmask.h: Remove file.
58712         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
58713         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
58714         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
58715         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
58716         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
58717         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
58718         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
58719         HAVE_SIGSET_T as a shell variable.
58720         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
58721         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
58722         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
58723         (Depends-on): Add signal. Remove verify.
58724         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
58725         (Include): Mention <signal.h> instead of sigprocmask.h.
58726         * NEWS: Mention the change.
58727         * lib/fatal-signal.c: Don't include sigprocmask.h.
58728
58729 2007-05-01  Bruno Haible  <bruno@clisp.org>
58730
58731         * modules/signal: New file.
58732         * lib/signal_.h: New file.
58733         * m4/signal_h.m4: New file.
58734
58735 2007-05-01  Bruno Haible  <bruno@clisp.org>
58736
58737         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
58738         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
58739         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
58740         HAVE_WCTYPE_CTMP_BUG into wctype.h.
58741
58742 2007-05-01  Bruno Haible  <bruno@clisp.org>
58743
58744         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
58745         configure time.
58746         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
58747         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
58748         * modules/sys_stat (Makefile.am): Substitute their values into
58749         sys/stat.h.
58750
58751 2007-05-01  Bruno Haible  <bruno@clisp.org>
58752
58753         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
58754         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
58755         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
58756
58757 2007-05-01  Bruno Haible  <bruno@clisp.org>
58758
58759         * doc/header/assert.texi: Undo last change: don't mention the gnulib
58760         'assert' module here.
58761
58762 2007-05-01  Bruno Haible  <bruno@clisp.org>
58763
58764         * doc/functions/*.texi: New files.
58765         * doc/functions/google-ranking.txt: New file.
58766         * doc/gnulib.texi (Function Substitutes): New chapter.
58767         (ctime, inet_ntoa): Remove sections.
58768         * doc/ctime.texi: Remove file.
58769         * doc/inet_ntoa.texi: Remove file.
58770         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
58771         dependencies.
58772         (%.info): New rule, specifying a --reference-limit.
58773
58774 2007-05-01  Bruno Haible  <bruno@clisp.org>
58775
58776         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
58777
58778 2007-05-01  Bruno Haible  <bruno@clisp.org>
58779
58780         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
58781         the portability of 'mkdir' to mingw systems.
58782
58783 2007-05-01  Bruno Haible  <bruno@clisp.org>
58784
58785         * doc/headers/google-ranking.txt: New file.
58786
58787 2007-04-30  Eric Blake  <ebb9@byu.net>
58788
58789         Prefer fseeko to fseek.
58790         * modules/getpass (Depends-on): Add fseeko.
58791         * lib/getpass.c (getpass): Use fseeko, not fseek.
58792
58793 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
58794
58795         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
58796         assumes the sorting is stable, while most qsort implementations
58797         are not.  Use argument addresses to ensure they never compare as
58798         equal.
58799
58800         * tests/test-argp-2.sh (usage-indent test): Fix output
58801         (func_compare): Restore diff options
58802         * tests/test-argp.c: Restore #include "progname.h"
58803
58804 2007-04-29  Bruno Haible  <bruno@clisp.org>
58805
58806         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
58807         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
58808         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
58809         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58810         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
58811         (configure.ac): Define CHECK_SNPRINTF_POSIX.
58812         (TESTS, check_PROGRAMS): Add test-snprintf.
58813         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
58814         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
58815         (TESTS, check_PROGRAMS): Add test-vsnprintf.
58816         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
58817         assertions that fail on HP-UX, OSF/1, or IRIX.
58818         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
58819
58820 2007-04-29  Bruno Haible  <bruno@clisp.org>
58821
58822         * MODULES.html.sh (posix_functions): Remove 'contents'.
58823
58824 2007-04-29  Karl Berry  <karl@gnu.org>
58825
58826         * config/srclist.txt (gendocs_template_min): new entry.
58827
58828 2007-04-29  Bruno Haible  <bruno@clisp.org>
58829
58830         Work around fpurge bug on BSD systems.
58831         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
58832         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
58833         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
58834         fpurge to rpl_fpurge if the system already has this function.
58835         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
58836         the case where the system already has this function. Correct invariants
58837         on BSD systems.
58838         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
58839         BSD systems.
58840
58841 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
58842
58843         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
58844         proposed by Sven Verdoolaege.
58845
58846         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
58847         options.
58848         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
58849         (usage and help tests): Update
58850
58851 2007-04-29  Bruno Haible  <bruno@clisp.org>
58852
58853         * tests/test-fflush.c (main): Use a file of size 17, not 10.
58854         Print more information in case of failure. Disable a test on BeOS.
58855
58856 2007-04-29  Bruno Haible  <bruno@clisp.org>
58857
58858         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
58859         This helps debugging on systems on which no gdb is available.
58860
58861 2007-04-29  Bruno Haible  <bruno@clisp.org>
58862
58863         * lib/freading.h: Improve comments.
58864         * lib/fwriting.h: Likewise.
58865         * tests/test-freading.c (main): Don't check freading immediately after
58866         repositioning. Needed for glibc.
58867
58868 2007-04-29  Bruno Haible  <bruno@clisp.org>
58869
58870         * lib/freading.c (freading): Trivial simplification.
58871
58872 2007-04-28  Bruno Haible  <bruno@clisp.org>
58873
58874         * tests/test-fwriting.c (main): Also test the interaction between
58875         fflush and fwriting.
58876         * modules/fwriting-tests (Depends-on): Add fflush.
58877
58878         * tests/test-freading.c (main): Also test the interaction between
58879         fflush and freading.
58880         * modules/freading-tests (Depends-on): Add fflush.
58881
58882 2007-04-28  Bruno Haible  <bruno@clisp.org>
58883
58884         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
58885         fseeko and ftello.
58886         Suggested by Eric Blake.
58887
58888 2007-04-28  Jim Meyering  <jim@meyering.net>
58889
58890         Avoid false-negative in gl_STDINT_H's C99 conformance test.
58891         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
58892         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
58893
58894 2007-04-27  Eric Blake  <ebb9@byu.net>
58895
58896         * doc/headers/assert.texi (assert.h): Document assert module use.
58897
58898 2007-04-27  Bruno Haible  <bruno@clisp.org>
58899
58900         * doc/headers/*.texi: New files.
58901         * doc/gnulib.texi (Header File Substitutes): New chapter.
58902         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
58903         dependencies.
58904         (standards.info ,standards.html, standards.dvi): Update dependencies.
58905         (mostlyclean, clean): New targets.
58906
58907 2007-04-27  Bruno Haible  <bruno@clisp.org>
58908
58909         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
58910         * modules/sysexits (Files, Makefile.am): Update.
58911
58912         * lib/sys_socket_.h: Renamed from lib/socket_.h.
58913         * modules/sys_socket (Files, Makefile.am): Update.
58914
58915         * lib/sys_stat_.h: Renamed from lib/stat_.h.
58916         * modules/sys_stat (Files, Makefile.am): Update.
58917
58918 2007-04-27  Eric Blake  <ebb9@byu.net>
58919
58920         * lib/freading.h: Improve comments.
58921         * lib/fwriting.h: Likewise.
58922         * lib/fflush.c: Likewise.
58923
58924         Fix closein for mingw.
58925         * modules/closein-tests: Add tests for closein.
58926         * tests/test-closein.c: New file.
58927         * tests/test-closein.sh: Likewise.
58928         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
58929         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
58930
58931 2007-04-27  Bruno Haible  <bruno@clisp.org>
58932
58933         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
58934         version is < 6.
58935         * lib/math_.h [__DECC]: Likewise.
58936         * lib/stdio_.h [__DECC]: Likewise.
58937         * lib/stdlib_.h [__DECC]: Likewise.
58938         * lib/string_.h [__DECC]: Likewise.
58939         * lib/time_.h [__DECC]: Likewise.
58940         * lib/wchar_.h [__DECC]: Likewise.
58941         * lib/wctype_.h [__DECC]: Likewise.
58942
58943 2007-04-27  Bruno Haible  <bruno@clisp.org>
58944
58945         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
58946
58947 2007-04-27  Bruno Haible  <bruno@clisp.org>
58948
58949         * lib/fflush.c: Add comments.
58950         * modules/fpurge-tests (Depends-on): Add fflush.
58951         * modules/freadable-tests (Depends-on): Likewise.
58952         * modules/fwritable-tests (Depends-on): Likewise.
58953
58954 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
58955
58956         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
58957         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
58958         Report by Bruno Haible <bruno@clisp.org>.
58959
58960 2007-04-26  Eric Blake  <ebb9@byu.net>
58961
58962         Fix fflush on mingw.
58963         * modules/fflush (Depends-on): Add freading.
58964         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
58965         but unread data.
58966
58967 2007-04-26  Eric Blake  <ebb9@byu.net>
58968         and Bruno Haible  <bruno@clisp.org>
58969
58970         Implement freading and fwriting.
58971         * lib/freading.c: New file.
58972         * lib/freading.h: Likewise.
58973         * m4/freading.m4: Likewise.
58974         * modules/freading: Likewise.
58975         * modules/freading-tests: Likewise.
58976         * tests/test-freading.c: Likewise.
58977         * lib/fwriting.c: New file.
58978         * lib/fwriting.h: Likewise.
58979         * m4/fwriting.m4: Likewise.
58980         * modules/fwriting: Likewise.
58981         * modules/fwriting-tests: Likewise.
58982         * tests/test-fwriting.c: Likewise.
58983         * MODULES.html.sh (File stream based Input/Output): Mention them.
58984
58985 2007-04-26  Bruno Haible  <bruno@clisp.org>
58986
58987         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
58988         'long' when we assume it.
58989         Suggested by Eric Blake.
58990
58991 2007-04-26  Bruno Haible  <bruno@clisp.org>
58992
58993         Ensure fseeko, ftello are declared on glibc systems.
58994         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
58995         * modules/fseeko (configure.ac-early): Likewise.
58996         * modules/ftello (configure.ac-early): Likewise.
58997         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
58998         AC_FUNC_FSEEKO for this.
58999         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
59000         (gl_CHECK_FSEEKO): Remove macro.
59001
59002 2007-04-26  Bruno Haible  <bruno@clisp.org>
59003
59004         * tests/test-fflush.c (main): Also check the ftell result after
59005         fflush and fseek/fseeko.
59006         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
59007         file descriptor position cache in the stream.
59008         * lib/fseeko.c (rpl_fseeko): Likewise.
59009
59010 2007-04-26  Bruno Haible  <bruno@clisp.org>
59011
59012         * modules/fflush-tests (Depends-on): Add fseeko.
59013
59014 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
59015             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59016
59017         * lib/argz_.h: ensure error_t definition is obtained in same
59018         mechanism system argz.h would have.
59019         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
59020         argz facilities are known bad.  Err on the side of caution if
59021         cross-compiling.
59022
59023 2007-04-25  Eric Blake  <ebb9@byu.net>
59024
59025         * lib/fpurge.c (includes): Use stdlib.h for free.
59026         * tests/test-fflush.c (main): Also test fflush-fseeko.
59027
59028 2007-04-25  Bruno Haible  <bruno@clisp.org>
59029
59030         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
59031         * lib/fseeko.c: New file.
59032         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
59033         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
59034         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
59035         gl_FUNC_FSEEKO.
59036         (gl_FUNC_FSEEKO): Invoke it.
59037         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
59038         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
59039         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
59040
59041 2007-04-25  Bruno Haible  <bruno@clisp.org>
59042
59043         * modules/fflush (Depends-on): Add ftello.
59044
59045 2007-04-25  Bruno Haible  <bruno@clisp.org>
59046
59047         * modules/ftello-tests: New file.
59048         * tests/test-ftello.c: New file.
59049
59050         * modules/ftello: New file.
59051         * m4/ftello.m4: New file.
59052         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
59053         HAVE_FTELLO.
59054         * lib/stdio_.h (ftello): New declaration.
59055         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
59056         HAVE_FTELLO.
59057
59058 2007-04-25  Bruno Haible  <bruno@clisp.org>
59059
59060         * modules/fseeko-tests: New file.
59061         * tests/test-fseeko.c: New file.
59062
59063         * modules/fseeko: New file.
59064         * m4/fseeko.m4: New file.
59065         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
59066         HAVE_FSEEKO.
59067         * lib/stdio_.h (fseeko): New declaration.
59068         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
59069         HAVE_FSEEKO.
59070
59071 2007-04-25  Bruno Haible  <bruno@clisp.org>
59072
59073         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
59074
59075 2007-04-25  Bruno Haible  <bruno@clisp.org>
59076
59077         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
59078         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
59079         * tests/test-unistd.c: Likewise.
59080         * tests/test-fcntl.c: Likewise.
59081
59082 2007-04-23  Eric Blake  <ebb9@byu.net>
59083
59084         * lib/fflush.c: Fix missing include.
59085         Reported by Bruno Haible.
59086
59087 2007-04-23  Bruno Haible  <bruno@clisp.org>
59088
59089         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
59090         Reported by Eric Blake.
59091
59092 2007-04-23  Bruno Haible  <bruno@clisp.org>
59093
59094         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
59095
59096 2007-04-23  Bruno Haible  <bruno@clisp.org>
59097
59098         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
59099
59100 2007-04-23  Bruno Haible  <bruno@clisp.org>
59101
59102         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
59103         Needed on HP-UX 11.
59104
59105 2007-04-16  Eric Blake  <ebb9@byu.net>
59106
59107         Make fflush rely on fpurge.
59108         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
59109         open coding all variants.
59110         * modules/fflush (Depends-on): Add fpurge and unistd.
59111         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
59112         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
59113
59114         Fix --with-tests compilation on cygwin.
59115         * modules/argmatch-tests (Makefile.am): List gnulib library first
59116         in LDADD.
59117         * modules/argp-tests (Makefile.am): Likewise.
59118         * modules/array-list-tests (Makefile.am): Likewise.
59119         * modules/array-oset-tests (Makefile.am): Likewise.
59120         * modules/avltree-list-tests (Makefile.am): Likewise.
59121         * modules/avltree-oset-tests (Makefile.am): Likewise.
59122         * modules/avltreehash-list-tests (Makefile.am): Likewise.
59123         * modules/carray-list-tests (Makefile.am): Likewise.
59124         * modules/dirname-tests (Makefile.am): Likewise.
59125         * modules/frexp-tests (Makefile.am): Likewise.
59126         * modules/isnanl-tests (Makefile.am): Likewise.
59127         * modules/linked-list-tests (Makefile.am): Likewise.
59128         * modules/linkedhash-list-tests (Makefile.am): Likewise.
59129         * modules/lock-tests (Makefile.am): Likewise.
59130         * modules/rbtree-list-tests (Makefile.am): Likewise.
59131         * modules/rbtree-oset-tests (Makefile.am): Likewise.
59132         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
59133         * modules/tls-tests (Makefile.am): Likewise.
59134         * modules/tsearch-tests (Makefile.am): Likewise.
59135         * modules/xvasprintf-tests (Makefile.am): Likewise.
59136
59137         Fix fpurge for cygwin.
59138         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
59139         value.
59140         * modules/fpurge-tests (Depends-on): Clean up trash.
59141
59142 2007-04-16  Simon Josefsson  <simon@josefsson.org>
59143
59144         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
59145
59146         * m4/autobuild.m4: Re-indent.
59147
59148 2007-04-13  Bruno Haible  <bruno@clisp.org>
59149
59150         * modules/fpurge-tests: New file.
59151         * tests/test-fpurge.c: New file.
59152
59153         * modules/fpurge: New file.
59154         * lib/fpurge.h: New file.
59155         * lib/fpurge.c: New file.
59156         * m4/fpurge.m4: New file.
59157
59158 2007-04-13  Bruno Haible  <bruno@clisp.org>
59159
59160         * modules/fbufmode-tests: New file.
59161         * tests/test-fbufmode.c: New file.
59162
59163         * modules/fbufmode: New file.
59164         * lib/fbufmode.h: New file.
59165         * lib/fbufmode.c: New file.
59166         * m4/fbufmode.m4: New file.
59167
59168 2007-04-13  Bruno Haible  <bruno@clisp.org>
59169
59170         * modules/fwritable-tests: New file.
59171         * tests/test-fwritable.c: New file.
59172
59173         * modules/fwritable: New file.
59174         * lib/fwritable.h: New file.
59175         * lib/fwritable.c: New file.
59176         * m4/fwritable.m4: New file.
59177
59178 2007-04-13  Bruno Haible  <bruno@clisp.org>
59179
59180         * modules/freadable-tests: New file.
59181         * tests/test-freadable.c: New file.
59182
59183         * modules/freadable: New file.
59184         * lib/freadable.h: New file.
59185         * lib/freadable.c: New file.
59186         * m4/freadable.m4: New file.
59187
59188 2007-04-13  Bruno Haible  <bruno@clisp.org>
59189
59190         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
59191         MOSTLYCLEANFILES.
59192
59193 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
59194
59195         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
59196         gzip bootstrap.conf to avoid dragging in i18n machinery.
59197         (gnulib_tool_option): Use it.
59198
59199 2007-04-13  Bruno Haible  <bruno@clisp.org>
59200
59201         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
59202         %F directives.
59203         * tests/test-vasprintf-posix.c (test_function): Likewise.
59204         * tests/test-snprintf-posix.h (test_function): Likewise.
59205         * tests/test-sprintf-posix.h (test_function): Likewise.
59206         * tests/test-fprintf-posix.h (test_function): Likewise.
59207         * tests/test-printf-posix.h (test_function): Likewise.
59208         * tests/test-fprintf-posix.out: Likewise.
59209
59210 2007-04-13  Bruno Haible  <bruno@clisp.org>
59211
59212         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
59213         * modules/tls-tests (configure.ac): Likewise.
59214         Reported by Arto C. Nirkko <anirkko@insel.ch>.
59215
59216 2007-04-13  Bruno Haible  <bruno@clisp.org>
59217
59218         * lib/tls.c (glthread_tls_get): Fix return type.
59219         Patch by Arto C. Nirkko <anirkko@insel.ch>.
59220
59221 2007-04-12  Eric Blake  <ebb9@byu.net>
59222
59223         * modules/gettime (Depends-on): Remove gettime.
59224         Reported by Dmitry V. Levin.
59225
59226 2007-04-12  Bruno Haible  <bruno@clisp.org>
59227
59228         * modules/fflush (Include): Mention <stdio.h>.
59229         * modules/strtoimax (Include): Mention <inttypes.h>.
59230         * modules/strtoumax (Include): Likewise.
59231
59232 2007-04-12  Eric Blake  <ebb9@byu.net>
59233
59234         * .cvsignore: New file.
59235         * .gitignore: Likewise.
59236
59237 2007-04-12  Bruno Haible  <bruno@clisp.org>
59238
59239         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
59240         not before, since $(LDADD) often contains libgnu.a.
59241         * modules/striconv-tests (test_striconv_LDADD): Likewise.
59242         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
59243         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
59244         Needed on Cygwin.
59245
59246 2007-04-12  Eric Blake  <ebb9@byu.net>
59247
59248         Work around glibc's failure to flush stdin on fclose.
59249         * lib/closein.c (close_stdin): Flush stdin before closing.
59250
59251         Work around glibc's failure to reset seekable stdin on exit.
59252         * modules/closein: New module.
59253         * lib/closein.c: New file.
59254         * lib/closein.h: Likewise.
59255         * m4/closein.m4: Likewise.
59256         * MODULES.html.sh (File stream based Input/Output): Document it.
59257
59258 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59259
59260         * gnulib-tool: Rename generated 'autobuild' script to
59261         'do-autobuild' in --create-megatestdir output.
59262
59263         * doc/gnulib.texi (Build robot for gnulib): Fix.
59264
59265 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59266
59267         * modules/sysexits (Depends-on): Add absolute-header.
59268
59269 2007-04-12  Eric Blake  <ebb9@byu.net>
59270
59271         No need to preserve errno on success.
59272         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
59273         Reported by Bruno Haible.
59274
59275 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59276
59277         * MODULES.html.sh (Support for maintaining and releasing
59278         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
59279
59280 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59281
59282         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
59283
59284 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59285
59286         * modules/autobuild: New module.
59287
59288         * m4/autobuild.m4: New file.
59289
59290 2007-04-11  Bruno Haible  <bruno@clisp.org>
59291
59292         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
59293         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
59294         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
59295         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
59296         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
59297         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59298         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59299         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59300         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59301         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59302         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
59303         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59304         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59305         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
59306         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59307         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59308         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
59309         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59310         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59311         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
59312         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59313         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59314         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
59315         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59316         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59317         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
59318         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59319         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59320         Reported by Eric Blake.
59321
59322 2007-04-11  Bruno Haible  <bruno@clisp.org>
59323
59324         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
59325
59326 2007-04-10  Bruno Haible  <bruno@clisp.org>
59327
59328         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
59329         for NaN and Infinity. Needed on FreeBSD 6.1.
59330         * tests/test-vasnprintf-posix.c (test_function): Undo last change
59331         regarding results for "%010a" of Infinity and NaN.
59332         * tests/test-vasprintf-posix.c (test_function): Likewise.
59333         * tests/test-snprintf-posix.h (test_function): Likewise.
59334         * tests/test-sprintf-posix.h (test_function): Likewise.
59335         * tests/test-fprintf-posix.h (test_function): Likewise.
59336         * tests/test-printf-posix.h (test_function): Likewise.
59337         * tests/test-fprintf-posix.out: Likewise.
59338
59339 2007-04-10  Bruno Haible  <bruno@clisp.org>
59340
59341         * modules/locale-tests: New file.
59342         * tests/test-locale.c: New file.
59343
59344         * modules/locale: New file.
59345         * lib/locale_.h: New file.
59346         * m4/locale_h.m4: New file.
59347
59348 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
59349             Bruno Haible  <bruno@clisp.org>
59350
59351         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
59352         be determined, test for availability of the copysignf, copysign,
59353         copysignl functions.
59354         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
59355         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
59356         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
59357
59358 2007-04-09  Eric Blake  <ebb9@byu.net>
59359
59360         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
59361         * modules/stdio (Makefile.am): Support fflush.
59362         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
59363         * modules/fflush: New file.
59364         * lib/fflush.c: Likewise.
59365         * m4/fflush.m4: Likewise.
59366         * modules/fflush-tests: New test.
59367         * tests/test-fflush.c: Likewise.
59368         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
59369
59370 2007-04-06  Bruno Haible  <bruno@clisp.org>
59371
59372         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
59373         (VASNPRINTF): Use signbit for faster determination whether to print a
59374         minus sign.
59375         * modules/vasnprintf (Files): Remove lib/float+.h.
59376         * modules/fprintf-posix (Depends-on): Add signbit.
59377         * modules/snprintf-posix (Depends-on): Likewise.
59378         * modules/sprintf-posix (Depends-on): Likewise.
59379         * modules/vasnprintf-posix (Depends-on): Likewise.
59380         * modules/vasprintf-posix (Depends-on): Likewise.
59381         * modules/vfprintf-posix (Depends-on): Likewise.
59382         * modules/vsnprintf-posix (Depends-on): Likewise.
59383         * modules/vsprintf-posix (Depends-on): Likewise.
59384
59385 2007-04-06  Bruno Haible  <bruno@clisp.org>
59386
59387         * tests/test-frexp.c (main): Test also the sign bit of zero results.
59388         * tests/test-frexpl.c (main): Likewise.
59389         * tests/test-ldexpl.c (main): Likewise.
59390         * modules/frexp-tests (Depends-on): Add signbit.
59391         * modules/frexpl-tests (Depdends-on): Likewise.
59392         * modules/ldexpl-tests (Depdends-on): Likewise.
59393
59394 2007-04-06  Bruno Haible  <bruno@clisp.org>
59395
59396         * modules/signbit-tests: New file.
59397         * tests/test-signbit.c: New file.
59398
59399         * modules/signbit: New file.
59400         * lib/signbitf.c: New file.
59401         * lib/signbitd.c: New file.
59402         * lib/signbitl.c: New file.
59403         * m4/signbit.m4: New file.
59404         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
59405         (signbit): New macro.
59406         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
59407         REPLACE_SIGNBIT.
59408         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
59409         REPLACE_FREXPL into math.h.
59410
59411 2007-04-06  Bruno Haible  <bruno@clisp.org>
59412
59413         * modules/isnanf-nolibm-tests: New file.
59414         * tests/test-isnanf.c: New file.
59415
59416         * modules/isnanf-nolibm: New file.
59417         * lib/isnanf.h: New file.
59418         * lib/isnanf.c: New file.
59419         * lib/isnan.c: Consider the USE_FLOAT macro.
59420         * m4/isnanf.m4: New file.
59421
59422 2007-04-06  Bruno Haible  <bruno@clisp.org>
59423
59424         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
59425         (Link): New section.
59426
59427         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
59428
59429 2007-04-06  Bruno Haible  <bruno@clisp.org>
59430
59431         Assume the 'long double' type.
59432         * m4/longdouble.m4: Remove file.
59433         * config/srclist.txt: Don't mention longdouble.m4.
59434         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
59435         * lib/float+.h: Likewise.
59436         * lib/frexp.c: Likewise.
59437         * lib/printf-args.h: Likewise.
59438         * lib/printf-args.c: Likewise.
59439         * lib/printf-frexp.c: Likewise.
59440         * lib/printf-parse.c: Likewise.
59441         * lib/vasnprintf.c: Likewise.
59442         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
59443         * m4/intl.m4: Likewise.
59444         * m4/isnanl.m4: Likewise.
59445         * m4/printf.m4: Likewise.
59446         * m4/printf-frexpl.m4: Likewise.
59447         * m4/vasnprintf.m4: Likewise.
59448         * modules/allocsa (Files): Remove m4/longdouble.m4.
59449         * modules/gettext (Files): Likewise.
59450         * modules/relocatable-prog-wrapper (Files): Likewise.
59451         * modules/vasnprintf (Files): Likewise.
59452         * modules/isnanl (Files): Likewise.
59453         (Include): Simplify.
59454         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
59455         (Include): Simplify.
59456         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
59457         (Include): Simplify.
59458         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
59459         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59460         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
59461         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59462         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
59463         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59464         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
59465         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59466         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
59467         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59468         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
59469         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59470         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
59471         * tests/test-isnanl.c: Likewise.
59472         * tests/test-snprintf-posix.h: Likewise.
59473         * tests/test-sprintf-posix.h: Likewise.
59474         * tests/test-vasnprintf-posix.c: Likewise.
59475         * tests/test-vasnprintf-posix2.c: Likewise.
59476         * tests/test-vasprintf-posix.c: Likewise.
59477
59478 2007-04-06  Bruno Haible  <bruno@clisp.org>
59479
59480         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
59481         * lib/math_.h [__DECC]: Include the overridden include file through
59482         #include_next, outside the double-inclusion guard.
59483         * lib/stdio_.h [__DECC]: Likewise.
59484         * lib/stdlib_.h [__DECC]: Likewise.
59485         * lib/string_.h [__DECC]: Likewise.
59486         * lib/time_.h [__DECC]: Likewise.
59487         * lib/wchar_.h [__DECC]: Likewise.
59488         * lib/wctype_.h [__DECC]: Likewise.
59489         * lib/inttypes_.h [__DECC]: Likewise.
59490         Reported by Albert Chin <china@thewrittenword.com> in
59491         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
59492
59493 2007-04-04  Eric Blake  <ebb9@byu.net>
59494
59495         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
59496         1.5.x.
59497
59498 2007-04-04  Bruno Haible  <bruno@clisp.org>
59499
59500         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
59501         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
59502
59503 2007-04-04  Bruno Haible  <bruno@clisp.org>
59504
59505         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
59506         results for "%010a" of Infinity and NaN.
59507         * tests/test-vasprintf-posix.c (test_function): Likewise.
59508         * tests/test-snprintf-posix.h (test_function): Likewise.
59509         * tests/test-sprintf-posix.h (test_function): Likewise.
59510         * tests/test-fprintf-posix.h (test_function): Remove these tests.
59511         * tests/test-printf-posix.h (test_function): Likewise.
59512         * tests/test-fprintf-posix.out: Update.
59513         Needed for FreeBSD 6.1.
59514
59515 2007-04-04  Bruno Haible  <bruno@clisp.org>
59516
59517         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
59518         directly used by the gnulib modules nor by gnulib-tool.
59519
59520 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
59521
59522         * DEPENDENCIES: Give overall description of version dependency
59523         desirability.  Use more-typical names for apps.
59524         Add shell, coreutils, diffutils, grep, tar, gzip.
59525
59526 2007-04-04  Simon Josefsson  <simon@josefsson.org>
59527
59528         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
59529
59530 2007-04-04  Karl Berry  <karl@gnu.org>
59531
59532         * MODULES.html.sh (func_module): missing '.
59533
59534 2007-04-03  Bruno Haible  <bruno@clisp.org>
59535
59536         * modules/argmatch-tests (Makefile.am): New variable
59537         test_argmatch_LDADD.
59538         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
59539         * modules/array-list-tests (Makefile.am): New variable
59540         test_array_list_LDADD.
59541         * modules/array-oset-tests (Makefile.am): New variable
59542         test_array_oset_LDADD.
59543         * modules/avltree-list-tests (Makefile.am): New variable
59544         test_avltree_list_LDADD.
59545         * modules/avltree-oset-tests (Makefile.am): New variable
59546         test_avltree_oset_LDADD.
59547         * modules/avltreehash-list-tests (Makefile.am): New variable
59548         test_avltreehash_list_LDADD.
59549         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
59550         test_canonicalize_lgpl_LDADD.
59551         * modules/carray-list-tests (Makefile.am): New variable
59552         test_carray_list_LDADD.
59553         * modules/dirname-tests (Makefile.am): New variable
59554         test_dirname_LDADD.
59555         * modules/linked-list-tests (Makefile.am): New variable
59556         test_linked_list_LDADD.
59557         * modules/linkedhash-list-tests (Makefile.am): New variable
59558         test_linkedhash_list_LDADD.
59559         * modules/rbtree-list-tests (Makefile.am): New variable
59560         test_rbtree_list_LDADD.
59561         * modules/rbtree-oset-tests (Makefile.am): New variable
59562         test_rbtree_oset_LDADD.
59563         * modules/rbtreehash-list-tests (Makefile.am): New variable
59564         test_rbtreehash_list_LDADD.
59565         * modules/xvasprintf-tests (Makefile.am): New variable
59566         test_xvasprintf_LDADD.
59567         Reported by Eric Blake.
59568
59569 2007-04-03  Eric Blake  <ebb9@byu.net>
59570
59571         * DEPENDENCIES: Weaken m4 requirements.
59572
59573 2007-04-03  Bruno Haible  <bruno@clisp.org>
59574
59575         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
59576         * modules/isnanl-tests (configure.ac): Likewise.
59577
59578 2007-04-03  Ben Pfaff  <blp@gnu.org>
59579
59580         * modules/iconv_open: Add $(srcdir)/ to source directory
59581         references in Makefile fragments that call gperf, to fix VPATH
59582         builds.
59583
59584 2007-04-03  Bruno Haible  <bruno@clisp.org>
59585
59586         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
59587         * lib/ldexpl.c: Undo last change.
59588
59589 2007-04-03  Bruno Haible  <bruno@clisp.org>
59590
59591         * modules/printf-frexpl (Depends-on): Undo last change.
59592         (Files): Add m4/ldexpl.m4.
59593
59594 2007-04-03  Bruno Haible  <bruno@clisp.org>
59595
59596         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
59597         * modules/isnanl (Link): New section.
59598
59599         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
59600         * modules/frexp (Link): New section.
59601
59602         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
59603         * modules/frexpl (Link): New section.
59604
59605         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
59606         * modules/ldexpl (Link): New section.
59607
59608 2007-04-03  Bruno Haible  <bruno@clisp.org>
59609
59610         * modules/TEMPLATE-EXTENDED: New file.
59611         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
59612
59613 2007-04-03  Bruno Haible  <bruno@clisp.org>
59614
59615         * DEPENDENCIES: New file.
59616         Suggested by Simon Josefsson.
59617
59618 2007-04-03  Bruno Haible  <bruno@clisp.org>
59619
59620         * doc/gnulib.texi: Escape @.
59621
59622 2007-04-03  James Youngman  <jay@gnu.org>
59623         and Paul Eggert  <eggert@cs.ucla.edu>
59624
59625         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
59626         birthtime on all systems that have birthtime, not just those which
59627         use st_birthtimensec rather than st_birthtim.  Putting zero in
59628         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
59629         that the birth time is not available for files on an NFS mount.
59630
59631 2007-04-03  Simon Josefsson  <simon@josefsson.org>
59632
59633         * modules/memxor: Move back from crypto/, suggested by Bruno.
59634         * modules/crypto/hmac-sha1: Fix memxor dependency.
59635
59636         * modules/crypto/gc: Moved from ../.
59637
59638 2007-04-02  Eric Blake  <ebb9@byu.net>
59639
59640         * lib/ldexpl.c (includes): Avoid libm.
59641
59642         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
59643
59644 2007-04-02  Bruno Haible  <bruno@clisp.org>
59645
59646         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
59647         on IRIX.
59648
59649 2007-04-02  Bruno Haible  <bruno@clisp.org>
59650
59651         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
59652         x86 or x86_64 platforms running MacOS X.
59653         Reported by Ryan Schmidt <@ryandesign.com>.
59654
59655 2007-04-02  Bruno Haible  <bruno@clisp.org>
59656
59657         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
59658         i386.
59659
59660 2007-04-01  Simon Josefsson  <simon@josefsson.org>
59661
59662         * modules/crypto/arcfour: Moved from ../.
59663         * modules/crypto/arcfour-tests: Moved from ../.
59664         * modules/crypto/arctwo: Moved from ../.
59665         * modules/crypto/arctwo-tests: Moved from ../.
59666         * modules/crypto/des: Moved from ../.
59667         * modules/crypto/des-tests: Moved from ../.
59668         * modules/crypto/gc-arcfour: Moved from ../.
59669         * modules/crypto/gc-arcfour-tests: Moved from ../.
59670         * modules/crypto/gc-arctwo: Moved from ../.
59671         * modules/crypto/gc-arctwo-tests: Moved from ../.
59672         * modules/crypto/gc-des: Moved from ../.
59673         * modules/crypto/gc-des-tests: Moved from ../.
59674         * modules/crypto/gc-hmac-md5: Moved from ../.
59675         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
59676         * modules/crypto/gc-hmac-sha1: Moved from ../.
59677         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
59678         * modules/crypto/gc-md2: Moved from ../.
59679         * modules/crypto/gc-md2-tests: Moved from ../.
59680         * modules/crypto/gc-md4: Moved from ../.
59681         * modules/crypto/gc-md4-tests: Moved from ../.
59682         * modules/crypto/gc-md5: Moved from ../.
59683         * modules/crypto/gc-md5-tests: Moved from ../.
59684         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
59685         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
59686         * modules/crypto/gc-random: Moved from ../.
59687         * modules/crypto/gc-rijndael: Moved from ../.
59688         * modules/crypto/gc-rijndael-tests: Moved from ../.
59689         * modules/crypto/gc-sha1: Moved from ../.
59690         * modules/crypto/gc-sha1-tests: Moved from ../.
59691         * modules/crypto/gc-tests: Moved from ../.
59692         * modules/crypto/hmac-md5: Moved from ../.
59693         * modules/crypto/hmac-md5-tests: Moved from ../.
59694         * modules/crypto/hmac-sha1: Moved from ../.
59695         * modules/crypto/hmac-sha1-tests: Moved from ../.
59696         * modules/crypto/md2: Moved from ../.
59697         * modules/crypto/md2-tests: Moved from ../.
59698         * modules/crypto/md4: Moved from ../.
59699         * modules/crypto/md4-tests: Moved from ../.
59700         * modules/crypto/md5: Moved from ../.
59701         * modules/crypto/md5-tests: Moved from ../.
59702         * modules/crypto/memxor: Moved from ../.
59703         * modules/crypto/rijndael: Moved from ../.
59704         * modules/crypto/rijndael-tests: Moved from ../.
59705         * modules/crypto/sha1: Moved from ../.
59706
59707 2007-03-30  James Youngman  <jay@gnu.org>
59708
59709         * tests/test-stat-time.c (prepare_test): use chmod() rather than
59710         rename() to change the ctime of a file (because ctime is unaffected
59711         by rename on jfs2 on AIX 5.1).
59712         (main): Start by doing cleanup, in case a previous run failed leaving
59713         test files behind.
59714
59715 2007-03-31  Bruno Haible  <bruno@clisp.org>
59716
59717         Support old proprietary implementations of iconv.
59718         * modules/iconv_open: New file.
59719         * lib/iconv_.h: New file.
59720         * m4/iconv_h.m4: New file.
59721         * lib/iconv_open.c: New file.
59722         * lib/iconv_open-aix.gperf: New file.
59723         * lib/iconv_open-hpux.gperf: New file.
59724         * lib/iconv_open-irix.gperf: New file.
59725         * lib/iconv_open-osf.gperf: New file.
59726         * m4/iconv_open.m4: New file.
59727         * modules/linebreak (Depends-on): Add iconv_open.
59728         * modules/striconv (Depends-on): Likewise.
59729         * modules/striconveh (Depends-on): Likewise.
59730         * modules/unicodeio (Depends-on): Likewise.
59731         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
59732         (iconv_t)(-1).
59733         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
59734         conversion if cd is (iconv_t)(-1).
59735         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
59736         is not possible.
59737
59738 2007-03-31  Bruno Haible  <bruno@clisp.org>
59739
59740         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
59741         work on Solaris either. Protect also second use of "autodetect_jp".
59742
59743 2007-03-31  Bruno Haible  <bruno@clisp.org>
59744
59745         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
59746         the function is not present.
59747
59748 2007-03-31  Bruno Haible  <bruno@clisp.org>
59749
59750         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
59751         the function is not present.
59752
59753 2007-03-31  Bruno Haible  <bruno@clisp.org>
59754
59755         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
59756         a bug in HP-UX iconv_open().
59757
59758 2007-03-31  Bruno Haible  <bruno@clisp.org>
59759
59760         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
59761         (Mathematics <math.h>): New section, add fpieee.
59762         (Input/output <stdio.h>): Add fseterr.
59763         (Mathematics <math.h>): New section, add printf-frexp.
59764         (Container data structures): Add sublist.
59765         (Core language properties): Add fpucw, inline.
59766         (Functions for greatest-width integer types <inttypes.h>): Add
59767         imaxabs, imaxdiv, inttypes.
59768         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
59769         isnanl-nolibm, ldexp.
59770         (Mathematics <math.h>): New section, add printf-frexpl.
59771         (Support for systems lacking POSIX:2001): Add fprintf-posix,
59772         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
59773         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
59774         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
59775         (Unicode string functions): Add unistr/u*-mbtoucr.
59776         (Java): Add javacomp-script, javaexec-script.
59777         (C#): Add csharpcomp-script, csharpexec-script.
59778         (Support for building libraries and executables): Add havelib,
59779         relocatable-*.
59780         (Support for maintaining and releasing projects): Renamed from
59781         'Support for maintaining and release projects'. Add announce-gen.
59782
59783 2007-03-31  Bruno Haible  <bruno@clisp.org>
59784
59785         * README: Talk primarily about git.
59786         (git and CVS): Renamed from CVS.
59787         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
59788         gnulib is available through git.
59789         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
59790
59791 2007-03-30  Bruno Haible  <bruno@clisp.org>
59792
59793         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
59794         * lib/poll_.h: Likewise.
59795         * lib/stat_.h: Likewise.
59796         * lib/sys_time_.h: Likewise.
59797         * lib/sysexit_.h: Likewise.
59798         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
59799         * lib/stdbool_.h: Likewise.
59800         * lib/byteswap_.h: Add double-inclusion guard.
59801
59802 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
59803
59804         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
59805
59806 2007-03-30  Karl Berry  <karl@gnu.org>
59807
59808         * config/srclist-update: double space after USA in the license
59809         substitution, since that's how it's usually (?) written.
59810
59811 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
59812
59813         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
59814         reported by Bruno Haible.
59815
59816 2007-03-29  Bruno Haible  <bruno@clisp.org>
59817
59818         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
59819         a bug in AIX iconv().
59820
59821 2007-03-29  Bruno Haible  <bruno@clisp.org>
59822
59823         * modules/ldexpl-tests: New file.
59824         * tests/test-ldexpl.c: New file.
59825
59826 2007-03-29  Bruno Haible  <bruno@clisp.org>
59827
59828         * lib/ldexpl.c: Include fpucw.h.
59829         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
59830         multiplication.
59831         * modules/ldexpl (Depends-on): Add fpucw.
59832
59833 2007-03-29  Bruno Haible  <bruno@clisp.org>
59834
59835         * modules/ldexpl: New file.
59836         * m4/ldexpl.m4: New file.
59837         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
59838         set.
59839         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
59840         REPLACE_LDEXPL.
59841         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
59842         REPLACE_LDEXPL.
59843         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
59844         gl_FUNC_LDEXPL_WORKS.
59845         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
59846         * modules/mathl (Files): Remove lib/ldexpl.c.
59847         (Depends-on): Add ldexpl.
59848
59849 2007-03-29  Bruno Haible  <bruno@clisp.org>
59850
59851         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
59852
59853 2007-03-29  Bruno Haible  <bruno@clisp.org>
59854
59855         * tests/test-striconveh.c (main): Don't assume that a direct conversion
59856         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
59857         and possibly also HP-UX.
59858         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
59859         work on AIX, IRIX, HP-UX, OSF/1.
59860         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
59861         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
59862         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
59863         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
59864         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
59865         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
59866
59867 2007-03-29  Bruno Haible  <bruno@clisp.org>
59868
59869         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
59870
59871 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
59872
59873         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
59874         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
59875
59876 2007-03-29  Eric Blake  <ebb9@byu.net>
59877
59878         * lib/acl-internal.h: Remove redundant include.
59879         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
59880         Cygwin when a file is locked.
59881
59882 2007-03-29  Bruno Haible  <bruno@clisp.org>
59883
59884         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
59885         file.
59886         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
59887
59888 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
59889
59890         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
59891         try to remove a parent directory if the child couldn't be removed
59892         (except for the first rmdir, which could fail because the child
59893         doesn't exist).  Problem reported by Jeff Blaine in
59894         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
59895
59896 2007-03-28  Bruno Haible  <bruno@clisp.org>
59897
59898         * lib/striconveh.c (utf8conv_carefully): New function.
59899         (mem_cd_iconveh_internal): Invoke it.
59900
59901 2007-03-28  Bruno Haible  <bruno@clisp.org>
59902
59903         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
59904         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
59905         input.
59906         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
59907         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
59908         unistr/u8-uctomb.
59909
59910 2007-03-28  Bruno Haible  <bruno@clisp.org>
59911
59912         * modules/unistr/u8-mbtoucr: New file.
59913         * lib/unistr/u8-mbtoucr.c: New file.
59914         * modules/unistr/u16-mbtoucr: New file.
59915         * lib/unistr/u16-mbtoucr.c: New file.
59916         * modules/unistr/u16-mbtoucr: New file.
59917         * lib/unistr/u16-mbtoucr.c: New file.
59918         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
59919
59920 2007-03-27  Simon Josefsson  <simon@josefsson.org>
59921             Bruno Haible  <bruno@clisp.org>
59922
59923         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
59924         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
59925         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
59926
59927         * m4/stdio_h.m4: Add stubs for vasprintf too.
59928
59929         * modules/stdio: Support vasprintf in sed command.
59930
59931         * modules/vasprintf: Depend on stdio for prototypes.  Remove
59932         vasprintf.h.  Add stdio module indicator.
59933
59934         * lib/stdio_.h: Declare asprintf and vasprintf, based on
59935         vasprintf.h.
59936
59937         * lib/vasprintf.h: File removed.
59938
59939         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
59940         * lib/vasprintf.c: Ditto.
59941         * lib/xvasprintf.c: Ditto.
59942         * tests/test-vasprintf-posix.c: Ditto.
59943         * tests/test-vasprintf.c: Ditto.
59944
59945 2007-03-27  Bruno Haible  <bruno@clisp.org>
59946
59947         Make vasnprintf multithread-safe.
59948         * lib/vasnprintf.c (decimal_point_char): New function.
59949         (VASNPRINTF): Use it.
59950         Suggested by Simon Josefsson.
59951
59952 2007-03-27  Eric Blake  <ebb9@byu.net>
59953
59954         Support sub-second birthtime on cygwin.
59955         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
59956         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
59957         (get_stat_birthtime): Also work with st_birthtim.
59958
59959 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
59960
59961         * lib/stat-time.h (USE_BIRTHTIME): Remove.
59962         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
59963         (get_stat_birthtime_ns): Do not try to use "spare" fields.
59964         (get_stat_birthtime_ns): Simplify compile-time tests.
59965         (get_stat_birthtime): Change the API to look like
59966         get_stat_mtime etc., except return a negative tv_nsec on error.
59967         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
59968         Don't check for "spare" fields.
59969         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
59970         or for struct stat.st_birthtime, as these tests aren't used.
59971         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
59972
59973 2007-03-27  Bruno Haible  <bruno@clisp.org>
59974
59975         * lib/stat-time.h: Include <sys/stat.h>.
59976
59977 2007-03-27  James Youngman  <jay@gnu.org>
59978
59979         * lib/stat-time.h (get_stat_birthtime): New function for
59980           retrieving st_birthtime as provided by UFS2 (hence *BSD).
59981         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
59982           and its variants.
59983         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
59984         * modules/stat-time-test: New file.
59985         * tests/test-stat-time.c: New test, devised by Bruno Haible.
59986
59987 2007-03-26  Bruno Haible  <bruno@clisp.org>
59988
59989         Better support of signalling NaNs.
59990         * lib/atanl.c: Include isnanl.h.
59991         (atanl): Perform test for NaN at the beginning of the function and
59992         through a call to isnanl.
59993         * lib/cosl.c: Include isnanl.h.
59994         (cosl): Perform test for NaN at the beginning of the function and
59995         through a call to isnanl.
59996         * lib/ldexpl.c: Include isnanl.h.
59997         (ldexpl): Perform test for NaN through a call to isnanl.
59998         * lib/logl.c: Include isnanl.h.
59999         (logl): Perform test for NaN at the beginning of the function and
60000         through a call to isnanl.
60001         * lib/sinl.c: Include isnanl.h.
60002         (sinl): Perform test for NaN at the beginning of the function and
60003         through a call to isnanl.
60004         * lib/sqrtl.c: Include isnanl.h.
60005         (sqrtl): Perform test for NaN at the beginning of the function and
60006         through a call to isnanl.
60007         * lib/tanl.c: Include isnanl.h.
60008         (tanl): Perform test for NaN at the beginning of the function and
60009         through a call to isnanl.
60010         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
60011         * modules/mathl (Depends-on): Add isnanl.
60012
60013 2007-03-26  Eric Blake  <ebb9@byu.net>
60014
60015         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
60016         regression in logic sense of previous patch.
60017
60018 2007-03-26  Bruno Haible  <bruno@clisp.org>
60019
60020         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
60021         unportable shell command "if ! ...".
60022         Reported by Ralf Wildenhues.
60023
60024 2007-03-25  Bruno Haible  <bruno@clisp.org>
60025
60026         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
60027         <sysexits.h> file, and only add EX_CONFIG.
60028         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
60029         absolute file name and whether it is sufficient. Substitute also
60030         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
60031         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
60032         ABSOLUTE_SYSEXITS_H into sysexits.h.
60033
60034 2007-03-25  Bruno Haible  <bruno@clisp.org>
60035
60036         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
60037         hints is NULL.
60038
60039 2007-03-25  Bruno Haible  <bruno@clisp.org>
60040
60041         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
60042         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
60043
60044 2007-03-25  Bruno Haible  <bruno@clisp.org>
60045
60046         * lib/vasnprintf.c: Include langinfo.h.
60047         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
60048         multithread-safe.
60049         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
60050         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
60051         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
60052         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
60053         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
60054         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
60055         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
60056         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
60057         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
60058         Reported by Simon Josefsson.
60059
60060 2007-03-25  Bruno Haible  <bruno@clisp.org>
60061
60062         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
60063         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
60064         * modules/vasnprintf (Depends-on): Add stdint.
60065
60066 2007-03-25  Bruno Haible  <bruno@clisp.org>
60067
60068         * modules/fpieee: New file.
60069         * m4/fpieee.m4: New file.
60070         * modules/isnan-nolibm (Depends-on): Add fpieee.
60071         * modules/isnanl-nolibm (Depends-on): Add fpieee.
60072         * modules/isnanl (Depends-on): Add fpieee.
60073
60074 2007-03-25  Bruno Haible  <bruno@clisp.org>
60075
60076         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
60077
60078 2007-03-25  Bruno Haible  <bruno@clisp.org>
60079
60080         Avoid test failures on IRIX 6.5.
60081         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
60082         (main): Use it.
60083         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
60084         macros.
60085         (main): Use them.
60086
60087 2007-03-25  Bruno Haible  <bruno@clisp.org>
60088
60089         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
60090         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
60091         exists but doesn't work.
60092         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
60093         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
60094         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
60095         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
60096         math.h.
60097
60098 2007-03-25  Bruno Haible  <bruno@clisp.org>
60099
60100         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
60101         returns inf. Needed on IRIX 6.5.
60102
60103 2007-03-25  Bruno Haible  <bruno@clisp.org>
60104
60105         * tests/test-frexpl.c: Include isnanl-nolibm.h.
60106         (main): Use isnanl instead of x != x idiom.
60107         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
60108
60109         * tests/test-frexp.c: Include isnan.h.
60110         (main): Use isnan instead of x != x idiom.
60111         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
60112
60113 2007-03-25  Bruno Haible  <bruno@clisp.org>
60114
60115         * tests/test-frexp.c (NaN): New function/macro.
60116         (main): Use it instead of 0.0 / 0.0.
60117         * tests/test-isnan.c (NaN): New function/macro.
60118         (main): Use it instead of 0.0 / 0.0.
60119         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
60120         (test_function): Use it instead of 0.0 / 0.0.
60121         * tests/test-vasprintf-posix.c (NaN): New function/macro.
60122         (test_function): Use it instead of 0.0 / 0.0.
60123         * tests/test-snprintf-posix.h (NaN): New function/macro.
60124         (test_function): Use it instead of 0.0 / 0.0.
60125         * tests/test-sprintf-posix.h (NaN): New function/macro.
60126         (test_function): Use it instead of 0.0 / 0.0.
60127         * tests/test-fprintf-posix.h (NaN): New function/macro.
60128         (test_function): Use it instead of 0.0 / 0.0.
60129         * tests/test-printf-posix.h (NaN): New function/macro.
60130         (test_function): Use it instead of 0.0 / 0.0.
60131
60132         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
60133
60134 2007-03-25  Bruno Haible  <bruno@clisp.org>
60135
60136         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
60137
60138 2007-03-25  Bruno Haible  <bruno@clisp.org>
60139
60140         * lib/regexec.c (merge_state_with_log): Make static.
60141
60142 2007-03-25  Bruno Haible  <bruno@clisp.org>
60143
60144         * lib/trigl.c (kernel_rem_pio2): Make static.
60145
60146 2007-03-25  Bruno Haible  <bruno@clisp.org>
60147
60148         * lib/sincosl.c (sincosl_table): Make static.
60149
60150 2007-03-25  Bruno Haible  <bruno@clisp.org>
60151
60152         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
60153         if the compiler does not support C99.
60154
60155 2007-03-25  Bruno Haible  <bruno@clisp.org>
60156
60157         * modules/time (Makefile.am): Ensure all rule action lines start with a
60158         tab.
60159
60160 2007-03-24  Bruno Haible  <bruno@clisp.org>
60161
60162         * modules/tsearch-tests: New file.
60163         * tests/test-tsearch.sh: New file.
60164         * tests/test-tsearch.c: New file, mostly copied from glibc.
60165
60166         * modules/search-tests: New file.
60167         * tests/test-search.c: New file.
60168
60169         * modules/search: New file.
60170         * lib/search_.h: New file, incorporating lib/tsearch.h.
60171         * m4/search_h.m4: New file.
60172         * lib/tsearch.h: Remove file.
60173         * lib/tsearch.c: Include search.h instead of tsearch.h.
60174         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
60175         HAVE_TSEARCH.
60176         * modules/tsearch (Files): Remove lib/tsearch.h.
60177         (Depends-on): Add search.
60178         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
60179         (Include): Change tsearch.h into search.h.
60180
60181 2007-03-24  Bruno Haible  <bruno@clisp.org>
60182
60183         * modules/fpucw: New file.
60184         * lib/fpucw.h: New file.
60185         * lib/frexp.c: Include fpucw.h.
60186         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
60187         (FUNC): Use them.
60188         * lib/printf-frexp.c: Include fpucw.h.
60189         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
60190         (FUNC): Use them.
60191         * lib/vasnprintf.c: Include fpucw.h.
60192         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
60193         'long double' calculations.
60194         * tests/test-frexpl.c: Include fpucw.h.
60195         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
60196         * tests/test-printf-frexpl.c: Include fpucw.h.
60197         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
60198         * modules/frexpl (Depends-on): Add fpucw.
60199         * modules/printf-frexpl (Depends-on): Likewise.
60200         * modules/fprintf-posix (Depends-on): Likewise.
60201         * modules/snprintf-posix (Depends-on): Likewise.
60202         * modules/sprintf-posix (Depends-on): Likewise.
60203         * modules/vasnprintf-posix (Depends-on): Likewise.
60204         * modules/vasprintf-posix (Depends-on): Likewise.
60205         * modules/vfprintf-posix (Depends-on): Likewise.
60206         * modules/vsnprintf-posix (Depends-on): Likewise.
60207         * modules/vsprintf-posix (Depends-on): Likewise.
60208         * modules/frexpl-tests (Depends-on): Likewise.
60209         * modules/printf-frexpl-tests (Depends-on): Likewise.
60210
60211 2007-03-24  Bruno Haible  <bruno@clisp.org>
60212
60213         * lib/float+.h: New file.
60214         * lib/isnan.c: Include float+.h.
60215         (SIZE): New macro.
60216         (FUNC): Compare only SIZE bytes of the value.
60217         * lib/vasnprintf.c: Include float+.h.
60218         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
60219         SIZEOF_LDBL or SIZEOF_DBL bytes.
60220         * modules/isnan-nolibm (Files): Add lib/float+.h.
60221         * modules/isnanl-nolibm (Files): Add lib/float+.h.
60222         * modules/isnanl (Files): Add lib/float+.h.
60223         * modules/vasnprintf (Files): Add lib/float+.h.
60224
60225 2007-03-24  Bruno Haible  <bruno@clisp.org>
60226
60227         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
60228         include isnanl-nolibm.h.
60229
60230 2007-03-24  Bruno Haible  <bruno@clisp.org>
60231
60232         * tests/test-read-file.c (main): Don't produce spurious output for
60233         expected situations. Make the test fail if it encountered unexpected
60234         results.
60235
60236 2007-03-24  Bruno Haible  <bruno@clisp.org>
60237
60238         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
60239         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
60240
60241 2007-03-24  Bruno Haible  <bruno@clisp.org>
60242
60243         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
60244
60245 2007-03-24  Bruno Haible  <bruno@clisp.org>
60246
60247         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
60248         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
60249
60250         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
60251         * modules/utf8-ucs4: Turn into a symbolic link to module
60252         unistr/u8-mbtouc.
60253
60254         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
60255         utf8-ucs4-unsafe.
60256         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
60257         unistr/u8-mbtouc-unsafe.
60258
60259         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
60260         * modules/utf16-ucs4: Turn into a symbolic link to module
60261         unistr/u16-mbtouc.
60262
60263         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
60264         utf16-ucs4-unsafe.
60265         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
60266         unistr/u16-mbtouc-unsafe.
60267
60268         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
60269         * modules/ucs4-utf8: Turn into a symbolic link to module
60270         unistr/u8-ubtomb.
60271
60272         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
60273         * modules/ucs4-utf16: Turn into a symbolic link to module
60274         unistr/u16-ubtomb.
60275
60276 2007-03-24  Bruno Haible  <bruno@clisp.org>
60277
60278         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
60279         Enable the function only if HAVE_INLINE.
60280         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
60281         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
60282         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
60283         Enable the function only if HAVE_INLINE.
60284         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
60285         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
60286         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
60287         Enable the function only if HAVE_INLINE.
60288         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
60289         Enable the function only if HAVE_INLINE.
60290         * modules/utf8-ucs4: Update.
60291         * modules/utf8-ucs4-unsafe: Update.
60292         * modules/utf16-ucs4: Update.
60293         * modules/utf16-ucs4-unsafe: Update.
60294         * modules/ucs4-utf8: Update.
60295         * modules/ucs4-utf16: Update.
60296
60297 2007-03-24  Bruno Haible  <bruno@clisp.org>
60298
60299         * lib/utf8-ucs4.h: Remove file.
60300         * lib/utf8-ucs4-unsafe.h: Remove file.
60301         * lib/utf16-ucs4.h: Remove file.
60302         * lib/utf16-ucs4-unsafe.h: Remove file.
60303         * lib/ucs4-utf8.h: Remove file.
60304         * lib/ucs4-utf16.h: Remove file.
60305         * lib/unistr.h: Include their previous contents.
60306         * m4/utf-ucs4.m4: Remove file.
60307         * m4/ucs4-utf.m4: Remove file.
60308         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
60309         (Depends-on): Add unistr/base.
60310         (configure.ac): Remove gl_UTF_UCS4.
60311         (Makefile.am): Update.
60312         (Include): Change to unistr.h.
60313         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
60314         (Depends-on): Add unistr/base.
60315         (configure.ac): Remove gl_UTF_UCS4.
60316         (Makefile.am): Update.
60317         (Include): Change to unistr.h.
60318         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
60319         (Depends-on): Add unistr/base.
60320         (configure.ac): Remove gl_UTF_UCS4.
60321         (Makefile.am): Update.
60322         (Include): Change to unistr.h.
60323         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
60324         (Depends-on): Add unistr/base.
60325         (configure.ac): Remove gl_UTF_UCS4.
60326         (Makefile.am): Update.
60327         (Include): Change to unistr.h.
60328         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
60329         (Depends-on): Add unistr/base.
60330         (configure.ac): Remove gl_UCS4_UTF.
60331         (Makefile.am): Update.
60332         (Include): Change to unistr.h.
60333         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
60334         (Depends-on): Add unistr/base.
60335         (configure.ac): Remove gl_UCS4_UTF.
60336         (Makefile.am): Update.
60337         (Include): Change to unistr.h.
60338         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
60339         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
60340         utf8-ucs4-unsafe.h.
60341         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
60342         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
60343         utf16-ucs4-unsafe.h.
60344         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
60345         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
60346         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
60347         * lib/unistr/u8-strchr.c: Likewise.
60348         * lib/unistr/u8-strrchr.c: Likewise.
60349         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
60350         * lib/unistr/u16-strchr.c: Likewise.
60351         * lib/unistr/u16-strrchr.c: Likewise.
60352         * lib/striconveh.c: Update.
60353         * lib/linebreak.c: Update.
60354
60355 2007-03-24  Bruno Haible  <bruno@clisp.org>
60356
60357         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
60358         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
60359
60360 2007-03-22  Bruno Haible  <bruno@clisp.org>
60361
60362         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
60363
60364 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
60365
60366         * MODULES.html.sh (File system functions): New module write-any-file.
60367         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
60368         * m4/write-any-file.m4: New files.
60369
60370 2007-03-23  Eric Blake  <ebb9@byu.net>
60371
60372         * gnulib-tool: Rearrange space-tab sequences, since some editors
60373         like to eat them.
60374
60375 2007-03-23  Eric Blake  <ebb9@byu.net>
60376
60377         * lib/version-etc.c (version_etc_va): Update license wording to
60378         be more concise.  Recommended by Richard Stallman.
60379
60380 2007-03-22  Bruno Haible  <bruno@clisp.org>
60381
60382         * lib/poll.c (MSG_PEEK): New fallback definition.
60383
60384 2007-03-22  Bruno Haible  <bruno@clisp.org>
60385
60386         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
60387         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
60388         (main): Update.
60389         Fixes a compilation error on BeOS.
60390
60391 2007-03-22  Bruno Haible  <bruno@clisp.org>
60392
60393         * modules/frexpl-tests: New file.
60394         * tests/test-frexpl.c: New file.
60395
60396         * modules/frexpl: New file.
60397         * m4/frexpl.m4: New file.
60398         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
60399         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
60400         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
60401         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
60402         (Depends-on): Add frexpl. Remove isnanl-nolibm.
60403         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
60404
60405 2007-03-22  Bruno Haible  <bruno@clisp.org>
60406
60407         * lib/frexpl.c: Share code with lib/frexp.c.
60408         * modules/mathl (Files): Add lib/frexp.c.
60409         (Depends-on): Add isnanl-nolibm.
60410
60411 2007-03-22  Bruno Haible  <bruno@clisp.org>
60412
60413         * modules/printf-frexp (Files): Add m4/frexp.m4.
60414         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
60415         only if the found frexp function actually works.
60416
60417 2007-03-22  Bruno Haible  <bruno@clisp.org>
60418
60419         * lib/frexp.c: Remove older implementation that uses divisions.
60420
60421 2007-03-21  Bruno Haible  <bruno@clisp.org>
60422
60423         * modules/frexp-tests: New file.
60424         * tests/test-frexp.c: New file.
60425
60426         * modules/frexp: New file.
60427         * lib/frexp.c: New file.
60428         * m4/frexp.m4: New file.
60429         * lib/math_.h (frexp): New declaration.
60430         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
60431         REPLACE_FREXP.
60432         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
60433
60434 2007-03-21  Bruno Haible  <bruno@clisp.org>
60435
60436         * modules/isnanl-tests: New file.
60437         * tests/test-isnanl.c: New file.
60438
60439         * modules/isnanl: New file.
60440         * lib/isnanl.h: New file.
60441         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
60442         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
60443         gl_FUNC_ISNANL_WORKS.
60444         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
60445         New macros.
60446
60447 2007-03-21  Bruno Haible  <bruno@clisp.org>
60448
60449         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
60450         lib/isnanl.h.
60451         (Include): Update.
60452         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
60453         * lib/vasnprintf.c: Update.
60454         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
60455         tests/test-isnanl.h, remove tests/test-isnanl.c.
60456         (Makefile.am): Update.
60457         * tests/test-isnanl-nolibm.c: New file.
60458         * tests/test-isnanl.h: New file.
60459         * tests/test-isnanl.c: Remove file.
60460
60461 2007-03-21  Jim Meyering  <jim@meyering.net>
60462
60463         When trying to open ".", treat ESTALE like EACCES.
60464         * lib/savewd.c (savewd_save): Resort to forking not just upon
60465         failure with EACCES, but also when errno is ESTALE.
60466
60467 2007-03-20  Bruno Haible  <bruno@clisp.org>
60468
60469         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
60470         Needed on AIX 5.1. Reported by Matthew Woehlke.
60471
60472 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
60473
60474         Suggestions by Bruno Haible:
60475         * lib/acl-internal.h: Include "gettext.h" rather than rolling
60476         our own.
60477         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
60478         * modules/acl (Depends-on): Add gettext.
60479
60480 2007-03-19  Bruno Haible  <bruno@clisp.org>
60481
60482         * modules/iconvme: Remove file.
60483         * lib/iconvme.h: Remove file.
60484         * lib/iconvme.c: Remove file.
60485         * m4/iconvme.m4: Remove file.
60486
60487 2007-03-19  Bruno Haible  <bruno@clisp.org>
60488
60489         * doc/relocatable-maint.texi: Break long shell script line.
60490         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
60491
60492 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
60493
60494         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
60495         handle file_has_acl.
60496         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
60497         * lib/acl.c: Move header inclusions and related macro defns into
60498         lib/acl-internal.h.
60499         (S_ISLNK): Remove defn, since that's now done for us.
60500         (file_has_acl): Move to lib/file-has-acl.c.
60501         Call acl_trivial if available.  This is the crucial part of the fix.
60502         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
60503         shared within the library.  Rewrite a bit, partly to make it compatible
60504         with the GNU coding style.
60505         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
60506         Remove unnecessary double-quotes.
60507         Don't test for acl_to_text; the build will catch that.
60508         Replace acl_entries if it doesn't exist and it is needed.
60509         Check for -lsec and acl_trivial (as used on Solaris 10).
60510         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
60511         lib/file-has-acl.c.
60512         (Depends-on): Add sys_stat, for S_ISLNK.
60513
60514 2007-03-19  Ben Pfaff  <blp@gnu.org>
60515
60516         * doc/gnulib.texi: Fix typos.
60517         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
60518
60519 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
60520
60521         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
60522         If size is zero here, buf must be zero.
60523
60524 2007-03-19  Simon Josefsson  <simon@josefsson.org>
60525
60526         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
60527         <bruno@clisp.org>.
60528
60529 2007-03-18  Bruno Haible  <bruno@clisp.org>
60530
60531         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
60532         Suggested by Eric Blake.
60533
60534 2007-03-18  Ben Pfaff  <blp@gnu.org>
60535
60536         * doc/relocatable.texi: Recommend using as prefix a directory
60537         that does not exist and will never be created.  Based on
60538         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
60539         and others.
60540
60541 2007-03-17  Bruno Haible  <bruno@clisp.org>
60542
60543         * lib/fchownat.c: Include lchown.h.
60544
60545 2007-03-17  Bruno Haible  <bruno@clisp.org>
60546
60547         Fix endless loop when the given allocated size was > INT_MAX.
60548         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
60549         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
60550         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
60551         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
60552         * lib/sprintf.c (sprintf): Likewise.
60553
60554 2007-03-17  Bruno Haible  <bruno@clisp.org>
60555
60556         * tests/test-argp-2.sh (func_compare): Output a context diff.
60557
60558 2007-03-17  Bruno Haible  <bruno@clisp.org>
60559
60560         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
60561         locale's decimal-point character.
60562
60563 2007-03-17  Bruno Haible  <bruno@clisp.org>
60564
60565         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
60566         before comparing it. Needed because on some platforms (e.g. x86) a
60567         'long double' occupies less bytes than sizeof (long double).
60568
60569 2007-03-17  Bruno Haible  <bruno@clisp.org>
60570
60571         * tests/test-crc.c (main): Make printf statements 64-bit clean.
60572         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
60573         * tests/test-getaddrinfo.c (simple): Likewise.
60574         * tests/test-read-file.c (main): Likewise.
60575
60576 2007-03-17  Bruno Haible  <bruno@clisp.org>
60577
60578         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
60579
60580 2007-03-17  Bruno Haible  <bruno@clisp.org>
60581
60582         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
60583         unused variable.
60584
60585 2007-03-17  Bruno Haible  <bruno@clisp.org>
60586
60587         * tests/test-c-strcasecmp.c: Include c-strcase.h.
60588         * tests/test-c-strncasecmp.c: Likewise.
60589
60590 2007-03-17  Bruno Haible  <bruno@clisp.org>
60591
60592         * modules/stdlib (Depends-on): Add unistd.
60593         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
60594         Needed for MacOS X 10.3.
60595
60596 2007-03-17  Bruno Haible  <bruno@clisp.org>
60597
60598         * lib/unistr/u-strdup.h: Include <stdlib.h>.
60599
60600 2007-03-17  Bruno Haible  <bruno@clisp.org>
60601
60602         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
60603
60604 2007-03-17  Bruno Haible  <bruno@clisp.org>
60605
60606         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
60607         to reflect files copied from gnulib (with or without modifications).
60608         Suggested by Jim Meyering.
60609
60610 2007-03-17  Eric Blake  <ebb9@byu.net>
60611
60612         * NEWS: Document stdlib change from 2007-02-18.
60613
60614 2007-03-17  Jim Meyering  <jim@meyering.net>
60615
60616         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
60617         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
60618         someone uses a name containing shell meta-characters.
60619         Reported by Alfred M. Szmidt.
60620
60621         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
60622
60623 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
60624
60625         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
60626         and copy gettext configuration files only if configure.ac contains
60627         a use of AM_GNU_GETTEXT_VERSION.
60628
60629 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
60630
60631         * build-aux/bootstrap (gnulib_name): New variable.
60632         (gnulib_tool_options): Use it.
60633
60634 2007-03-13  Simon Josefsson  <simon@josefsson.org>
60635
60636         * tests/test-des.c: Use new namespace.
60637
60638 2007-03-15  Bruno Haible  <bruno@clisp.org>
60639
60640         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
60641         Reported by James Youngman <jay@gnu.org>.
60642
60643 2007-03-15  Bruno Haible  <bruno@clisp.org>
60644
60645         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
60646         declared prototype. Needed with cc on OSF/1 5.1.
60647
60648 2007-03-15  Bruno Haible  <bruno@clisp.org>
60649
60650         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
60651         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
60652         (struct gl_list_implementation): Add dispose_fn argument to the
60653         'create_empty', 'create' methods.
60654         (struct gl_list_impl_base): Add field 'dispose_fn'.
60655         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
60656         argument.
60657         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
60658         dispose_fn argument.
60659         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
60660         dispose_fn on the dropped values.
60661         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
60662         dispose_fn argument.
60663         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
60664         dropped values.
60665         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
60666         (gl_tree_remove_node): Call dispose_fn on the dropped value.
60667         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
60668         (gl_tree_remove_node): Call dispose_fn on the dropped value.
60669         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
60670         argument.
60671         (gl_tree_list_free): Call dispose_fn on the dropped values.
60672         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
60673         the dropped values.
60674         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
60675         Add dispose_fn argument.
60676         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
60677         Call dispose_fn on the dropped values.
60678         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
60679         Add dispose_fn argument.
60680         (gl_sublist_create): Initialize the 'dispose_fn' field.
60681         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
60682         * tests/test-array_list.c (main): Update.
60683         * tests/test-carray_list.c (main): Update.
60684         * tests/test-avltree_list.c (main): Update.
60685         * tests/test-rbtree_list.c (main): Update.
60686         * tests/test-avltreehash_list.c (main): Update.
60687         * tests/test-rbtreehash_list.c (main): Update.
60688         * tests/test-linked_list.c (main): Update.
60689         * tests/test-linkedhash_list.c (main): Update.
60690         * tests/test-array_oset.c (main): Update.
60691
60692 2007-03-15  Bruno Haible  <bruno@clisp.org>
60693
60694         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
60695         (gl_oset_create_empty): Add dispose_fn argument.
60696         (struct gl_oset_implementation): Add dispose_fn argument to
60697         'create_empty' method.
60698         (struct gl_oset_impl_base): Add dispose_fn field.
60699         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
60700         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
60701         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
60702         values.
60703         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
60704         (gl_tree_oset_free): Call dispose_fn on the dropped values.
60705         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
60706         dropped value.
60707         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
60708         dropped value.
60709         * tests/test-array_oset.c (main): Update.
60710         * tests/test-avltree_oset.c (main): Update.
60711         * tests/test-rbtree_oset.c (main): Update.
60712         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
60713
60714 2007-03-13  Bruno Haible  <bruno@clisp.org>
60715
60716         * tests/test-stdbool.c (i): Update after last patch.
60717
60718 2007-03-12  Bruno Haible  <bruno@clisp.org>
60719
60720         * lib/quotearg.c: Include <wctype.h> early, before the definition of
60721         the iswprint macro. Needed on Solaris 2.5.1.
60722
60723 2007-03-12  Bruno Haible  <bruno@clisp.org>
60724
60725         * tests/test-printf-frexp.c (main): Declare x as volatile.
60726
60727 2007-03-12  Simon Josefsson  <simon@josefsson.org>
60728
60729         * doc/gnulib.texi (Build robot for gnulib): New section.
60730
60731 2007-03-12  Jim Meyering  <jim@meyering.net>
60732
60733         * build-aux/bootstrap: New file.
60734         * build-aux/bootstrap.conf: New file, from coreutils.
60735
60736 2007-03-11  Bruno Haible  <bruno@clisp.org>
60737
60738         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
60739
60740 2007-03-12  Simon Josefsson  <simon@josefsson.org>
60741
60742         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
60743         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
60744         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
60745
60746 2007-03-11  Bruno Haible  <bruno@clisp.org>
60747
60748         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
60749         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
60750
60751 2007-03-11  Bruno Haible  <bruno@clisp.org>
60752
60753         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
60754         formula. Needed for SunPRO C 5.0.
60755
60756 2007-03-11  Bruno Haible  <bruno@clisp.org>
60757
60758         * modules/long-options (Depends-on): Add getopt.
60759
60760 2007-03-11  Bruno Haible  <bruno@clisp.org>
60761
60762         * modules/modechange (Depends-on): Add stdbool.
60763
60764 2007-03-11  Bruno Haible  <bruno@clisp.org>
60765
60766         * modules/i-ring (Depends-on): Add stdbool.
60767
60768 2007-03-11  Bruno Haible  <bruno@clisp.org>
60769
60770         * modules/gc-des (Depends-on): Add stdbool.
60771
60772 2007-03-11  Bruno Haible  <bruno@clisp.org>
60773
60774         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
60775
60776 2007-03-11  Bruno Haible  <bruno@clisp.org>
60777
60778         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
60779
60780 2007-03-11  Bruno Haible  <bruno@clisp.org>
60781
60782         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
60783
60784 2007-03-11  Bruno Haible  <bruno@clisp.org>
60785
60786         * lib/vasnprintf.c (sprintf): Undefine.
60787
60788 2007-03-11  Bruno Haible  <bruno@clisp.org>
60789
60790         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
60791         initializers in SunPRO C and Compaq C compilers.
60792
60793 2007-03-11  Bruno Haible  <bruno@clisp.org>
60794
60795         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
60796         decrementing code ANSI C compliant.
60797
60798 2007-03-11  Bruno Haible  <bruno@clisp.org>
60799
60800         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
60801         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
60802
60803 2007-03-11  Bruno Haible  <bruno@clisp.org>
60804
60805         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
60806         <stdbool.h> substitute doesn't pass.
60807
60808 2007-03-11  Bruno Haible  <bruno@clisp.org>
60809
60810         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
60811
60812 2007-03-11  Bruno Haible  <bruno@clisp.org>
60813
60814         * gnulib-tool (func_create_megatestdir): Create also an autobuild
60815         script, for submission to autobuild.josefsson.org.
60816
60817 2007-03-10  Bruno Haible  <bruno@clisp.org>
60818
60819         * modules/canonicalize-lgpl-tests: New file.
60820         * tests/test-canonicalize-lgpl.sh: New file.
60821         * tests/test-canonicalize-lgpl.c: New file.
60822
60823         * modules/c-strcase-tests: New file.
60824         * tests/test-c-strcase.sh: New file.
60825         * tests/test-c-strcasecmp.c: New file.
60826         * tests/test-c-strncasecmp.c: New file.
60827
60828         * modules/atexit-tests: New file.
60829         * tests/test-atexit.sh: New file.
60830         * tests/test-atexit.c: New file.
60831
60832 2007-03-10  Bruno Haible  <bruno@clisp.org>
60833
60834         * tests/test-binary-io.sh: Use temporary filenames that are not so
60835         likely to clash with those of other tests (in a parallel make).
60836         * tests/test-binary-io.c: Likewise.
60837
60838 2007-03-10  Bruno Haible  <bruno@clisp.org>
60839
60840         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
60841         fallback; use #error instead.
60842         Suggested by Simon Josefsson.
60843
60844 2007-03-10  Bruno Haible  <bruno@clisp.org>
60845
60846         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
60847         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
60848         first and the last.
60849
60850 2007-03-10  Bruno Haible  <bruno@clisp.org>
60851
60852         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
60853
60854 2007-03-10  Bruno Haible  <bruno@clisp.org>
60855
60856         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
60857         "make distcheck".
60858         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
60859         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
60860         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
60861
60862 2007-03-10  Bruno Haible  <bruno@clisp.org>
60863
60864         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
60865         variable.
60866         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
60867         variable.
60868
60869 2007-03-09  Eric Blake  <ebb9@byu.net>
60870         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
60871
60872         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
60873         types are not being provided by gnulib.
60874         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
60875         types are supported.
60876
60877 2007-03-10  Bruno Haible  <bruno@clisp.org>
60878
60879         * lib/stdio_.h (__attribute__): New macro.
60880         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
60881         vsprintf): Specify __attribute__ __format__ for GCC.
60882         Suggested by Eric Blake.
60883
60884 2007-03-09  Bruno Haible  <bruno@clisp.org>
60885
60886         * modules/printf-posix-tests: New file.
60887         * tests/test-printf-posix.sh: New file.
60888         * tests/test-printf-posix.c: New file.
60889
60890         * modules/printf-posix: New file.
60891         * lib/printf.c: New file.
60892         * m4/printf-posix-rpl.m4: New file.
60893         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
60894         REPLACE_PRINTF.
60895         * lib/stdio_.h (printf): New declaration.
60896         (format, __format__, ____printf____, ____scanf____, ____strftime____,
60897         ____strfmon____): New macros.
60898         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
60899         REPLACE_PRINTF.
60900
60901 2007-03-09  Bruno Haible  <bruno@clisp.org>
60902
60903         * tests/test-vasnprintf-posix2.sh: New file.
60904         * tests/test-vasnprintf-posix2.c: New file.
60905         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
60906         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
60907         (Makefile.am): Activate test-vasnprintf-posix2.sh.
60908
60909         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
60910         a locale dependent decimal point, rather than always '.'.
60911
60912 2007-03-09  Eric Blake  <ebb9@byu.net>
60913
60914         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
60915         spite of platforms like Tandem/NSK that define it to -1.
60916
60917 2007-03-08  Bruno Haible  <bruno@clisp.org>
60918
60919         * modules/vprintf-posix-tests: New file.
60920         * tests/test-vprintf-posix.sh: New file.
60921         * tests/test-vprintf-posix.c: New file.
60922         * tests/test-printf-posix.h: New file.
60923
60924         * modules/vprintf-posix: New file.
60925         * lib/vprintf.c: New file.
60926         * m4/vprintf-posix.m4: New file.
60927         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
60928         REPLACE_VPRINTF.
60929         * lib/stdio_.h (vprintf): New declaration.
60930         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
60931         REPLACE_VPRINTF.
60932
60933 2007-03-08  Bruno Haible  <bruno@clisp.org>
60934
60935         * modules/fprintf-posix-tests: New file.
60936         * tests/test-fprintf-posix.sh: New file.
60937         * tests/test-fprintf-posix.c: New file.
60938
60939         * modules/fprintf-posix: New file.
60940         * lib/fprintf.c: New file.
60941         * m4/fprintf-posix.m4: New file.
60942         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
60943         REPLACE_FPRINTF.
60944         * lib/stdio_.h (fprintf): New declaration.
60945         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
60946         REPLACE_FPRINTF.
60947
60948 2007-03-08  Bruno Haible  <bruno@clisp.org>
60949
60950         * modules/vfprintf-posix-tests: New file.
60951         * tests/test-vfprintf-posix.sh: New file.
60952         * tests/test-vfprintf-posix.c: New file.
60953         * tests/test-fprintf-posix.h: New file.
60954         * tests/test-fprintf-posix.out: New file.
60955
60956         * modules/vfprintf-posix: New file.
60957         * lib/vfprintf.c: New file.
60958         * m4/vfprintf-posix.m4: New file.
60959         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
60960         REPLACE_VFPRINTF.
60961         * lib/stdio_.h (vfprintf): New declaration.
60962         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
60963         REPLACE_VFPRINTF.
60964
60965 2007-03-08  Bruno Haible  <bruno@clisp.org>
60966
60967         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
60968
60969 2007-03-08  Bruno Haible  <bruno@clisp.org>
60970
60971         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
60972         instead of 'expr' invocations.
60973         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
60974         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
60975         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
60976         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
60977         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
60978         Suggested by Paul Eggert.
60979
60980 2007-03-08  Bruno Haible  <bruno@clisp.org>
60981
60982         * modules/fseterr-tests: New file.
60983         * tests/test-fseterr.c: New file.
60984
60985         * modules/fseterr: New file.
60986         * lib/fseterr.h: New file.
60987         * lib/fseterr.c: New file.
60988
60989 2007-03-08  Bruno Haible  <bruno@clisp.org>
60990
60991         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
60992         * lib/getopt_.h: Likewise.
60993         * lib/mbswidth.h: Likewise.
60994         * lib/setenv.h: Likewise.
60995         * lib/vasnprintf.h: Likewise.
60996         * lib/vasprintf.h: Likewise.
60997         * lib/verror.h: Likewise.
60998         * lib/xsetenv.h: Likewise.
60999         * lib/xvasprintf.h: Likewise.
61000
61001 2007-03-08  Jim Meyering  <jim@meyering.net>
61002
61003         * users.txt: Add parted.
61004
61005         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
61006
61007 2007-03-07  Bruno Haible  <bruno@clisp.org>
61008
61009         * m4/printf.m4: Make the shell script snippets copy&pastable.
61010
61011 2007-03-02  Bruno Haible  <bruno@clisp.org>
61012
61013         * lib/netinet_in_.h: New file.
61014         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
61015         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
61016         * modules/netinet_in (Files): Add lib/netinet_in_.h.
61017         (Depends-on): Add absolute-header.
61018         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
61019         into netinet/in.h.
61020
61021 2007-03-03  Bruno Haible  <bruno@clisp.org>
61022
61023         * lib/sys_select_.h: New file.
61024         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
61025         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
61026         * modules/sys_select (Files): Add lib/sys_select_.h.
61027         (Depends-on): Add absolute-header.
61028         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
61029         into sys/select.h.
61030
61031 2007-03-02  Bruno Haible  <bruno@clisp.org>
61032
61033         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
61034         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
61035         values.
61036         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
61037         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
61038         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
61039         * modules/sys_socket (Depends-on): Add absolute-header.
61040         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
61041         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
61042         (Include): Remove requirement of inclusion of <sys/types.h>.
61043
61044 2007-03-02  Bruno Haible  <bruno@clisp.org>
61045
61046         * lib/byteswap_.h (bswap_32): Fix formula.
61047
61048 2007-03-06  Bruno Haible  <bruno@clisp.org>
61049
61050         * modules/sprintf-posix-tests: New file.
61051         * tests/test-sprintf-posix.c: New file.
61052
61053         * modules/sprintf-posix: New file.
61054         * lib/sprintf.c: New file.
61055         * m4/sprintf-posix.m4: New file.
61056         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
61057         REPLACE_SPRINTF.
61058         * lib/stdio_.h (sprintf): New declaration.
61059         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
61060         REPLACE_SPRINTF.
61061
61062 2007-03-06  Bruno Haible  <bruno@clisp.org>
61063
61064         * modules/vsprintf-posix-tests: New file.
61065         * tests/test-vsprintf-posix.c: New file.
61066         * tests/test-sprintf-posix.h: New file.
61067
61068         * modules/vsprintf-posix: New file.
61069         * lib/vsprintf.c: New file.
61070         * m4/vsprintf-posix.m4: New file.
61071         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
61072         REPLACE_VSPRINTF.
61073         * lib/stdio_.h (vsprintf): New declaration.
61074         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
61075         REPLACE_VSPRINTF.
61076
61077 2007-03-06  Bruno Haible  <bruno@clisp.org>
61078
61079         * modules/vsnprintf (Depend-on): Remove minmax.
61080
61081 2007-03-06  Bruno Haible  <bruno@clisp.org>
61082
61083         * modules/snprintf-posix-tests: New file.
61084         * tests/test-snprintf-posix.c: New file.
61085
61086         * modules/snprintf-posix: New file.
61087         * m4/snprintf-posix.m4: New file.
61088         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
61089         gl_FUNC_SNPRINTF.
61090         (gl_FUNC_SNPRINTF): Invoke it.
61091         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
61092         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
61093         is set.
61094         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
61095
61096 2007-03-06  Bruno Haible  <bruno@clisp.org>
61097
61098         * modules/vsnprintf-posix-tests: New file.
61099         * tests/test-vsnprintf-posix.c: New file.
61100         * tests/test-snprintf-posix.h: New file.
61101
61102         * modules/vsnprintf-posix: New file.
61103         * m4/vsnprintf-posix.m4: New file.
61104         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
61105         gl_FUNC_VSNPRINTF.
61106         (gl_FUNC_VSNPRINTF): Invoke it.
61107         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
61108         * lib/stdio_.h (vsnprintf): Define as a replacement if
61109         REPLACE_VSNPRINTF is set.
61110         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
61111
61112 2007-03-06  Bruno Haible  <bruno@clisp.org>
61113
61114         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
61115         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
61116
61117 2007-03-06  Bruno Haible  <bruno@clisp.org>
61118
61119         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
61120         (asinl): Declare also if HAVE_DECL_ASINL is set.
61121         (atanl): Declare also if HAVE_DECL_ATANL is set.
61122         (ceill): Declare also if HAVE_DECL_CEILL is set.
61123         (cosl): Declare also if HAVE_DECL_COSL is set.
61124         (expl): Declare also if HAVE_DECL_EXPL is set.
61125         (floorl): Declare also if HAVE_DECL_FLOORL is set.
61126         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
61127         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
61128         (logl): Declare also if HAVE_DECL_LOGL is set.
61129         (sinl): Declare also if HAVE_DECL_SINL is set.
61130         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
61131         (tanl): Declare also if HAVE_DECL_TANL is set.
61132         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
61133         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
61134         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
61135         declaration of frexpl, ldexpl.
61136         * modules/printf-frexpl (Depends-on): Add math.
61137         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
61138
61139 2007-03-05  Bruno Haible  <bruno@clisp.org>
61140
61141         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
61142         frexpl and ldexpl are declared.
61143         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
61144
61145 2007-03-05  Bruno Haible  <bruno@clisp.org>
61146
61147         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
61148         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
61149
61150 2007-03-05  Bruno Haible  <bruno@clisp.org>
61151
61152         * lib/stdio_.h: Include <stddef.h>.
61153
61154 2007-03-05  Bruno Haible  <bruno@clisp.org>
61155
61156         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
61157
61158 2007-03-05  Bruno Haible  <bruno@clisp.org>
61159
61160         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
61161         NetBSD 4, from Ralf Wildenhues.
61162
61163 2007-03-04  Bruno Haible  <bruno@clisp.org>
61164
61165         * lib/vasprintf.h: Update #if logic for the case when the functions
61166         exist but are overridden.
61167
61168 2007-03-04  Bruno Haible  <bruno@clisp.org>
61169
61170         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
61171         implementations: glibc-2.4 and MacOS X 10.3.
61172         * tests/test-vasnprintf-posix.c (test_function): Test also the case
61173         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
61174         * tests/test-vasprintf-posix.c (test_function): Likewise.
61175
61176 2007-03-04  Bruno Haible  <bruno@clisp.org>
61177
61178         * modules/vasprintf-posix-tests: New file.
61179         * tests/test-vasprintf-posix.c: New file.
61180
61181         * modules/vasprintf-posix: New file.
61182         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
61183         defined.
61184         * m4/vasprintf-posix.m4: New file.
61185         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
61186         gl_FUNC_VASPRINTF.
61187         (gl_FUNC_VASPRINTF): Invoke it.
61188         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
61189         here.
61190         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
61191
61192 2007-03-04  Bruno Haible  <bruno@clisp.org>
61193
61194         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
61195         REPLACE_GETTIMEOFDAY.
61196         * modules/sys_time (Makefile.am): Likewise.
61197         * m4/sys_time_h.m4: Likewise.
61198         * m4/gettimeofday.m4: Likewise.
61199
61200 2007-03-04  Bruno Haible  <bruno@clisp.org>
61201
61202         * modules/vasnprintf-posix-tests: New file.
61203         * tests/test-vasnprintf-posix.c: New file.
61204
61205         * modules/vasnprintf-posix: New file.
61206         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
61207         printf-frexpl.h.
61208         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
61209         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
61210         REPLACE_VASNPRINTF is defined.
61211         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
61212         gl_FUNC_VASNPRINTF.
61213         (gl_FUNC_VASNPRINTF): Invoke it.
61214         * m4/vasnprintf-posix.m4: New file.
61215         * m4/printf.m4: New file.
61216
61217 2007-03-04  Bruno Haible  <bruno@clisp.org>
61218
61219         Compile progreloc.c only if --enable-relocatable is specified.
61220         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
61221         if --enable-relocatable was specified.
61222         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
61223         lib_SOURCES.
61224
61225 2007-03-04  Jim Meyering  <jim@meyering.net>
61226
61227         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
61228         Use it consistently, rather than enumerating errno constants.
61229
61230 2007-03-04  Bruno Haible  <bruno@clisp.org>
61231
61232         * modules/xvasprintf-tests: New file.
61233         * tests/test-xvasprintf.c: New file.
61234
61235         * modules/vasprintf-tests: New file.
61236         * tests/test-vasprintf.c: New file.
61237
61238         * modules/vasnprintf-tests: New file.
61239         * tests/test-vasnprintf.c: New file.
61240
61241         * modules/vsnprintf-tests: New file.
61242         * tests/test-vsnprintf.c: New file.
61243
61244         * modules/snprintf-tests: New file.
61245         * tests/test-snprintf.c: New file.
61246
61247 2007-03-04  Bruno Haible  <bruno@clisp.org>
61248
61249         Compile relocatable.c only if --enable-relocatable is specified.
61250         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
61251         gl_RELOCATABLE_LIBRARY.
61252         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
61253         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
61254         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
61255         gl_RELOCATABLE_LIBRARY.
61256         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
61257         (Makefile.am): Remove lib_SOURCES.
61258         * modules/relocatable-lib-lgpl (configure.ac): Invoke
61259         gl_RELOCATABLE_LIBRARY.
61260         (Makefile.am): Remove lib_SOURCES.
61261         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
61262         always.
61263         * modules/relocatable-prog-wrapper (configure.ac): Invoke
61264         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
61265
61266 2007-03-04  Bruno Haible  <bruno@clisp.org>
61267
61268         * modules/argmatch-tests: New file.
61269         * tests/test-argmatch.c: New file.
61270
61271         * tests/test-allocsa.c (main): Halve the number of loop runs.
61272
61273         * modules/alloca-opt-tests: New file.
61274         * tests/test-alloca-opt.c: New file.
61275
61276 2007-03-04  Jim Meyering  <jim@meyering.net>
61277
61278         Work around difference between Linux ACLs and Solaris 10 ZFS.
61279         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
61280         for EINVAL.
61281
61282 2007-03-03  Bruno Haible  <bruno@clisp.org>
61283
61284         * modules/relocatable-prog (Depends-on): Add back progreloc's
61285         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
61286
61287 2007-03-03  Bruno Haible  <bruno@clisp.org>
61288
61289         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
61290         * modules/relocatable-lib: New file.
61291
61292 2007-03-03  Bruno Haible  <bruno@clisp.org>
61293
61294         * modules/relocatable-prog: Renamed from modules/relocatable.
61295         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
61296
61297 2007-03-03  Bruno Haible  <bruno@clisp.org>
61298
61299         * modules/relocatable-script (Files): Add doc/relocatable.texi,
61300         m4/relocatable-lib.m4.
61301         (Depends-on): Remove 'relocatable'.
61302         (configure.ac): Add gl_RELOCATABLE_NOP.
61303
61304 2007-03-03  Bruno Haible  <bruno@clisp.org>
61305
61306         * modules/relocatable-prog-wrapper: New file.
61307         * modules/relocatable (Depends-on): Add it. Remove all other
61308         dependencies except progname.
61309         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
61310
61311         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
61312         (gl_FUNC_STRERROR): Nop.
61313         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
61314
61315         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
61316         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
61317
61318         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
61319         (gl_FUNC_READLINK): Update.
61320
61321         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
61322
61323 2007-03-03  Bruno Haible  <bruno@clisp.org>
61324
61325         * lib/xreadlink.c: Include <unistd.h> unconditionally.
61326         * modules/xreadlink (Depends-on): Add unistd.
61327         * modules/xreadlink-with-size (Depends-on): Likewise.
61328
61329 2007-03-03  Bruno Haible  <bruno@clisp.org>
61330
61331         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
61332         extracted from gt_FUNC_SETENV.
61333         (gt_FUNC_SETENV): Remove macro.
61334         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
61335         remove gt_FUNC_SETENV.
61336
61337 2007-03-03  Bruno Haible  <bruno@clisp.org>
61338
61339         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
61340         ENABLE_RELOCATABLE here.
61341         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
61342
61343 2007-03-03  Bruno Haible  <bruno@clisp.org>
61344
61345         * modules/rbtreehash-list-tests (Depends-on): Add progname.
61346         * tests/test-rbtreehash_list.c: Include progname.h.
61347         (main): Call set_program_name.
61348
61349         * modules/rbtree-oset-tests (Depends-on): Add progname.
61350         * tests/test-rbtree_oset.c: Include progname.h.
61351         (main): Call set_program_name.
61352
61353         * modules/rbtree-list-tests (Depends-on): Add progname.
61354         * tests/test-rbtree_list.c: Include progname.h.
61355         (main): Call set_program_name.
61356
61357         * modules/linked-list-tests (Depends-on): Add progname.
61358         * tests/test-linked_list.c: Include progname.h.
61359         (main): Call set_program_name.
61360
61361 2007-03-03  Bruno Haible  <bruno@clisp.org>
61362
61363         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
61364         All uses of __restrict changed to _Restrict_.
61365         * lib/glob_.h (__restrict): Remove macro.
61366
61367 2007-03-02  Bruno Haible  <bruno@clisp.org>
61368
61369         * modules/gettext (configure.ac): Require gettext infrastructure
61370         from version 0.16.1.
61371
61372 2007-03-02  Bruno Haible  <bruno@clisp.org>
61373
61374         * modules/linkedhash-list-tests (Depends-on): Add progname.
61375         * tests/test-linkedhash_list.c: Include progname.h.
61376         (main): Call set_program_name.
61377
61378         * modules/carray-list-tests (Depends-on): Add progname.
61379         * tests/test-carray_list.c: Include progname.h.
61380         (main): Call set_program_name.
61381
61382         * modules/avltreehash-list-tests (Depends-on): Add progname.
61383         * tests/test-avltreehash_list.c: Include progname.h.
61384         (main): Call set_program_name.
61385
61386         * modules/avltree-oset-tests (Depends-on): Add progname.
61387         * tests/test-avltree_oset.c: Include progname.h.
61388         (main): Call set_program_name.
61389
61390         * modules/avltree-list-tests (Depends-on): Add progname.
61391         * tests/test-avltree_list.c: Include progname.h.
61392         (main): Call set_program_name.
61393
61394         * modules/array-oset-tests (Depends-on): Add progname.
61395         * tests/test-array_oset.c: Include progname.h.
61396         (main): Call set_program_name.
61397
61398         * modules/array-list-tests (Depends-on): Add progname.
61399         * tests/test-array_list.c: Include progname.h.
61400         (main): Call set_program_name.
61401
61402         * modules/argp-tests (Depends-on): Add progname.
61403         * tests/test-argp.c: Include argp.h first. Include progname.h.
61404         (main): Call set_program_name.
61405
61406 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
61407
61408         * doc/gnulib-tool.texi (Initial import): Reword description of
61409         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
61410         limited effect even if defined after the first system include.
61411
61412 2007-03-01  Bruno Haible  <bruno@clisp.org>
61413
61414         * build-aux/config.libpath: Update to libtool-1.5.22.
61415         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
61416
61417 2007-03-01  Bruno Haible  <bruno@clisp.org>
61418
61419         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
61420         foo_CFLAGS.
61421         Reported by Ralf Wildenhues.
61422
61423 2007-03-01  Bruno Haible  <bruno@clisp.org>
61424
61425         * build-aux/install-reloc: Remove object files left over by some
61426         compilers.
61427         Reported by Ralf Wildenhues.
61428
61429 2007-03-01  Bruno Haible  <bruno@clisp.org>
61430
61431         * build-aux/install-reloc: Break long lines.
61432
61433 2007-03-01  Bruno Haible  <bruno@clisp.org>
61434
61435         * doc/relocatable.texi: Document that it may not work on OpenBSD.
61436         Reported by Ralf Wildenhues.
61437
61438 2007-03-01  Bruno Haible  <bruno@clisp.org>
61439
61440         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
61441         include ordering constraints.
61442
61443 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
61444
61445         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
61446         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
61447         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
61448         as another example.
61449         * lib/time_.h: Fix misspelling.
61450         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
61451         Require gl_HEADER_TIME_H_DEFAULTS.
61452         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
61453         * m4/time_r.m4 (gl_TIME_R): Likewise.
61454         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
61455
61456 2007-03-01  Bruno Haible  <bruno@clisp.org>
61457
61458         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
61459         * m4/utimens.m4 (gl_UTIMENS): Likewise.
61460
61461 2007-03-01  Jim Meyering  <jim@meyering.net>
61462
61463         * modules/xreadlink (Maintainer): Add my name.
61464         * modules/xreadlink-with-size (Depends-on): Alphabetize.
61465
61466 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
61467             Bruno Haible  <bruno@clisp.org>
61468
61469         * build-aux/install-reloc: Compile also c-ctype.c.
61470         * build-aux/relocatable.sh.in: New file.
61471         * doc/relocatable.texi: New file.
61472         * doc/relocatable-maint.texi: New file.
61473         * doc/gnulib.texi: Include relocatable-maint.texi.
61474         * lib/progreloc.c: Include unistd.h unconditionally.
61475         * lib/relocwrapper.c: Include unistd.h unconditionally.
61476         Include c-ctype.h.
61477         (add_dotbin): Use c_tolower.
61478         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
61479         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
61480         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
61481         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
61482         to m4/relocatable-lib.m4.
61483         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
61484         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
61485         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
61486         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
61487         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
61488         * modules/relocatable: New file.
61489         * modules/relocatable-lib: New file.
61490         * modules/relocatable-script: New file.
61491
61492 2007-02-28  Bruno Haible  <bruno@clisp.org>
61493
61494         Import --enable-relocatable infrastructure.
61495         * build-aux/config.libpath: New file, from GNU gettext.
61496         * build-aux/install-reloc: New file, from GNU gettext.
61497         * build-aux/reloc-ldflags: New file, from GNU gettext.
61498         * lib/relocatable.h: New file, from GNU gettext.
61499         * lib/relocatable.c: New file, from GNU gettext.
61500         * lib/relocwrapper.c: New file, from GNU gettext.
61501         * m4/relocatable.m4: New file, from GNU gettext.
61502
61503 2007-02-28  Bruno Haible  <bruno@clisp.org>
61504
61505         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
61506
61507         * modules/xreadlink: New file, from GNU gettext with modifications.
61508         * lib/xreadlink.c: New file, from GNU gettext.
61509         * lib/xreadlink.h: Add comments.
61510         (xreadlink): New declaration.
61511
61512         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
61513         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
61514         lib/xreadlink-with-size.c.
61515         (configure.ac): Remove gl_XREADLINK invocation.
61516         (Makefile.am): Augment lib_SOURCES.
61517         * m4/xreadlink.m4: Remove file.
61518         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
61519         (xreadlink_with_size): Renamed from xreadink.
61520         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
61521         * modules/canonicalize (Depends-on): Replace xreadlink with
61522         xreadlink-with-size.
61523         * lib/canonicalize.c (canonicalize_filename_mode): Update.
61524
61525 2007-02-25  Jim Meyering  <jim@meyering.net>
61526
61527         * build-aux/announce-gen: When complaining about excess arguments,
61528         list them.
61529
61530 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
61531
61532         * README: Document signed integer overflow situation more
61533         accurately.
61534
61535 2007-02-25  Bruno Haible  <bruno@clisp.org>
61536
61537         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
61538         'a' or 'A' conversion.
61539
61540 2007-02-25  Bruno Haible  <bruno@clisp.org>
61541
61542         * modules/filename: Renamed from modules/pathname.
61543         (Files): Replace lib/pathname.h with lib/filename.h. Replace
61544         lib/concatpath.c with lib/concat-filename.c.
61545         (Makefile.am): Update.
61546         (Include): Replace pathname.h with filename.h.
61547         * lib/filename.h: Renamed from lib/pathname.h.
61548         (concatenated_filename): Renamed from concatenated_pathname.
61549         * lib/concat-filename.c: Renamed from lib/concatpath.c.
61550         (concatenated_filename): Renamed from concatenated_pathname.
61551         * lib/findprog.c: Include filename.h instead of pathname.h.
61552         (find_in_path): Update.
61553         * lib/javacomp.c: Include filename.h instead of pathname.h.
61554         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
61555         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
61556         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
61557         is_oldgcj_14_13_usable, is_javac_usable): Update.
61558         * lib/javaexec.c: Include filename.h instead of pathname.h.
61559         (execute_java_class): Update.
61560         * modules/findprog: Update.
61561         * modules/javacomp: Update.
61562         * modules/javaexec: Update.
61563         * MODULES.html.sh (File system functions): Add 'filename', remove
61564         'pathname'.
61565
61566 2007-02-25  Bruno Haible  <bruno@clisp.org>
61567
61568         * modules/printf-frexpl-tests: New file.
61569         * tests/test-printf-frexpl.c: New file.
61570
61571         * modules/printf-frexpl: New file.
61572         * lib/printf-frexpl.h: New file.
61573         * lib/printf-frexpl.c: New file.
61574         * m4/printf-frexpl.m4: New file.
61575
61576 2007-02-25  Bruno Haible  <bruno@clisp.org>
61577
61578         * modules/printf-frexp-tests: New file.
61579         * tests/test-printf-frexp.c: New file.
61580
61581         * modules/printf-frexp: New file.
61582         * lib/printf-frexp.h: New file.
61583         * lib/printf-frexp.c: New file.
61584         * m4/printf-frexp.m4: New file.
61585
61586 2007-02-25  Bruno Haible  <bruno@clisp.org>
61587
61588         Assume automake >= 1.10 for the tests.
61589         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
61590         * modules/arctwo-tests: Likewise.
61591         * modules/argp-tests: Likewise.
61592         * modules/avltree-list-tests: Likewise.
61593         * modules/avltree-oset-tests: Likewise.
61594         * modules/avltreehash-list-tests: Likewise.
61595         * modules/carray-list-tests: Likewise.
61596         * modules/crc-tests: Likewise.
61597         * modules/des-tests: Likewise.
61598         * modules/gc-arcfour-tests: Likewise.
61599         * modules/gc-arctwo-tests: Likewise.
61600         * modules/gc-des-tests: Likewise.
61601         * modules/gc-hmac-md5-tests: Likewise.
61602         * modules/gc-hmac-sha1-tests: Likewise.
61603         * modules/gc-md2-tests: Likewise.
61604         * modules/gc-md4-tests: Likewise.
61605         * modules/gc-md5-tests: Likewise.
61606         * modules/gc-pbkdf2-sha1-tests: Likewise.
61607         * modules/gc-rijndael-tests: Likewise.
61608         * modules/gc-sha1-tests: Likewise.
61609         * modules/gc-tests: Likewise.
61610         * modules/getaddrinfo-tests: Likewise.
61611         * modules/hmac-md5-tests: Likewise.
61612         * modules/hmac-sha1-tests: Likewise.
61613         * modules/linked-list-tests: Likewise.
61614         * modules/linkedhash-list-tests: Likewise.
61615         * modules/lock-tests: Likewise.
61616         * modules/md2-tests: Likewise.
61617         * modules/md4-tests: Likewise.
61618         * modules/md5-tests: Likewise.
61619         * modules/rbtree-list-tests: Likewise.
61620         * modules/rbtree-oset-tests: Likewise.
61621         * modules/rbtreehash-list-tests: Likewise.
61622         * modules/read-file-tests: Likewise.
61623         * modules/rijndael-tests: Likewise.
61624         * modules/stdint-tests: Likewise.
61625         * modules/tls-tests: Likewise.
61626
61627 2007-02-24  Bruno Haible  <bruno@clisp.org>
61628
61629         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
61630         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
61631         function; instead check whether isnan with a double argument links.
61632         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
61633         function; instead check whether isnan with a 'long double' argument
61634         links.
61635         Reported by Eric Blake <ebb9@byu.net>.
61636
61637 2007-02-24  Bruno Haible  <bruno@clisp.org>
61638
61639         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
61640         defined.
61641         * lib/isnanl.c: Remove all code. Just include isnan.c.
61642         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
61643
61644 2007-02-25  Jim Meyering  <jim@meyering.net>
61645
61646         Avoid conflicting types for 'unsetenv' on FreeBSD.
61647         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
61648         conflicting with FreeBSD's (5.0 and 6.1) function declaration
61649         in stdlib.h.
61650
61651 2007-02-24  Bruno Haible  <bruno@clisp.org>
61652
61653         * modules/isnanl-nolibm-tests: New file.
61654         * tests/test-isnanl.c: New file.
61655
61656         * modules/isnanl-nolibm: New file.
61657         * lib/isnanl.h: New file.
61658         * lib/isnanl.c: New file.
61659         * m4/isnanl.m4: New file.
61660
61661 2007-02-24  Bruno Haible  <bruno@clisp.org>
61662
61663         * modules/isnan-nolibm-tests: New file.
61664         * tests/test-isnan.c: New file.
61665
61666         * modules/isnan-nolibm: New file.
61667         * lib/isnan.h: New file.
61668         * lib/isnan.c: New file.
61669         * m4/isnan.m4: New file.
61670
61671 2007-02-24  Bruno Haible  <bruno@clisp.org>
61672
61673         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
61674         assume that an exponent fits in 20 bits.
61675
61676 2007-02-24  Jim Meyering  <jim@meyering.net>
61677
61678         * m4/regex.m4: Update the description of the configure-time option,
61679         --without-included-regex, to state accurately what the defaults are,
61680         and perhaps to give people an idea why using this option is risky.
61681
61682 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
61683
61684         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
61685         loops on small arguments.  This attempts to avoid the problem
61686         Bruno Haible reported for AIX 4.3.2 in
61687         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
61688
61689 2007-02-23  Bruno Haible  <bruno@clisp.org>
61690
61691         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
61692         Needed for help2man.
61693
61694 2007-02-23  Karl Berry  <karl@gnu.org>
61695
61696         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
61697         exists, foo.h should be cvs-ignored, not committed.
61698
61699 2007-02-23  Eric Blake  <ebb9@byu.net>
61700
61701         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
61702         * lib/stat-time.h (includes): Likewise.
61703         * lib/utimecmp.c (includes): Likewise.
61704         * lib/utimens.h (includes): Likewise.
61705         * lib/getdate.y (includes): Also include "timespec.h" for use
61706         internal to the module.
61707         * modules/utimens (Depends-on): Revert yesterday's patch.
61708         * modules/nanosleep (Depends-on): Add missing dependency.
61709
61710 2007-02-22  Bruno Haible  <bruno@clisp.org>
61711
61712         * lib/glob.c: Don't include getlogin_r.h.
61713
61714 2007-02-22  Jim Meyering  <jim@meyering.net>
61715
61716         * modules/utimens (Depends-on): Add timespec, required for
61717         utimens.h's inclusion of timespec.h.
61718
61719 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
61720
61721         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
61722         long unreadable paths in GNU/Linux.  Problem reported by Andreas
61723         Schwab in
61724         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
61725         I'll try to think of a better way to fix the Solaris problem.
61726
61727         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
61728         like glibc; on Solaris 10, it fails with errno == EINVAL.
61729         POSIX says the behavior is unspecified if the first argument is NULL,
61730         so play it safe and never pass NULL to the system getcwd.
61731
61732 2007-02-21  Jim Meyering  <jim@meyering.net>
61733
61734         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
61735         of gettimeofday.  It would conflict with the one now always
61736         provided via sys_time_.h.  Reported by Matthew Woehlke, as
61737         an IRIX 6.5 build failure.
61738
61739 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
61740
61741         Minor fixups to port to Solaris 10 with Sun C 5.8.
61742         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
61743         * modules/getcwd (Depends-on): Add dirfd.
61744         * lib/putenv.c (putenv): #undef it.
61745         (rpl_putenv): New decl.
61746         (malloc, free): Include <stdlib.h> rather than prototyping separately.
61747
61748 2007-02-20  Bruno Haible  <bruno@clisp.org>
61749
61750         * modules/stdio-tests: New file.
61751         * tests/test-stdio.c: New file.
61752
61753         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
61754         (Depends-on): Add stdio.
61755         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
61756         (Include): Use <stdio.h> instead of vsnprintf.h.
61757         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
61758         HAVE_DECL_VSNPRINTF.
61759         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
61760
61761         * modules/snprintf (Files): Remove lib/snprintf.h.
61762         (Depends-on): Add stdio.
61763         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
61764         (Include): Use <stdio.h> instead of snprintf.h.
61765         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
61766         HAVE_DECL_SNPRINTF.
61767         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
61768         * lib/getaddrinfo.c: Likewise.
61769
61770         * modules/stdio: New file.
61771         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
61772         * lib/snprintf.h: Remove file.
61773         * lib/vsnprintf.h: Remove file.
61774         * lib/.cppi-disable: Remove snprintf.h.
61775         * m4/stdio_h.m4: New file.
61776         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
61777
61778 2007-02-20  Jim Meyering  <jim@meyering.net>
61779
61780         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
61781         used by e.g., mingw.  From Bruno Haible.
61782
61783 2007-02-19  Bruno Haible  <bruno@clisp.org>
61784
61785         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
61786         warnings.
61787         Reported by Ben Pfaff <blp@cs.stanford.edu>.
61788
61789 2007-02-19  Bruno Haible  <bruno@clisp.org>
61790
61791         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
61792         from mingw users.
61793
61794 2007-02-19  Bruno Haible  <bruno@clisp.org>
61795
61796         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
61797         warnings.
61798         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
61799
61800 2007-02-19  Jim Meyering  <jim@meyering.net>
61801
61802         Don't use FD after a successful "fdopendir (fd)".
61803         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
61804         Reset it by calling dirfd on the just-obtained DIR*.
61805
61806         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
61807         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
61808
61809 2007-02-18  Bruno Haible  <bruno@clisp.org>
61810
61811         * lib/readlink.c: Include <unistd.h>.
61812         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
61813         HAVE_READLINK.
61814         * modules/readlink (Depends-on): Add unistd.
61815         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
61816         (Include): Add <unistd.h>.
61817
61818         * lib/getlogin_r.h: Remove file.
61819         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
61820         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
61821         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
61822         HAVE_DECL_GETLOGIN_R.
61823         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
61824         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
61825         (Include): Use <unistd.h> instead of getlogin_r.h.
61826
61827         * lib/getcwd.h: Remove file.
61828         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
61829         * lib/xgetcwd.c: Likewise.
61830         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
61831         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
61832         * modules/getcwd (Files): Remove lib/getcwd.h.
61833         (Depends-on): Add unistd.
61834         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
61835         (Include): Use <unistd.h> instad of getcwd.h.
61836
61837         * lib/ftruncate.c: Include <unistd.h> first.
61838         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
61839         Set HAVE_FTRUNCATE.
61840         * modules/ftruncate (Depends-on): Add unistd.
61841         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
61842
61843         * lib/fchdir.c: Include <unistd.h> first.
61844         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
61845         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
61846         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
61847         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
61848         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
61849
61850         * lib/dup2.c: Include <unistd.h> first.
61851         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
61852         HAVE_DUP2.
61853         * modules/dup2 (Depends-on): Add unistd.
61854         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
61855
61856         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
61857         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
61858         REPLACE_CHOWN. Don't define chown as a macro here.
61859         * modules/chown (Depends-on): Add unistd.
61860         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
61861
61862         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
61863         Add definition for GL_LINK_WARNING.
61864         (chown, dup2): New declarations.
61865         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
61866         link warning.
61867         (ftruncate): New declaration.
61868         (getcwd): New declaration, taken from old getcwd.h.
61869         (getlogin_r): New declaration, taken from old getlogin_r.h.
61870         (readlink): New declaration.
61871         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
61872         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
61873         (gl_PREREQ_UNISTD): Remove macro.
61874         (gl_UNISTD_MODULE_INDICATOR): New macro.
61875         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
61876         many new variables. Don't set UNISTD_H.
61877         * modules/unistd (Description): Change.
61878         (Depends-on): Add link-warning.
61879         (configure.ac): Update.
61880         (Makefile.am): Create unistd.h always. Substitute many new variables
61881         into it.
61882
61883 2007-02-18  Bruno Haible  <bruno@clisp.org>
61884
61885         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
61886         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
61887         HAVE_GETSUBOPT.
61888         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
61889         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
61890         * lib/getsubopt.h: Remove file.
61891         * modules/getsubopt (Files): Remove lib/getsubopt.h.
61892         (Depends-on): Add stdlib.
61893         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
61894         (Includes): Use <stdlib.h> instead of getsubopt.h.
61895         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
61896         Set HAVE_GETSUBOPT.
61897         * lib/getsubopt.c: Don't include getsubopt.h.
61898
61899 2007-02-18  Bruno Haible  <bruno@clisp.org>
61900
61901         * modules/fchdir (Depends-on): Add dup2.
61902
61903 2007-02-18  Bruno Haible  <bruno@clisp.org>
61904
61905         * lib/stdlib_.h: Handle glibc's special invocation convention
61906         specially.
61907
61908 2007-02-18  Bruno Haible  <bruno@clisp.org>
61909
61910         * modules/stdlib-tests: New file.
61911         * tests/test-stdlib.c: New file.
61912
61913         * modules/mkstemp (Files): Remove lib/mkstemp.h.
61914         (Depends-on): Add stdlib.
61915         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
61916         (Includes): Use <stdlib.h> instead of mkstemp.h.
61917         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
61918         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
61919         * lib/mkstemp.c: Don't include mkstemp.h.
61920         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
61921         * lib/stdlib--.h: Don't include mkstemp.h.
61922
61923         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
61924         (Depends-on): Add stdlib.
61925         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
61926         (Includes): Use <stdlib.h> instead of mkdtemp.h.
61927         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
61928         HAVE_MKDTEMP.
61929         * lib/mkdtemp.c: Don't include mkdtemp.h.
61930         * lib/clean-temp.c: Don't include mkdtemp.h.
61931
61932         * modules/exit (Files): Remove lib/exit.h.
61933         (Depends-on): Add stdlib.
61934         (Makefile.am): Remove lib_SOURCES.
61935         (Include): Use <stdlib.h> instead of exit.h.
61936         * lib/argmatch.c: Don't include exit.h.
61937         * lib/execute.c: Likewise.
61938         * lib/pagealign_alloc.c: Likewise.
61939         * lib/pipe.c: Likewise.
61940         * lib/wait-process.c: Likewise.
61941         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
61942         * lib/exitfail.c: Likewise.
61943         * lib/savewd.c: Likewise.
61944         * lib/xsetenv.c: Likewise.
61945
61946         * modules/stdlib: New file.
61947         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
61948         and extra comments about mkstemp().
61949         * lib/exit.h: Remove file.
61950         * lib/mkdtemp.h: Remove file.
61951         * lib/mkstemp.h: Remove file.
61952         * m4/stdlib_h.m4: New file.
61953         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
61954
61955 2007-02-18  Bruno Haible  <bruno@clisp.org>
61956
61957         * modules/math-tests: New file.
61958         * tests/test-math.c: New file.
61959
61960         * modules/math: New file.
61961         * modules/mathl (Files): Remove lib/mathl.h.
61962         (Depends-on): Add math.
61963         (Makefile.am): Don't mention mathl.h.
61964         (Include): Use <math.h> instead of mathl.h.
61965         * lib/math_.h: New file.
61966         * lib/mathl.h: Remove file.
61967         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
61968         mathl.h.
61969         * lib/asinl.c: Likewise.
61970         * lib/atanl.c: Likewise.
61971         * lib/ceill.c: Likewise.
61972         * lib/cosl.c: Likewise.
61973         * lib/expl.c: Likewise.
61974         * lib/floorl.c: Likewise.
61975         * lib/frexpl.c: Likewise.
61976         * lib/ldexpl.c: Likewise.
61977         * lib/logl.c: Likewise.
61978         * lib/sincosl.c: Likewise.
61979         * lib/sinl.c: Likewise.
61980         * lib/sqrtl.c: Likewise.
61981         * lib/tanl.c: Likewise.
61982         * lib/trigl.c: Likewise.
61983         * m4/math_h.m4: New file.
61984         * MODULES.html.sh (Mathematics): Add math.
61985
61986 2007-02-17  Bruno Haible  <bruno@clisp.org>
61987
61988         * modules/wctype-tests: New file.
61989         * tests/test-wctype.c: New file.
61990
61991         * modules/wchar-tests: New file.
61992         * tests/test-wchar.c: New file.
61993
61994         * modules/unistd-tests: New file.
61995         * tests/test-unistd.c: New file.
61996
61997         * modules/time-tests: New file.
61998         * tests/test-time.c: New file.
61999
62000         * modules/sysexits-tests: New file.
62001         * tests/test-sysexits.c: New file.
62002
62003         * modules/sys_time-tests: New file.
62004         * tests/test-sys_time.c: New file.
62005
62006         * modules/sys_stat-tests: New file.
62007         * tests/test-sys_stat.c: New file.
62008
62009         * modules/sys_socket-tests: New file.
62010         * tests/test-sys_socket.c: New file.
62011
62012         * modules/sys_select-tests: New file.
62013         * tests/test-sys_select.c: New file.
62014
62015         * modules/string-tests: New file.
62016         * tests/test-string.c: New file.
62017
62018         * modules/stdbool-tests: New file.
62019         * tests/test-stdbool.c: New file.
62020
62021         * modules/netinet_in-tests: New file.
62022         * tests/test-netinet_in.c: New file.
62023
62024         * modules/inttypes-tests: New file.
62025         * tests/test-inttypes.c: New file.
62026
62027         * modules/fcntl-tests: New file.
62028         * tests/test-fcntl.c: New file.
62029
62030         * modules/byteswap-tests: New file.
62031         * tests/test-byteswap.c: New file.
62032
62033         * modules/arpa_inet-tests: New file.
62034         * tests/test-arpa_inet.c: New file.
62035
62036 2007-02-17  Bruno Haible  <bruno@clisp.org>
62037
62038         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
62039         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
62040         if the corresponding module is not enabled. Emit link warnings if
62041         the function is used nevertheless.
62042         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
62043         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
62044         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
62045         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
62046         * modules/inttypes (Depends-on): Add link-warning.
62047         (Makefile.am): Copy the contents of build-aux/link-warning.h into
62048         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
62049         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
62050         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
62051         * modules/imaxdiv (configure.ac): Likewise.
62052         * modules/strtoimax (configure.ac): Likewise.
62053         * modules/strtoumax (configure.ac): Likewise.
62054
62055 2007-02-17  Bruno Haible  <bruno@clisp.org>
62056
62057         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
62058         gl_STRING_MODULE_INDICATOR_DEFAULTS.
62059         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
62060         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
62061
62062 2007-02-17  Bruno Haible  <bruno@clisp.org>
62063
62064         * modules/link-warning: New file.
62065         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
62066         * lib/string_.h (GL_LINK_WARNING): Remove definition.
62067         * modules/string (Depends-on): Add link-warning.
62068         (Makefile.am): Copy the contents of build-aux/link-warning.h into
62069         string.h.
62070         * MODULES.html.sh (Support for building libraries and executables): Add
62071         link-warning.
62072
62073 2007-02-17  Bruno Haible  <bruno@clisp.org>
62074
62075         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
62076         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
62077         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
62078         long lines.
62079
62080 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
62081             Bruno Haible  <bruno@clisp.org>
62082
62083         * modules/tmpfile: New file.
62084         * lib/tmpfile.c: New file.
62085         * m4/tmpfile.m4: New file.
62086         * MODULES.html.sh (func_all_modules): New section "Input/output".
62087
62088 2007-02-15  Bruno Haible  <bruno@clisp.org>
62089
62090         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
62091         (supports_delete_on_close): New function.
62092         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
62093
62094 2007-02-14  Bruno Haible  <bruno@clisp.org>
62095
62096         * modules/mbspcasecmp-tests: New file.
62097         * tests/test-mbspcasecmp.sh: New file.
62098         * tests/test-mbspcasecmp.c: New file.
62099
62100         New module mbspcasecmp.
62101         * modules/mbspcasecmp: New file.
62102         * lib/mbspcasecmp.c: New file.
62103         * lib/string_.h (strncasecmp): Change warning message.
62104         (mbspcasecmp): New declaration.
62105         * m4/mbspcasecmp.m4: New file.
62106         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62107         GNULIB_MBSPCASECMP.
62108         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
62109         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
62110
62111 2007-02-14  Bruno Haible  <bruno@clisp.org>
62112
62113         * modules/mbsncasecmp-tests: New file.
62114         * tests/test-mbsncasecmp.sh: New file.
62115         * tests/test-mbsncasecmp.c: New file.
62116
62117         New module mbsncasecmp.
62118         * modules/mbsncasecmp: New file.
62119         * lib/mbsncasecmp.c: New file.
62120         * lib/string_.h (mbsncasecmp): New declaration.
62121         * m4/mbsncasecmp.m4: New file.
62122         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62123         GNULIB_MBSNCASECMP.
62124         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
62125         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
62126
62127 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
62128
62129         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
62130         Verify that it doesn't overlap with our flags.
62131         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
62132         do not have the desired effect in multibyte locales; instead, use
62133         mbscasecmp.
62134         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
62135         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
62136         we don't require GNU fnmatch ourselves (if our users require it, they
62137         should do so explicitly).
62138
62139         Fix regex code so it doesn't rely on strcasecmp.
62140         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
62141         Otherwise, include gnulib's langinfo.h.
62142         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
62143         undesirable behavior in non-C locales.  Instead, rely on localecharset.
62144         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
62145         * modules/regex (FILES): Remove m4/codeset.m4.
62146         (Depends-on): Add localcharset.  Remove strcase.
62147
62148 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62149
62150         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
62151         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
62152
62153 2007-02-13  Bruno Haible  <bruno@clisp.org>
62154
62155         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
62156         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62157
62158 2007-02-12  Bruno Haible  <bruno@clisp.org>
62159
62160         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
62161         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
62162         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
62163         time warning rather than a link error.
62164
62165 2007-02-12  Bruno Haible  <bruno@clisp.org>
62166
62167         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
62168         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
62169         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62170
62171 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
62172
62173         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
62174         args, not 2.
62175
62176 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
62177
62178         New module 'time', so that apps can include <time.h> as per
62179         POSIX and GNU instead of separate include files like time_r.h
62180         and timegm.h.  This implementation tries out a simpler approach
62181         for replacing decls in standard include files (as compared to
62182         the string module), somewhat as an experiment.
62183
62184         * config/srclist.txt: Comment out mktime.c for now.
62185         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
62186         since it doesn't apply any more.  Use generic wording instead.
62187         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
62188         'time'.
62189         * lib/time_.h, m4/time_h.m4, modules/time: New files.
62190         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
62191         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
62192         Don't include <sys/types.h>; no longer needed since we assume C89.
62193         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
62194         * lib/strftime.c: Likewise.
62195         * lib/time_r.c: Likewise.
62196         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
62197         * lib/nanosleep.c: Include <time.h> first, to check interface.
62198         * lib/strptime.c: Likewise.
62199         * lib/time_r.c: Likewise.
62200         * lib/timegm.c: Likewise.
62201         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
62202         needed.
62203         * lib/timegm.c: Don't include timegm.h; no longer needed.
62204         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
62205         time.h now handles any problems in that area.
62206         (struct timespec, nanosleep): Remove; time.h now arranges for these.
62207         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
62208         that time.h defines struct timespec.
62209         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
62210         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
62211         handles that.
62212         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
62213         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
62214         needed.  Set REPLACE_LOCALTIME.
62215         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
62216         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
62217         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
62218         nanosleep; time_h.m4 now does that.  Don't require
62219         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
62220         module handles this now.
62221         * modules/getdate (Depends-on): Remove timespec.  Add time.
62222         * modules/nanosleep (Depends-on): Likewise.
62223         * modules/stat-time (Depends-on): Likewise.
62224         * modules/nanosleep (Include): Include time.h, not timespec.h.
62225         * modules/strptime (Files): Remove lib/strptime.h.
62226         (Depends-on): Add extensions, time.
62227         (Include): Include time.h, not strptime.h.
62228         * modules/time_r (Files): Remove lib/time_r.h.
62229         (Depends-on): Add time.
62230         (Include): Include time.h, not time_r.h.
62231         * modules/timegm: Likewise.
62232         * modules/timespec (Description): Now does timespec-related decls
62233         of our own, instead of struct timespec itself.
62234         (Depends-on): Add time; remove extensions.
62235         (Maintainer): Add self.
62236         * modules/utimecmp (Depends-on): Add time; remove timespec.
62237         * modules/utimens (Depends-on): Likewise.
62238         * modules/xnanosleep (Depends-on): Likewise.
62239
62240 2007-02-11  Bruno Haible  <bruno@clisp.org>
62241
62242         * lib/c-strstr.c: Include allocsa.h.
62243         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
62244         * lib/c-strcasestr.c: Include allocsa.h.
62245         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
62246         * lib/strcasestr.c: Include allocsa.h.
62247         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
62248         * lib/mbsstr.c: Include allocsa.h.
62249         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
62250         allocsa/freesa instead of malloc/free.
62251         * lib/mbscasestr.c: Include allocsa.h.
62252         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
62253         allocsa/freesa instead of malloc/free.
62254         * modules/c-strstr (Depends-on): Add allocsa.
62255         * modules/c-strcasestr (Depends-on): Likewise.
62256         * modules/strcasestr (Depends-on): Likewise.
62257         * modules/mbsstr (Depends-on): Likewise.
62258         * modules/mbscasestr (Depends-on): Likewise.
62259
62260 2007-02-11  Bruno Haible  <bruno@clisp.org>
62261
62262         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
62263
62264         * modules/mbsspn-tests: New file.
62265         * tests/test-mbsspn.sh: New file.
62266         * tests/test-mbsspn.c: New file.
62267
62268 2007-02-11  Bruno Haible  <bruno@clisp.org>
62269
62270         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
62271
62272         * modules/mbspbrk-tests: New file.
62273         * tests/test-mbspbrk.sh: New file.
62274         * tests/test-mbspbrk.c: New file.
62275
62276 2007-02-11  Bruno Haible  <bruno@clisp.org>
62277
62278         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
62279         unneeded cast.
62280
62281         * modules/mbscspn-tests: New file.
62282         * tests/test-mbscspn.sh: New file.
62283         * tests/test-mbscspn.c: New file.
62284
62285 2007-02-11  Bruno Haible  <bruno@clisp.org>
62286
62287         * modules/mbscasecmp-tests: New file.
62288         * tests/test-mbscasecmp.sh: New file.
62289         * tests/test-mbscasecmp.c: New file.
62290
62291 2007-02-11  Bruno Haible  <bruno@clisp.org>
62292
62293         Ensure O(n) worst-case complexity of mbscasestr.
62294         * lib/mbscasestr.c: Include stdbool.h.
62295         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
62296         functions.
62297         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
62298         the bookkeeping indicates that it's worth it.
62299         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
62300
62301         * modules/mbscasestr-tests: New file.
62302         * tests/test-mbscasestr1.c: New file.
62303         * tests/test-mbscasestr2.sh: New file.
62304         * tests/test-mbscasestr2.c: New file.
62305         * tests/test-mbscasestr3.sh: New file.
62306         * tests/test-mbscasestr3.c: New file.
62307         * tests/test-mbscasestr4.sh: New file.
62308         * tests/test-mbscasestr4.c: New file.
62309         * m4/locale-tr.m4: New file.
62310
62311 2007-02-11  Bruno Haible  <bruno@clisp.org>
62312
62313         Ensure O(n) worst-case complexity of mbsstr.
62314         * lib/mbsstr.c: Include stdbool.h.
62315         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
62316         functions.
62317         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
62318         bookkeeping indicates that it's worth it.
62319         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
62320
62321         * modules/mbsstr-tests: New file.
62322         * tests/test-mbsstr1.c: New file.
62323         * tests/test-mbsstr2.sh: New file.
62324         * tests/test-mbsstr2.c: New file.
62325         * tests/test-mbsstr3.sh: New file.
62326         * tests/test-mbsstr3.c: New file.
62327         * m4/locale-fr.m4: New file.
62328
62329 2007-02-11  Bruno Haible  <bruno@clisp.org>
62330
62331         * lib/mbsrchr.c (mbsrchr): Fix bug.
62332
62333         * modules/mbsrchr-tests: New file.
62334         * tests/test-mbsrchr.sh: New file.
62335         * tests/test-mbsrchr.c: New file.
62336
62337 2007-02-11  Bruno Haible  <bruno@clisp.org>
62338
62339         * lib/mbschr.c (mbschr): Fix bug.
62340
62341         * modules/mbschr-tests: New file.
62342         * tests/test-mbschr.sh: New file.
62343         * tests/test-mbschr.c: New file.
62344         * m4/locale-zh.m4: New file.
62345
62346 2007-02-11  Bruno Haible  <bruno@clisp.org>
62347
62348         Support for copying multibyte string iterators.
62349         * lib/mbiter.h: Include <string.h>.
62350         (mbiter_multi_copy): New function.
62351         (mbi_copy): New macro.
62352         * lib/mbuiter.h: Include <string.h>.
62353         (mbuiter_multi_copy): New function.
62354         (mbui_copy): New macro.
62355
62356 2007-02-11  Bruno Haible  <bruno@clisp.org>
62357
62358         New module mbslen.
62359         * modules/mbslen: New file.
62360         * lib/mbslen.c: New file.
62361         * lib/string_.h (mbslen): New declaration.
62362         * m4/mbslen.m4: New file.
62363         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62364         GNULIB_MBSLEN.
62365         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
62366         * MODULES.html.sh (Internationalization functions): Add mbslen.
62367
62368 2007-02-11  Bruno Haible  <bruno@clisp.org>
62369
62370         Ensure O(n) worst-case complexity of strcasestr substitute.
62371         * lib/strcasestr.c: Include stdbool.h.
62372         (knuth_morris_pratt): New function.
62373         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
62374         bookkeeping indicates that it's worth it.
62375         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
62376
62377         * modules/strcasestr-tests: New file.
62378         * tests/test-strcasestr.c: New file.
62379
62380 2007-02-11  Bruno Haible  <bruno@clisp.org>
62381
62382         Ensure O(n) worst-case complexity of c_strcasestr.
62383         * lib/c-strcasestr.c: Include stdbool.h, string.h.
62384         (knuth_morris_pratt): New function.
62385         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
62386         the bookkeeping indicates that it's worth it.
62387         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
62388
62389         * modules/c-strcasestr-tests: New file.
62390         * tests/test-c-strcasestr.c: New file.
62391
62392 2007-02-11  Bruno Haible  <bruno@clisp.org>
62393
62394         Ensure O(n) worst-case complexity of c_strstr.
62395         * lib/c-strstr.c: Include stdbool.h, string.h.
62396         (knuth_morris_pratt): New function.
62397         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
62398         bookkeeping indicates that it's worth it.
62399         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
62400
62401         * lib/c-strstr.c: Complete rewrite for maintainability.
62402
62403         * modules/c-strstr-tests: New file.
62404         * tests/test-c-strstr.c: New file.
62405
62406 2007-02-11  Bruno Haible  <bruno@clisp.org>
62407
62408         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
62409         5.2.1 and earlier, whereby \055 was treated just like the range
62410         delimiter '-'.
62411         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
62412
62413 2007-02-08  Bruno Haible  <bruno@clisp.org>
62414
62415         * modules/regex (Depends-on): Add stdbool.
62416         Reported by Dalibor Topic <robilad@kaffe.org>.
62417
62418 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
62419
62420         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
62421         Prefer returning from main to exiting from it.
62422         Remove unnecessary parens after sizeof.
62423
62424 2007-02-05  Bruno Haible  <bruno@clisp.org>
62425
62426         New module mbssep.
62427         * modules/mbssep: New file.
62428         * lib/mbssep.c: New file.
62429         * lib/string_.h (strsep): Add a conditional link warning.
62430         (mbssep): New declaration.
62431         * m4/mbssep.m4: New file.
62432         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62433         GNULIB_MBSSEP.
62434         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
62435         * MODULES.html.sh (Internationalization functions): Add mbssep.
62436
62437 2007-02-05  Bruno Haible  <bruno@clisp.org>
62438
62439         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
62440         Optimize search in case of 1 delimiter.
62441
62442 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
62443
62444         * lib/acl.h: Include sys/types.h before sys/acl.h.
62445
62446 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
62447
62448         Merge upstream fix for glibc bugzilla #3957:
62449
62450         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
62451
62452         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
62453         bit for RE_HAT_LISTS_NOT_NEWLINE.
62454         (build_charclass_op): Remove bogus comment.
62455
62456 2007-02-05  Simon Josefsson  <simon@josefsson.org>
62457
62458         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
62459
62460 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
62461
62462         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
62463         * lib/memmem.c [!defined _LIBC]: Include config.h.
62464
62465 2007-02-04  Bruno Haible  <bruno@clisp.org>
62466
62467         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
62468         warning message.
62469
62470 2007-02-04  Bruno Haible  <bruno@clisp.org>
62471
62472         New module mbstok_r.
62473         * modules/mbstok_r: New file.
62474         * lib/mbstok_r.c: New file.
62475         * lib/string_.h (strtok_r): Change argument names to match the
62476         comments. Add a conditional link warning.
62477         (mbstok_r): New declaration.
62478         * m4/mbstok_r.m4: New file.
62479         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62480         GNULIB_MBSTOK_R.
62481         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
62482         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
62483
62484 2007-02-04  Bruno Haible  <bruno@clisp.org>
62485
62486         New module mbsspn.
62487         * modules/mbsspn: New file.
62488         * lib/mbsspn.c: New file.
62489         * lib/string_.h (strspn): Add a conditional link warning.
62490         (mbsspn): New declaration.
62491         * m4/mbsspn.m4: New file.
62492         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62493         GNULIB_MBSSPN.
62494         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
62495         * MODULES.html.sh (Internationalization functions): Add mbsspn.
62496
62497 2007-02-04  Bruno Haible  <bruno@clisp.org>
62498
62499         New module mbspbrk.
62500         * modules/mbspbrk: New file.
62501         * lib/mbspbrk.c: New file.
62502         * lib/string_.h (strpbrk): Add a conditional link warning.
62503         (mbspbrk): New declaration.
62504         * m4/mbspbrk.m4: New file.
62505         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62506         GNULIB_MBSPBRK.
62507         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
62508         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
62509
62510 2007-02-04  Bruno Haible  <bruno@clisp.org>
62511
62512         New module mbscspn.
62513         * modules/mbscspn: New file.
62514         * lib/mbscspn.c: New file.
62515         * lib/string_.h (strcspn): Add a conditional link warning.
62516         (mbscspn): New declaration.
62517         * m4/mbscspn.m4: New file.
62518         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62519         GNULIB_MBSCSPN.
62520         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
62521         * MODULES.html.sh (Internationalization functions): Add mbscspn.
62522
62523 2007-02-04  Bruno Haible  <bruno@clisp.org>
62524
62525         New module mbscasestr, reduced goal of strcasestr.
62526         * modules/mbscasestr: New file.
62527         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
62528         (mbscasestr): Renamed from strcasestr.
62529         * lib/strcasestr.c: Don't include mbuiter.h.
62530         (strcasestr): Remove support for multibyte locales.
62531         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
62532         Change the conditional link warning.
62533         (mbscasestr): New declaration.
62534         * m4/mbscasestr.m4: New file.
62535         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
62536         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
62537         REPLACE_STRCASESTR.
62538         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
62539         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
62540         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
62541         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
62542         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
62543         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
62544         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
62545         (Depends-on): Remove mbuiter.
62546         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
62547
62548 2007-02-04  Bruno Haible  <bruno@clisp.org>
62549
62550         Simplify handling of strncasecmp.
62551         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
62552         the conditional link warning.
62553         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
62554         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
62555         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
62556         * modules/strcase (configure.ac): Don't invoke
62557         gl_STRING_MODULE_INDICATOR.
62558         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
62559
62560 2007-02-04  Bruno Haible  <bruno@clisp.org>
62561
62562         New module mbscasecmp, reduced goal of strcasecmp.
62563         * modules/mbscasecmp: New file.
62564         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
62565         (mbscasecmp): Renamed from strcasecmp.
62566         * lib/strcasecmp.c: Don't include mbuiter.h.
62567         (strcasecmp): Remove support for multibyte locales.
62568         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
62569         Change the conditional link warning.
62570         (mbscasecmp): New declaration.
62571         * m4/mbscasecmp.m4: New file.
62572         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
62573         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
62574         REPLACE_STRCASECMP.
62575         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
62576         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62577         GNULIB_MBSCASECMP.
62578         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
62579         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
62580         * modules/strcase (Files): Remove m4/mbrtowc.m4.
62581         (Depends-on): Remove mbuiter.
62582         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
62583
62584 2007-02-04  Bruno Haible  <bruno@clisp.org>
62585
62586         New module mbsstr. Remove module strstr.
62587         * modules/mbsstr: New file.
62588         * modules/strstr: Remove file.
62589         * lib/mbsstr.c: Renamed from lib/strstr.c.
62590         (mbsstr): Renamed from strstr.
62591         * lib/string_.h (strstr): Remove declaration. Change the conditional
62592         link warning.
62593         (mbsstr): New declaration.
62594         * m4/mbsstr.m4: New file.
62595         * m4/strstr.m4: Remove file.
62596         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
62597         REPLACE_STRSTR.
62598         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
62599         Don't initialize GNULIB_STRSTR.
62600         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
62601         substitute GNULIB_STRSTR and REPLACE_STRSTR.
62602         * MODULES.html.sh (Internationalization functions): Add mbsstr.
62603         (Support for systems lacking ANSI C 89): Remove strstr.
62604
62605 2007-02-04  Bruno Haible  <bruno@clisp.org>
62606
62607         New module mbsrchr.
62608         * modules/mbsrchr: New file.
62609         * lib/mbsrchr.c: New file.
62610         * lib/string_.h (strrchr): Add a conditional link warning.
62611         (mbsrchr): New declaration.
62612         * m4/mbsrchr.m4: New file.
62613         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62614         GNULIB_MBSRCHR.
62615         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
62616         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
62617
62618 2007-02-04  Bruno Haible  <bruno@clisp.org>
62619
62620         New module mbschr.
62621         * modules/mbschr: New file.
62622         * lib/mbschr.c: New file.
62623         * lib/string_.h (strchr): Add a conditional link warning.
62624         (mbschr): New declaration.
62625         * m4/mbschr.m4: New file.
62626         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62627         GNULIB_MBSCHR.
62628         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
62629         * MODULES.html.sh (Internationalization functions): Add mbschr.
62630
62631 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
62632
62633         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
62634
62635         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
62636
62637 2007-02-04  Bruno Haible  <bruno@clisp.org>
62638
62639         New module description section 'configure.ac-early'.
62640         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
62641         (func_get_autoconf_early_snippet): New function.
62642         (func_import, func_create_testdir): Use it. Remove special cases for
62643         modules 'extensions' and 'lock'.
62644         * modules/extensions (configure.ac-early): Require
62645         gl_USE_SYSTEM_EXTENSIONS.
62646         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
62647
62648 2007-02-04  Bruno Haible  <bruno@clisp.org>
62649
62650         Make use of gcj-4.3's -fsource and -ftarget option.
62651         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
62652         and if so try the options -fsource and -ftarget.
62653         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
62654         source_version, ftarget_option, target_version arguments.
62655         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
62656         (is_envjavac_oldgcj_14_14_usable): Renamed from
62657         is_envjavac_gcj_14_14_usable.
62658         (is_envjavac_oldgcj_14_13_usable): Renamed from
62659         is_envjavac_gcj_14_13_usable.
62660         (is_gcj_present): Update.
62661         (is_gcj_43, is_gcj43_usable): New functions.
62662         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
62663         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
62664         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
62665         try the options -fsource and -ftarget.
62666
62667 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
62668
62669         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
62670         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
62671         larger value.
62672
62673 2007-02-03  Jim Meyering  <jim@meyering.net>
62674
62675         Give tools a better chance to allocate space for very large buffers.
62676         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
62677
62678         Make pwd and readlink work also when run with an unreadable parent dir
62679         on systems with openat support.
62680         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
62681         provided getcwd function, even when we have openat support.
62682         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
62683
62684 2007-02-02  Bruno Haible  <bruno@clisp.org>
62685
62686         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
62687         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
62688         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
62689         portability problems if one of these functions is only used on specific
62690         platforms.
62691         Reported by Paul Eggert.
62692
62693 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
62694
62695         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
62696         is causing more trouble than it's curing.
62697         * lib/regex_internal.h (__mempcpy): Remove.
62698         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
62699         (and make the code a tad smaller to boot).
62700         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
62701
62702 2007-02-02  Jim Meyering  <jim@meyering.net>
62703
62704         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
62705         section, not in the Makefile.am: one.
62706
62707 2007-02-02  Eric Blake  <ebb9@byu.net>
62708
62709         * lib/strchrnul.c: Always include config.h first.
62710
62711         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
62712         gnulib strstr is not necessary here.
62713
62714 2007-02-02  Simon Josefsson  <simon@josefsson.org>
62715
62716         * m4/socklen.m4: Fix typo.
62717
62718 2007-02-02  Eric Blake  <ebb9@byu.net>
62719
62720         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
62721         * modules/netinet_in (Makefile.am): Likewise.
62722
62723 2007-02-01  Bruno Haible  <bruno@clisp.org>
62724
62725         * lib/string_.h (GL_LINK_WARNING): New macro.
62726         (strcasecmp, strstr, strcasestr): If provided by the system,
62727         conditionally define as a macro that leads to a warning instead of to
62728         an error.
62729         (strncasecmp): Conditionally define as a macro that leads to a warning.
62730
62731 2007-02-01  Karl Berry  <karl@gnu.org>
62732
62733         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
62734
62735 2007-02-01  Bruno Haible  <bruno@clisp.org>
62736
62737         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
62738         renamings.
62739
62740 2007-02-01  Eric Blake  <ebb9@byu.net>
62741
62742         * modules/regex (Depends-on): Revert dependence on mempcpy.
62743         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
62744         module's definition of mempcpy.
62745         Reported by Paul Eggert.
62746
62747 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
62748
62749         * lib/string_.h: If the gnulib module XYZ is not present, undefine
62750         the symbol XYZ before redefining it.  This fixes a problem with
62751         programs that don't use XYZ, when compiled on systems that define
62752         XYZ to something else.
62753
62754 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
62755
62756         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
62757         occurs when "mkdir -m foo" creates a setgid directory that is (1)
62758         writeable to group or other and (2) is intended to have a special
62759         mode bit that is set or cleared.  In such a case, the directory
62760         should be neither group- nor other-writeable until the special
62761         mode bits are right.
62762
62763 2007-01-31  Eric Blake  <ebb9@byu.net>
62764
62765         * modules/mountlist (Depends-on): Add strstr.
62766
62767         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
62768         bug.
62769         * modules/string (Makefile.am): Remove redundant replacement.
62770         * modules/regex (Depends-on): Add mempcpy.
62771
62772 2007-01-31  Bruno Haible  <bruno@clisp.org>
62773
62774         New module description field 'Link'.
62775         * gnulib-tool (func_usage): Document --extract-link-directive.
62776         (sed_extract_prog): Recognize 'Link' directive.
62777         (func_get_link_directive): New function.
62778         (func_import): Show summary of link directives.
62779         Handle --extract-link-directive option.
62780         * modules/acl (Link): New section.
62781         * modules/clock-time (Link): New section.
62782         * modules/euidaccess (Link): New section.
62783         * modules/gettext (Link): New section.
62784         * modules/iconv (Link): New section.
62785         * modules/lock (Link): New section.
62786         * modules/nanosleep (Link): New section.
62787         * modules/readline (Link): New section.
62788
62789 2007-01-27  Bruno Haible  <bruno@clisp.org>
62790
62791         Enforce the use of gnulib modules for unportable <string.h> functions.
62792         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
62793         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
62794         (gl_HEADER_STRING_H_BODY): Require it.
62795         * lib/string_.h: If the gnulib module XYZ is not present, redefine
62796         the symbol XYZ to one that gives a link error.
62797         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
62798         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
62799         * modules/mempcpy (configure.ac): Likewise.
62800         * modules/memrchr (configure.ac): Likewise.
62801         * modules/stpcpy (configure.ac): Likewise.
62802         * modules/stpncpy (configure.ac): Likewise.
62803         * modules/strcase (configure.ac): Likewise.
62804         * modules/strcasestr (configure.ac): Likewise.
62805         * modules/strchrnul (configure.ac): Likewise.
62806         * modules/strdup (configure.ac): Likewise.
62807         * modules/strndup (configure.ac): Likewise.
62808         * modules/strnlen (configure.ac): Likewise.
62809         * modules/strpbrk (configure.ac): Likewise.
62810         * modules/strsep (configure.ac): Likewise.
62811         * modules/strstr (configure.ac): Likewise.
62812         * modules/strtok_r (configure.ac): Likewise.
62813
62814 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
62815
62816         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
62817
62818 2007-01-30  Jim Meyering  <jim@meyering.net>
62819
62820         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
62821
62822 2007-01-29  Bruno Haible  <bruno@clisp.org>
62823
62824         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
62825         * lib/execute.c: Likewise.
62826         * lib/pipe.c: Likewise.
62827         * lib/printf-args.h: Likewise.
62828         * lib/printf-args.c: Likewise.
62829         * lib/printf-parse.c: Likewise.
62830         * lib/vasnprintf.c: Likewise.
62831
62832 2007-01-29  Eric Blake  <ebb9@byu.net>
62833
62834         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
62835         declaration.
62836
62837 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
62838
62839         * lib/strptime.h (strptime): Use 'restrict' for args where
62840         POSIX requires this.
62841         * lib/strptime.c (strptime): Likewise.
62842         Change license notice from LGPL to GPL, since gnulib-tool will
62843         change this as needed.
62844         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
62845         defined.
62846         Include "strptime.h" first, to check interface.
62847         Do not #undef _LIBC and _NL_CURRENT.
62848         Do not include <stdlib.h>; no longer needed.
62849         Include "time_r.h" and declare ptime_locale_status
62850         only if _LIBC is not defined.
62851         (__P): Remove unused macro.
62852         (match_string): Bring back glibc version, but use it only if _LIBC
62853         is defined.
62854         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
62855         Remove unnecessary assertion and abort() call.
62856         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
62857         * m4/strptime.m4: Fix serial number comment.
62858         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
62859         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
62860         (Depends-on): Add time_r.
62861
62862 2007-01-29  Bruno Haible  <bruno@clisp.org>
62863
62864         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
62865         strptime.
62866         * modules/strptime (Depends-on): Add stdbool.
62867         * lib/strptime.h: Include <time.h> always. Add comments.
62868
62869 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
62870
62871         * modules/strptime: New file.
62872         * lib/strptime.h: New file.
62873         * lib/strptime.c: New file.
62874         * m4/strptime.m4: New file.
62875
62876 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
62877
62878         * MODULES.html.sh: New module mpsort.
62879         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
62880
62881         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
62882         a circularity problem with HP-UX ia64 reported by Bob Proulx in
62883         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
62884         All uses changed.
62885         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
62886         All uses changed.
62887         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
62888         to _Restrict_.
62889         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
62890         the parameter matches the prototype.
62891
62892 2007-01-28  Jim Meyering  <jim@meyering.net>
62893
62894         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
62895         sys/time.h here, reverting that part of the previous patch:
62896         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
62897
62898 2007-01-28  Bruno Haible  <bruno@clisp.org>
62899
62900         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
62901         value of $(SYS_TIME_H).
62902         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
62903         remove it conditionally, too. [added by Jim Meyering]
62904         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
62905         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
62906         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
62907         GETTIMEOFDAY_REPLACEMENT to 1.
62908
62909 2007-01-28  Bruno Haible  <bruno@clisp.org>
62910
62911         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
62912         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
62913         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
62914         Set UNISTD_H instead of UNISTD_H2.
62915         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
62916
62917 2007-01-28  Bruno Haible  <bruno@clisp.org>
62918
62919         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
62920         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
62921
62922 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62923
62924         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
62925         (func_create_testdir): Ensure C locale for `grep' and `tr'
62926         character ranges.
62927         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
62928         ACLOCAL_AMFLAGS parsing state machine.
62929
62930 2007-01-27  Bruno Haible  <bruno@clisp.org>
62931
62932         * modules/unistr/base: Update.
62933
62934 2007-01-27  Bruno Haible  <bruno@clisp.org>
62935
62936         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
62937         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
62938         * modules/unistr/u32-mbtouc-unsafe: Renamed from
62939         modules/unistr/u32-mbtouc.
62940         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
62941         * lib/unistr.h: Update.
62942         * lib/linebreak.c: Update.
62943         * modules/unistr/u32-mbtouc: Renamed from
62944         modules/unistr/u32-mbtouc-safe.
62945         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
62946         * lib/unistr.h: Update.
62947         * lib/unistr/u32-to-u8.c: Update.
62948         * lib/unistr/u32-to-u16.c: Update.
62949
62950 2007-01-27  Bruno Haible  <bruno@clisp.org>
62951
62952         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
62953         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
62954         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
62955         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
62956         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
62957         * modules/unistr/u16-mbtouc-unsafe: Renamed from
62958         modules/unistr/u16-mbtouc.
62959         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
62960         * lib/unistr.h: Update.
62961         * lib/linebreak.c: Update.
62962         * modules/linebreak: Update.
62963         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
62964         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
62965         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
62966         * modules/unistr/u16-mbtouc: Renamed from
62967         modules/unistr/u16-mbtouc-safe.
62968         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
62969         * lib/unistr.h: Update.
62970         * lib/unistr/u16-to-u8.c: Update.
62971         * modules/unistr/u16-to-u8: Update.
62972         * lib/unistr/u16-to-u32.c: Update.
62973         * modules/unistr/u16-to-u32: Update.
62974
62975 2007-01-27  Bruno Haible  <bruno@clisp.org>
62976
62977         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
62978         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
62979         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
62980         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
62981         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
62982         * modules/unistr/u8-mbtouc-unsafe: Renamed from
62983         modules/unistr/u8-mbtouc.
62984         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
62985         * lib/unistr.h: Update.
62986         * lib/striconveh.c: Update.
62987         * modules/striconveh: Update.
62988         * lib/linebreak.c: Update.
62989         * modules/linebreak: Update.
62990         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
62991         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
62992         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
62993         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
62994         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
62995         * lib/unistr.h: Update.
62996         * lib/striconveh.c: Update.
62997         * modules/striconveh: Update.
62998         * lib/unistr/u8-to-u16.c: Update.
62999         * modules/unistr/u8-to-u16: Update.
63000         * lib/unistr/u8-to-u32.c: Update.
63001         * modules/unistr/u8-to-u32: Update.
63002
63003 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63004
63005         Sync from Libtool.
63006         * lib/argz.c: Do not include strings.h nor memory.h, include
63007         string.h unconditionally.  Patch by Simon Josefsson.
63008
63009 2007-01-27  Bruno Haible  <bruno@clisp.org>
63010
63011         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
63012         from gl_HEADER_STRING_H_BODY.
63013         (gl_HEADER_STRING_H_BODY): Require it.
63014         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
63015         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
63016         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
63017         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
63018         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
63019         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
63020         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
63021         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
63022         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
63023         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
63024         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
63025         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
63026         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
63027         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
63028         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
63029
63030 2007-01-27  Bruno Haible  <bruno@clisp.org>
63031
63032         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
63033         check_PROGRAMS into noinst_PROGRAMS.
63034         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
63035         check_PROGRAMS in this case.
63036         (func_import): Set for_test to false.
63037         (func_create_testdir): Set for_test to true.
63038
63039 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
63040             Bruno Haible  <bruno@clisp.org>
63041
63042         * modules/strcasestr (Files): Remove lib/strcasestr.h.
63043         (Depends-on): Add string.
63044         (Includes): Use <string.h> instead of strcasestr.h.
63045         * modules/string (Makefile.am): Also substitute the value of
63046         REPLACE_STRCASESTR.
63047         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
63048         assume strcasestr is declared in <string.h> not <strings.h>. Also
63049         set REPLACE_STRCASESTR.
63050         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
63051         REPLACE_STRCASESTR.
63052         * lib/strcasestr.h: Remove file.
63053         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
63054         * lib/string_.h (strcasestr): New declaration.
63055
63056 2007-01-27  Bruno Haible  <bruno@clisp.org>
63057
63058         * lib/string_.h: Use 'extern'.
63059
63060 2007-01-27  Jim Meyering  <jim@meyering.net>
63061
63062         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
63063         of set-but-not-used local, "q".
63064
63065         * lib/mempcpy.c: Include <config.h> before <string.h>.
63066         This fixes a compilation error on HP-UX, due to the system's
63067         "restrict"-using mempcpy prototype.
63068
63069 2007-01-26  Bruno Haible  <bruno@clisp.org>
63070
63071         Small optimization.
63072         * lib/javacomp.c: Include c-strstr.h.
63073          (is_envjavac_gcj): Use c_strstr instead of strstr.
63074         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
63075
63076 2007-01-26  Bruno Haible  <bruno@clisp.org>
63077
63078         * MODULES.html.sh (Unicode string functions): Add the new modules.
63079
63080         * modules/uniconv/u32-strconv-to-locale: New file.
63081         * lib/uniconv/u32-strconv-to-locale.c: New file.
63082
63083         * modules/uniconv/u16-strconv-to-locale: New file.
63084         * lib/uniconv/u16-strconv-to-locale.c: New file.
63085
63086         * modules/uniconv/u8-strconv-to-locale: New file.
63087         * lib/uniconv/u8-strconv-to-locale.c: New file.
63088
63089         * modules/uniconv/u32-strconv-from-locale: New file.
63090         * lib/uniconv/u32-strconv-from-locale.c: New file.
63091
63092         * modules/uniconv/u16-strconv-from-locale: New file.
63093         * lib/uniconv/u16-strconv-from-locale.c: New file.
63094
63095         * modules/uniconv/u8-strconv-from-locale: New file.
63096         * lib/uniconv/u8-strconv-from-locale.c: New file.
63097
63098         * modules/uniconv/u32-strconv-to-enc: New file.
63099         * lib/uniconv/u32-strconv-to-enc.c: New file.
63100         * modules/uniconv/u32-strconv-to-enc-tests: New file.
63101         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
63102
63103         * modules/uniconv/u16-strconv-to-enc: New file.
63104         * lib/uniconv/u16-strconv-to-enc.c: New file.
63105         * lib/uniconv/u-strconv-to-enc.h: New file.
63106         * modules/uniconv/u16-strconv-to-enc-tests: New file.
63107         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
63108
63109         * modules/uniconv/u8-strconv-to-enc: New file.
63110         * lib/uniconv/u8-strconv-to-enc.c: New file.
63111         * modules/uniconv/u8-strconv-to-enc-tests: New file.
63112         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
63113
63114         * modules/uniconv/u32-strconv-from-enc: New file.
63115         * lib/uniconv/u32-strconv-from-enc.c: New file.
63116         * modules/uniconv/u32-strconv-from-enc-tests: New file.
63117         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
63118
63119         * modules/uniconv/u16-strconv-from-enc: New file.
63120         * lib/uniconv/u16-strconv-from-enc.c: New file.
63121         * modules/uniconv/u16-strconv-from-enc-tests: New file.
63122         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
63123
63124         * modules/uniconv/u8-strconv-from-enc: New file.
63125         * lib/uniconv/u8-strconv-from-enc.c: New file.
63126         * lib/uniconv/u-strconv-from-enc.h: New file.
63127         * modules/uniconv/u8-strconv-from-enc-tests: New file.
63128         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
63129
63130         * modules/uniconv/u32-conv-from-enc: New file.
63131         * lib/uniconv/u32-conv-from-enc.c: New file.
63132         * modules/uniconv/u32-conv-from-enc-tests: New file.
63133         * tests/uniconv/test-u32-conv-from-enc.c: New file.
63134
63135         * modules/uniconv/u16-conv-from-enc: New file.
63136         * lib/uniconv/u16-conv-from-enc.c: New file.
63137         * lib/uniconv/u-conv-from-enc.h: New file.
63138         * modules/uniconv/u16-conv-from-enc-tests: New file.
63139         * tests/uniconv/test-u16-conv-from-enc.c: New file.
63140
63141         * modules/uniconv/u8-conv-from-enc: New file.
63142         * lib/uniconv/u8-conv-from-enc.c: New file.
63143         * modules/uniconv/u8-conv-from-enc-tests: New file.
63144         * tests/uniconv/test-u8-conv-from-enc.c: New file.
63145
63146         * modules/uniconv/base: New file.
63147         * lib/uniconv.h: New file.
63148
63149 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
63150
63151         * doc/gnulib-tool.texi (Initial import): Update to match current
63152         behavior with strdup module.
63153         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
63154         * lib/memmem.h: Remove; all uses removed.  This is now done
63155         by <string.h>.
63156         * lib/mempcpy.h: Likewise.
63157         * lib/memrchr.h: Likewise.
63158         * lib/stpcpy.h: Likewise.
63159         * lib/stpncpy.h: Likewise.
63160         * lib/strcase.h: Likewise.
63161         * lib/strchrnul.h: Likewise.
63162         * lib/strdup.h: Likewise.
63163         * lib/strndup.h: Likewise.
63164         * lib/strnlen.h: Likewise.
63165         * lib/strpbrk.h: Likewise.
63166         * lib/strsep.h: Likewise.
63167         * lib/strstr.h: Likewise.
63168         * lib/strtok_r.h: Likewise.
63169         * lib/string_.h: New file.
63170         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
63171         Rely on <string.h> instead.
63172         * lib/canon-host.c: Likewise.
63173         * lib/chdir-long.c: Likewise.
63174         * lib/concatpath.c: Likewise.
63175         * lib/exclude.c: Likewise.
63176         * lib/fchdir.c: Likewise.
63177         * lib/getaddrinfo.c: Likewise.
63178         * lib/getcwd.c: Likewise.
63179         * lib/getsubopt.c: Likewise.
63180         * lib/glob.c: Likewise.
63181         * lib/hard-locale.c: Likewise.
63182         * lib/iconvme.c: Likewise.
63183         * lib/javacomp.c: Likewise.
63184         * lib/mempcpy.c: Likewise.
63185         * lib/memrchr.c: Likewise.
63186         * lib/regex_internal.h: Likewise.
63187         * lib/stpncpy.c: Likewise.
63188         * lib/strcasecmp.c: Likewise.
63189         * lib/strchrnul.c: Likewise.
63190         * lib/strdup.c: Likewise.
63191         * lib/striconv.c: Likewise.
63192         * lib/striconveh.c: Likewise.
63193         * lib/striconveha.c: Likewise.
63194         * lib/strncasecmp.c: Likewise.
63195         * lib/strndup.c: Likewise.
63196         * lib/strnlen.c: Likewise.
63197         * lib/strsep.c: Likewise.
63198         * lib/strstr.c: Likewise.
63199         * lib/strtok_r.c: Likewise.
63200         * lib/userspec.c: Likewise.
63201         * lib/w32spawn.h: Likewise.
63202         * lib/xstrndup.c: Likewise.
63203         * lib/mountlist.c (strstr): Remove decl.
63204         * m4/string_h.m4: New file.
63205         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
63206         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
63207         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
63208         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
63209         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
63210         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
63211         Set REPLACE_STRCASECMP if necessary.
63212         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
63213         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
63214         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
63215         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
63216         HAVE_DECL_STRDUP if necessary.
63217         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
63218         since gl_FUNC_STRNDUP does that now.
63219         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
63220         Check for decl here...
63221         (gl_PREREQ_STRNLEN): ... not here.
63222         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
63223         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
63224         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
63225         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
63226         necessary.
63227         * modules/string: New file.
63228         * modules/memmem (Files): Remove special-purpose include file.
63229         (Depends-on): Add string.
63230         (Include): Include <string.h>, not the removed file.
63231         * modules/mempcpy: Likewise.
63232         * modules/memrchr: Likewise.
63233         * modules/stpcpy: Likewise.
63234         * modules/stpncpy: Likewise.
63235         * modules/strcase: Likewise.
63236         * modules/strchrnul: Likewise.
63237         * modules/strdup: Likewise.
63238         * modules/strndup: Likewise.
63239         * modules/strnlen: Likewise.
63240         * modules/strpbrk: Likewise.
63241         * modules/strsep: Likewise.
63242         * modules/strstr: Likewise.
63243         * modules/strtok_r: Likewise.
63244         * tests/test-dirname.c: Don't include "strdup.h", since
63245         <string.h> now suffices.
63246         * tests/test-memmem.c: Don't include "memmem.h", since
63247         <string.h> now suffices.
63248
63249 2007-01-25  Bruno Haible  <bruno@clisp.org>
63250
63251         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
63252         *resultp is 0.
63253
63254         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
63255         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
63256         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
63257         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
63258
63259         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
63260         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
63261         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
63262         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
63263         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
63264         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
63265
63266 2007-01-24  Bruno Haible  <bruno@clisp.org>
63267
63268         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
63269         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
63270         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
63271         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
63272         gl_FUNC_FTS_CORE.
63273         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
63274         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
63275         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
63276         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
63277         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
63278         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
63279         gl_FUNC_FCHOWNAT.
63280         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
63281         gl_FUNC_STRFTIME.
63282         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
63283         Reported by Ralf Wildenhues.
63284
63285 2007-01-24  Bruno Haible  <bruno@clisp.org>
63286
63287         Drop AC_REQUIRE calls that are redundant with the module dependencies.
63288         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
63289         gl_GETADDRINFO.
63290         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
63291         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
63292         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
63293
63294 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
63295
63296         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
63297         Don't use 'exit'; just return from 'main'.
63298         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
63299
63300         * lib/fnmatch_.h: Readjust white space and comments to match
63301         glibc, to avoid spurious diffs.
63302
63303 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
63304
63305         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
63306         2004-12-01 change by Jakub Jelinek, since this code won't compile
63307         if !LIBC.  Problem reported by Bob Proulx.
63308
63309 2007-01-23  Bruno Haible  <bruno@clisp.org>
63310
63311         * lib/striconveh.c: Include c-strcaseeq.h.
63312         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
63313         * modules/striconveh (Depends-on): Add c-strcaseeq.
63314
63315 2007-01-23  Bruno Haible  <bruno@clisp.org>
63316
63317         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
63318
63319         * modules/c-strcaseeq: New file.
63320         * lib/c-strcaseeq.h: New file.
63321
63322         * modules/streq: New file.
63323         * lib/streq.h: New file.
63324
63325 2007-01-23  Bruno Haible  <bruno@clisp.org>
63326
63327         * modules/striconveha-tests: New file.
63328         * tests/test-striconveha.c: New file.
63329
63330         * lib/striconveha.h: Include <stdbool.h>.
63331         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
63332         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
63333         (mem_iconveha_notranslit): Renamed from mem_iconveha.
63334         (mem_iconveha): New function.
63335         (str_iconveha_notranslit): Renamed from str_iconveha.
63336         (str_iconveha): New function.
63337         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
63338         c-strcase.
63339
63340 2007-01-23  Bruno Haible  <bruno@clisp.org>
63341
63342         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
63343         encodings without forgiving before trying any encoding with handler.
63344         (str_iconveha): Try all encodings without forgiving before trying any
63345         encoding with handler.
63346
63347 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
63348
63349         Import the following changes from libc.
63350
63351         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
63352
63353         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
63354
63355         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
63356
63357         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
63358         normal_bracket label.
63359
63360         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
63361
63362         [BZ #361]
63363         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
63364         to normal_bracket after fetching the next character.
63365
63366 2007-01-22  Bruno Haible  <bruno@clisp.org>
63367
63368         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
63369         argument.
63370         * lib/striconveh.c (iconv_carefully_1): New function.
63371         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
63372         argument.
63373         (str_cd_iconveh): Update.
63374         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
63375         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
63376         * tests/test-striconveh.c (MAGIC): New macro.
63377         (new_offsets): New function.
63378         (main): Test call with and without offsets.
63379
63380 2007-01-22  Bruno Haible  <bruno@clisp.org>
63381
63382         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
63383         * modules/sys_select (Makefile.am): Likewise.
63384         * modules/sys_socket (Makefile.am): Likewise.
63385         * modules/sys_time (Makefile.am): Likewise.
63386
63387 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
63388
63389         * modules/gettimeofday (License): Change from GPL to LGPL, since
63390         gettimeofday is a library function.
63391
63392 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63393
63394         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
63395
63396 2007-01-21  Bruno Haible  <bruno@clisp.org>
63397
63398         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
63399
63400 2007-01-21  Bruno Haible  <bruno@clisp.org>
63401
63402         * modules/striconveha: New file.
63403         * lib/striconveha.h: New file.
63404         * lib/striconveha.c: New file.
63405         * MODULES.html.sh (Internationalization functions): Add striconveha.
63406         * lib/striconv.c (str_iconv): Optimize the case of an empty input
63407         string.
63408         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
63409
63410 2007-01-21  Bruno Haible  <bruno@clisp.org>
63411
63412         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
63413         * lib/striconveh.c (str_iconveh): Likewise.
63414
63415 2007-01-21  Bruno Haible  <bruno@clisp.org>
63416
63417         * lib/striconveh.h (mem_iconveh): New declaration.
63418         * lib/striconveh.c (mem_iconveh): New function.
63419         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
63420
63421 2007-01-21  Bruno Haible  <bruno@clisp.org>
63422
63423         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
63424
63425         * lib/striconveh.h (mem_cd_iconveh): Change specification.
63426         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
63427         original result buffer.
63428         (str_cd_iconveh): Update.
63429         * tests/test-striconveh.c (main): Update.
63430
63431         * lib/striconv.h (mem_cd_iconv): Change specification.
63432         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
63433         result buffer.
63434         (str_cd_iconv): Update.
63435         * tests/test-striconv.c (main): Update.
63436
63437 2007-01-21  Bruno Haible  <bruno@clisp.org>
63438
63439         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
63440
63441 2007-01-20  Jim Meyering  <jim@meyering.net>
63442
63443         * lib/userspec.c (parse_with_separator): If a user or group string
63444         starts with "+", skip the corresponding name-to-ID look-up, since
63445         such a look-up must fail: user and group names may not include "+".
63446
63447 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
63448
63449         * lib/poll.c: Include sys/time.h and time.h unconditionally,
63450         since we now assume the sys_time module.
63451         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
63452         check for sys/time.h; no longer needed.
63453         * modules/poll (Depends-on): Depend on sys_time.
63454
63455 2007-01-18  Bruno Haible  <bruno@clisp.org>
63456
63457         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
63458         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
63459
63460         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
63461         gettimeofday.
63462
63463         * tests/test-gettimeofday.c: Include <time.h>.
63464         (dummy): Remove variable.
63465
63466         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
63467         gl_HEADER_SYS_TIME_H.
63468         (gl_HEADER_SYS_TIME_H): New macro.
63469
63470         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
63471         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
63472         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
63473         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
63474         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
63475         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
63476         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
63477         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
63478         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
63479         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
63480         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
63481
63482         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
63483         last change; it caused a compilation error when cross-compiling to
63484         Cygwin.
63485
63486 2007-01-18  Jim Meyering  <jim@meyering.net>
63487
63488         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
63489         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
63490         than the race-prone "test -d sys || mkdir sys".
63491         (configure.ac): Use AC_PROG_MKDIR_P.
63492         * modules/sys_select: Likewise.
63493         * modules/sys_socket: Likewise.
63494         * modules/sys_time: Likewise.
63495
63496 2007-01-18  Eric Blake  <ebb9@byu.net>
63497
63498         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
63499         replace gettimeofday.
63500         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
63501         name, to avoid infinite recursion.
63502
63503 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
63504
63505         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
63506         module sys_time.
63507         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
63508         assume timespec.h defines struct timeval.
63509         * lib/settime.c: Likewise.
63510         * lib/utimens.c: Likewise.
63511         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
63512         since we now assume the gettimeofday module.
63513         * lib/tempname.c (__gen_tempname): Likewise.
63514         * lib/gettimeofday.h: Remove.
63515         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
63516         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
63517         Include <time.h>, for 'time()'.
63518         (localtime_buffer_addr): Also use this workaround if
63519         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
63520         to simplify the uses.  All uses changed.
63521         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
63522         that #undef is inside {}, and 'const' follows type name consistently.
63523         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
63524         (gettimeofday): Do not use the maximum possible value for
63525         tv->tv_usec, since that might break usages other than ls.c.
63526         Instead, we'll leave ls.c alone.  This undoes today's patch
63527         by Bruno.  Add a compile-time warning for 1s-clock resolution;
63528         we've never observed the problem but might as well keep the
63529         canary.
63530         * lib/nanosleep.c: Include timespec.h first, for interface check.
63531         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
63532         now assume the sys_time module.
63533         * lib/tempname.c: Likewise.
63534         * lib/timespec.h: Likewise.
63535         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
63536         needed.
63537         * lib/strftime.c: Likewise.
63538         * lib/timespec.h: Likewise.
63539         * lib/posixtm.c: Include posixtm.h first, for interface check.
63540         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
63541         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
63542         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
63543         * lib/sys_time_.h: New file.
63544         * lib/timespec.h (struct timespec): Use long int, not long.
63545         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
63546         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
63547         Remove obsolescent call to AC_HEADER_TIME.
63548         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
63549         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
63550         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
63551         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
63552         Likewise.
63553         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
63554         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
63555         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
63556         into the sys_time module.  Check for gettimeofday just once.
63557         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
63558         for gettimeofday signature to just check the signature.  Merely
63559         compile it, since linking doesn't test signature.  Improve test for
63560         whether gettimeofday.o is actually needed.
63561         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
63562         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
63563         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
63564         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
63565         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
63566         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
63567         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
63568         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
63569         than worrying about sys/time.h.
63570         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
63571         Don't bother worrying about TIME_WITH_SYS_TIME.
63572         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
63573         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
63574         * m4/sys_time_h.m4: New file.
63575         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
63576         Don't include sys/time.h.  Return from main rather than exiting.
63577         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
63578         all uses changed.
63579         * modules/gethrxtime (Depends-on): Add sys_time.
63580         * modules/gettime (Depends-on): Likewise.
63581         * modules/gettimeofday (Depends-on): Likewise.
63582         * modules/nanosleep (Depends-on): Likewise.
63583         * modules/settime (Depends-on): Likewise.
63584         * modules/tempname (Depends-on): Likewise.
63585         * modules/utimens (Depends-on): Likewise.
63586         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
63587         (Include): Change back to <sys/time.h>.
63588         (Maintainer): Add self.
63589         * modules/sys_time: New file.
63590         * modules/tempname (Depends-on): Add gettimeofday.
63591         * tests/test-gettimeofday.c: Include <sys/time.h>
63592         rather than gettimeofday.h.
63593
63594 2007-01-17  Bruno Haible  <bruno@clisp.org>
63595
63596         * gnulib-tool (func_get_license): Revert last patch. Instead, let
63597         the license default to GPL.
63598         (func_create_testdir): Don't complain if a module is LGPL and its
63599         tests module depends on GPLed modules.
63600
63601 2007-01-17  Bruno Haible  <bruno@clisp.org>
63602
63603         * lib/gettimeofday.c (gettimeofday): Add code for the case
63604         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
63605         maximum possible value for tv->tv_usec, rather than the minimum one.
63606
63607 2005-10-08  Martin Lambers  <marlam@marlam.de>
63608 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
63609 2007-01-16  Bruno Haible  <bruno@clisp.org>
63610
63611         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
63612         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
63613         gl_FUNC_GETTIMEOFDAY.
63614         (Include): Add gettimeofday.h.
63615         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
63616         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
63617         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
63618         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
63619         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
63620         * lib/gettimeofday.h: New file.
63621         * lib/gettimeofday.c: Include <sys/timeb.h>.
63622         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
63623         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
63624         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
63625         fall back on time().
63626
63627         * tests/test-gettimeofday.c: New file.
63628         * modules/gettimeofday-tests: New file.
63629
63630 2007-01-16  Eric Blake  <ebb9@byu.net>
63631
63632         * modules/fnmatch (Depends-on): Depend on wchar.
63633         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
63634         * m4/fnmatch.m4: Likewise.
63635         * modules/mbchar (Makefile.am): Assume <wchar.h>.
63636         * m4/mbchar.m4: Likewise.
63637         * modules/mbswidth (Depends-on): Depend on wchar.
63638         * lib/mbswidth.c: Assume <wchar.h>.
63639         * m4/mbswidth.m4: Likewise.
63640         * modules/quotearg (Depends-on): Depend on wchar.
63641         * lib/quotearg.c: Assume <wchar.h>.
63642         * m4/quotearg.m4: Likewise.
63643         * modules/regex (Depends-on): Depend on wchar.
63644         * lib/regex_internal.h: Assume <wchar.h>.
63645         * m4/regex.m4: Likewise.
63646         * modules/stdint (Depends-on): Depend on wchar.
63647         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
63648         * m4/stdint.m4: Likewise.
63649         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
63650         * modules/strftime (Depends-on): Depend on wchar.
63651         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
63652         * modules/strtol (Depends-on): Depend on wchar.
63653         * lib/strtol.c: Assume <wchar.h>.
63654         * modules/wcwidth (Depends-on): Depend on wchar.
63655         * lib/wcwidth.h: Assume <wchar.h>.
63656         * m4/wcwidth.m4: Likewise.
63657
63658 2007-01-16  Bruno Haible  <bruno@clisp.org>
63659
63660         * modules/csharpexec-script: New, created from...
63661         * modules/csharpexec: ... this.
63662
63663 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
63664
63665         * modules/javaexec-script: New, created from...
63666         * modules/javaexec: ... this.
63667
63668 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63669
63670         * modules/poll (Dependencies): Add sys_select.
63671
63672 2007-01-15  Jim Meyering  <jim@meyering.net>
63673
63674         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
63675         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
63676         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
63677         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
63678
63679 2007-01-15  Bruno Haible  <bruno@clisp.org>
63680
63681         * modules/striconveh: New file.
63682         * lib/striconveh.h: New file.
63683         * lib/striconveh.c: New file.
63684         * MODULES.html.sh (Internationalization functions): Add striconveh.
63685
63686         * modules/striconveh-tests: New file.
63687         * tests/test-striconveh.c: New file.
63688
63689 2007-01-15  Bruno Haible  <bruno@clisp.org>
63690
63691         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
63692         not from GNU libiconv or GNU libc.
63693
63694 2007-01-15  Bruno Haible  <bruno@clisp.org>
63695
63696         * doc/gnulib-intro.texi (Copyright): Explain the different license
63697         terms for module descriptions, autoconf macros, tests, documentation.
63698
63699 2007-01-14  Bruno Haible  <bruno@clisp.org>
63700
63701         * modules/striconv-tests: New file.
63702         * tests/test-striconv.c: New file.
63703
63704 2007-01-14  Bruno Haible  <bruno@clisp.org>
63705
63706         * modules/iconv-tests: New file.
63707         * tests/test-iconv.c: New file.
63708
63709 2007-01-14  Bruno Haible  <bruno@clisp.org>
63710
63711         * gnulib-tool (func_get_license): For test modules, use the license of
63712         the main module.
63713
63714 2007-01-14  Bruno Haible  <bruno@clisp.org>
63715
63716         * modules/iconv (Include): Clarify that <iconv.h> can only be included
63717         if iconv is found to exist.
63718
63719 2007-01-14  Bruno Haible  <bruno@clisp.org>
63720
63721         * modules/c-ctype-tests: New file.
63722         * tests/test-c-ctype.c: New file.
63723
63724 2007-01-14  Bruno Haible  <bruno@clisp.org>
63725
63726         * modules/binary-io-tests: New file.
63727         * tests/test-binary-io.sh: New file.
63728         * tests/test-binary-io.c: New file.
63729
63730 2007-01-14  Bruno Haible  <bruno@clisp.org>
63731
63732         * modules/array-oset-tests: New file.
63733         * tests/test-array_oset.c: New file.
63734
63735 2007-01-14  Bruno Haible  <bruno@clisp.org>
63736
63737         * modules/array-list-tests: New file.
63738         * tests/test-array_list.c: New file.
63739
63740 2007-01-14  Bruno Haible  <bruno@clisp.org>
63741
63742         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
63743         and make.
63744         Reported by Simon Josefsson in
63745         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
63746
63747 2007-01-14  Bruno Haible  <bruno@clisp.org>
63748
63749         * modules/allocsa-tests: New file.
63750         * tests/test-allocsa.c: New file.
63751
63752 2007-01-14  Bruno Haible  <bruno@clisp.org>
63753
63754         * modules/fchdir (Depends-on): Add absolute-header.
63755         * modules/unistd (Depends-on): Likewise.
63756
63757 2006-12-30  Bruno Haible  <bruno@clisp.org>
63758
63759         * modules/fchdir: New file.
63760         * modules/unistd (Files): Add lib/unistd_.h.
63761         (Makefile.am): Generate unistd.h from unistd_.h.
63762         * lib/fchdir.c: New file.
63763         * lib/dirent_.h: New file.
63764         * lib/unistd_.h: New file.
63765         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
63766         * m4/fchdir.m4: New file.
63767         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
63768         (gl_HEADER_UNISTD): Invoke it.
63769         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
63770         function.
63771         * lib/backupfile.c (opendir, closedir): Undefine.
63772         * lib/chown.c (open, close): Undefine.
63773         * lib/clean-temp.c (open, close): Undefine.
63774         * lib/copy-file.c (open, close): Undefine.
63775         * lib/execute.c (open, close): Undefine.
63776         * lib/fsusage.c (open, close): Undefine.
63777         * lib/gc-gnulib.c (open, close): Undefine.
63778         * lib/getcwd.c (opendir, closedir): Undefine.
63779         * lib/glob.c (opendir, closedir): Undefine.
63780         * lib/javacomp.c (open, close): Undefine.
63781         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
63782         * lib/openat-proc.c (open, close): Undefine.
63783         * lib/pagealign_alloc.c (open, close): Undefine.
63784         * lib/pipe.c (open, close): Undefine.
63785         * lib/progreloc.c (open, close): Undefine.
63786         * lib/savedir.c (opendir, closedir): Undefine.
63787         * lib/utime.c (open, close): Undefine.
63788         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
63789
63790 2007-01-10  Bruno Haible  <bruno@clisp.org>
63791
63792         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
63793
63794 2007-01-12  Eric Blake  <ebb9@byu.net>
63795
63796         Provide a robust <wchar.h>.  Further simplifications are now
63797         possible in other modules, but not included here.
63798         * modules/wchar: New module.
63799         * m4/wchar.m4: New file.
63800         * lib/wchar_.h: Likewise.
63801         * modules/mbchar (Depends-on): Depend on wchar, as the first use
63802         of the new module.
63803         * MODULES.html.sh (Extended multibyte and wide character utilities):
63804         New section.
63805
63806 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
63807
63808         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
63809         to a reasonable default for memory allocation.
63810         (xreadlink): Don't allocate a huge buffer, to work around a buggy
63811         file system that reports garbage st_size values for symlinks.
63812         Problem reported by Liyang Hu.
63813
63814 2007-01-11  Simon Josefsson  <simon@josefsson.org>
63815
63816         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
63817         Emacs .#* auto-save files).
63818
63819 2007-01-11  Bruno Haible  <bruno@clisp.org>
63820
63821         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
63822         directory.
63823
63824 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
63825
63826         Use @...@ consistently in lib/wctype_.h.
63827         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
63828         on it being set to 1 or 0.
63829         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
63830         go back to AC_SUBSTing it.
63831         * modules/wctype (Makefile.am): Undo previous change.
63832
63833 2007-01-10  Eric Blake  <ebb9@byu.net>
63834
63835         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
63836         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
63837         * modules/wctype (Makefile.am): Likewise.
63838         Reported by Chris McGuire.
63839
63840 2007-01-10  Jim Meyering  <jim@meyering.net>
63841
63842         fts.c: a small readability/maintainability improvement
63843         * lib/fts.c (fts_read): Make this code slightly more readable and
63844         maintainable by hoisting the "sp->fts_cur = p" assignments to
63845         immediately follow the statements that set P.  Derived from
63846         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
63847
63848 2007-01-10  Eric Blake  <ebb9@byu.net>
63849
63850         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
63851         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
63852         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
63853         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
63854         Reported by Chris McGuire.
63855
63856 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63857
63858         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
63859         in sed script.
63860
63861 2007-01-09  Bruno Haible  <bruno@clisp.org>
63862
63863         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
63864         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
63865         variables.
63866         (func_module): Use them.
63867
63868 2007-01-09  Bruno Haible  <bruno@clisp.org>
63869
63870         * modules/unistr/base: New file.
63871         * lib/unistr.h: New file.
63872
63873         * modules/unistr/u8-to-u16: New file.
63874         * lib/unistr/u8-to-u16.c: New file.
63875
63876         * modules/unistr/u8-to-u32: New file.
63877         * lib/unistr/u8-to-u32.c: New file.
63878
63879         * modules/unistr/u16-to-u8: New file.
63880         * lib/unistr/u16-to-u8.c: New file.
63881
63882         * modules/unistr/u16-to-u32: New file.
63883         * lib/unistr/u16-to-u32.c: New file.
63884
63885         * modules/unistr/u32-to-u8: New file.
63886         * lib/unistr/u32-to-u8.c: New file.
63887
63888         * modules/unistr/u32-to-u16: New file.
63889         * lib/unistr/u32-to-u16.c: New file.
63890
63891         * modules/unistr/u8-check: New file.
63892         * modules/unistr/u16-check: New file.
63893         * modules/unistr/u32-check: New file.
63894         * lib/unistr/u8-check.c: New file.
63895         * lib/unistr/u16-check.c: New file.
63896         * lib/unistr/u32-check.c: New file.
63897
63898         * modules/unistr/u8-chr: New file.
63899         * modules/unistr/u16-chr: New file.
63900         * modules/unistr/u32-chr: New file.
63901         * lib/unistr/u8-chr.c: New file.
63902         * lib/unistr/u16-chr.c: New file.
63903         * lib/unistr/u32-chr.c: New file.
63904
63905         * modules/unistr/u8-cmp: New file.
63906         * modules/unistr/u16-cmp: New file.
63907         * modules/unistr/u32-cmp: New file.
63908         * lib/unistr/u8-cmp.c: New file.
63909         * lib/unistr/u16-cmp.c: New file.
63910         * lib/unistr/u32-cmp.c: New file.
63911
63912         * modules/unistr/u8-cpy: New file.
63913         * modules/unistr/u16-cpy: New file.
63914         * modules/unistr/u32-cpy: New file.
63915         * lib/unistr/u8-cpy.c: New file.
63916         * lib/unistr/u16-cpy.c: New file.
63917         * lib/unistr/u32-cpy.c: New file.
63918         * lib/unistr/u-cpy.h: New file.
63919
63920         * modules/unistr/u8-cpy-alloc: New file.
63921         * modules/unistr/u16-cpy-alloc: New file.
63922         * modules/unistr/u32-cpy-alloc: New file.
63923         * lib/unistr/u8-cpy-alloc.c: New file.
63924         * lib/unistr/u16-cpy-alloc.c: New file.
63925         * lib/unistr/u32-cpy-alloc.c: New file.
63926         * lib/unistr/u-cpy-alloc.h: New file.
63927
63928         * modules/unistr/u8-endswith: New file.
63929         * modules/unistr/u16-endswith: New file.
63930         * modules/unistr/u32-endswith: New file.
63931         * lib/unistr/u8-endswith.c: New file.
63932         * lib/unistr/u16-endswith.c: New file.
63933         * lib/unistr/u32-endswith.c: New file.
63934         * lib/unistr/u-endswith.h: New file.
63935
63936         * modules/unistr/u8-mblen: New file.
63937         * modules/unistr/u16-mblen: New file.
63938         * modules/unistr/u32-mblen: New file.
63939         * lib/unistr/u8-mblen.c: New file.
63940         * lib/unistr/u16-mblen.c: New file.
63941         * lib/unistr/u32-mblen.c: New file.
63942
63943         * modules/unistr/u8-mbtouc: New file.
63944         * modules/unistr/u16-mbtouc: New file.
63945         * modules/unistr/u32-mbtouc: New file.
63946         * lib/unistr/u8-mbtouc.c: New file.
63947         * lib/unistr/u16-mbtouc.c: New file.
63948         * lib/unistr/u32-mbtouc.c: New file.
63949
63950         * modules/unistr/u8-mbtouc-safe: New file.
63951         * modules/unistr/u16-mbtouc-safe: New file.
63952         * modules/unistr/u32-mbtouc-safe: New file.
63953         * lib/unistr/u8-mbtouc-safe.c: New file.
63954         * lib/unistr/u16-mbtouc-safe.c: New file.
63955         * lib/unistr/u32-mbtouc-safe.c: New file.
63956
63957         * modules/unistr/u8-move: New file.
63958         * modules/unistr/u16-move: New file.
63959         * modules/unistr/u32-move: New file.
63960         * lib/unistr/u8-move.c: New file.
63961         * lib/unistr/u16-move.c: New file.
63962         * lib/unistr/u32-move.c: New file.
63963         * lib/unistr/u-move.h: New file.
63964
63965         * modules/unistr/u8-next: New file.
63966         * modules/unistr/u16-next: New file.
63967         * modules/unistr/u32-next: New file.
63968         * lib/unistr/u8-next.c: New file.
63969         * lib/unistr/u16-next.c: New file.
63970         * lib/unistr/u32-next.c: New file.
63971
63972         * modules/unistr/u8-prev: New file.
63973         * modules/unistr/u16-prev: New file.
63974         * modules/unistr/u32-prev: New file.
63975         * lib/unistr/u8-prev.c: New file.
63976         * lib/unistr/u16-prev.c: New file.
63977         * lib/unistr/u32-prev.c: New file.
63978
63979         * modules/unistr/u8-set: New file.
63980         * modules/unistr/u16-set: New file.
63981         * modules/unistr/u32-set: New file.
63982         * lib/unistr/u8-set.c: New file.
63983         * lib/unistr/u16-set.c: New file.
63984         * lib/unistr/u32-set.c: New file.
63985         * lib/unistr/u-set.h: New file.
63986
63987         * modules/unistr/u8-startswith: New file.
63988         * modules/unistr/u16-startswith: New file.
63989         * modules/unistr/u32-startswith: New file.
63990         * lib/unistr/u8-startswith.c: New file.
63991         * lib/unistr/u16-startswith.c: New file.
63992         * lib/unistr/u32-startswith.c: New file.
63993         * lib/unistr/u-startswith.h: New file.
63994
63995         * modules/unistr/u8-stpcpy: New file.
63996         * modules/unistr/u16-stpcpy: New file.
63997         * modules/unistr/u32-stpcpy: New file.
63998         * lib/unistr/u8-stpcpy.c: New file.
63999         * lib/unistr/u16-stpcpy.c: New file.
64000         * lib/unistr/u32-stpcpy.c: New file.
64001         * lib/unistr/u-stpcpy.h: New file.
64002
64003         * modules/unistr/u8-stpncpy: New file.
64004         * modules/unistr/u16-stpncpy: New file.
64005         * modules/unistr/u32-stpncpy: New file.
64006         * lib/unistr/u8-stpncpy.c: New file.
64007         * lib/unistr/u16-stpncpy.c: New file.
64008         * lib/unistr/u32-stpncpy.c: New file.
64009         * lib/unistr/u-stpncpy.h: New file.
64010
64011         * modules/unistr/u8-strcat: New file.
64012         * modules/unistr/u16-strcat: New file.
64013         * modules/unistr/u32-strcat: New file.
64014         * lib/unistr/u8-strcat.c: New file.
64015         * lib/unistr/u16-strcat.c: New file.
64016         * lib/unistr/u32-strcat.c: New file.
64017         * lib/unistr/u-strcat.h: New file.
64018
64019         * modules/unistr/u8-strchr: New file.
64020         * modules/unistr/u16-strchr: New file.
64021         * modules/unistr/u32-strchr: New file.
64022         * lib/unistr/u8-strchr.c: New file.
64023         * lib/unistr/u16-strchr.c: New file.
64024         * lib/unistr/u32-strchr.c: New file.
64025
64026         * modules/unistr/u8-strcmp: New file.
64027         * modules/unistr/u16-strcmp: New file.
64028         * modules/unistr/u32-strcmp: New file.
64029         * lib/unistr/u8-strcmp.c: New file.
64030         * lib/unistr/u16-strcmp.c: New file.
64031         * lib/unistr/u32-strcmp.c: New file.
64032
64033         * modules/unistr/u8-strcpy: New file.
64034         * modules/unistr/u16-strcpy: New file.
64035         * modules/unistr/u32-strcpy: New file.
64036         * lib/unistr/u8-strcpy.c: New file.
64037         * lib/unistr/u16-strcpy.c: New file.
64038         * lib/unistr/u32-strcpy.c: New file.
64039         * lib/unistr/u-strcpy.h: New file.
64040
64041         * modules/unistr/u8-strcspn: New file.
64042         * modules/unistr/u16-strcspn: New file.
64043         * modules/unistr/u32-strcspn: New file.
64044         * lib/unistr/u8-strcspn.c: New file.
64045         * lib/unistr/u16-strcspn.c: New file.
64046         * lib/unistr/u32-strcspn.c: New file.
64047         * lib/unistr/u-strcspn.h: New file.
64048
64049         * modules/unistr/u8-strdup: New file.
64050         * modules/unistr/u16-strdup: New file.
64051         * modules/unistr/u32-strdup: New file.
64052         * lib/unistr/u8-strdup.c: New file.
64053         * lib/unistr/u16-strdup.c: New file.
64054         * lib/unistr/u32-strdup.c: New file.
64055         * lib/unistr/u-strdup.h: New file.
64056
64057         * modules/unistr/u8-strlen: New file.
64058         * modules/unistr/u16-strlen: New file.
64059         * modules/unistr/u32-strlen: New file.
64060         * lib/unistr/u8-strlen.c: New file.
64061         * lib/unistr/u16-strlen.c: New file.
64062         * lib/unistr/u32-strlen.c: New file.
64063         * lib/unistr/u-strlen.h: New file.
64064
64065         * modules/unistr/u8-strmblen: New file.
64066         * modules/unistr/u16-strmblen: New file.
64067         * modules/unistr/u32-strmblen: New file.
64068         * lib/unistr/u8-strmblen.c: New file.
64069         * lib/unistr/u16-strmblen.c: New file.
64070         * lib/unistr/u32-strmblen.c: New file.
64071
64072         * modules/unistr/u8-strmbtouc: New file.
64073         * modules/unistr/u16-strmbtouc: New file.
64074         * modules/unistr/u32-strmbtouc: New file.
64075         * lib/unistr/u8-strmbtouc.c: New file.
64076         * lib/unistr/u16-strmbtouc.c: New file.
64077         * lib/unistr/u32-strmbtouc.c: New file.
64078
64079         * modules/unistr/u8-strncat: New file.
64080         * modules/unistr/u16-strncat: New file.
64081         * modules/unistr/u32-strncat: New file.
64082         * lib/unistr/u8-strncat.c: New file.
64083         * lib/unistr/u16-strncat.c: New file.
64084         * lib/unistr/u32-strncat.c: New file.
64085         * lib/unistr/u-strncat.h: New file.
64086
64087         * modules/unistr/u8-strncmp: New file.
64088         * modules/unistr/u16-strncmp: New file.
64089         * modules/unistr/u32-strncmp: New file.
64090         * lib/unistr/u8-strncmp.c: New file.
64091         * lib/unistr/u16-strncmp.c: New file.
64092         * lib/unistr/u32-strncmp.c: New file.
64093
64094         * modules/unistr/u8-strncpy: New file.
64095         * modules/unistr/u16-strncpy: New file.
64096         * modules/unistr/u32-strncpy: New file.
64097         * lib/unistr/u8-strncpy.c: New file.
64098         * lib/unistr/u16-strncpy.c: New file.
64099         * lib/unistr/u32-strncpy.c: New file.
64100         * lib/unistr/u-strncpy.h: New file.
64101
64102         * modules/unistr/u8-strnlen: New file.
64103         * modules/unistr/u16-strnlen: New file.
64104         * modules/unistr/u32-strnlen: New file.
64105         * lib/unistr/u8-strnlen.c: New file.
64106         * lib/unistr/u16-strnlen.c: New file.
64107         * lib/unistr/u32-strnlen.c: New file.
64108         * lib/unistr/u-strnlen.h: New file.
64109
64110         * modules/unistr/u8-strpbrk: New file.
64111         * modules/unistr/u16-strpbrk: New file.
64112         * modules/unistr/u32-strpbrk: New file.
64113         * lib/unistr/u8-strpbrk.c: New file.
64114         * lib/unistr/u16-strpbrk.c: New file.
64115         * lib/unistr/u32-strpbrk.c: New file.
64116         * lib/unistr/u-strpbrk.h: New file.
64117
64118         * modules/unistr/u8-strrchr: New file.
64119         * modules/unistr/u16-strrchr: New file.
64120         * modules/unistr/u32-strrchr: New file.
64121         * lib/unistr/u8-strrchr.c: New file.
64122         * lib/unistr/u16-strrchr.c: New file.
64123         * lib/unistr/u32-strrchr.c: New file.
64124
64125         * modules/unistr/u8-strspn: New file.
64126         * modules/unistr/u16-strspn: New file.
64127         * modules/unistr/u32-strspn: New file.
64128         * lib/unistr/u8-strspn.c: New file.
64129         * lib/unistr/u16-strspn.c: New file.
64130         * lib/unistr/u32-strspn.c: New file.
64131         * lib/unistr/u-strspn.h: New file.
64132
64133         * modules/unistr/u8-strstr: New file.
64134         * modules/unistr/u16-strstr: New file.
64135         * modules/unistr/u32-strstr: New file.
64136         * lib/unistr/u8-strstr.c: New file.
64137         * lib/unistr/u16-strstr.c: New file.
64138         * lib/unistr/u32-strstr.c: New file.
64139         * lib/unistr/u-strstr.h: New file.
64140
64141         * modules/unistr/u8-strtok: New file.
64142         * modules/unistr/u16-strtok: New file.
64143         * modules/unistr/u32-strtok: New file.
64144         * lib/unistr/u8-strtok.c: New file.
64145         * lib/unistr/u16-strtok.c: New file.
64146         * lib/unistr/u32-strtok.c: New file.
64147         * lib/unistr/u-strtok.h: New file.
64148
64149         * modules/unistr/u8-uctomb: New file.
64150         * modules/unistr/u16-uctomb: New file.
64151         * modules/unistr/u32-uctomb: New file.
64152         * lib/unistr/u8-uctomb.c: New file.
64153         * lib/unistr/u16-uctomb.c: New file.
64154         * lib/unistr/u32-uctomb.c: New file.
64155
64156         * MODULES.html.sh (Unicode string functions): Add the new modules.
64157
64158 2007-01-08  Bruno Haible  <bruno@clisp.org>
64159
64160         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
64161         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
64162         subdirectories.
64163
64164 2007-01-08  Karl Berry  <karl@gnu.org>
64165
64166         * doc/error.texi: mention that main() fns must set program_name
64167         when progname is used.
64168
64169 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
64170
64171         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
64172         WCTYPE_H is empty, for the benefit of builds from non-distclean
64173         directories.  Problem reported by Eric Blake in
64174         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
64175
64176 2007-01-08  Bruno Haible  <bruno@clisp.org>
64177
64178         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
64179         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
64180         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
64181         PROVIDE_CANONICALIZE_FILENAME_MODE.
64182         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
64183
64184 2007-01-08  Bruno Haible  <bruno@clisp.org>
64185
64186         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
64187         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
64188         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
64189         * lib/fts.c: Likewise.
64190         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
64191
64192 2006-12-25  Bruno Haible  <bruno@clisp.org>
64193
64194         * modules/utf8-ucs4-safe: New file.
64195         * lib/utf8-ucs4-safe.h: New file.
64196         * lib/unistr/utf8-ucs4-safe.c: New file.
64197
64198         * modules/utf16-ucs4-safe: New file.
64199         * lib/utf16-ucs4-safe.h: New file.
64200         * lib/unistr/utf16-ucs4-safe.c: New file.
64201
64202         * MODULES.html.sh (Unicode string functions): Add the new modules.
64203
64204 2007-01-08  Bruno Haible  <bruno@clisp.org>
64205
64206         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
64207         (Depends-on): Add unitypes.
64208         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
64209         (u8_mbtouc_aux): Move out to separate file.
64210         (u8_mbtouc): Use ucs4_t, uint8_t types.
64211         * lib/unistr/utf8-ucs4.c: New file.
64212
64213         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
64214         (Depends-on): Add unitypes.
64215         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
64216         (u16_mbtouc_aux): Move out to separate file.
64217         (u16_mbtouc): Use ucs4_t, uint16_t types.
64218         * lib/unistr/utf16-ucs4.c: New file.
64219
64220         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
64221         (Depends-on): Add unitypes.
64222         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
64223         (u8_uctomb_aux): Move out to separate file.
64224         (u8_uctomb): Use ucs4_t, uint8_t types.
64225         * lib/unistr/ucs4-utf8.c: New file.
64226
64227         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
64228         (Depends-on): Add unitypes.
64229         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
64230         (u16_uctomb_aux): Move out to separate file.
64231         (u16_uctomb): Use ucs4_t, uint16_t types.
64232         * lib/unistr/ucs4-utf16.c: New file.
64233
64234 2006-12-25  Bruno Haible  <bruno@clisp.org>
64235
64236         * modules/unitypes: New file.
64237         * lib/unitypes.h: New file.
64238         * MODULES.html.sh (func_all_modules): New section "Unicode string
64239         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
64240         this section. Add unitypes.
64241
64242 2007-01-08  Bruno Haible  <bruno@clisp.org>
64243
64244         Avoid variable names that conflict with those from libtool.
64245         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
64246         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
64247         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
64248         library_names_spec to acl_library_names_spec, hardcode_* to
64249         acl_hardcode_*.
64250         Reported by Ralf Wildenhues.
64251
64252 2007-01-08  Bruno Haible  <bruno@clisp.org>
64253
64254         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
64255         definition.
64256         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
64257         definition.
64258         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
64259         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
64260         definition.
64261         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
64262         definition.
64263         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
64264         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
64265         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
64266         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
64267         definition.
64268         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
64269         definition.
64270         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
64271         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
64272         GC_USE_<algorithm>.
64273         * lib/gc-libgcrypt.c: Likewise.
64274         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
64275         * modules/gc-arctwo (configure.ac): Likewise.
64276         * modules/gc-des (configure.ac): Likewise.
64277         * modules/gc-hmac-md5 (configure.ac): Likewise.
64278         * modules/gc-hmac-sha1 (configure.ac): Likewise.
64279         * modules/gc-md2 (configure.ac): Likewise.
64280         * modules/gc-md4 (configure.ac): Likewise.
64281         * modules/gc-md5 (configure.ac): Likewise.
64282         * modules/gc-random (configure.ac): Likewise.
64283         * modules/gc-rijndael (configure.ac): Likewise.
64284         * modules/gc-sha1 (configure.ac): Likewise.
64285
64286 2007-01-08  Bruno Haible  <bruno@clisp.org>
64287
64288         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
64289         macro definition.
64290         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
64291         definition.
64292         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
64293         definition.
64294         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
64295         * modules/fcntl-safer (configure.ac): Likewise.
64296         * modules/fopen-safer (configure.ac): Likewise.
64297         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
64298         GNULIB_FWRITEERROR macro definition.
64299
64300 2007-01-08  Bruno Haible  <bruno@clisp.org>
64301
64302         * m4/gnulib-common.m4: New file.
64303         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
64304         (func_get_filelist): Add m4/gnulib-common.m4.
64305
64306 2007-01-08  Bruno Haible  <bruno@clisp.org>
64307
64308         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
64309         command.
64310
64311 2007-01-08  Jim Meyering  <jim@meyering.net>
64312
64313         Use a more robust test for a "can't happen" condition.
64314         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
64315         narrowed the st_size value.  Presuming the "can't happen" condition
64316         is true, that narrowing could conceivably convert an invalid st_size
64317         value into a valid one.  Instead, use a change based on Matthew
64318         Woehlke's original patch.
64319
64320         Slight readability improvement: use an assert-like macro
64321         in place of literal "abort ()" uses.
64322         * lib/fts.c (fts_assert): Define.
64323         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
64324         Use this macro instead of a bare 'abort'.
64325
64326 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
64327
64328         Don't worry about using IRIX 5.3's wctype.h broken definitions;
64329         simply work around them.
64330         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
64331         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
64332         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
64333         declaring.
64334         Don't bother to define as macros, since the standard doesn't require it.
64335         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
64336         longer worry about IRIX 5.3.
64337         (HAVE_WCTYPE_CTMP_BUG): Remove.
64338
64339 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
64340
64341         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
64342         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
64343         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
64344         Problems reported by Georg Schwarz for IRIX 5.3.
64345
64346         * gnulib-tool (autoconf_minversion): Take the maximum version number
64347         found, not the minimum.  Problem reported by James Youngman.
64348
64349 2007-01-03  Karl Berry  <karl@gnu.org>
64350
64351         * doc/error.texi: new file, explaining interaction with progname.
64352         * doc/gnulib.texi: include it.  Update copyright.
64353
64354 2007-01-03  Simon Josefsson  <simon@josefsson.org>
64355
64356         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
64357         AC_CANONICAL_HOST, to improve autobuild outputs.
64358
64359 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
64360             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
64361
64362         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
64363         sockets, server sockets, and other file descriptors.  Count errors
64364         to compute the return value.  Reorder the code a bit to be easier
64365         to follow.  Don't set event bits that were not requested (except
64366         POLLERR and POLLHUP).
64367
64368 2007-01-01  Bruno Haible  <bruno@clisp.org>
64369
64370         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
64371
64372 2007-01-03  Jim Meyering  <jim@meyering.net>
64373
64374         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
64375
64376 2007-01-02  Bruno Haible  <bruno@clisp.org>
64377
64378         * modules/settime (Include): Require timespec.h.
64379         * modules/nanosleep (Include): Likewise.
64380
64381 2007-01-01  Bruno Haible  <bruno@clisp.org>
64382
64383         * gnulib-tool (func_emit_copyright_notice): Bump year.
64384         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
64385
64386 2007-01-01  Bruno Haible  <bruno@clisp.org>
64387
64388         Improve support for OpenBSD.
64389         * build-aux/config.rpath (libname_spec): Export.
64390         (library_names_spec): New variable. Export.
64391         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
64392         library_names_spec from the config.rpath output. Locate shared library
64393         through the name pattern in library_names_spec.
64394
64395 2007-01-01  Eric Blake  <ebb9@byu.net>
64396
64397         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
64398
64399 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
64400
64401         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
64402         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
64403         assume the C locale, and avoid an "eval" that could cause trouble.
64404         Problem with SORT reported by Bob Proulx.
64405
64406         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
64407         Define.  Trivial patch from Henning Nielsen Lund, originally
64408         sent to bug-grep@gnu.org today.
64409
64410 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
64411
64412         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
64413         struct stat.  Problem reported by Henning Nielsen Lund.
64414         * lib/acl.c: Include acl.h first, to check interface.  Don't
64415         bother to include sys/types.h and sys/stat.h again.
64416
64417 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
64418
64419         Import the following change from libc; problem reported by
64420         Sven Verdoolaege.
64421
64422         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
64423
64424         [BZ #1373]
64425         * lib/argp.h: Remove __NTH for __argp_usage inline function.
64426
64427 2006-12-28  Jim Meyering  <jim@meyering.net>
64428
64429         * build-aux/announce-gen: Do not assume that the package
64430         builds any of tar.gz, tar.bz2, and .xdelta files.
64431         Suggestion from Simon Josefsson.
64432
64433 2006-12-28  Simon Josefsson  <simon@josefsson.org>
64434
64435         * modules/announce-gen: New file.
64436
64437 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
64438
64439         * lib/mbchar.h: Just include <wctype.h>; the wctype module
64440         handles its gotchas now.
64441         * lib/mbswidth.c: Likewise.
64442         * lib/wcwidth.h: Likewise.
64443         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
64444         and iswcntrl; the wctype module does this stuff now.
64445         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
64446         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
64447         * modules/mbchar (Depends-on): Add wctype.
64448         * modules/mbswidth (Depends-on): Likewise.
64449         * modules/wcwidth (Depends-on): Likewise.
64450
64451 2006-12-27  Eric Blake  <ebb9@byu.net>
64452
64453         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
64454         module uses more than what <wctype.h> is required to provide.
64455
64456 2006-12-26  Eric Blake  <ebb9@byu.net>
64457
64458         * gnulib-tool (sed_extract_prog): Avoid space-tab.
64459
64460 2006-12-26  Eric Blake  <ebb9@byu.net>
64461
64462         * modules/absolute-header: New module.
64463         * modules/fcntl (Depends-on): Depend on it.
64464         * modules/inttypes (Depends-on): Likewise.
64465         * modules/stdint (Depends-on): Likewise.
64466         * modules/sys_stat (Depends-on): Likewise.
64467         * modules/wctype (Depends-on): Likewise.
64468         * MODULES.html.sh (Support for building libraries and
64469         executables): Document it.
64470
64471 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
64472
64473         * gnulib-tool (SED): Remove, undoing previous change.
64474         The problem was that it broke coreutils on Solaris, because
64475         "sed --posix" leaked into a makefile.
64476         (sed): New alias, if 'alias' and GNU sed.
64477
64478 2006-12-24  Jim Meyering  <jim@meyering.net>
64479
64480         Work around an fchownat bug in glibc-2.4:
64481         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
64482         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
64483         in spite of the -P option.
64484         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
64485         New macros.
64486         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
64487         * modules/openat (Files): Add lib/fchownat.c.
64488         * lib/openat.c (fchownat): Don't define here.  Move to...
64489         * lib/fchownat.c: ...this new file.
64490
64491 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
64492
64493         Fix bug reported by Bruno Haible in
64494         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
64495         where quotearg.c didn't compile on Mac OS X 10.2 because it
64496         lacks <wchar.h> and wint_t.
64497         * lib/wctype_.h (__wctype_wint_t): New type.
64498         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
64499         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
64500         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
64501         Arg is now of type __wctype_wint_t, not wint_t.
64502         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
64503         substitute HAVE_WINT_T.
64504         * modules/wctype (Files): Add m4/wint_t.m4.
64505         (wctype.h): Substitute HAVE_WINT_T.
64506
64507 2006-12-23  Bruno Haible  <bruno@clisp.org>
64508
64509         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
64510
64511 2006-12-23  Bruno Haible  <bruno@clisp.org>
64512
64513         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
64514         S_ISLNK.
64515         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
64516         mingw.
64517
64518 2006-12-22  Bruno Haible  <bruno@clisp.org>
64519
64520         * lib/copy-file.c: Include acl.h.
64521         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
64522         Close the file descriptors only after being done with copy_acl.
64523         * modules/copy-file (Depends-on): Add acl.
64524
64525 2006-12-22  Bruno Haible  <bruno@clisp.org>
64526
64527         * gnulib-tool (SED): New variable.
64528         Use $SED instead of sed everywhere.
64529
64530 2006-12-22  Bruno Haible  <bruno@clisp.org>
64531
64532         * modules/no-c++: New file.
64533         * m4/no-c++.m4: New file.
64534         * MODULES.html.sh (Support for building libraries and executables):
64535         Add no-c++.
64536
64537 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
64538
64539         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
64540         Include <limits.h>, and use its INT_MAX to rewrite the
64541         j loop so that it does not overflow 'int'.  Problem reported by
64542         Ralf Wildenhues in
64543         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
64544         Play it safe by shifting left by 1 rather than multiplying by 2,
64545         as GCC is less likely to optimize this away when the value
64546         is signed (when it assumes overflow leads to undefined behavior).
64547         Also, don't assume time_t uses two's complement.
64548
64549 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
64550
64551         * MODULES.html.sh: New module wctype.
64552         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
64553         * lib/fnmatch.c: Don't bother to include <wchar.h> before
64554         <wctype.h>, since the new wctype module should fix this.
64555         * lib/quotearg.c: Include <wctype.h> unconditionally, since
64556         the wctype module should arrange for it.
64557         * lib/regex_internal.h: Likewise.
64558         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
64559         since the wctype module should handle this now.
64560         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
64561         * modules/fnmatch (Depends-on): Add wctype.
64562         * modules/quotearg (Depends-on): Likewise.
64563         * modules/regex (Depends-on): Likewise.
64564
64565 2006-12-19  Bruno Haible  <bruno@clisp.org>
64566
64567         * lib/strdup.h [C++]: Wrap definitions in extern "C".
64568         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
64569
64570 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64571
64572         * modules/savewd (Depends-on): Fix dependency on fcntl.
64573
64574 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
64575
64576         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
64577         conforms to C99, rather than relying on the user's environment
64578         setting of STDINT_H.
64579
64580 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
64581         and Eric Blake  <ebb9@byu.net>
64582
64583         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
64584         This is more consistent with the other defines here.
64585         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
64586         Port to z/OS.  Problem reported by Paul Gilmartin.
64587         Change local vars to use gl_ prefix rather than ac_.
64588         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
64589         with other defines.
64590         * modules/double-slash-root: New module.
64591         * modules/dirname (Files): Remove m4/double-slash-root.m4.
64592         (Depends-on): Add double-slash-root.
64593         * MODULES.html.sh (File system functions): Mention new module.
64594
64595 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
64596
64597         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
64598         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
64599         This is for the benefit of gzip, which doesn't do i18n.
64600
64601 2006-12-12  Jim Meyering  <jim@meyering.net>
64602
64603         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
64604         Reported by Andreas Schwab <schwab@suse.de>.
64605
64606 2006-12-12  Bruno Haible  <bruno@clisp.org>
64607
64608         Merge these changes.
64609         2006-09-05  Bruno Haible  <bruno@clisp.org>
64610         * lib/iconvme.c (iconv_string): No need to save and restore errno when
64611         iconv_alloc succeeded.
64612         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
64613         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
64614         test for " && dest " at the end - dest is always != NULL there. Call
64615         iconv with 4xNULL arguments initially, to reset the state. Call iconv
64616         with 2xNULL arguments, also to flush the state storage. Handle the
64617         IRIX iconv behaviour. Realloc the final result, to throw away unused
64618         memory.
64619
64620 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
64621
64622         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
64623         and fchmodat unconditionally, since glibc 2.4 has them.
64624         Problem reported by Arkadiusz Miskiewicz.
64625
64626 2006-12-10  Bruno Haible  <bruno@clisp.org>
64627
64628         * gnulib-tool (func_import): Show the include files only for those
64629         modules that are copied and specified.
64630         Reported by Karl Berry.
64631
64632 2006-12-08  Jim Meyering  <jim@meyering.net>
64633
64634         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
64635         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
64636
64637         * build-aux/announce-gen: Add two new options, both optional:
64638         --bootstrap-tools=TOOL_LIST
64639               a comma-separated list of tools, e.g.,
64640               autoconf,automake,bison,gnulib
64641         --gnulib-snapshot-date=DATE
64642               if gnulib is in the bootstrap tool list,
64643               then report this as the snapshot date.
64644               If not specified, use the current date/time.
64645               If you specify a date here, be sure it's UTC.
64646
64647 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64648
64649         * tests/test-argp-2.sh: Fix test to match actual output.
64650         (func_compare): Fix sed script to be portable.
64651
64652 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
64653
64654         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
64655         workaround for this case.  It is not autoconfigured now; offhand
64656         it's hard to see how to autoconfigure it.
64657
64658 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
64659
64660         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
64661         a directory that is about to be chowned.  Such a directory's
64662         initial file permissions should permit the owner only and this
64663         should not be changed until after the chown, since the group and
64664         other bits would be incorrect if they granted permission before
64665         the chown.
64666
64667         Fix porting problem for iswctype reported by Georg Schwarz in:
64668         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
64669         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
64670         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
64671         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
64672         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
64673
64674 2006-12-03  Jim Meyering  <jim@meyering.net>
64675
64676         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
64677         p->fts_statp may not yet be defined.
64678         (fts_read): Instead, set it in the caller, once p->fts_statp is
64679         sure to be defined, and corresponds to a top-level directory.
64680         This bug made du -x fail.  Here's the coreutils test case:
64681         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
64682         Reported by Mike Frysinger.
64683
64684 2006-12-01  Jim Meyering  <jim@meyering.net>
64685
64686         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
64687         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
64688         Reported by Simon Josefsson.
64689
64690 2006-11-30  Jim Meyering  <jim@meyering.net>
64691
64692         * m4/warning.m4: Use the all-permissive copyright notice
64693         recommended by RMS (rather than LGPL).
64694         * m4/vararrays.m4: Likewise.
64695         * m4/flexmember.m4: Likewise.
64696
64697 2006-11-29  Bruno Haible  <bruno@clisp.org>
64698
64699         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
64700         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
64701         using +=.
64702         Reported by Simon Josefsson <simon@josefsson.org>.
64703
64704 2006-11-28  James Youngman <jay@gnu.org>
64705
64706         * README: Advise users that they might find the bug-gnulib@gnu.org
64707         and autotools-announce@gnu.org mailing lists useful.
64708
64709 2006-11-28  Bruno Haible  <bruno@clisp.org>
64710
64711         * m4/ptrdiff_max.m4: Remove file.
64712
64713 2006-11-21  Bruno Haible  <bruno@clisp.org>
64714
64715         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
64716         _AC_COMPUTE_INT.
64717         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
64718         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
64719         _AC_COMPUTE_INT.
64720         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
64721         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
64722         _AC_COMPUTE_INT.
64723         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
64724
64725 2006-11-28  Jim Meyering  <jim@meyering.net>
64726
64727         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
64728         warning from "gcc -Wshadow" about shadowing the builtin.
64729
64730 2006-11-27  Bruno Haible  <bruno@clisp.org>
64731
64732         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
64733         _AC_COMPUTE_INT.
64734         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
64735
64736 2006-11-27  Bruno Haible  <bruno@clisp.org>
64737             Paul Eggert  <eggert@cs.ucla.edu>
64738
64739         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
64740
64741 2006-11-26  Bruno Haible  <bruno@clisp.org>
64742
64743         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
64744         noinst_LTLIBRARIES.
64745
64746 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
64747             Bruno Haible  <bruno@clisp.org>
64748
64749         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
64750         if compiling with "gcc -ansi".
64751
64752 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
64753
64754         Fix some incompatibilities with gcc -ansi -pedantic.
64755         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
64756         if compiling pedantically with GCC, unless it's C99 or later.
64757         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
64758         it mishandles gcc -ansi -pedantic as well.
64759         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
64760         if gcc -pedantic.
64761         * lib/regexec.c (check_node_accept_bytes): Don't use auto
64762         initializers for struct if -pedantic, unless it's C99 or later.
64763
64764 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
64765
64766         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
64767         Don't close an fd more than once. Identical atimes indicate
64768         success, not failure.
64769
64770 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
64771
64772         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
64773
64774 2006-11-23  Jim Meyering  <jim@meyering.net>
64775
64776         * build-aux/announce-gen: New file.  From coreutils.
64777
64778 2006-11-22  Jim Meyering  <jim@meyering.net>
64779
64780         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
64781         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
64782         (fts_read): Use a temporary to narrow the overused st_size member
64783         before using it in a switch statement.  Reported by Matthew Woehlke.
64784
64785         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
64786         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
64787
64788 2006-11-20  Bruno Haible  <bruno@clisp.org>
64789
64790         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
64791         changequote instead of pairs of brackets.
64792         Reported by Andreas Schwab <schwab@suse.de>.
64793
64794 2006-11-21  Jim Meyering  <jim@meyering.net>
64795
64796         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
64797         so as to remain compatible with older compilers.
64798         Patch from Michael Deutschmann.
64799
64800 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
64801
64802         * MODULES.html.sh (File system functions): Add openat.
64803
64804         * lib/openat.h (rpl_fstatat): New macro, if
64805         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
64806         (fstatat): Define to rpl_fstatat under the same conditions,
64807         unless COMPILING_FSTATAT.
64808         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
64809         seems to have the bug.
64810         * lib/fstatat.c: New file.
64811         * modules/openat (Files): Add it.
64812
64813 2006-11-20  Bruno Haible  <bruno@clisp.org>
64814
64815         * Makefile: New file.
64816
64817 2006-11-20  Jim Meyering  <jim@meyering.net>
64818
64819         The beginnings of syntax-related checks for gnulib.
64820         * lib/Makefile: New file.
64821         * lib/t-idcache: New script.  Ensure that the two halves of
64822         idcache.c stay in sync.
64823
64824         * lib/idcache.c: Adjust comments in user- and group- portions to
64825         be more accurate, and to be consistent with one another.
64826
64827 2006-11-20  Jim Meyering  <jim@meyering.net>
64828
64829         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
64830         continue using the flexible array member (thus, this module performs
64831         half as many malloc calls), with the addition that...
64832         (getgroup, getuser): Consistently record a non-match via an empty
64833         "name" string, and map an empty string match to a NULL return value.
64834         * modules/idcache (Depends-on): Re-add flexmember.
64835
64836         * lib/idcache.c (getuser): Remove all uses of the register keyword.
64837         (getuidbyname, getgroup, getgidbyname): Likewise.
64838
64839         Use cleaner syntax: NULL rather than 0.
64840         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
64841
64842 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
64843
64844         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
64845         It mishandled the case where the group was missing.
64846         Problem reported by Greg Schafer.
64847         * modules/idcache: Likewise.
64848
64849 2006-11-18  Jim Meyering  <jim@meyering.net>
64850
64851         * check-module (%exempt_header): Add exception for some
64852         conditionally-included headers.
64853
64854         * modules/i-ring (Depends-on): Add verify.
64855         (License): Change to LGPL.
64856
64857 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
64858
64859         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
64860         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
64861         and inttostr.h.  Use snprintf rather than uinttostr, so that
64862         LGPLed code doesn't depend on GPLed.
64863
64864 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
64865
64866         * modules/inline (License): Change from GPL to LGPL.
64867
64868 2006-11-17  Jim Meyering  <jim@meyering.net>
64869
64870         * modules/d-type (License): Switch to LGPL.
64871
64872 2006-11-15  Bruno Haible  <bruno@clisp.org>
64873
64874         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
64875
64876 2006-11-15  Eric Blake  <ebb9@byu.net>
64877
64878         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
64879         the module dependency.
64880
64881 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64882             Bruno Haible  <bruno@clisp.org>
64883
64884         * gnulib-tool (func_create_testdir): Add license consistency check.
64885
64886 2006-11-15  Eric Blake  <ebb9@byu.net>
64887
64888         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
64889         random "(cached)" in configure output.
64890
64891 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64892
64893         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
64894         test for conforming inttypes.h is both announced and cached.
64895
64896         * MODULES.html.sh (seen_modules, seen_files): New variables.
64897         (func_module): Rewrite to use a few less gnulib-tool and sed
64898         invocations.  Avoid a couple of quadratic algorithms for ...
64899         (missed_modules, missed_files): ... these, with ...
64900         (func_append, func_tmpdir): ... these new functions, from
64901         gnulib-tool.  Analogously, install traps for cleanup.
64902
64903         * tests/test-gc.c (main): Remove unused variables.
64904         * tests/test-read-file.c: Include stdlib.h, for 'free'.
64905
64906 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
64907
64908         * modules/inttostr (License): Change to LGPL.
64909
64910 2006-11-14  Eric Blake  <ebb9@byu.net>
64911
64912         * modules/tempname (License): Change to LGPL.
64913
64914 2006-11-14  Eric Blake  <ebb9@byu.net>
64915
64916         * doc/functions.texi (Function Portability): *printf functions on
64917         Cygwin now understand all POSIX size specifiers.
64918
64919 2006-11-14  Bruno Haible  <bruno@clisp.org>
64920
64921         * modules/c-ctype (License): Change to LGPL.
64922
64923 2006-11-12  Bruno Haible  <bruno@clisp.org>
64924
64925         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
64926         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
64927         for GNOME libraries, for which the include files are installed in
64928         subdirectories of $prefix/include.
64929
64930 2006-11-12  Bruno Haible  <bruno@clisp.org>
64931
64932         * m4/lib-link.m4: Require at least autoconf-2.54.
64933         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
64934         name to underscores for the --with option.
64935
64936 2006-11-13  Bruno Haible  <bruno@clisp.org>
64937
64938         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
64939         the tests directory.
64940         Reported by Ralf Wildenhues.
64941
64942 2006-11-13  Bruno Haible  <bruno@clisp.org>
64943
64944         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
64945         (func_emit_initmacro_end): Undo the override here.
64946         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
64947         Works around the famous automake error in coreutils.
64948
64949 2006-11-13  Eric Blake  <ebb9@byu.net>
64950
64951         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
64952         element, not its node.
64953
64954 2006-11-12  Bruno Haible  <bruno@clisp.org>
64955
64956         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
64957         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
64958
64959 2006-11-12  Bruno Haible  <bruno@clisp.org>
64960
64961         * gnulib-tool: New option --local-symlink.
64962         (func_usage): Document it.
64963         (lsymbolic): New variable.
64964         (func_import, func_create_testdir): If --symlink was not specified,
64965         test whether --local-symlink was specified and the file comes from
64966         the local_gnulib_dir.
64967
64968 2006-11-12  Bruno Haible  <bruno@clisp.org>
64969
64970         * gnulib-tool (func_ln): New function.
64971         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
64972
64973 2006-11-12  Bruno Haible  <bruno@clisp.org>
64974
64975         Finish support for source files in subdirectories.
64976         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
64977         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
64978         AUTOMAKE_OPTIONS.
64979         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
64980
64981 2006-11-12  Bruno Haible  <bruno@clisp.org>
64982
64983         * gnulib-tool (func_get_automake_snippet): Synthesize also an
64984         EXTRA_lib_SOURCES augmentation.
64985         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
64986
64987 2006-11-12  Jim Meyering  <jim@meyering.net>
64988
64989         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
64990         file descriptors.  This also averts a failure on systems with
64991         native openat support when a traversed directory lacks "x" access.
64992         * lib/fts_.h: Include "i-ring.h"
64993         (struct FTS) [fts_fd_ring]: New member.
64994         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
64995         (FCHDIR): Add parentheses.
64996         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
64997         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
64998         When descending, rather than simply closing the previous
64999         fts_cwd_fd value, push that file descriptor onto the ring.
65000         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
65001         (fts_open): Initialize the new fd_ring member.
65002         (fts_close): Clear the ring.
65003         (fts_safe_changedir): When possible, use our new fd_ring to skip
65004         the diropen and fstat and dev/ino comparison that would normally
65005         accompany a virtual `chdir ("..")'.
65006
65007         * modules/fts (Depends-on): Add i-ring.
65008         * modules/i-ring: New module.
65009         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
65010         * m4/i-ring.m4: New file.
65011
65012 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65013
65014         * gnulib-tool (func_create_testdir): Fix replacement of
65015         `build-aux' in configure.ac.  Run autotools in gltests
65016         subdirectory.
65017         (func_create_testdir, func_create_megatestdir, test): There is
65018         no need for '--force' in most autotool invocations in a new
65019         tree.  Actually fail the whole test if any of the tools, or the
65020         configure or make stages fail.
65021
65022         Sync from Automake.
65023         * build-aux/gnupload: Revert last change.  Add pointer to upload
65024         instructions of the GNU Maintenance Instructions.
65025         Suggestion by Karl Berry.
65026
65027 2006-11-10  Jim Meyering  <jim@meyering.net>
65028
65029         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
65030
65031 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
65032
65033         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
65034         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
65035         (bind_textdomain_codeset) [! ENABLE_NLS]:
65036         Evaluate all the arguments.  That way, callers get compatible behavior
65037         if the arguments have side effects.  Also, it avoids some GCC
65038         diagnostics in some cases; Joel E. Denny reported problems when Bison
65039         was configured with --enable-gcc-warnigs.
65040
65041 2006-11-10  Jim Meyering  <jim@meyering.net>
65042
65043         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
65044         relevant options in CFLAGS (like -O, -fno-inline) are taken into
65045         account.
65046
65047 2006-11-10  Jim Meyering  <jim@meyering.net>
65048
65049         * modules/inline: New file/module.
65050         * modules/xalloc (Files): Remove m4/inline.m4.
65051         (Depends-on): Add inline, instead.
65052         * modules/oset: Likewise.
65053         * modules/list: Likewise.
65054
65055 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
65056
65057         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
65058         Problem reported by Matthew Woehlke.
65059
65060 2006-11-09  Bruno Haible  <bruno@clisp.org>
65061
65062         * lib/tempname.c (gen_tempname): Remove variant that invokes
65063         __gen_tempname.
65064         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
65065         __gen_tempname.
65066
65067 2006-11-08  Bruno Haible  <bruno@clisp.org>
65068
65069         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
65070         to 'yes' instead of 'cross-compiling'.
65071
65072 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
65073
65074         * lib/quotearg.h (quotearg_free): New decl.
65075         * lib/quotearg.c (quotearg_free): New function.
65076         (slot0, nslots, slotvec0, slotvec):
65077         Now file-scope so that quotearg_free can get at them.
65078
65079 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65080
65081         Sync from Automake.
65082         * build-aux/gnupload: Add missing 'gnu' to example URL.
65083         Report by Karl Berry.
65084
65085 2006-11-08  Bruno Haible  <bruno@clisp.org>
65086
65087         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
65088         Suggested by Paul Eggert.
65089
65090 2006-11-08  Jim Meyering  <jim@meyering.net>
65091
65092         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
65093         It's already included if !_LIBC.
65094         (fts_safe_changedir): Add a comment.
65095
65096 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
65097
65098         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
65099         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
65100         Matthew Woehlke.
65101
65102         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
65103         definitions up, to avoid colliding with change below.
65104         (static_inline) [HAVE_INLINE]: New macro.
65105         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
65106         Provide extern decls when !HAVE_INLINE.  Do not define unless
65107         static_inline is defined, either by us or by xmalloc.c.  Use
65108         static_inline rather than static inline.
65109         (XCALLOC): Optimize sizeof(T) = 1 case.
65110         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
65111
65112 2006-11-07  Bruno Haible  <bruno@clisp.org>
65113
65114         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
65115         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
65116         AC_C_INLINE.
65117         * modules/xalloc (Files): Add m4/inline.m4.
65118
65119 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65120
65121         * README: Fix typo.
65122         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
65123         (Miscellanous Notes): ...from this.
65124
65125 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
65126
65127         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
65128         Mention that offsetof should be used instead of sizeof.
65129         From Bruno Haible.
65130
65131 2006-11-07  Bruno Haible  <bruno@clisp.org>
65132
65133         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
65134
65135 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
65136
65137         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
65138         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
65139         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
65140         (gl_tree_add_before, gl_tree_add_after):
65141         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
65142         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
65143         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
65144         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
65145         (gl_linked_add_after, gl_linked_add_at): Likewise.
65146         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
65147         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
65148         (gl_tree_add_before, gl_tree_add_after): Likewise.
65149         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
65150         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
65151         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
65152
65153 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65154
65155         * lib/gl_oset.h: Use C comment style, not C++ comment style.
65156
65157 2006-11-06  Bruno Haible  <bruno@clisp.org>
65158
65159         * m4/inline.m4: New file.
65160         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
65161         * modules/list (Files): Add m4/inline.m4.
65162         * modules/oset (Files): Likewise.
65163
65164 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
65165
65166         * lib/idcache.c: Include <stddef.h>, for offsetof.
65167         (struct userid.name): Change from char * to a flexible array member.
65168         All uses changed.
65169         * modules/idcache (Depends-on): Add flexmember.
65170
65171         * MODULES.html.sh (Core language properties): New module flexmember.
65172         * modules/flexmember, m4/flexmember.m4: New files.
65173
65174         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
65175         inline functions that are identical with the old xnmalloc_inline,
65176         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
65177         that we can avoid some unnecessary integer multiplications and
65178         divisions in the common case where the element size is known at
65179         compile time.
65180         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
65181         needed.
65182         (xnboundedmalloc): Remove.
65183         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
65184         arguments, for consistency with rest of this header.
65185         (xcharalloc): Rewrite using XNMALLOC.
65186         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
65187         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
65188         versions have been moved to lib/xalloc.h and renamed to be the
65189         non-*_inline versions.
65190         (xmalloc, xrealloc): Implement without reference to the xnmalloc
65191         and xnrealloc functions, since those functions are now inline and
65192         now call us.
65193         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
65194         renaming described above.
65195         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
65196         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
65197         captures the dependency in AC_C_INLINE.
65198
65199         New module canonicalize-lgpl, proposed by Charles Wilson in
65200         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
65201         with a few small changes afterwards.
65202         * MODULES.html.sh (File system functions): New module
65203         canonicalize-lgpl.
65204         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
65205         and canonicalize_file_name.
65206         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
65207         * modules/canonicalize-lgpl: New files.
65208
65209 2006-11-05  Bruno Haible  <bruno@clisp.org>
65210
65211         * gnulib-tool (func_import, func_create_testdir): Create directories
65212         also for files in subdirectories of lib/.
65213
65214 2006-11-05  Bruno Haible  <bruno@clisp.org>
65215
65216         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
65217         ANSI C compliant.
65218
65219 2006-11-03  Bruno Haible  <bruno@clisp.org>
65220
65221         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
65222         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
65223         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
65224         (xnboundedmalloc): New inline function.
65225         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
65226         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
65227         xmalloc.
65228         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
65229         xmalloc.
65230         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
65231         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
65232         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
65233         xmalloc.
65234         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
65235         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
65236         xmalloc.
65237         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
65238         gl_tree_add_after): Use XMALLOC instead of xmalloc.
65239         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
65240         xmalloc.
65241         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
65242         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
65243         gl_tree_add_after): Use XMALLOC instead of xmalloc.
65244         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
65245         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
65246         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
65247         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
65248
65249 2006-11-03  Bruno Haible  <bruno@clisp.org>
65250
65251         * lib/c-ctype.h [C++]: Define functions without name mangling.
65252         * lib/fwriteerror.h [C++]: Likewise.
65253         * lib/gcd.h [C++]: Likewise.
65254         * lib/linebreak.h [C++]: Likewise.
65255
65256 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
65257
65258         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
65259         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
65260         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
65261         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
65262         Check for functions and headers just once.
65263         Check for declaration of canonicalize_file_name.
65264         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
65265
65266 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
65267
65268         * gnulib-tool (func_import): Fix typo in actioncmd.
65269
65270 2006-11-02  Bruno Haible  <bruno@clisp.org>
65271
65272         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
65273         newline sequence in the Makefile.am snippet as a space, like "make"
65274         does.
65275         Reported by Roger Persson <perrog@gmail.com>.
65276
65277 2006-11-01  Bruno Haible  <bruno@clisp.org>
65278
65279         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
65280         already declared in <string.h>.
65281         * lib/strcase.h (strncasecmp): Don't declare it if yes.
65282
65283 2006-11-01  Bruno Haible  <bruno@clisp.org>
65284
65285         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
65286         * lib/strcase.h: Include <string.h>.
65287         (strcasecmp): Define to rpl_strcasecmp here.
65288
65289 2006-11-01  Bruno Haible  <bruno@clisp.org>
65290
65291         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
65292
65293 2006-11-01  Eric Blake  <ebb9@byu.net>
65294
65295         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
65296
65297         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
65298
65299 2006-10-29  Bruno Haible  <bruno@clisp.org>
65300
65301         Make it compile in C++ mode.
65302         * lib/full-write.c (full_rw): Add a cast.
65303
65304 2006-11-01  Bruno Haible  <bruno@clisp.org>
65305
65306         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
65307         be POSIX compliant.
65308         Reported by Roger Persson <perrog@gmail.com>.
65309
65310 2006-11-01  Eric Blake  <ebb9@byu.net>
65311
65312         * lib/getopt_.h: Fix comments.
65313
65314 2006-10-31  Eric Blake  <ebb9@byu.net>
65315
65316         * modules/tmpdir (Depends-on): Add sys_stat.
65317         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
65318         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
65319         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
65320         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
65321         tempname.
65322
65323 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
65324
65325         Avoid some C++ diagnostics reported by Bruno Haible.
65326         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
65327         xmalloc.
65328         (quotearg_alloc): Use xcharalloc rather than xmalloc.
65329         (struct slotvec): Move to top level.
65330         (quotearg_n_options): Rewrite to avoid xmalloc.
65331         * lib/xalloc.h (xcharalloc): New function.
65332         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
65333         [defined __cplusplus]: Add function template that provides result
65334         type propagation.  This part of the change is from Bruno Haible.
65335
65336 2006-10-29  Bruno Haible  <bruno@clisp.org>
65337
65338         Make it compile in C++ mode.
65339         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
65340         * lib/strnlen1.c (strnlen1): Cast memchr result.
65341         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
65342         * lib/clean-temp.c (string_equals, string_hash): Add casts.
65343         (create_temp_dir): Rename local variable 'template'.
65344         (compile_csharp_using_sscli): Add cast.
65345         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
65346         * lib/findprog.c (find_in_path): Likewise.
65347         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
65348         * lib/wait-process.c (register_slave_subprocess): Likewise.
65349
65350 2006-10-22  Bruno Haible  <bruno@clisp.org>
65351
65352         * modules/tsearch: New file.
65353         * lib/tsearch.h: New file.
65354         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
65355         * m4/tsearch.m4: New file.
65356         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
65357
65358 2006-10-29  Eric Blake  <ebb9@byu.net>
65359
65360         * lib/arcfour.c: Assume config.h.
65361         * lib/arctwo.c: Likewise.
65362         * lib/base64.c: Likewise.
65363         * lib/check-version.c: Likewise.
65364         * lib/crc.c: Likewise.
65365         * lib/des.c: Likewise.
65366         * lib/gc-gnulib.c: Likewise.
65367         * lib/gc-libgcrypt.c: Likewise.
65368         * lib/gc-pbkdf2-sha1.c: Likewise.
65369         * lib/getaddrinfo.c: Likewise.
65370         * lib/getdelim.c: Likewise.
65371         * lib/getline.c: Likewise.
65372         * lib/hmac-md5.c: Likewise.
65373         * lib/hmac-sha1.c: Likewise.
65374         * lib/iconvme.c: Likewise.
65375         * lib/md2.c: Likewise.
65376         * lib/md4.c: Likewise.
65377         * lib/memxor.c: Likewise.
65378         * lib/read-file.c: Likewise.
65379         * lib/readline.c: Likewise.
65380         * lib/rijndael-alg-fst.c: Likewise.
65381         * lib/rijndael-api-fst.c: Likewise.
65382         * lib/xgetdomainname.c: Likewise.
65383
65384 2006-10-28  Eric Blake  <ebb9@byu.net>
65385
65386         * lib/xstrndup.c: Assume config.h.
65387
65388 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
65389
65390         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
65391         stat-macros.h is now for our own macros, whereas stat_h is for
65392         macros in the <sys/stat.h> name space.
65393         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
65394         (STAT_MACROS_H): Remove.
65395         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
65396         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
65397         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
65398         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
65399         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
65400         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
65401         Move these macros to ...
65402         * lib/stat_.h: here.  Don't include stat-macros.h.
65403         * lib/canonicalize.c: Don't include stat-macros.h.
65404         * lib/chown.c: Likewise.
65405         * lib/euidaccess.c: Likewise.
65406         * lib/file-type.c: Likewise.
65407         * lib/filemode.c: Likewise.
65408         * lib/glob.c: Likewise.
65409         * lib/isapipe.c: Likewise.
65410         * lib/lchown.c: Likewise.
65411         * lib/lstat.c: Likewise.
65412         * lib/mkdir-p.c: Likewise.
65413         * lib/rmdir.c: Likewise.
65414         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
65415         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
65416         unless mkdir isn't declared, to speed up 'configure'.
65417         Always create sys/stat.h, since it's unlikely any real sys/stat.h
65418         would define all the S_* symbols.
65419         * modules/canonicalize (Depends-on):
65420         Depend on sys_stat, not stat-macros.
65421         * modules/chown: Likewise.
65422         * modules/euidaccess: Likewise.
65423         * modules/filemode: Likewise.
65424         * modules/file-type: Likewise.
65425         * modules/glob: Likewise.
65426         * modules/isapipe: Likewise.
65427         * modules/lchown: Likewise.
65428         * modules/lstat: Likewise.
65429         * modules/mkancesdirs: Likewise.
65430         * modules/rmdir: Likewise.
65431         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
65432         * modules/modechange: Likewise.
65433         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
65434         (configure.ac): Remove gl_STAT_MACROS.
65435         * modules/sys_stat (Depends-on): Remove stat-macros.
65436
65437 2006-10-27  Bruno Haible  <bruno@clisp.org>
65438
65439         * m4/signed.m4: Remove file.
65440         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
65441         invocation.
65442         * modules/vasnprintf (Files): Remove m4/signed.m4.
65443
65444 2006-10-27  Bruno Haible  <bruno@clisp.org>
65445
65446         Update to GNU gettext 0.16.
65447         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
65448         m4/inttypes-h.m4, m4/signed.m4.
65449         * m4/gettext.m4: Update to GNU gettext 0.16.
65450         * m4/intl.m4: New file, from GNU gettext.
65451         * m4/intldir.m4: New file, from GNU gettext.
65452         * config/srclist.txt: Update
65453
65454 2006-10-27  Eric Blake  <ebb9@byu.net>
65455
65456         * MODULES.html.sh: Document tempname.
65457         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
65458         dependencies.
65459         (Files): Move lib/tempname.c...
65460         * modules/tempname: ...to this new module.
65461         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
65462         (gl_PREREQ_TEMPNAME): Move...
65463         * m4/tempname.m4: ...to this new file.
65464         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
65465         * modules/sys_stat (Depends-on): Add stat-macros.
65466         * lib/stat_.h (includes): Pick up stat macros.
65467         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
65468         if stat macros are broken.
65469         * lib/tempname.c (includes): No need to include "stat-macros.h".
65470         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
65471         (direxists, __path_search) [!_LIBC]: Don't compile these in
65472         gnulib; the tmpdir module covers that.
65473         * lib/tempname.h: New file.
65474
65475 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
65476
65477         * COPYING: Explain how gnulib-tool converts licence headers.
65478         Almost all wording by Eric Blake.
65479
65480 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
65481
65482         * lib/mbchar.h (is_basic_table): Make read-only.
65483         * lib/mbchar.c (is_basic_table): Likewise.
65484         Reported by John Darrington.
65485
65486 2006-10-25  Bruno Haible  <bruno@clisp.org>
65487
65488         * lib/progname.h (set_program_name): Undefine before defining.
65489
65490 2006-10-25  Bruno Haible  <bruno@clisp.org>
65491
65492         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
65493         false for non-gcc C++ compilers.
65494         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
65495
65496 2006-10-24  Bruno Haible  <bruno@clisp.org>
65497
65498         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
65499         iconv implementations like Irix iconv.
65500
65501 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
65502
65503         * modules/vararrays: New file.
65504         * m4/vararrays.m4: New file, taken from diffutils.
65505         * MODULES.html.sh: New module vararrays.
65506
65507 2006-10-24  Karl Berry  <karl@gnu.org>
65508
65509         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
65510         Don't call GNU Unix.
65511
65512 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65513
65514         * users.txt: Add Libtool.
65515
65516         Sync from Libtool:
65517
65518         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
65519
65520         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
65521         to gnulib's policy of including config.h unconditionally.
65522
65523 2006-10-24  Bruno Haible  <bruno@clisp.org>
65524
65525         * modules/wcwidth (Files): Add m4/wint_t.m4.
65526         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
65527         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
65528
65529 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
65530
65531         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
65532         to pacify GCC with some -W flags enabled.  Problem reported by
65533         Bruno Haible.
65534
65535 2006-10-24  Jim Meyering  <jim@meyering.net>
65536
65537         * MODULES.html.sh: Remove uinttostr.  It's not a module.
65538         Reported by Karl Berry.
65539
65540 2006-10-23  Bruno Haible  <bruno@clisp.org>
65541
65542         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
65543
65544 2006-10-24  Bruno Haible  <bruno@clisp.org>
65545
65546         * lib/gl_list.h: Use C comment style, not C++ comment style.
65547
65548 2006-10-23  Eric Blake  <ebb9@byu.net>
65549
65550         * lib/getaddrinfo.c (includes): Add missing include.
65551
65552 2006-10-23  Bruno Haible  <bruno@clisp.org>
65553             Paul Eggert  <eggert@cs.ucla.edu>
65554
65555         Ability to rename obstack_free.
65556         * lib/obstack.h (__obstack_free): New macro. Declare instead of
65557         obstack_free.
65558         (obstack_free): Invoke the __obstack_free macro.
65559         * lib/obstack.c (obstack_free): Use __obstack_free macro.
65560
65561 2006-10-23  Bruno Haible  <bruno@clisp.org>
65562             Paul Eggert  <eggert@cs.ucla.edu>
65563
65564         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
65565         __argc, __argv from the declaration. (They are defined as macros on
65566         mingw.)
65567
65568 2006-10-22  Bruno Haible  <bruno@clisp.org>
65569
65570         * doc/gnulib-intro.texi: New file.
65571         * doc/gnulib.texi: Include it.
65572
65573 2006-10-21  Bruno Haible  <bruno@clisp.org>
65574
65575         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
65576         "Introduction", "Miscellanous Notes", "Particular Modules".
65577
65578 2006-10-21  Bruno Haible  <bruno@clisp.org>
65579
65580         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
65581         Change mostlyclean-local rule to avoid sh syntax error from bash
65582         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
65583
65584 2006-10-23  Jim Meyering  <jim@meyering.net>
65585
65586         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
65587         in place of snprintf.
65588
65589         * modules/inttostr (Files): Add lib/uinttostr.c.
65590         * lib/uinttostr.c (inttostr): New file/function.
65591         * lib/inttostr.h (uinttostr): Declare.
65592         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
65593         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
65594         Add uinttostr.
65595         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
65596
65597 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
65598
65599         * lib/canonicalize.c (ELOOP): Define if not already defined.
65600         Problem reported by Bruno Haible in
65601         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
65602
65603 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
65604
65605         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
65606         Problem reported by Perry Smith and Ville Laurikari.
65607
65608         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
65609         uses.
65610
65611 2006-10-19  Bruno Haible  <bruno@clisp.org>
65612
65613         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
65614         for mingw.
65615
65616 2006-10-19  Bruno Haible  <bruno@clisp.org>
65617
65618         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
65619         Needed for mingw.
65620
65621 2006-10-19  Bruno Haible  <bruno@clisp.org>
65622
65623         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
65624
65625 2006-10-19  Bruno Haible  <bruno@clisp.org>
65626
65627         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
65628         it.
65629
65630 2006-10-19  Bruno Haible  <bruno@clisp.org>
65631
65632         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
65633         invocation.
65634
65635 2006-10-19  Bruno Haible  <bruno@clisp.org>
65636
65637         * gnulib-tool (func_create_testdir): Don't include ftruncate and
65638         mountlist by default.
65639
65640 2006-10-16  Bruno Haible  <bruno@clisp.org>
65641
65642         * lib/c-strstr.c: Include c-strstr.h.
65643
65644 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
65645
65646         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
65647         in a slash.
65648
65649 2006-10-18  Bruno Haible  <bruno@clisp.org>
65650
65651         * lib/lock.h [C++]: Wrap definitions in extern "C".
65652
65653 2006-10-18  Bruno Haible  <bruno@clisp.org>
65654
65655         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
65656         gl_LIBOBJS list.
65657
65658 2006-10-18  Bruno Haible  <bruno@clisp.org>
65659
65660         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
65661
65662 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
65663
65664         * lib/xstrtol.h: Include gettext.h.
65665         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
65666         Problem reported by Eric Blake.
65667         * modules/xstrtol (Depends-on): Add gettext-h.
65668
65669 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
65670
65671         * lib/strftime.c (advance): New macro.
65672         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
65673         incomplete type, so you can't add 0 to it.  Problem and patch
65674         reported by Eelco Dolstra for dietlibc.
65675
65676 2006-10-18  Jim Meyering  <jim@meyering.net>
65677
65678         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
65679         type for a local, and rename it: s/up/user_proc/.
65680
65681 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
65682
65683         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
65684         READ_UTMP_USER_PROCESS.
65685         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
65686
65687 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
65688
65689         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
65690         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
65691
65692 2006-10-17  Eric Blake  <ebb9@byu.net>
65693
65694         * lib/sigprocmask.c (sigprocmask): Fix typo.
65695
65696         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
65697
65698         * modules/clean-temp (Makefile.am): Don't add to make output...
65699         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
65700         config.h.
65701
65702 2006-10-17  Bruno Haible  <bruno@clisp.org>
65703
65704         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
65705         differently if DEFAULT_TEXT_DOMAIN is set.
65706
65707 2006-10-16  Bruno Haible  <bruno@clisp.org>
65708
65709         * lib/clean-temp.c: Include fwriteerror.h.
65710
65711 2006-10-16  Bruno Haible  <bruno@clisp.org>
65712
65713         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
65714
65715 2006-10-16  Bruno Haible  <bruno@clisp.org>
65716
65717         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
65718         * lib/sigprocmask.h: Include <sys/types.h>.
65719         (sigset_t): Use the system's definition if present.
65720
65721 2006-10-17  Eric Blake  <ebb9@byu.net>
65722
65723         * lib/xvasprintf.c (includes): Assume config.h.
65724         * lib/xasprintf.c (includes): Likewise.
65725
65726 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
65727
65728         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
65729         at least as wide as intmax_t.
65730
65731 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
65732
65733         (Imported from Automake.)
65734         * build-aux/gnupload: Update to version 1.1 of directive file.
65735
65736 2006-10-16  Eric Blake  <ebb9@byu.net>
65737
65738         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
65739         match Automake 1.10a.
65740
65741 2006-10-14  Bruno Haible  <bruno@clisp.org>
65742
65743         * modules/sigprocmask: New file.
65744         * lib/sigprocmask.h: New file.
65745         * lib/sigprocmask.c: New file.
65746         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
65747         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
65748         request sigprocmask.o.
65749         (gl_PREREQ_SIGPROCMASK): New macro.
65750         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
65751         (Depends-on): Add sigprocmask.
65752         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
65753         gt_SIGNALBLOCKING. Test for 'raise' only once.
65754         * lib/fatal-signal.c: Include sigprocmask.h.
65755         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
65756         unblock_fatal_signals): Define always.
65757         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
65758         sigprocmask.
65759
65760 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
65761
65762         Sync from Automake.
65763         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
65764         which incorrectly sets the mode of an existing destination
65765         directory.  In some cases the unpatched install-sh could do the
65766         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
65767         system.  We hope this is rare in practice, but it's clearly worth
65768         fixing.  Problem reported by Alex Unleashed in
65769         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
65770         Also, don't bother to check for -m bugs unless we're using -m;
65771         suggested by Stepan Kasal.
65772
65773 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65774
65775         Sync from Automake.
65776         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
65777         `-c' flag, so they appear at the same position as in %FASTDEP%
65778         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
65779         which ignores unknown options only after the first non-option.
65780         Bug report against M4 by Nelson H. F. Beebe.
65781
65782 2006-10-13  Jim Meyering  <jim@meyering.net>
65783
65784         Fix a bug in yesterday's change.
65785         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
65786         p->fts_statp->st_dev would be used uninitialized.
65787         Ensures that we always call fts_stat on the very first entry.
65788         Miklos Szeredi reported that find -xdev stopped working.
65789
65790 2006-10-12  Bruno Haible  <bruno@clisp.org>
65791
65792         * gnulib-tool (func_get_automake_snippet): Append an automatically
65793         computed EXTRA_DIST augmentation.
65794         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
65795         * modules/alloca-opt (Makefile.am): Likewise.
65796         * modules/allocsa (Makefile.am): Likewise.
65797         * modules/arcfour (Makefile.am): Likewise.
65798         * modules/arctwo (Makefile.am): Likewise.
65799         * modules/argmatch (Makefile.am): Likewise.
65800         * modules/argz (Makefile.am): Likewise.
65801         * modules/atexit (Makefile.am): Likewise.
65802         * modules/backupfile (Makefile.am): Likewise.
65803         * modules/byteswap (Makefile.am): Likewise.
65804         * modules/c-strtod (Makefile.am): Likewise.
65805         * modules/c-strtold (Makefile.am): Likewise.
65806         * modules/calloc (Makefile.am): Likewise.
65807         * modules/canon-host (Makefile.am): Likewise.
65808         * modules/canonicalize (Makefile.am): Likewise.
65809         * modules/chdir-long (Makefile.am): Likewise.
65810         * modules/chdir-safer (Makefile.am): Likewise.
65811         * modules/check-version (Makefile.am): Likewise.
65812         * modules/chown (Makefile.am): Likewise.
65813         * modules/cloexec (Makefile.am): Likewise.
65814         * modules/close-stream (Makefile.am): Likewise.
65815         * modules/closeout (Makefile.am): Likewise.
65816         * modules/crc (Makefile.am): Likewise.
65817         * modules/csharpexec (Makefile.am): Likewise.
65818         * modules/cycle-check (Makefile.am): Likewise.
65819         * modules/des (Makefile.am): Likewise.
65820         * modules/dev-ino (Makefile.am): Likewise.
65821         * modules/dirfd (Makefile.am): Likewise.
65822         * modules/dirname (Makefile.am): Likewise.
65823         * modules/dup2 (Makefile.am): Likewise.
65824         * modules/eealloc (Makefile.am): Likewise.
65825         * modules/error (Makefile.am): Likewise.
65826         * modules/euidaccess (Makefile.am): Likewise.
65827         * modules/exclude (Makefile.am): Likewise.
65828         * modules/exitfail (Makefile.am): Likewise.
65829         * modules/fcntl-safer (Makefile.am): Likewise.
65830         * modules/fcntl (Makefile.am): Likewise.
65831         * modules/file-type (Makefile.am): Likewise.
65832         * modules/fileblocks (Makefile.am): Likewise.
65833         * modules/filemode (Makefile.am): Likewise.
65834         * modules/filenamecat (Makefile.am): Likewise.
65835         * modules/fnmatch (Makefile.am): Likewise.
65836         * modules/fopen-safer (Makefile.am): Likewise.
65837         * modules/fpending (Makefile.am): Likewise.
65838         * modules/fprintftime (Makefile.am): Likewise.
65839         * modules/free (Makefile.am): Likewise.
65840         * modules/fsusage (Makefile.am): Likewise.
65841         * modules/ftruncate (Makefile.am): Likewise.
65842         * modules/fts (Makefile.am): Likewise.
65843         * modules/gc-arcfour (Makefile.am): Likewise.
65844         * modules/gc-des (Makefile.am): Likewise.
65845         * modules/gc-hmac-md5 (Makefile.am): Likewise.
65846         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
65847         * modules/gc-md4 (Makefile.am): Likewise.
65848         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
65849         * modules/gc-sha1 (Makefile.am): Likewise.
65850         * modules/gc (Makefile.am): Likewise.
65851         * modules/getaddrinfo (Makefile.am): Likewise.
65852         * modules/getcwd (Makefile.am): Likewise.
65853         * modules/getdelim (Makefile.am): Likewise.
65854         * modules/getdomainname (Makefile.am): Likewise.
65855         * modules/getgroups (Makefile.am): Likewise.
65856         * modules/gethostname (Makefile.am): Likewise.
65857         * modules/gethrxtime (Makefile.am): Likewise.
65858         * modules/getline (Makefile.am): Likewise.
65859         * modules/getloadavg (Makefile.am): Likewise.
65860         * modules/getlogin_r (Makefile.am): Likewise.
65861         * modules/getndelim2 (Makefile.am): Likewise.
65862         * modules/getopt (Makefile.am): Likewise.
65863         * modules/getpagesize (Makefile.am): Likewise.
65864         * modules/getpass-gnu (Makefile.am): Likewise.
65865         * modules/getpass (Makefile.am): Likewise.
65866         * modules/getsubopt (Makefile.am): Likewise.
65867         * modules/gettime (Makefile.am): Likewise.
65868         * modules/gettimeofday (Makefile.am): Likewise.
65869         * modules/getugroups (Makefile.am): Likewise.
65870         * modules/getusershell (Makefile.am): Likewise.
65871         * modules/glob (Makefile.am): Likewise.
65872         * modules/group-member (Makefile.am): Likewise.
65873         * modules/hard-locale (Makefile.am): Likewise.
65874         * modules/hash (Makefile.am): Likewise.
65875         * modules/hmac-md5 (Makefile.am): Likewise.
65876         * modules/hmac-sha1 (Makefile.am): Likewise.
65877         * modules/human (Makefile.am): Likewise.
65878         * modules/idcache (Makefile.am): Likewise.
65879         * modules/imaxabs (Makefile.am): Likewise.
65880         * modules/imaxdiv (Makefile.am): Likewise.
65881         * modules/inet_ntop (Makefile.am): Likewise.
65882         * modules/inet_pton (Makefile.am): Likewise.
65883         * modules/intprops (Makefile.am): Likewise.
65884         * modules/inttostr (Makefile.am): Likewise.
65885         * modules/inttypes (Makefile.am): Likewise.
65886         * modules/isapipe (Makefile.am): Likewise.
65887         * modules/javaversion (Makefile.am): Likewise.
65888         * modules/lchmod (Makefile.am): Likewise.
65889         * modules/lchown (Makefile.am): Likewise.
65890         * modules/localcharset (Makefile.am): Likewise.
65891         * modules/long-options (Makefile.am): Likewise.
65892         * modules/lstat (Makefile.am): Likewise.
65893         * modules/malloc (Makefile.am): Likewise.
65894         * modules/mathl (Makefile.am): Likewise.
65895         * modules/mbchar (Makefile.am): Likewise.
65896         * modules/md2 (Makefile.am): Likewise.
65897         * modules/md4 (Makefile.am): Likewise.
65898         * modules/md5 (Makefile.am): Likewise.
65899         * modules/memcasecmp (Makefile.am): Likewise.
65900         * modules/memchr (Makefile.am): Likewise.
65901         * modules/memcmp (Makefile.am): Likewise.
65902         * modules/memcoll (Makefile.am): Likewise.
65903         * modules/memcpy (Makefile.am): Likewise.
65904         * modules/memmem (Makefile.am): Likewise.
65905         * modules/memmove (Makefile.am): Likewise.
65906         * modules/mempcpy (Makefile.am): Likewise.
65907         * modules/memrchr (Makefile.am): Likewise.
65908         * modules/memset (Makefile.am): Likewise.
65909         * modules/memxor (Makefile.am): Likewise.
65910         * modules/mkancesdirs (Makefile.am): Likewise.
65911         * modules/mkdir-p (Makefile.am): Likewise.
65912         * modules/mkdir (Makefile.am): Likewise.
65913         * modules/mkdtemp (Makefile.am): Likewise.
65914         * modules/mkstemp (Makefile.am): Likewise.
65915         * modules/mktime (Makefile.am): Likewise.
65916         * modules/modechange (Makefile.am): Likewise.
65917         * modules/mountlist (Makefile.am): Likewise.
65918         * modules/nanosleep (Makefile.am): Likewise.
65919         * modules/obstack (Makefile.am): Likewise.
65920         * modules/openat (Makefile.am): Likewise.
65921         * modules/pagealign_alloc (Makefile.am): Likewise.
65922         * modules/pathmax (Makefile.am): Likewise.
65923         * modules/physmem (Makefile.am): Likewise.
65924         * modules/poll (Makefile.am): Likewise.
65925         * modules/posixtm (Makefile.am): Likewise.
65926         * modules/posixver (Makefile.am): Likewise.
65927         * modules/putenv (Makefile.am): Likewise.
65928         * modules/quote (Makefile.am): Likewise.
65929         * modules/quotearg (Makefile.am): Likewise.
65930         * modules/raise (Makefile.am): Likewise.
65931         * modules/read-file (Makefile.am): Likewise.
65932         * modules/readline (Makefile.am): Likewise.
65933         * modules/readlink (Makefile.am): Likewise.
65934         * modules/readtokens (Makefile.am): Likewise.
65935         * modules/readutmp (Makefile.am): Likewise.
65936         * modules/realloc (Makefile.am): Likewise.
65937         * modules/regex (Makefile.am): Likewise.
65938         * modules/rename-dest-slash (Makefile.am): Likewise.
65939         * modules/rename (Makefile.am): Likewise.
65940         * modules/rijndael (Makefile.am): Likewise.
65941         * modules/rmdir (Makefile.am): Likewise.
65942         * modules/rpmatch (Makefile.am): Likewise.
65943         * modules/safe-read (Makefile.am): Likewise.
65944         * modules/safe-write (Makefile.am): Likewise.
65945         * modules/same-inode (Makefile.am): Likewise.
65946         * modules/same (Makefile.am): Likewise.
65947         * modules/save-cwd (Makefile.am): Likewise.
65948         * modules/savedir (Makefile.am): Likewise.
65949         * modules/setenv (Makefile.am): Likewise.
65950         * modules/settime (Makefile.am): Likewise.
65951         * modules/sha1 (Makefile.am): Likewise.
65952         * modules/sig2str (Makefile.am): Likewise.
65953         * modules/snprintf (Makefile.am): Likewise.
65954         * modules/stat-macros (Makefile.am): Likewise.
65955         * modules/stat-time (Makefile.am): Likewise.
65956         * modules/stdbool (Makefile.am): Likewise.
65957         * modules/stdint (Makefile.am): Likewise.
65958         * modules/stdlib-safer (Makefile.am): Likewise.
65959         * modules/stpcpy (Makefile.am): Likewise.
65960         * modules/stpncpy (Makefile.am): Likewise.
65961         * modules/strcase (Makefile.am): Likewise.
65962         * modules/strcasestr (Makefile.am): Likewise.
65963         * modules/strchrnul (Makefile.am): Likewise.
65964         * modules/strcspn (Makefile.am): Likewise.
65965         * modules/strdup (Makefile.am): Likewise.
65966         * modules/strerror (Makefile.am): Likewise.
65967         * modules/strftime (Makefile.am): Likewise.
65968         * modules/strndup (Makefile.am): Likewise.
65969         * modules/strnlen (Makefile.am): Likewise.
65970         * modules/strpbrk (Makefile.am): Likewise.
65971         * modules/strsep (Makefile.am): Likewise.
65972         * modules/strstr (Makefile.am): Likewise.
65973         * modules/strtod (Makefile.am): Likewise.
65974         * modules/strtoimax (Makefile.am): Likewise.
65975         * modules/strtok_r (Makefile.am): Likewise.
65976         * modules/strtol (Makefile.am): Likewise.
65977         * modules/strtoll (Makefile.am): Likewise.
65978         * modules/strtoul (Makefile.am): Likewise.
65979         * modules/strtoull (Makefile.am): Likewise.
65980         * modules/strtoumax (Makefile.am): Likewise.
65981         * modules/strverscmp (Makefile.am): Likewise.
65982         * modules/sys_socket (Makefile.am): Likewise.
65983         * modules/sys_stat (Makefile.am): Likewise.
65984         * modules/sysexits (Makefile.am): Likewise.
65985         * modules/time_r (Makefile.am): Likewise.
65986         * modules/timegm (Makefile.am): Likewise.
65987         * modules/timespec (Makefile.am): Likewise.
65988         * modules/tmpfile-safer (Makefile.am): Likewise.
65989         * modules/trim (Makefile.am): Likewise.
65990         * modules/unistd-safer (Makefile.am): Likewise.
65991         * modules/unlinkdir (Makefile.am): Likewise.
65992         * modules/unlocked-io (Makefile.am): Likewise.
65993         * modules/userspec (Makefile.am): Likewise.
65994         * modules/utime (Makefile.am): Likewise.
65995         * modules/utimecmp (Makefile.am): Likewise.
65996         * modules/utimens (Makefile.am): Likewise.
65997         * modules/vasnprintf (Makefile.am): Likewise.
65998         * modules/vasprintf (Makefile.am): Likewise.
65999         * modules/vsnprintf (Makefile.am): Likewise.
66000         * modules/xalloc (Makefile.am): Likewise.
66001         * modules/xgetcwd (Makefile.am): Likewise.
66002         * modules/xnanosleep (Makefile.am): Likewise.
66003         * modules/xreadlink (Makefile.am): Likewise.
66004         * modules/xstrtod (Makefile.am): Likewise.
66005         * modules/xstrtol (Makefile.am): Likewise.
66006         * modules/xstrtold (Makefile.am): Likewise.
66007         * modules/yesno (Makefile.am): Likewise.
66008         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
66009
66010 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
66011
66012         * modules/error (Makefile.am): Distribute files through
66013         EXTRA_DIST, not lib_SOURCES.
66014
66015 2006-10-12  Eric Blake  <ebb9@byu.net>
66016
66017         * modules/error (Makefile.am): Distribute files in /lib.
66018         * modules/obstack (Makefile.am): Likewise.
66019
66020 2006-10-12  Bruno Haible  <bruno@clisp.org>
66021
66022         * modules/acl (Makefile.am): Distribute all files in lib/ through
66023         EXTRA_DIST.
66024         * modules/arcfour (Makefile.am): Likewise.
66025         * modules/arctwo (Makefile.am): Likewise.
66026         * modules/argmatch (Makefile.am): Likewise.
66027         * modules/argz (Makefile.am): Likewise.
66028         * modules/atexit (Makefile.am): Likewise.
66029         * modules/backupfile (Makefile.am): Likewise.
66030         * modules/c-strtod (Makefile.am): Likewise.
66031         * modules/c-strtold (Makefile.am): Likewise.
66032         * modules/calloc (Makefile.am): Likewise.
66033         * modules/canon-host (Makefile.am): Likewise.
66034         * modules/canonicalize (Makefile.am): Likewise.
66035         * modules/chdir-long (Makefile.am): Likewise.
66036         * modules/chdir-safer (Makefile.am): Likewise.
66037         * modules/check-version (Makefile.am): Likewise.
66038         * modules/chown (Makefile.am): Likewise.
66039         * modules/cloexec (Makefile.am): Likewise.
66040         * modules/close-stream (Makefile.am): Likewise.
66041         * modules/closeout (Makefile.am): Likewise.
66042         * modules/crc (Makefile.am): Likewise.
66043         * modules/cycle-check (Makefile.am): Likewise.
66044         * modules/des (Makefile.am): Likewise.
66045         * modules/dirfd (Makefile.am): Likewise.
66046         * modules/dirname (Makefile.am): Likewise.
66047         * modules/dup2 (Makefile.am): Likewise.
66048         * modules/euidaccess (Makefile.am): Likewise.
66049         * modules/exclude (Makefile.am): Likewise.
66050         * modules/exitfail (Makefile.am): Likewise.
66051         * modules/fcntl-safer (Makefile.am): Likewise.
66052         * modules/file-type (Makefile.am): Likewise.
66053         * modules/fileblocks (Makefile.am): Likewise.
66054         * modules/filemode (Makefile.am): Likewise.
66055         * modules/filenamecat (Makefile.am): Likewise.
66056         * modules/fnmatch (Makefile.am): Likewise.
66057         * modules/fopen-safer (Makefile.am): Likewise.
66058         * modules/fpending (Makefile.am): Likewise.
66059         * modules/fprintftime (Makefile.am): Likewise.
66060         * modules/free (Makefile.am): Likewise.
66061         * modules/fsusage (Makefile.am): Likewise.
66062         * modules/ftruncate (Makefile.am): Likewise.
66063         * modules/fts (Makefile.am): Likewise.
66064         * modules/gc (Makefile.am): Likewise.
66065         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
66066         * modules/getaddrinfo (Makefile.am): Likewise.
66067         * modules/getcwd (Makefile.am): Likewise.
66068         * modules/getdelim (Makefile.am): Likewise.
66069         * modules/getdomainname (Makefile.am): Likewise.
66070         * modules/getgroups (Makefile.am): Likewise.
66071         * modules/gethostname (Makefile.am): Likewise.
66072         * modules/gethrxtime (Makefile.am): Likewise.
66073         * modules/getline (Makefile.am): Likewise.
66074         * modules/getloadavg (Makefile.am): Likewise.
66075         * modules/getlogin_r (Makefile.am): Likewise.
66076         * modules/getopt (Makefile.am): Likewise.
66077         * modules/getpass (Makefile.am): Likewise.
66078         * modules/getpass-gnu (Makefile.am): Likewise.
66079         * modules/getsubopt (Makefile.am): Likewise.
66080         * modules/gettime (Makefile.am): Likewise.
66081         * modules/gettimeofday (Makefile.am): Likewise.
66082         * modules/getugroups (Makefile.am): Likewise.
66083         * modules/getusershell (Makefile.am): Likewise.
66084         * modules/glob (Makefile.am): Likewise.
66085         * modules/group-member (Makefile.am): Likewise.
66086         * modules/hard-locale (Makefile.am): Likewise.
66087         * modules/hash (Makefile.am): Likewise.
66088         * modules/hmac-md5 (Makefile.am): Likewise.
66089         * modules/hmac-sha1 (Makefile.am): Likewise.
66090         * modules/human (Makefile.am): Likewise.
66091         * modules/idcache (Makefile.am): Likewise.
66092         * modules/imaxabs (Makefile.am): Likewise.
66093         * modules/imaxdiv (Makefile.am): Likewise.
66094         * modules/inet_ntop (Makefile.am): Likewise.
66095         * modules/inet_pton (Makefile.am): Likewise.
66096         * modules/inttostr (Makefile.am): Likewise.
66097         * modules/isapipe (Makefile.am): Likewise.
66098         * modules/lchown (Makefile.am): Likewise.
66099         * modules/long-options (Makefile.am): Likewise.
66100         * modules/lstat (Makefile.am): Likewise.
66101         * modules/malloc (Makefile.am): Likewise.
66102         * modules/mathl (Makefile.am): Likewise.
66103         * modules/mbchar (Makefile.am): Likewise.
66104         * modules/md2 (Makefile.am): Likewise.
66105         * modules/md4 (Makefile.am): Likewise.
66106         * modules/md5 (Makefile.am): Likewise.
66107         * modules/memcasecmp (Makefile.am): Likewise.
66108         * modules/memchr (Makefile.am): Likewise.
66109         * modules/memcmp (Makefile.am): Likewise.
66110         * modules/memcoll (Makefile.am): Likewise.
66111         * modules/memcpy (Makefile.am): Likewise.
66112         * modules/memmem (Makefile.am): Likewise.
66113         * modules/memmove (Makefile.am): Likewise.
66114         * modules/mempcpy (Makefile.am): Likewise.
66115         * modules/memrchr (Makefile.am): Likewise.
66116         * modules/memset (Makefile.am): Likewise.
66117         * modules/memxor (Makefile.am): Likewise.
66118         * modules/mkancesdirs (Makefile.am): Likewise.
66119         * modules/mkdir (Makefile.am): Likewise.
66120         * modules/mkdir-p (Makefile.am): Likewise.
66121         * modules/mkdtemp (Makefile.am): Likewise.
66122         * modules/mkstemp (Makefile.am): Likewise.
66123         * modules/mktime (Makefile.am): Likewise.
66124         * modules/modechange (Makefile.am): Likewise.
66125         * modules/mountlist (Makefile.am): Likewise.
66126         * modules/nanosleep (Makefile.am): Likewise.
66127         * modules/openat (Makefile.am): Likewise.
66128         * modules/pagealign_alloc (Makefile.am): Likewise.
66129         * modules/physmem (Makefile.am): Likewise.
66130         * modules/poll (Makefile.am): Likewise.
66131         * modules/posixtm (Makefile.am): Likewise.
66132         * modules/posixver (Makefile.am): Likewise.
66133         * modules/putenv (Makefile.am): Likewise.
66134         * modules/quote (Makefile.am): Likewise.
66135         * modules/quotearg (Makefile.am): Likewise.
66136         * modules/raise (Makefile.am): Likewise.
66137         * modules/read-file (Makefile.am): Likewise.
66138         * modules/readline (Makefile.am): Likewise.
66139         * modules/readlink (Makefile.am): Likewise.
66140         * modules/readtokens (Makefile.am): Likewise.
66141         * modules/readutmp (Makefile.am): Likewise.
66142         * modules/realloc (Makefile.am): Likewise.
66143         * modules/regex (Makefile.am): Likewise.
66144         * modules/rename (Makefile.am): Likewise.
66145         * modules/rename-dest-slash (Makefile.am): Likewise.
66146         * modules/rijndael (Makefile.am): Likewise.
66147         * modules/rmdir (Makefile.am): Likewise.
66148         * modules/rpmatch (Makefile.am): Likewise.
66149         * modules/safe-read (Makefile.am): Likewise.
66150         * modules/safe-write (Makefile.am): Likewise.
66151         * modules/same (Makefile.am): Likewise.
66152         * modules/save-cwd (Makefile.am): Likewise.
66153         * modules/savedir (Makefile.am): Likewise.
66154         * modules/setenv (Makefile.am): Likewise.
66155         * modules/settime (Makefile.am): Likewise.
66156         * modules/sha1 (Makefile.am): Likewise.
66157         * modules/sig2str (Makefile.am): Likewise.
66158         * modules/snprintf (Makefile.am): Likewise.
66159         * modules/stdlib-safer (Makefile.am): Likewise.
66160         * modules/stpcpy (Makefile.am): Likewise.
66161         * modules/stpncpy (Makefile.am): Likewise.
66162         * modules/strcase (Makefile.am): Likewise.
66163         * modules/strcasestr (Makefile.am): Likewise.
66164         * modules/strchrnul (Makefile.am): Likewise.
66165         * modules/strcspn (Makefile.am): Likewise.
66166         * modules/strdup (Makefile.am): Likewise.
66167         * modules/strerror (Makefile.am): Likewise.
66168         * modules/strftime (Makefile.am): Likewise.
66169         * modules/strndup (Makefile.am): Likewise.
66170         * modules/strnlen (Makefile.am): Likewise.
66171         * modules/strpbrk (Makefile.am): Likewise.
66172         * modules/strsep (Makefile.am): Likewise.
66173         * modules/strstr (Makefile.am): Likewise.
66174         * modules/strtod (Makefile.am): Likewise.
66175         * modules/strtoimax (Makefile.am): Likewise.
66176         * modules/strtok_r (Makefile.am): Likewise.
66177         * modules/strtol (Makefile.am): Likewise.
66178         * modules/strtoll (Makefile.am): Likewise.
66179         * modules/strtoul (Makefile.am): Likewise.
66180         * modules/strtoull (Makefile.am): Likewise.
66181         * modules/strtoumax (Makefile.am): Likewise.
66182         * modules/strverscmp (Makefile.am): Likewise.
66183         * modules/time_r (Makefile.am): Likewise.
66184         * modules/timegm (Makefile.am): Likewise.
66185         * modules/tmpfile-safer (Makefile.am): Likewise.
66186         * modules/unistd-safer (Makefile.am): Likewise.
66187         * modules/unlinkdir (Makefile.am): Likewise.
66188         * modules/userspec (Makefile.am): Likewise.
66189         * modules/utime (Makefile.am): Likewise.
66190         * modules/utimecmp (Makefile.am): Likewise.
66191         * modules/utimens (Makefile.am): Likewise.
66192         * modules/vasnprintf (Makefile.am): Likewise.
66193         * modules/vasprintf (Makefile.am): Likewise.
66194         * modules/vsnprintf (Makefile.am): Likewise.
66195         * modules/xalloc (Makefile.am): Likewise.
66196         * modules/xgetcwd (Makefile.am): Likewise.
66197         * modules/xnanosleep (Makefile.am): Likewise.
66198         * modules/xreadlink (Makefile.am): Likewise.
66199         * modules/xstrtod (Makefile.am): Likewise.
66200         * modules/xstrtol (Makefile.am): Likewise.
66201         * modules/xstrtold (Makefile.am): Likewise.
66202         * modules/yesno (Makefile.am): Likewise.
66203
66204 2006-10-12  Jim Meyering  <jim@meyering.net>
66205
66206         * m4/getloadavg.m4: Revert the change below.
66207
66208         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
66209         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
66210         fail with a symlink, which is what coreutils' ./bootstrap now
66211         creates by default.
66212
66213 2006-10-12  Bruno Haible  <bruno@clisp.org>
66214
66215         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
66216         mingw.
66217         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
66218         MSVC and mingw explicitly.
66219
66220 2006-10-11  Simon Josefsson  <jas@extundo.com>
66221             Bruno Haible  <bruno@clisp.org>
66222
66223         Add support for multiple gnulib-tool invocations in the scope of a
66224         single configure.ac file.
66225         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
66226         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
66227         with the same contents as the _LIBADD variable.
66228         (func_emit_initmacro_start, func_emit_initmacro_end,
66229         func_emit_initmacro_done): New functions.
66230         (func_import, func_create_testdir): Invoke them. Allow the identifiers
66231         gl_LIBOBJS and gl_LTLIBOBJS.
66232
66233 2006-10-11  Bruno Haible  <bruno@clisp.org>
66234
66235         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
66236         (func_create_testdir): Don't create po/Makefile.am, don't invoke
66237         autoreconf. Instead, invoke autopoint explicitly but move back the
66238         *.m4 files from gnulib.
66239
66240 2006-10-11  Bruno Haible  <bruno@clisp.org>
66241
66242         * gnulib-tool (func_usage): Make module names after --create-testdir
66243         optional.
66244         (func_create_testdir): If no module was specified, use nearly all
66245         modules.
66246
66247 2006-10-12  Jim Meyering  <jim@meyering.net>
66248
66249         Big performance improvement for fts-based tools that use FTS_NOSTAT.
66250         Avoid spurious inode-mismatch problems on non-POSIX file systems.
66251         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
66252         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
66253         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
66254         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
66255         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
66256         (fts_set_stat_required): New function.
66257         (fts_open): Defer the calls to fts_stat, if possible or requested.
66258         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
66259         into fts_stat itself.
66260         (fts_read): Perform any required (deferred) fts_stat call.
66261         (fts_build): Likewise, for the directory we're about to open and read.
66262         In the readdir loop, carefully decide whether each entry will require
66263         an eventual call to fts_stat, using dirent.d_type info if available.
66264         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
66265         a command line argument into this function.  Update all callers.
66266         Map a return value of FTS_DOT to FTS_D for a command line argument.
66267         * modules/fts (Depends-on): Add d-type.  Alphabetize.
66268         Thanks to Miklos Szeredi for his tenacity and for the initial
66269         bug report about "find" failing on a FUSE-based file system.
66270
66271         * lib/fts.c (fts_open): Use consistent indentation.
66272
66273 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
66274
66275         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
66276         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
66277         reported by Jim Meyering.  All uses of cache variables renamed
66278         to match Autoconf's.
66279         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
66280         the other one.
66281
66282         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
66283         Fix misspelling in diagnostic.
66284
66285 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
66286
66287         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
66288         defined.  Problem reported by Matthew Woehlke.
66289
66290         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
66291         Add support for Tandem NonStop R series.
66292         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
66293         Use new macro.
66294
66295         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
66296         (has_trailing_slash): Omit size arg; all callers changed.
66297         Omit 'inline', since it doesn't help performance and we'd
66298         need to configure it.
66299         Don't count //, ///, etc. as having a trailing slash.
66300         As a side effect, this removes a C99ism reported by Matthew Woehlke.
66301         (rpl_rename_dest_slash): On failure, use rename's errno rather
66302         than (in some cases) an incorrect or junk errno.
66303         Simplify code by removing need to compute length; this does
66304         cause it to make two passes instead of one over the file name,
66305         but it's worth it.
66306
66307         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
66308         change, since Autoconf's version may no longer be appropriate now
66309         that we are using CVS Autoconf's version.  Add support for Tandem.
66310
66311 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
66312             Bruno Haible  <bruno@clisp.org>
66313
66314         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
66315         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
66316         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
66317         gl_AC_TYPE_LONG_LONG.
66318
66319         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
66320         instead of HAVE_LONG_LONG.
66321         * lib/printf-args.c (printf_fetchargs): Likewise.
66322         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
66323         * lib/vasnprintf.c (VASNPRINTF): Likewise.
66324         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
66325         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
66326         gl_AC_TYPE_LONG_LONG.
66327
66328 2006-10-11  Bruno Haible  <bruno@clisp.org>
66329
66330         * m4/longlong.m4: Add comments.
66331         * m4/ulonglong.m4: Likewise.
66332
66333 2006-10-10  Bruno Haible  <bruno@clisp.org>
66334
66335         Make it possible to #define stpcpy, strdup to aliases.
66336         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
66337         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
66338
66339 2006-10-10  Bruno Haible  <bruno@clisp.org>
66340
66341         Make it possible to #define gcd to an alias.
66342         * lib/gcd.c: Include config.h.
66343
66344 2006-10-10  Bruno Haible  <bruno@clisp.org>
66345
66346         Make it possible to #define c_isascii to an alias.
66347         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
66348         defined. Undefine the macros before defining them, to avoid gcc
66349         warnings.
66350         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
66351         define NO_C_CTYPE_MACROS early.
66352
66353 2006-10-10  Bruno Haible  <bruno@clisp.org>
66354
66355         Make it possible to #define set_program_name to an alias.
66356         * lib/progname.c: Don't undefine set_program_name; instead, undefine
66357         ENABLE_RELOCATABLE early.
66358
66359 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
66360
66361         Port to Tandem NSK OSS, which has 64-bit signed int but at most
66362         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
66363         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
66364         More generally, don't assume that 64-bit signed int is available
66365         if unsigned int is, and vice versa.
66366         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
66367         unsigned symbols, not on their signed counterparts.
66368         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
66369         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
66370         (UINT64_C, UINTMAX_C):
66371         Likewise.
66372         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
66373         unsigned counterparts.
66374         (Have_long_long, Unsigned): New macros.
66375         (Int): Renamed from INT.
66376         (strtoimax): Use the new macros.
66377         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
66378         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
66379         * modules/inttypes (inttypes.h): Substitute
66380         HAVE_UNSIGNED_LONG_LONG_INT.
66381         * modules/stdint (stdint.h): Likewise.
66382         (Files): Add m4/ulonglong.m4.
66383
66384 2006-10-10  Bruno Haible  <bruno@clisp.org>
66385
66386         Fix a gcc -Wshadow warning.
66387         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
66388         to 'bucket'.
66389         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
66390         gl_linked_indexof_from_to): Likewise.
66391         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
66392         Likewise.
66393         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
66394         Likewise.
66395         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
66396         Reported by Eric Blake.
66397
66398 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
66399
66400         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
66401         for NetBSD.  Problem reported by Bruno Haible.
66402
66403 2006-10-09  Jim Meyering  <jim@meyering.net>
66404
66405         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
66406         Patch from Bruno Haible.
66407
66408 2006-10-09  Jim Meyering  <jim@meyering.net>
66409
66410         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
66411         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
66412         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
66413
66414 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
66415
66416         Don't include <config.h> twice; this doesn't work in some cases,
66417         e.g., when config.h has "#define intmax_t long long int" and
66418         we include <config.h>, <inttypes.h>, <config.h> in that order.
66419         Problem reported by Matthew Woehlke in:
66420         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
66421         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
66422         * lib/fts-cycle.c: Don't include config.h.
66423         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
66424         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
66425         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
66426         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
66427         inttypes.h.
66428         * lib/xstrtoumax.c: Likewise.
66429         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
66430         __strtol and the like, so that this module is more like its siblings.
66431         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
66432         Remove; no longer needed now that we assume gnulib inttypes.h.
66433
66434 2006-10-08  Bruno Haible  <bruno@clisp.org>
66435
66436         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
66437         option.
66438
66439 2006-10-07  Jim Meyering  <jim@meyering.net>
66440
66441         * modules/inttypes (inttypes.h): Revert what seems to have been
66442         an inadvertent part of today's change: use "|", not "/" in the
66443         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
66444
66445 2006-10-07  Bruno Haible  <bruno@clisp.org>
66446
66447         * modules/sublist: New file.
66448
66449 2006-10-07  Bruno Haible  <bruno@clisp.org>
66450
66451         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
66452         * modules/argz (argz.h): Likewise.
66453         * modules/arpa_inet (arpa/inet.h): Likewise.
66454         * modules/byteswap (byteswap.h): Likewise.
66455         * modules/configmake (configmake.h): Likewise.
66456         * modules/fcntl (fcntl.h): Likewise.
66457         * modules/fnmatch (fnmatch.h): Likewise.
66458         * modules/getopt (getopt.h): Likewise.
66459         * modules/glob (glob.h): Likewise.
66460         * modules/inttypes (inttypes.h): Likewise.
66461         * modules/netinet_in (netinet/in.h): Likewise.
66462         * modules/poll (poll.h): Likewise.
66463         * modules/stdbool (stdbool.h): Likewise.
66464         * modules/stdint (stdint.h): Likewise.
66465         * modules/sys_select (sys/select.h): Likewise.
66466         * modules/sys_socket (sys/socket.h): Likewise.
66467         * modules/sys_stat (sys/stat.h): Likewise.
66468         * modules/sysexits (sysexits.h): Likewise.
66469         * modules/unistd (unistd.h): Likewise.
66470         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
66471         Add a "DO NOT EDIT" comment to the generated file.
66472         (func_import): Likewise for gnulib-comp.m4.
66473
66474 2006-10-07  Bruno Haible  <bruno@clisp.org>
66475
66476         * lib/gl_sublist.h: New file.
66477         * lib/gl_sublist.c: New file.
66478
66479 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
66480
66481         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
66482         name (relative to the original working directory) and the file
66483         name component (relative to the temporary working directory).  All
66484         callers changed.
66485         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
66486         * lib/mkdir-p.c (make_dir_parents): Likewise.
66487         * lib/mkdir-p.h (make_dir_parents): Likewise.
66488
66489 2006-10-06  Eric Blake  <ebb9@byu.net>
66490
66491         Define several macros for use by the clean-temp module.
66492         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
66493         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
66494         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
66495
66496         * lib/clean-temp.h (close_stream_temp): New declaration.
66497         * lib/clean-temp.c (includes): Pull in headers according to what
66498         other modules are in use.
66499         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
66500
66501 2006-10-06  Bruno Haible  <bruno@clisp.org>
66502
66503         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
66504         instead of fopen, fwriteerror.
66505
66506 2006-10-06  Bruno Haible  <bruno@clisp.org>
66507
66508         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
66509         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
66510         int.
66511         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
66512         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
66513         Return an error indicator.
66514         Suggested by Eric Blake.
66515
66516 2006-10-06  Bruno Haible  <bruno@clisp.org>
66517
66518         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
66519         Reported by Eric Blake.
66520
66521 2006-10-06  Bruno Haible  <bruno@clisp.org>
66522
66523         * modules/closeout (Description): Mention stderr too.
66524
66525 2006-10-06  Bruno Haible  <bruno@clisp.org>
66526         and Paul Eggert  <eggert@cs.ucla.edu>
66527
66528         * lib/closeout.c (close_stdout): Also close stderr.
66529         * lib/closeout.h: Update comment.
66530
66531 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
66532
66533         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
66534         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
66535         * lib/dirchownmod.c: Include lchown.h.
66536         * lib/lchown.c: Don't include files that lchown.h now includes.
66537         Don't declare chown, since lchown.h now does that.
66538         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
66539         (lchown): Define to rpl_chown if lchown is declared but
66540         does not exist.  Declare using a prototype if lchown is not
66541         declared.  Add a copyright notice.
66542         * lib/mkstemp.h: Include <unistd.h>.
66543         * lib/openat.c: Include lchown.h.
66544
66545         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
66546         we now test for that separately.
66547         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
66548         rather than O_NOFOLLOW, when testing whether it's possible to
66549         avoid a race condition reliably.
66550         * lib/savewd.c (savewd_chdir): Likewise.
66551
66552         Remove macros that are no longer needed now that stdint.h is
66553         reliable.
66554         * lib/fsusage.c (UINTMAX_MAX): Remove.
66555         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
66556         * lib/utimecmp.c (SIZE_MAX): Remove.
66557
66558         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
66559
66560         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
66561         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
66562         O_NOATIME works.
66563
66564 2006-10-05  Bruno Haible  <bruno@clisp.org>
66565
66566         * lib/gl_list.h (gl_sortedlist_search_from_to,
66567         gl_sortedlist_indexof_from_to): New declarations.
66568         (gl_list_implementation): New fields sortedlist_search_from_to,
66569         sortedlist_indexof_from_to.
66570         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
66571         inline functions.
66572         * lib/gl_list.c (gl_sortedlist_search_from_to,
66573         gl_sortedlist_indexof_from_to): New functions.
66574         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
66575         function.
66576         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
66577         (gl_array_sortedlist_search_from_to): New function.
66578         (gl_array_list_implementation): Update.
66579         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
66580         function.
66581         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
66582         (gl_carray_sortedlist_search_from_to): New function.
66583         (gl_carray_list_implementation): Update.
66584         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
66585         gl_linked_sortedlist_indexof_from_to): New functions.
66586         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
66587         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
66588         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
66589         gl_tree_sortedlist_indexof_from_to): New functions.
66590         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
66591         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
66592         Update.
66593         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
66594         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
66595         Update.
66596
66597 2006-10-05  Bruno Haible  <bruno@clisp.org>
66598
66599         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
66600         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
66601         (struct gl_list_implementation): Add fields search_from_to,
66602         indexof_from_to. Remove fields search, indexof.
66603         (gl_list_search): Use the search_from_to method.
66604         (gl_list_search_from, gl_list_search_from_to): New functions.
66605         (gl_list_indexof): Use the indexof_from_to method.
66606         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
66607         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
66608         (gl_list_search_from, gl_list_search_from_to): New functions.
66609         (gl_list_indexof): Use the indexof_from_to method.
66610         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
66611         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
66612         gl_array_indexof. Add start_index, end_index arguments.
66613         (gl_array_search_from_to): Renamed from gl_array_search. Add
66614         start_index, end_index arguments.
66615         (gl_array_remove, gl_array_list_implementation): Update.
66616         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
66617         gl_carray_indexof. Add start_index, end_index arguments.
66618         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
66619         start_index, end_index arguments.
66620         (gl_carray_remove, gl_carray_list_implementation): Update.
66621         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
66622         gl_linked_search. Add start_index, end_index arguments.
66623         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
66624         start_index, end_index arguments.
66625         (gl_linked_remove): Update.
66626         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
66627         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
66628         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
66629         field to 'size_t'.
66630         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
66631         gl_tree_search. Add start_index, end_index arguments.
66632         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
66633         start_index, end_index arguments.
66634         (gl_tree_remove): Update.
66635         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
66636         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
66637         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
66638         function.
66639         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
66640         gl_tree_search. Add start_index, end_index arguments.
66641         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
66642         start_index, end_index arguments.
66643         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
66644         Update.
66645         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
66646
66647 2006-10-05  Bruno Haible  <bruno@clisp.org>
66648
66649         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
66650
66651         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
66652         fwriteerror_temp): New declarations.
66653         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
66654         (descriptors): New variable.
66655         (cleanup): First, close the descriptors.
66656         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
66657         fclose_temp, fwriteerror_temp): New functions.
66658
66659 2006-10-04  Jim Meyering  <jim@meyering.net>
66660
66661         * lib/fts.c (fts_open): Tiny comment change.
66662
66663 2006-10-04  Bruno Haible  <bruno@clisp.org>
66664
66665         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
66666         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
66667         gl_LOCK_BODY.
66668         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
66669         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
66670         gl_LOCK_EARLY_BODY.
66671         (gl_LOCK): Require gl_LOCK_BODY.
66672
66673 2006-10-04  Bruno Haible  <bruno@clisp.org>
66674
66675         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
66676         (gl_oset_search_atleast): New declaration.
66677         (struct gl_oset_implementation): Add field 'search_atleast'.
66678         (gl_oset_search_atleast): New inline function.
66679         * lib/gl_oset.c (gl_oset_search_atleast): New function.
66680         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
66681         (gl_array_oset_implementation): Update.
66682         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
66683         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
66684         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
66685
66686 2006-10-04  Bruno Haible  <bruno@clisp.org>
66687
66688         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
66689
66690 2006-10-03  Bruno Haible  <bruno@clisp.org>
66691
66692         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
66693         from gl_avltreehash_list_implementation.
66694
66695 2006-10-03  Bruno Haible  <bruno@clisp.org>
66696
66697         * lib/gl_oset.c (gl_oset_add): Fix return type.
66698
66699 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
66700
66701         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
66702
66703 2006-10-02  Eric Blake  <ebb9@byu.net>
66704
66705         * modules/strnlen (Depends-on): Add extensions.
66706
66707 2006-10-02  Eric Blake  <ebb9@byu.net>
66708
66709         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
66710         definition in 2.60+.
66711
66712 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
66713
66714         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
66715         checks.
66716
66717 2006-10-02  Bruno Haible  <bruno@clisp.org>
66718
66719         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
66720         to the AUTOMAKE_OPTIONS.
66721         Reported by Jim Meyering.
66722
66723 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
66724
66725         Work around bug in Solaris 10 /proc file system:
66726         /proc/self/fd/NNN/.. isn't the parent directory of
66727         the directory whose file descriptor is NNN.  This needs to
66728         be worked around at run time, not compile time, since a
66729         program might be built on Solaris 8, where things work, and
66730         run on Solaris 10.
66731         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
66732         to use the following interface instead:
66733         (OPENAT_BUFFER_SIZE): New macro.
66734         (openat_proc_name): New function.
66735         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
66736         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
66737         Likewise.
66738         * lib/openat-proc.c: New file.
66739         * modules/openat (Files): Add lib/openat-proc.c.
66740         (Depends-on): Add same-inode, stdbool.
66741         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
66742
66743 2006-09-29  Bruno Haible  <bruno@clisp.org>
66744
66745         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
66746         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
66747         argument. Set stdout_closed before testing for ferror, not after.
66748         (fwriteerror, fwriteerror_no_ebadf): New functions.
66749
66750 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66751
66752         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
66753
66754 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
66755
66756         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
66757         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
66758
66759 2006-09-28  Jim Meyering  <jim@meyering.net>
66760
66761         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
66762         Include <unistd.h>.
66763
66764 2006-09-28  Bruno Haible  <bruno@clisp.org>
66765
66766         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
66767         * modules/linkedhash-list (Depends-on): Likewise.
66768         * modules/rbtreehash-list (Depends-on): Likewise.
66769
66770 2006-09-28  Bruno Haible  <bruno@clisp.org>
66771
66772         * lib/strndup.h: Simplify the redefinition of strndup.
66773         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
66774         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
66775
66776 2006-09-28  Bruno Haible  <bruno@clisp.org>
66777
66778         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
66779         * lib/gl_linkedhash_list.c: Likewise.
66780         * lib/gl_rbtreehash_list.c: Likewise.
66781
66782 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
66783
66784         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
66785         getaddrinfo.
66786
66787         * lib/__fpending.h: Don't include <stdio_ext.h> unless
66788         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
66789         it causes <stdio_ext.h> to cause a compile-time error.
66790         Problem reported by Nelson H. F. Beebe.
66791         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
66792         of HAVE_DECL___PENDING.
66793
66794         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
66795         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
66796         declaration.
66797
66798 2006-09-27  Jim Meyering  <jim@meyering.net>
66799
66800         This file could end up with a definition for a function
66801         named __strndup, rather than rpl_strndup on a system with
66802         incomplete weak_alias support.
66803         * lib/strndup.c (strndup): Rename from __strndup.
66804         Remove #defines that used to map __strndup to strndup.
66805         Don't use K&R prototypes.
66806         Remove LIBC-related code, since this file is not sync'd with glibc.
66807         * lib/strndup.h: Revamp, accordingly.
66808         * m4/strndup.m4: Modernize.
66809
66810 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
66811
66812         * modules/savewd (Depends-on): Add 'raise'.
66813         * lib/savewd.c: Include <signal.h>, for 'raise'.
66814
66815 2006-09-26  Jim Meyering  <jim@meyering.net>
66816
66817         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
66818         when we detect Darwin 8.7.0's acl_get_file bug.
66819         Rearrange to perform the new (below) run-test while $LIBS
66820         contains any acl-related library.  Set USE_ACL at the end.
66821         (gl_ACL_GET_FILE): New function.
66822
66823 2006-09-26  Eric Blake  <ebb9@byu.net>
66824
66825         * lib/verror.c: Include <config.h> unconditionally.
66826
66827 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
66828
66829         * modules/clock-time (Maintainer): Add self.
66830         * modules/getlogin_r (Depends-on): Add extensions.
66831
66832 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66833
66834         * modules/clock-time: New module.
66835         * modules/nanosleep (Depends-on): Add clock-time.
66836         * modules/gethrxtime (Depends-on): Likewise.
66837         * modules/gettime (Depends-on): Likewise.
66838         * modules/settime (Depends-on): Likewise.
66839
66840         * modules/fts-lgpl: Depend on openat.
66841         * modules/mkancesdirs: Depend on savewd.
66842         * modules/mkdir-p: Likewise.
66843
66844 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66845
66846         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
66847
66848         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
66849         `gl_have_arbitrary_file_name_length_limit' to
66850         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
66851         actually works between configure runs.
66852
66853 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66854             Bruno Haible  <bruno@clisp.org>
66855
66856         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
66857
66858 2006-09-25  Jim Meyering  <jim@meyering.net>
66859
66860         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
66861         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
66862
66863 2006-09-25  Eric Blake  <ebb9@byu.net>
66864
66865         * gnulib-tool (func_import, func_create_testdir): Fix typos in
66866         exec's in 2006-09-18 patch when shuffling fds.
66867
66868 2006-09-25  Bruno Haible  <bruno@clisp.org>
66869
66870         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
66871         Reported by Jim Meyering.
66872
66873 2006-09-24  Jim Meyering  <jim@meyering.net>
66874
66875         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
66876         compare a pointer against a literal "0".  That caused failures with
66877         at least HP-UX's hpcc.
66878
66879 2006-09-22  Simon Josefsson  <jas@extundo.com>
66880
66881         * modules/gc-sha1:
66882         * modules/gc-md4:
66883         * modules/gc-hmac-sha1:
66884         * modules/gc-hmac-md5:
66885         * modules/gc-des:
66886         * modules/gc-arcfour: Distribute more files.
66887
66888 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66889
66890         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
66891         (gl_linked_iterator_from_to): Initialize struct completely.
66892         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
66893         (gl_tree_iterator_from_to): Likewise
66894         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
66895         * lib/gl_array_list.c [lint] (gl_array_iterator)
66896         (gl_array_iterator_from_to): Likewise.
66897         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
66898         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
66899         (gl_carray_iterator_from_to): Likewise.
66900
66901         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
66902         * lib/md4.c (md4_process_block): Remove unused variable.
66903         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
66904         parentheses for clarity.
66905
66906 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66907
66908         * modules/bison-i18n (Depends-on): Add gettext.
66909
66910 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66911
66912         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
66913         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
66914         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
66915         also add missing comma that caused broken test.
66916         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
66917         stdlib.h, for `abort'.
66918         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
66919         variables.
66920         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
66921         include unistd.h if present, for `rmdir'.
66922         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
66923         variables.
66924         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
66925         in the process include standard headers for prototypes.
66926         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
66927         gets declared on GNU/Linux.
66928         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
66929         unistd.h, for `rmdir'.
66930         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
66931
66932         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
66933         always true.
66934         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
66935
66936         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
66937
66938 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66939
66940         * gnulib-tool (func_version): Create output all at once.  This
66941         may help avoid triggering unnecessary SIGPIPEs, and at any
66942         rate it doesn't hurt.
66943
66944 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66945             Bruno Haible  <bruno@clisp.org>
66946
66947         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
66948         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
66949         * m4/signed.m4 (bh_C_SIGNED): Likewise.
66950
66951         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
66952         (gl_FUNC_VASPRINTF): Invoke it.
66953
66954 2006-09-22  Bruno Haible  <bruno@clisp.org>
66955
66956         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
66957         getloadavg.c as first argument.
66958
66959 2006-09-22  Bruno Haible  <bruno@clisp.org>
66960
66961         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
66962         at the beginning of the gl_INIT macro.
66963         * modules/getloadavg (configure.ac): Pass $gl_source_base to
66964         gl_GETLOADAVG.
66965
66966 2006-09-22  Bruno Haible  <bruno@clisp.org>
66967
66968         * gnulib-tool (func_create_megatestdir): Don't include the config-h
66969         module.
66970         Suggested by Ralf Wildenhues.
66971
66972 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
66973
66974         Import this patch from libc:
66975
66976         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
66977
66978         * lib/regex_internal.c (re_string_reconstruct): Handle
66979         offset < pstr->valid_raw_len && pstr->offsets_needed case.
66980         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
66981         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
66982         re_string_context_at.
66983
66984         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
66985         now requires it.
66986         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
66987         gl_REGEX now does it for us.
66988         (gl_REGEX): Add test taken from
66989         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
66990
66991         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
66992         Check that large offsets work.  Modernize Autoconf usages.
66993         Prefer "yes" to mean a good thing rather than a bad.
66994         Don't put "#define mkstemp" in config.h, as this might interfere
66995         with standard system headers that "#define mkstemp mkstemp64".
66996
66997         * modules/mkstemp (Depends-on): Add extensions, so that
66998         mkstemp is visible on some platforms.
66999         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
67000         (Include): Change to "mkstemp.h" from <stdlib.h>.
67001         (Files): Add mkstemp.h.
67002
67003         * lib/mkstemp.h: New file, since some standard headers
67004         #define mkstemp.
67005         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
67006         Include "mkstemp.h".
67007         Make the _LIBC code resemble glibc original more,
67008         e.g., use K&R style.
67009         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
67010         (mkstemp): Remove, since mkstemp.h does this for us.
67011         * lib/stdlib--.h: Include mkstemp.h.
67012
67013         Import this patch from libc:
67014
67015         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
67016
67017         * lib/tempname.c (__gen_tempname): Change attempts_min
67018         into a macro.  Use preprocessor to decide how to initialize
67019         attempts [Coverity CID 67].
67020
67021 2006-09-20  Bruno Haible  <bruno@clisp.org>
67022
67023         * lib/mkdtemp.c: Import from libc.
67024         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
67025                 * sysdeps/posix/tempname.c (__gen_tempname): Change
67026                 attempts_min into a macro.  Use preprocessor to decide how to
67027                 initialize attempts [Coverity CID 67].
67028         2001-11-27  Paul Eggert  <eggert@twinsun.com>
67029                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
67030                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
67031
67032 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67033
67034         * gnulib-tool (func_exit): New function, to allow to pass the
67035         exit status portably through the trap.  Use everywhere.
67036         (--help, --version): Signal a write error.
67037         (trap): catch SIGPIPE, for write errors.
67038         Exit at the end of the trap, with the correct exit status.
67039
67040 2006-09-19  Karl Berry  <karl@gnu.org>
67041
67042         * doc/gnulib.texi: note about the license texinfo files.
67043
67044 2006-09-19  Eric Blake  <ebb9@byu.net>
67045
67046         * gnulib-tool: Avoid space-tab.
67047
67048 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
67049
67050         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
67051         that prevented coreutils 6.1 from building.  Problem reported
67052         by Petter Reinholdtsen.
67053
67054 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
67055
67056         * gnulib-tool (avoidlist): Fix typo that broke options like
67057         --avoid=lock that are used by coreutils bootstrap.
67058
67059 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
67060
67061         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
67062         more systematically.
67063
67064 2006-09-18  Jim Meyering  <jim@meyering.net>
67065
67066         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
67067
67068 2006-09-18  Bruno Haible  <bruno@clisp.org>
67069
67070         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
67071
67072 2006-09-18  Bruno Haible  <bruno@clisp.org>
67073
67074         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
67075         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
67076         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
67077         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
67078         * m4/gettext.m4: Require autoconf >= 2.52.
67079         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
67080         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
67081         of gl_cv_header_inttypes_h.
67082
67083 2006-09-18  Bruno Haible  <bruno@clisp.org>
67084
67085         * lib/javaversion.c: Include configmake.h.
67086
67087 2006-09-18  Bruno Haible  <bruno@clisp.org>
67088
67089         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
67090         avoid that the while loops be executed in a subshell.
67091
67092 2006-09-18  Bruno Haible  <bruno@clisp.org>
67093
67094         * MODULES.html.sh (func_module): Break long lines.
67095         Suggested by Bruce Korb <bkorb@gnu.org>.
67096
67097 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67098
67099         Speed up by a factor of 1.12.
67100         * gnulib-tool (nl): New variable.
67101         (func_import): Rewrite include directive extraction to only read each
67102         directive once.
67103
67104 2006-09-17  Bruno Haible  <bruno@clisp.org>
67105
67106         * modules/javaversion (Makefile.am): Remove DEFS setting.
67107         (Depends-on): Add configmake, for PKGDATADIR definition.
67108
67109 2006-09-17  Bruno Haible  <bruno@clisp.org>
67110
67111         * gnulib-tool (func_create_testdir): Rewrite all files at once.
67112
67113 2006-09-17  Bruno Haible  <bruno@clisp.org>
67114
67115         * gnulib-tool (func_append): New function, stolen from libtool.m4.
67116         (func_modules_transitive_closure, func_modules_add_dummy,
67117         func_modules_to_filelist, func_import, func_create_testdir,
67118         func_create_megatestdir, ...): Use it wherever possible.
67119         Suggested by Ralf Wildenhues.
67120
67121 2006-09-16  Karl Berry  <karl@gnu.org>
67122
67123         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
67124         to avoid sectioning errors.
67125         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
67126         [ifinfo]: blank line after @center-ed titles.
67127         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
67128         Spell FSF address consistently with others.
67129         (These changes approved by rms.)
67130
67131 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67132
67133         Speed up by a factor of 1.61.
67134         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
67135         already checked module names again.
67136
67137 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67138
67139         Speed up by a factor of 1.13.
67140         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
67141         for new_files, and the input to func_add_or_update.
67142
67143 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67144
67145         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
67146         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
67147
67148 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
67149
67150         * modules/mkancesdirs (Depends-on): Add fcntl.
67151         * modules/savewd: New file.
67152         * MODULES.html.sh (File system functions): Add savewd.
67153
67154         * modules/configmake (Makefile.am): Add support for the
67155         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
67156
67157 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
67158
67159         * m4/savewd.m4: New file.
67160
67161 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
67162
67163         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
67164         (dirchownmod): New arg FD.  All callers changed.
67165         Use FD rather than opening the directory ourself, as opening is
67166         now the caller's responsibility.
67167         * lib/dirchownmod.h: Likewise.
67168         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
67169         hosts that require <sys/types.h> before <sys/stat.h>.  Include
67170         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
67171         (test_dir): Remove.
67172         (mkancesdirs): Return length of prefix of FILE that has already
67173         been made, or -2 if there is a child doing the work.  Redo
67174         algorithm so that it is O(N) rather than O(N**2).  Optimize away
67175         ".", and treat ".." specially since it might stray back into
67176         already-created areas.  Use a subprocess if necessary.  New arg
67177         WD; all users changed.  MAKE_DIR function should now return 1
67178         if it creates a directory that is not readable.  Return -2 if
67179         a child process is spun off.
67180         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
67181         Adjust signature to match code.
67182         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
67183         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
67184         all users changed.
67185         * lib/savewd.c, lib/savewd.h: New files.
67186
67187 2006-09-15  Jim Meyering  <jim@meyering.net>
67188
67189         * modules/rename-dest-slash: New module.
67190         * MODULES.html.sh (posix_compat): Add it here.
67191
67192         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
67193
67194 2006-09-15  Jim Meyering  <jim@meyering.net>
67195
67196         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
67197         file.
67198
67199         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
67200
67201 2006-09-15  Jim Meyering  <jim@meyering.net>
67202
67203         * lib/rename-dest-slash.c (has_trailing_slash): Use
67204         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
67205         (rpl_rename_dest_slash): Perform the cheaper trailing slash
67206         test before testing whether SRC is a directory.
67207         Suggestions from Bruno Haible.
67208
67209         Avoid a warning about an unused variable.
67210         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
67211         into the #ifdef block where it's used.
67212
67213         * lib/rename-dest-slash.c: New file.
67214
67215 2006-09-14  Bruno Haible  <bruno@clisp.org>
67216
67217         * lib/allocsa.c: Include <config.h> unconditionally.
67218         * lib/asnprintf.c: Likewise.
67219         * lib/asprintf.c: Likewise.
67220         * lib/c-strcasecmp.c: Likewise.
67221         * lib/c-strcasestr.c: Likewise.
67222         * lib/c-strncasecmp.c: Likewise.
67223         * lib/c-strstr.c: Likewise.
67224         * lib/classpath.c: Likewise.
67225         * lib/clean-temp.c: Likewise.
67226         * lib/concatpath.c: Likewise.
67227         * lib/copy-file.c: Likewise.
67228         * lib/csharpcomp.c: Likewise.
67229         * lib/csharpexec.c: Likewise.
67230         * lib/execute.c: Likewise.
67231         * lib/fatal-signal.c: Likewise.
67232         * lib/findprog.c: Likewise.
67233         * lib/fwriteerror.c: Likewise.
67234         * lib/gl_array_list.c: Likewise.
67235         * lib/gl_array_oset.c: Likewise.
67236         * lib/gl_avltree_list.c: Likewise.
67237         * lib/gl_avltree_oset.c: Likewise.
67238         * lib/gl_avltreehash_list.c: Likewise.
67239         * lib/gl_carray_list.c: Likewise.
67240         * lib/gl_linked_list.c: Likewise.
67241         * lib/gl_linkedhash_list.c: Likewise.
67242         * lib/gl_list.c: Likewise.
67243         * lib/gl_oset.c: Likewise.
67244         * lib/gl_rbtree_list.c: Likewise.
67245         * lib/gl_rbtree_oset.c: Likewise.
67246         * lib/gl_rbtreehash_list.c: Likewise.
67247         * lib/imaxabs.c: Likewise.
67248         * lib/imaxdiv.c: Likewise.
67249         * lib/javacomp.c: Likewise.
67250         * lib/javaexec.c: Likewise.
67251         * lib/javaversion.c: Likewise.
67252         * lib/linebreak.c: Likewise.
67253         * lib/localcharset.c: Likewise.
67254         * lib/lock.c: Likewise.
67255         * lib/mbchar.c: Likewise.
67256         * lib/mbswidth.c: Likewise.
67257         * lib/mkdtemp.c: Likewise.
67258         * lib/pipe.c: Likewise.
67259         * lib/printf-args.c: Likewise.
67260         * lib/printf-parse.c: Likewise.
67261         * lib/progname.c: Likewise.
67262         * lib/progreloc.c: Likewise.
67263         * lib/readlink.c: Likewise.
67264         * lib/sh-quote.c: Likewise.
67265         * lib/stpcpy.c: Likewise.
67266         * lib/stpncpy.c: Likewise.
67267         * lib/strcasecmp.c: Likewise.
67268         * lib/strcasestr.c: Likewise.
67269         * lib/strcspn.c: Likewise.
67270         * lib/striconv.c: Likewise.
67271         * lib/strncasecmp.c: Likewise.
67272         * lib/strnlen1.c: Likewise.
67273         * lib/strstr.c: Likewise.
67274         * lib/strtok_r.c: Likewise.
67275         * lib/tls.c: Likewise.
67276         * lib/tmpdir.c: Likewise.
67277         * lib/unicodeio.c: Likewise.
67278         * lib/unsetenv.c: Likewise.
67279         * lib/vasnprintf.c: Likewise.
67280         * lib/vasprintf.c: Likewise.
67281         * lib/wait-process.c: Likewise.
67282         * lib/xallocsa.c: Likewise.
67283         * lib/xsetenv.c: Likewise.
67284         * lib/xstriconv.c: Likewise.
67285
67286 2006-09-13  Simon Josefsson  <jas@extundo.com>
67287
67288         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
67289         that internally, suggested by Ralf Wildenhues
67290         <Ralf.Wildenhues@gmx.de>.
67291
67292 2006-09-13  Simon Josefsson  <jas@extundo.com>
67293
67294         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
67295         @LIBOBJS@.
67296         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67297
67298 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
67299
67300         * lib/_fpending.c: Include <config.h> unconditionally, since we no
67301         longer worry about uses that don't define HAVE_CONFIG_H.
67302         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
67303         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
67304         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
67305         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
67306         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
67307         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
67308         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
67309         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
67310         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
67311         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
67312         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
67313         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
67314         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
67315         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
67316         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
67317         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
67318         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
67319         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
67320         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
67321         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
67322         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
67323         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
67324         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
67325         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
67326         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
67327         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
67328         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
67329         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
67330         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
67331         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
67332         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
67333         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
67334         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
67335         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
67336         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
67337         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
67338         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
67339         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
67340         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
67341         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
67342         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
67343         Likewise.
67344
67345 2006-09-13  Eric Blake  <ebb9@byu.net>
67346
67347         * lib/getopt.c: Fix typo in last commit.
67348
67349 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
67350
67351         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
67352         dgettext.
67353
67354 2006-09-12  Jim Meyering  <jim@meyering.net>
67355
67356         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
67357         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
67358         Reported by Nelson H. F. Beebe.
67359
67360 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
67361
67362         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
67363         program_invocation_name and program_invocation_short_name are
67364         initialized.
67365         * lib/argp-namefrob.h: Move declarations of program_invocation_name
67366         and program_invocation_short_name to argp.h, so they are visible
67367         to user programs.
67368         * lib/argp.h: Likewise
67369
67370 2006-09-10  Bruno Haible  <bruno@clisp.org>
67371
67372         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
67373         m4/inttypes_h.m4, m4/uintmax_t.m4.
67374
67375 2006-09-10  Bruno Haible  <bruno@clisp.org>
67376
67377         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
67378         gl_AC_TYPE_UINTMAX_T.
67379
67380 2006-09-10  Bruno Haible  <bruno@clisp.org>
67381
67382         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
67383
67384 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
67385
67386         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
67387         convention.  Text proposed by Bruno Haible.
67388         (struct argp_option): Document the use of N_() wrappers.
67389
67390         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
67391         '\v', and translate the two parts separately, instead of feeding
67392         the whole string to gettext.  This allows to exclude
67393         '\v' from the strings visible to the translator by writing doc
67394         strings as N_("..") "\v" N_("..").
67395
67396 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
67397
67398         * config/srclist.txt: Undo latest change; the bug was fixed.
67399
67400 2006-09-09  Bruno Haible  <bruno@clisp.org>
67401
67402         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
67403         assignments if building a library without libtool.
67404         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
67405         in func_emit_lib_Makefile_am.
67406         (func_import): When building a static library libfoo.a, arrange to
67407         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
67408         (func_create_testdir): Likewise.
67409         * modules/gc (configure.ac, Makefile.am): If building statically,
67410         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
67411         * modules/iconvme (configure.ac, Makefile.am): Likewise.
67412         * modules/striconv (configure.ac, Makefile.am): Likewise.
67413         Based on a suggestion by Ralf Wildenhues.
67414
67415 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67416
67417         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
67418         Check for unistd.h too, since Autoconf doesn't assume POSIX.
67419         Also:
67420
67421         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67422         Add year_2050_test to catch glibc bug 2821
67423         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
67424
67425         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
67426         Prefer #ifdef to #if.
67427
67428         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
67429         Return from 'main' instead of calling 'exit'.
67430
67431 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67432
67433         * lib/mktime.c (guess_time_tm): Fix bug where mktime
67434         returned the maximum time_t value rather than (time_t) -1.
67435         Problem originally reported by William Bardwell
67436         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
67437
67438         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
67439         Moved to here ...
67440         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
67441         ... from here.
67442
67443 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67444
67445         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
67446         2821 is fixed.
67447
67448 2006-09-08  Jim Meyering  <jim@meyering.net>
67449
67450         Don't make generated files read-only.  That would bother too many
67451         people.  However, do retain the ability to work when targets are
67452         read-only: remove the destination and temporary files before writing
67453         them (when generated via sed or echo), or by using the -f option for
67454         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
67455         * modules/alloca-opt, modules/argz, modules/arpa_inet:
67456         * modules/byteswap, modules/configmake, modules/fcntl:
67457         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
67458         * modules/localcharset, modules/netinet_in, modules/poll:
67459         * modules/stdbool, modules/stdint, modules/sys_select:
67460         * modules/sys_socket, modules/sys_stat, modules/sysexits:
67461
67462 2006-09-08  Jim Meyering  <jim@meyering.net>
67463
67464         Avoid new build failure on FreeBSD 6.0.
67465         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
67466         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
67467         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
67468
67469 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67470
67471         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
67472
67473 2006-09-07  Jim Meyering  <jim@meyering.net>
67474
67475         Fix global typo in last change: use chmod u-w, not chmod u-x.
67476         Spotted by Paul Eggert and Bruce Korb.
67477         * modules/alloca-opt, modules/argz, modules/arpa_inet:
67478         * modules/byteswap, modules/configmake, modules/fcntl:
67479         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
67480         * modules/localcharset, modules/netinet_in, modules/poll:
67481         * modules/stdbool, modules/stdint, modules/sys_select:
67482         * modules/sys_socket, modules/sys_stat, modules/sysexits:
67483
67484 2006-09-06  Jim Meyering  <jim@meyering.net>
67485
67486         Make generated files be read-only.
67487         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
67488         Ensure that each generated file is now read-only.
67489         * modules/argz: Likewise.
67490         * modules/arpa_inet: Likewise.
67491         * modules/byteswap: Likewise.
67492         * modules/configmake: Likewise.
67493         * modules/fcntl: Likewise.
67494         * modules/fnmatch: Likewise.
67495         * modules/getopt: Likewise.
67496         * modules/glob: Likewise.
67497         * modules/inttypes: Likewise.
67498         * modules/netinet_in: Likewise.
67499         * modules/poll: Likewise.
67500         * modules/stdbool: Likewise.
67501         * modules/stdint: Likewise.
67502         * modules/sys_select: Likewise.
67503         * modules/sys_socket: Likewise.
67504         * modules/sys_stat: Likewise.
67505         * modules/sysexits: Likewise.
67506         * modules/localcharset: Same as above, but continue using temporary
67507         file named "t-$@" (why different?) rather than the "$@-t" used
67508         everywhere else.
67509
67510         * modules/sysexits (Makefile.am): Replace literal occurrences
67511         of "sysexit.h" more readable, and more consistent, "$@".
67512
67513 2006-09-06  Bruno Haible  <bruno@clisp.org>
67514
67515         * modules/striconv: New file.
67516         * modules/xstriconv: New file.
67517         * MODULES.html.sh (Internationalization functions): Add striconv,
67518         xstriconv.
67519
67520 2006-09-06  Bruno Haible  <bruno@clisp.org>
67521
67522         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
67523         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
67524         not using libtool correctly.
67525
67526 2006-09-06  Bruno Haible  <bruno@clisp.org>
67527
67528         * lib/striconv.h: New file.
67529         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
67530         iconvstring.c.
67531         * lib/xstriconv.h: New file.
67532         * lib/xstriconv.c: New file.
67533
67534 2006-09-06  Bruno Haible  <bruno@clisp.org>
67535
67536         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
67537         lib_..._LDFLAGS.
67538
67539 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67540
67541         * lib/argz_.h: Sync from Libtool.
67542
67543         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
67544                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
67545
67546         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
67547
67548 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
67549
67550         * modules/trim: New file.
67551
67552 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
67553
67554         * lib/trim.h: New file.
67555         * lib/trim.c: New file.
67556
67557 2006-09-05  Bruno Haible  <bruno@clisp.org>
67558
67559         * MODULES.html.sh (String handling): Add trim.
67560
67561 2006-09-04  Karl Berry  <karl@gnu.org>
67562
67563         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
67564         until next release.
67565
67566 2006-09-03  Bruno Haible  <bruno@clisp.org>
67567
67568         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
67569         correctly.
67570
67571 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
67572
67573         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
67574         not gl_GETLOADAVG.  Omit unneeded semicolons.
67575         Problems reported by Ralf Wildenhues in
67576         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
67577         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
67578         at the end, which is the usual gnulib style.
67579
67580         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
67581         of doing all the work ourselves.
67582         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
67583         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
67584
67585 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
67586
67587         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
67588         Problem reported by Ralf Wildenhues in
67589         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
67590
67591         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
67592         HAVE_STRUCT_STATFS_F_FSTYPENAME.
67593
67594 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
67595
67596         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
67597         yesterday's patch by changing test -n to test -z.
67598
67599 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
67600
67601         * modules/getloadavg (Files): Add m4/getloadavg.m4.
67602         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
67603         the former is now obsolescent.
67604
67605         * modules/chdir-long (Depends-on): Add fcntl.
67606
67607 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
67608
67609         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
67610         obsolescent, and programs should use gnulib instead.
67611         * m4/getloadavg.m4: New file, with contents taken from Autoconf
67612         but with prefixes changed.
67613
67614 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
67615
67616         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
67617         or stdbool.h, because they might not exist while configuring.
67618
67619         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
67620         Don't include unistd.h or limits.h; not needed, since chdir-long.h
67621         does that for us.
67622         (O_DIRECTORY): Remove.
67623
67624 2006-08-31  Eric Blake  <ebb9@byu.net>
67625
67626         * gnulib-tool: Don't let emacs change spaces to TAB.
67627
67628 2006-08-31  Bruno Haible  <bruno@clisp.org>
67629
67630         * gnulib-tool: When calling func_import more than once, do it in a
67631         subshell.
67632         Reported by Eric Blake <ebb9@byu.net>.
67633
67634 2006-08-31  Bruno Haible  <bruno@clisp.org>
67635
67636         * gnulib-tool (nl): Remove variable.
67637         (sed_transform_lib_file): Use more robust test for config-h module.
67638         (func_import): Fix typo in 2006-08-25 patch.
67639
67640 2006-08-31  Bruno Haible  <bruno@clisp.org>
67641
67642         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
67643         specified, augment Makefile.am variables instead of assigning them.
67644
67645 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
67646
67647         Work around a bug in both the Linux and SunOS 64-bit kernels:
67648         nanosleep mishandles sleeps for longer than 2**31 seconds.
67649         Problem reported by Frank v Waveren in
67650         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
67651         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
67652         Check for nanosleep bug.
67653         (LIB_NANOSLEEP): Append clock_gettime library if needed.
67654
67655 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
67656
67657         Work around a bug in both the Linux and SunOS 64-bit kernels:
67658         nanosleep mishandles sleeps for longer than 2**31 seconds.
67659         Problem reported by Frank v Waveren in
67660         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
67661         * lib/nanosleep.c (BILLION): New constant.
67662         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
67663         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
67664         implementation.
67665
67666 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
67667
67668         * modules/nanosleep (Depends-on): Add gettime.
67669
67670 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
67671         and Simon Josefsson  <jas@extundo.com>
67672         and Oskar Liljeblad  <oskar@osk.mine.nu>
67673
67674         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
67675         * gnulib-tool (func_import): New license type 'unmodifiable license
67676         text'.
67677         * modules/fdl: Use it.  Longer description.
67678         * module/gpl, module/lgpl: New files.
67679
67680 2006-08-30  Jim Meyering  <jim@meyering.net>
67681
67682         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
67683         shadowing the parameter.
67684
67685 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67686
67687         Sync from Libtool:
67688
67689         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67690
67691         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
67692         sharing with gnulib.  Report by Eric Blake.
67693
67694 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
67695
67696         * modules/isapipe: New file.
67697         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
67698
67699 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
67700
67701         * modules/configmake (Makefile.am): Add a comment, and omit
67702         the CONFIGMAKE_ prefix from generated macro names.  Suggested
67703         by Bruno Haible.
67704
67705 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
67706
67707         * m4/isapipe.m4: New file.
67708
67709 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
67710
67711         * lib/isapipe.c, lib/isapipe.h: New files.
67712
67713 2006-08-29  Jim Meyering  <jim@meyering.net>
67714
67715         * modules/configmake (Makefile.am): Make configmake.h depend on
67716         Makefile.  Otherwise, a stale configmake.h could hang around.
67717
67718 2006-08-29  Eric Blake  <ebb9@byu.net>
67719
67720         * lib/error.c (error_at_line, print_errno_message): Match libc, after
67721         resolution of upstream bug 3044.
67722
67723 2006-08-29  Bruno Haible  <bruno@clisp.org>
67724
67725         * modules/localcharset (Depends-on): Add configmake.
67726         (Makefile.am): Remove setting of LIBDIR through DEFS.
67727
67728 2006-08-29  Bruno Haible  <bruno@clisp.org>
67729
67730         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
67731         defined.
67732
67733 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
67734
67735         * modules/fcntl: New file.
67736         * modules/chdir-safer (Depends-on): Add fcntl.
67737         * modules/fts: Likewise.
67738         * modules/mkdir-p: Likewise.
67739
67740         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
67741         This undoes the most recent change, since we're now addressing the
67742         problem in a different way.
67743
67744         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
67745         into output, since the output might be called Makefile.am even
67746         if $makefile_name is something different.
67747         (func_import): Use $makefile_am rather than
67748         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
67749         empty.
67750
67751         * modules/inttypes (Files): Add m4/inttypes-h.m4.
67752
67753 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
67754
67755         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
67756         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
67757         recent change to stdint.m4, since we're now addressing the problem in a
67758         different way.
67759
67760 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
67761
67762         * m4/fcntl_h.m4: New file.
67763
67764 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
67765
67766         * lib/fcntl_.h: New file.
67767         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
67768         the fcntl module.
67769         * lib/dirchownmod.c: Likewise.
67770         * lib/fts.c: Likewise.
67771
67772         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
67773         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
67774         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
67775         just before including <inttypes.h>, to avoid circular inclusion.
67776
67777 2006-08-28  Jim Meyering  <jim@meyering.net>
67778
67779         * doc/visibility.texi: Actually read and correct the grammar of the
67780         sentence affected by yesterday's change.
67781
67782 2006-08-28  Eric Blake  <ebb9@byu.net>
67783
67784         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
67785         needs wrapper.
67786
67787 2006-08-28  Eric Blake  <ebb9@byu.net>
67788
67789         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
67790
67791 2006-08-28  Eric Blake  <ebb9@byu.net>
67792
67793         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
67794
67795 2006-08-28  Bruno Haible  <bruno@clisp.org>
67796
67797         * modules/c-strstr: New file, from GNU gettext.
67798         * MODULES.html.sh (String handling): Add c-strstr.
67799
67800 2006-08-28  Bruno Haible  <bruno@clisp.org>
67801
67802         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
67803         macros.
67804         Reported by Eric Blake.
67805
67806 2006-08-28  Bruno Haible  <bruno@clisp.org>
67807
67808         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
67809         (VASNPRINTF): Return a string of length > INT_MAX without failing.
67810         * lib/vasprintf.c: Include errno.h, limits.h.
67811         (EOVERFLOW): New fallback definition.
67812         (vasprintf): Test here whether the string length is > INT_MAX.
67813         * lib/vsnprintf.c: Include errno.h, limits.h.
67814         (EOVERFLOW): New fallback definition.
67815         (vsnprintf): Fix bug when generated string was too long for the buffer.
67816         Test here whether the string length is > INT_MAX.
67817
67818 2006-08-28  Bruno Haible  <bruno@clisp.org>
67819
67820         * lib/inttypes_.h (SCNX*): Remove definitions.
67821         Reported by Eric Blake.
67822
67823 2006-08-28  Bruno Haible  <bruno@clisp.org>
67824
67825         * lib/c-strstr.h: New file, from GNU gettext.
67826         * lib/c-strstr.c: New file, from GNU gettext.
67827
67828 2006-08-28  Bruno Haible  <bruno@clisp.org>
67829
67830         * gnulib-tool: Reorder some statements.
67831
67832 2006-08-28  Bruno Haible  <bruno@clisp.org>
67833
67834         * gnulib-tool: New option --makefile-name.
67835         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
67836         $makefile_name.
67837         (func_import): Write $makefile_name to the cache file, and read it from
67838         there unless explicitly specified. Use $makefile_name as file name
67839         instead of Makefile.am. Adjust the recommendations accordingly.
67840
67841 2006-08-28  Bruno Haible  <bruno@clisp.org>
67842
67843         * gnulib-tool (func_verify_module): Check against misapplying patch.
67844
67845 2006-08-28  Bruno Haible  <bruno@clisp.org>
67846
67847         * gnulib-tool (func_relativize, func_relconcat): New functions.
67848         Give an error if --local-dir is given with --update.
67849         Remove trailing slashes from $local_gnulib_dir.
67850         (func_import): Store the relativized $local_gnulib_dir in
67851         gnulib-cache.m4, and read it from there if not specified explicitly.
67852
67853 2006-08-28  Bruno Haible  <bruno@clisp.org>
67854
67855         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
67856         is the current directory. Respect also $local_gnulib_dir.
67857
67858 2006-08-28  Bruno Haible  <bruno@clisp.org>
67859             Simon Josefsson  <jas@extundo.com>
67860
67861         BeOS portability.
67862         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
67863
67864 2006-08-27  Jim Meyering  <jim@meyering.net>
67865
67866         * doc/visibility.texi: Remove duplicate word: "pointer".
67867
67868 2006-08-26  Bruno Haible  <bruno@clisp.org>
67869
67870         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
67871         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
67872         (Makefile.am): Create inttypes.h from inttypes_.h.
67873         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
67874
67875         * modules/imaxabs: New file.
67876
67877         * modules/imaxdiv: New file.
67878
67879 2006-08-26  Bruno Haible  <bruno@clisp.org>
67880
67881         * m4/inttypes.m4: New file.
67882         * m4/_inttypes_h.m4: Remove file.
67883         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
67884         PRI_MACROS_BROKEN.
67885         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
67886
67887         * m4/imaxabs.m4: New file.
67888
67889         * m4/imaxdiv.m4: New file.
67890
67891 2006-08-26  Bruno Haible  <bruno@clisp.org>
67892
67893         * lib/inttypes_.h: New file.
67894         * lib/inttypes.h: Remove file.
67895         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
67896
67897         * lib/imaxabs.c: New file.
67898
67899         * lib/imaxdiv.c: New file.
67900
67901 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
67902
67903         New config-h module, so that "make" output needn't be cluttered
67904         by -DHAVE_CONFIG_H.
67905         * MODULES.html.sh (Support for building libraries and executables):
67906         Add config-h.
67907         * modules/config-h: New file.
67908         * gnulib-tool (nl, sed_transform_lib_file): New vars.
67909         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
67910         the config-h module is used.
67911
67912         New configmake module, so that "make" output needn't be cluttered
67913         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
67914         * MODULES.html.sh (Support for building libraries and executables):
67915         Add configmake.
67916         * modules/configmake: New file.
67917
67918 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
67919
67920         * m4/config-h.m4: New file.
67921
67922 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
67923
67924         * config/srclist.txt: Add elisp-comp.
67925
67926 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
67927
67928         * MODULES.html.sh (Support for building libraries and executables):
67929         Add elisp-comp.
67930         * build-aux/elisp-comp: New file.
67931         * modules/elisp-comp: New file.
67932
67933 2006-08-24  Bruno Haible  <bruno@clisp.org>
67934
67935         * gnulib-tool (func_create_testdir): Use non-default values of
67936         sourcebase and m4base.
67937
67938 2006-08-24  Bruno Haible  <bruno@clisp.org>
67939
67940         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
67941         HTML structure.
67942
67943 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
67944
67945         * modules/openat (Depends-on): Add lchown.
67946
67947 2006-08-23  Bruno Haible  <bruno@clisp.org>
67948
67949         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
67950         of gl_LOCK_EARLY instead of gl_LOCK.
67951
67952 2006-08-23  Bruno Haible  <bruno@clisp.org>
67953
67954         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
67955         on OSF/1 to no.
67956         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
67957
67958 2006-08-23  Bruno Haible  <bruno@clisp.org>
67959
67960         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
67961         as unusable.
67962
67963         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
67964         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
67965         (gl_LOCK): New macro.
67966
67967 2006-08-22  Simon Josefsson  <jas@extundo.com>
67968
67969         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
67970         to md5 module.
67971
67972 2006-08-22  Simon Josefsson  <jas@extundo.com>
67973
67974         * MODULES.html.sh: Add "Support for maintaining and release
67975         projects".
67976
67977         * build-aux/gnupload: New file, from coreutils.
67978
67979 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
67980
67981         Avoid the need for AC_LIBSOURCES in m4 macros.
67982         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
67983         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
67984         * modules/check-version (EXTRA_DIST): Add check-version.h.
67985         * modules/crc (EXTRA_DIST): Add crc.h.
67986         * modules/des (EXTRA_DIST): Add des.h.
67987         * modules/gc (EXTRA_DIST): Add gc.h.
67988         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
67989         * modules/getline (EXTRA_DIST): Add getline.h.
67990         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
67991         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
67992         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
67993         * modules/md2 (EXTRA_DIST): Add md2.h.
67994         * modules/md4 (EXTRA_DIST): Add md4.h.
67995         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
67996         * modules/read-file (EXTRA_DIST): Add read-file.h.
67997         * modules/readline (EXTRA_DIST): Add readline.h.
67998         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
67999         rijndael-api-fst.h.
68000
68001 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
68002
68003         * m4/rijndael.m4 (gl_ARCFOUR):
68004         * m4/arctwo.m4 (gl_ARCTWO):
68005         * m4/check-version.m4 (gl_CHECK_VERSION):
68006         * m4/crc.m4 (gl_CRC):
68007         * m4/des.m4 (gl_DES):
68008         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
68009         * m4/gc.m4 (gl_GC):
68010         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
68011         * m4/getline.m4 (gl_FUNC_GETLINE):
68012         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
68013         * m4/hmac-md5.m4 (gl_HMAC_MD5):
68014         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
68015         * m4/md2.m4 (gl_MD2):
68016         * m4/md4.m4 (gl_MD4):
68017         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
68018         * m4/read-file.m4 (gl_FUNC_READ_FILE):
68019         * m4/readline.m4 (gl_FUNC_READLINE):
68020         * m4/rijndael.m4 (gl_RIJNDAEL):
68021         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
68022         to get the necessary .h files and whatnot.
68023
68024 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
68025
68026         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
68027         gnulib rather than the other way around.
68028         * config/srclistvars.sh (COREUTILS): Remove.
68029
68030 2006-08-22  Jim Meyering  <jim@meyering.net>
68031
68032         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
68033
68034         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
68035
68036 2006-08-22  Eric Blake  <ebb9@byu.net>
68037
68038         * modules/regexprops-generic: New file.
68039         * MODULES.html.sh (Support for building documentation): List it.
68040
68041 2006-08-22  Eric Blake  <ebb9@byu.net>
68042
68043         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
68044         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
68045         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
68046         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
68047
68048 2006-08-22  Bruno Haible  <bruno@clisp.org>
68049
68050         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
68051         and lib_LTLIBRARIES like the other lib_* variables.
68052
68053 2006-08-22  Bruno Haible  <bruno@clisp.org>
68054
68055         * build-aux/x-to-1.in: New file, from GNU gettext.
68056
68057 2006-08-22  Bruno Haible  <bruno@clisp.org>
68058
68059         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
68060         <utmpx.h> exists.
68061
68062 2006-08-22  Bruno Haible  <bruno@clisp.org>
68063
68064         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
68065         <utmpx.h> exists.
68066
68067 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
68068
68069         BeOS portability.
68070         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
68071         exist.
68072         Problem reported by Bruno Haible.
68073
68074 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
68075
68076         Avoid the need for AC_LIBSOURCES in m4 macros.
68077         * modules/acl (EXTRA_DIST): Add acl.h.
68078         * modules/argmatch (Files): Add m4/argmatch.m4.
68079         (configure.ac): Add gl_ARGMATCH.
68080         (EXTRA_DIST): Renamed from lib_SOURCES, for
68081         consistency with the other modules.  Remove argmatch.c.
68082         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
68083         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
68084         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
68085         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
68086         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
68087         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
68088         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
68089         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
68090         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
68091         * modules/closeout (EXTRA_DIST): Add closeout.h.
68092         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
68093         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
68094         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
68095         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
68096         dirname.h; remove basename.c and stripslash.c.
68097         * modules/exclude (EXTRA_DIST): Add exclude.h.
68098         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
68099         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
68100         * modules/file-type (EXTRA_DIST): Add file-type.h.
68101         * modules/filemode (EXTRA_DIST): Add filemode.h.
68102         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
68103         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
68104         * modules/fpending (EXTRA_DIST): Add __fpending.h.
68105         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
68106         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
68107         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
68108         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
68109         * modules/getdate (EXTRA_DIST): Add getdate.c.
68110         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
68111         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
68112         * modules/getpass (EXTRA_DIST): Add getpass.h.
68113         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
68114         * modules/group-member (EXTRA_DIST): Add group-member.h.
68115         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
68116         * modules/hash (EXTRA_DIST): Add hash.h.
68117         * modules/human (EXTRA_DIST): Add human.h.
68118         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
68119         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
68120         * modules/lchown (EXTRA_DIST): Add lchown.h.
68121         * modules/long-options (EXTRA_DIST): Add long-options.h.
68122         * modules/lstat (EXTRA_DIST): Add lstat.h.
68123         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
68124         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
68125         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
68126         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
68127         * modules/memxor (EXTRA_DIST): Add memxor.h.
68128         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
68129         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
68130         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
68131         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
68132         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
68133         * modules/physmem (EXTRA_DIST): Add physmem.h.
68134         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
68135         * modules/posixver (EXTRA_DIST): Add posixver.h.
68136         * modules/quote (EXTRA_DIST): Add quote.h.
68137         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
68138         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
68139         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
68140         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
68141         regex_internal.h regexec.c.
68142         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
68143         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
68144         * modules/same (EXTRA_DIST): Add same.h.
68145         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
68146         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
68147         * modules/savedir (EXTRA_DIST): Add savedir.h.
68148         * modules/sha1 (EXTRA_DIST): Add sha1.h.
68149         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
68150         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
68151         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
68152         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
68153         * modules/strdup (EXTRA_DIST): Add strdup.h.
68154         * modules/strftime (EXTRA_DIST): Add strftime.h.
68155         * modules/strndup (EXTRA_DIST): Add strndup.h.
68156         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
68157         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
68158         * modules/time_r (EXTRA_DIST): Add time_r.h.
68159         * modules/timespec (EXTRA_DIST): Add timespec.h.
68160         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
68161         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
68162         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
68163         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
68164         * modules/userspec (EXTRA_DIST): Add userspec.h.
68165         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
68166         * modules/utimens (EXTRA_DIST): Add utimens.h.
68167         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
68168         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
68169         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
68170         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
68171         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
68172         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
68173         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
68174         * modules/yesno (EXTRA_DIST): Add yesno.h.
68175
68176 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
68177
68178         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
68179
68180         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
68181         * m4/dev-ino.m4, same-inode.m4: Remove.
68182
68183         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
68184         * m4/acl.m4 (AC_FUNC_ACL):
68185         * m4/backupfile.m4 (gl_BACKUPFILE):
68186         * m4/c-strtod.m4 (gl_C99_STRTOLD):
68187         * m4/canon-host.m4 (gl_CANON_HOST):
68188         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
68189         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
68190         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
68191         * m4/cloexec.m4 (gl_CLOEXEC):
68192         * m4/close-stream.m4 (gl_CLOSE_STREAM):
68193         * m4/closeout.m4 (gl_CLOSEOUT):
68194         * m4/dirfd.m4 (gl_FUNC_DIRFD):
68195         * m4/dirname.m4 (gl_DIRNAME):
68196         * m4/exclude.m4 (gl_EXCLUDE):
68197         * m4/exitfail.m4 (gl_EXITFAIL):
68198         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
68199         * m4/file-type.m4 (gl_FILE_TYPE):
68200         * m4/filemode.m4 (gl_FILEMODE):
68201         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
68202         * m4/fpending.m4 (gl_FUNC_FPENDING):
68203         * m4/fprintftime.m4 (gl_FPRINTFTIME):
68204         * m4/fts.m4 (gl_FUNC_FTS):
68205         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
68206         * m4/getdate.m4 (gl_GETDATE):
68207         * m4/gethrxtime.m4 (gl_GETHRXTIME):
68208         * m4/getpagesize.m4 (gl_GETPAGESIZE):
68209         * m4/getpass.m4 (gl_FUNC_GETPASS):
68210         * m4/gettime.m4 (gl_GETTIME):
68211         * m4/getugroups.m4 (gl_GETUGROUPS):
68212         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
68213         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
68214         * m4/hard-locale.m4 (gl_HARD_LOCALE):
68215         * m4/hash.m4 (gl_HASH):
68216         * m4/idcache.m4 (gl_IDCACHE):
68217         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
68218         * m4/lchown.m4 (gl_FUNC_LCHOWN):
68219         * m4/long-options.m4 (gl_LONG_OPTIONS):
68220         * m4/lstat.m4 (gl_FUNC_LSTAT):
68221         * m4/md5.m4 (gl_MD5):
68222         * m4/memcasecmp.m4 (gl_MEMCASECMP):
68223         * m4/memcoll.m4 (gl_MEMCOLL):
68224         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
68225         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
68226         * m4/memxor.m4 (gl_MEMXOR):
68227         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
68228         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
68229         * m4/modechange.m4 (gl_MODECHANGE):
68230         * m4/mountlist.m4 (gl_MOUNTLIST):
68231         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
68232         * m4/openat.m4 (gl_FUNC_OPENAT):
68233         * m4/pathmax.m4 (gl_PATHMAX):
68234         * m4/physmem.m4 (gl_PHYSMEM):
68235         * m4/posixtm.m4 (gl_POSIXTM):
68236         * m4/posixver.m4 (gl_POSIXVER):
68237         * m4/quote.m4 (gl_QUOTE):
68238         * m4/quotearg.m4 (gl_QUOTEARG):
68239         * m4/readtokens.m4 (gl_READTOKENS):
68240         * m4/readutmp.m4 (gl_READUTMP):
68241         * m4/regex.m4 (gl_REGEX):
68242         * m4/safe-read.m4 (gl_SAFE_READ):
68243         * m4/safe-write.m4 (gl_SAFE_WRITE):
68244         * m4/same.m4 (gl_SAME):
68245         * m4/save-cwd.m4 (gl_SAVE_CWD):
68246         * m4/savedir.m4 (gl_SAVEDIR):
68247         * m4/settime.m4 (gl_SETTIME):
68248         * m4/sha1.m4 (gl_SHA1):
68249         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
68250         * m4/stat-macros.m4 (gl_STAT_MACROS):
68251         * m4/stat-time.m4 (gl_STAT_TIME):
68252         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
68253         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
68254         * m4/strdup.m4 (gl_FUNC_STRDUP):
68255         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
68256         * m4/strndup.m4 (gl_FUNC_STRNDUP):
68257         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
68258         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
68259         * m4/time_r.m4 (gl_TIME_R):
68260         * m4/timespec.m4 (gl_TIMESPEC):
68261         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
68262         * m4/unlinkdir.m4 (gl_UNLINKDIR):
68263         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
68264         * m4/userspec.m4 (gl_USERSPEC):
68265         * m4/utimecmp.m4 (gl_UTIMECMP):
68266         * m4/utimens.m4 (gl_UTIMENS):
68267         * m4/xalloc.m4 (gl_XALLOC):
68268         * m4/xgetcwd.m4 (gl_XGETCWD):
68269         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
68270         * m4/xreadlink.m4 (gl_XREADLINK):
68271         * m4/xstrtod.m4 (gl_XSTRTOD):
68272         * m4/yesno.m4 (gl_YESNO):
68273         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
68274         to get the necessary .h files and whatnot.
68275
68276 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
68277             Bruno Haible  <bruno@clisp.org>
68278
68279         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
68280         /bin/sh understanding of '!' conditional negation.
68281
68282 2006-08-21  Jim Meyering  <jim@meyering.net>
68283
68284         * modules/openat (Depends-on): Really alphabetize.
68285
68286         * modules/acl (Depends-on): Add error and quote.
68287
68288         * check-module (find_included_lib_files): Add at-func.c to the
68289         ok-to-include-more-than-once white list.
68290
68291         * modules/openat (Depends-on): Add lstat.  Alphabetize.
68292
68293 2006-08-21  Bruno Haible  <bruno@clisp.org>
68294
68295         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
68296         Emit a pkgdata_DATA variable only if some snippets add contents to it.
68297         Reported by Martin Lambers <marlam@marlam.de>.
68298
68299 2006-08-21  Bruno Haible  <bruno@clisp.org>
68300
68301         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
68302         specify an installation location, don't emit a noinst_LIBRARIES or
68303         noinst_LTLIBRARIES assignment.
68304
68305 2006-08-21  Bruno Haible  <bruno@clisp.org>
68306
68307         BeOS portability.
68308         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
68309         BeOS has mbrtowc() but no <wctype.h>.
68310
68311 2006-08-21  Bruno Haible  <bruno@clisp.org>
68312
68313         BeOS portability.
68314         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
68315         exist.
68316
68317 2006-08-21  Bruno Haible  <bruno@clisp.org>
68318
68319         BeOS portability.
68320         * lib/mbchar.h: Include <wctype.h> only if it exists.
68321
68322 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
68323
68324         Remove files that are no longer needed by their respective modules.
68325         * m4/obstack.m4: Remove.
68326         * m4/strerror_r.m4: Remove.
68327         * m4/uint32_t.m4: Remove.
68328         * m4/uintptr_t.m4: Remove.
68329         * m4/ullong_max.m4: Remove.
68330         * m4/xstrtoimax.m4: Remove.
68331         * m4/xstrtoumax.m4: Remove.
68332
68333         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
68334         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
68335         dependencies now capture this.
68336
68337         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
68338         Do not use AC_LIBSOURCES, since gnulib modules now do this.
68339         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
68340         * m4/human.m4 (gl_HUMAN): Likewise.
68341         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
68342         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
68343
68344         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
68345
68346         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
68347         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
68348         stdint.
68349         * m4/human.m4 (gl_HUMAN): Likewise.
68350         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
68351         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
68352         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
68353         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
68354         * m4/xstrtol (gl_XSTRTOL): Likewise.
68355
68356         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
68357         AC_TYPE_LONG_LONG_INT.
68358         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
68359         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
68360         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
68361         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
68362
68363         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
68364         on stdbool.
68365
68366         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
68367         (gl_PREREQ_XSTRTOUL): Remove.
68368
68369         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
68370
68371         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
68372         mode.
68373
68374 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
68375
68376         Add and change modules to make it easier for coreutils to use
68377         gnulib-tool.
68378         * modules/backupfile (Files): Remove m4/d-ino.m4.
68379         (Depends-on): Add d-ino.
68380         * modules/cycle-check (Depends-on): Add stdint.
68381         (lib_SOURCES): Add cycle-check.h.
68382         * modules/d-ino: New module.
68383         * modules/d-type: New module.
68384         * modules/error (Files): Remove m4/strerror_r.m4.
68385         * modules/filemode (Files): Add m4/st_dm_mode.m4.
68386         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
68387         m4/inttypes_h.m4, m4/uintmax_t.m4.
68388         (Depends-on): Add stdint.
68389         (lib_SOURCES): Add fsusage.h.
68390         * modules/getcwd (Files): Remove d-ino.m4.
68391         (Depends-on): Add d-ino.
68392         * modules/getndelim2 (Depends-on): Add stdint.
68393         * modules/glob (Files): Remove m4/d-type.m4.
68394         (Depends-on): Add d-type.
68395         * modules/host-os: New module.
68396         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
68397         m4/inttypes_h.m4, m4/uintmax_t.m4.
68398         * Depends-on: Add stdint.
68399         (lib_SOURCES): Add human.h.
68400         * modules/inttostr (Files): Remove m4/intmax_t.m4,
68401         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
68402         m4/uintmax_t.m4, m4/ulonglong.m4.
68403         (Depends-on): Add stdint.
68404         (EXTRA_DIST): Add inttostr.h.
68405         * modules/lchmod: New module.
68406         * modules/link-follow: New module.
68407         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
68408         (Depends-on): Add lchmod.
68409         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
68410         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
68411         (Depends-on): Add stdint.
68412         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
68413         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
68414         (Depends-on): Add stdint.
68415         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
68416         * modules/perl: New module.
68417         * modules/regex (Depends-on): Add stdint.
68418         * modules/rmdir-errno: New module.
68419         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
68420         m4/intmax_t.m4.
68421         (Depends-on): Add stdint.
68422         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
68423         m4/uintmax_t.m4.
68424         (Depends-on): Add stdint.
68425         * modules/unlink-busy: New module.
68426         * modules/utimecmp (Depends-on): Add stdint.
68427         * modules/uptime: New module.
68428         * modules/winsz-ioctl: New module.
68429         * modules/winsz-termios: New module.
68430         * modules/xnanosleep (Depends-on): Add nanosleep.
68431         * modules/ullong_max: Remove.
68432         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
68433         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
68434         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
68435         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
68436         (Depends-on): Add inttypes.
68437         (lib_SOURCES): Add xstrtol.h.
68438         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
68439         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
68440         * MODULES.html.sh: Move 'assert' into the assert section.
68441         Move 'dummy' into the linking section.
68442         Remove ullong_max.
68443         Add section for compatibility checks for POSIX:2001 functions,
68444         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
68445         winsz-ioctl, and winsz-termios into it.
68446         Add lchmod.
68447         Add top-level Misc section and put host-os, perl, and uptime
68448         into it.
68449
68450 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
68451
68452         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
68453         now assume the stdint module.  Do not include inttypes.h.
68454         * lib/fsusage.h: Likewise.
68455         * lib/getndelim2.c: Likewise.
68456         * lib/human.h: Likewise.
68457         * lib/inttostr.h: Likewise.
68458         * lib/obstack.c: Likewise.
68459         * lib/regex_internal.h: Likewise.
68460         * lib/tempname.c: Likewise.
68461         * lib/utimecmp.c: Likewise.
68462         * lib/xstrtol.h: Likewise.
68463
68464         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
68465
68466         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
68467         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
68468         * lib/xtime.h: Likewise.
68469
68470 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
68471
68472         * modules/openat (Files): Add lib/fchmodat.c.
68473         Fixes problem reported by Jay Youngman.
68474
68475 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
68476
68477         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
68478         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
68479
68480 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
68481             Bruno Haible  <bruno@clisp.org>
68482
68483         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
68484         and is a script that invokes bison. Tighten the code. Add comments.
68485
68486 2006-08-18  Jim Meyering  <jim@meyering.net>
68487
68488         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
68489         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
68490         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
68491         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
68492
68493 2006-08-18  Bruno Haible  <bruno@clisp.org>
68494
68495         * modules/bison-i18n: New file.
68496         * MODULES.html.sh (Internationalization functions): Add it.
68497
68498 2006-08-18  Bruno Haible  <bruno@clisp.org>
68499
68500         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
68501         sys/statvfs.h. When getmntinfo was found, check its declaration and
68502         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
68503
68504 2006-08-18  Bruno Haible  <bruno@clisp.org>
68505
68506         * m4/bison-i18n.m4: New file, from bison.
68507
68508 2006-08-18  Bruno Haible  <bruno@clisp.org>
68509
68510         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
68511         (ME_DUMMY): Treat "kernfs" as a dummy.
68512         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
68513
68514 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
68515
68516         Update from coreutils.
68517
68518         2006-08-15  Jim Meyering  <jim@meyering.net>
68519
68520         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
68521
68522         2006-01-17  Jim Meyering  <jim@meyering.net>
68523
68524         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
68525
68526         2006-01-11  Jim Meyering  <jim@meyering.net>
68527
68528         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
68529         Check for the lchmod function.
68530
68531 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
68532
68533         Update from coreutils.
68534
68535         * lib/__fpending.h: Add copyright notice.
68536         * lib/fprintftime.h: Likewise.
68537         * lib/savedir.c: Use (C) in copyright notice.
68538         * lib/savedir.h: Likewise.
68539
68540         2006-08-15  Jim Meyering  <jim@meyering.net>
68541
68542         * lib/at-func.c: New file, with the logic of all emulated at-functions.
68543         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
68544         in support of the EXPECTED_ERRNO macro.
68545         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
68546         definitions.  Instead, define the appropriate symbols and include
68547         "at-func.c".
68548         * lib/mkdirat.c (mkdirat): Likewise.
68549         * lib/fchmodat.c (fchmodat): Likewise.
68550         (ENOSYS): Remove definition.
68551         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
68552         it.  Don't include "unistd--.h" -- it wasn't ever used.
68553
68554         2006-01-17  Jim Meyering  <jim@meyering.net>
68555
68556         Rewrite fts.c not to change the current working directory,
68557         by using openat, fstatat, fdopendir, etc..
68558
68559         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
68560         (HAVE_OPENAT_SUPPORT): Define.
68561         [_LIBC] (fchdir): Don't undef or define; no longer used.
68562         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
68563         Now, this `function' always succeeds, and consumes its file descriptor
68564         parameter -- so callers must not close such FDs.  Update callers.
68565         (diropen_fd, opendirat, cwd_advance_fd): New functions.
68566         (diropen): Add parameter, SP.  Adjust all callers.
68567         Implement using diropen_fd, rather than open.
68568         (fts_open): Initialize new member, fts_cwd_fd.
68569         Remove fts_rft-setting code.
68570         (fts_close): Close fts_cwd_fd, if necessary.
68571         (__opendir2): Define in terms of opendir or opendirat,
68572         depending on whether the FST_NOCHDIR flag is set.
68573         (fts_build): Since fts_safe_changedir consumes its FD, and since
68574         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
68575         and close the dup'd file descriptor upon failure.
68576         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
68577         (fts_safe_changedir): Tweak semantics to reflect that this function
68578         now calls cwd_advance_fd and hence consumes its FD argument.
68579         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
68580         [struct FTS] (fts_rft): Remove now-unused member.
68581         [struct FTS] (fts_cycle.state): Improve comment.
68582
68583         * lib/openat.c (openat_needs_fchdir): New function.
68584         * lib/openat.h (openat_needs_fchdir): Declare it.
68585
68586 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
68587
68588         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
68589         Problem and fix reported by Pádraig Brady in
68590         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
68591
68592 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
68593
68594         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
68595
68596 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
68597
68598         * lib/memcoll.c (memcoll): Optimize for the common case where the
68599         arguments are bytewise equal.
68600
68601 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
68602
68603         * doc/regexprops-generic.texi: Add a copyright notice.
68604
68605 2006-08-15  Bruno Haible  <bruno@clisp.org>
68606
68607         * modules/tmpdir (License): Change to LGPL.
68608
68609 2006-08-15  Bruno Haible  <bruno@clisp.org>
68610
68611         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
68612         module.
68613
68614 2006-08-14  Simon Josefsson  <jas@extundo.com>
68615
68616         * config/srclist.txt: Add gnupload.
68617
68618 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
68619
68620         Change copyright notice from LGPL 2 to GPL 2, since that's the
68621         standard form used in the gnulib repository.
68622         * tests/test-lock.c: Likewise.
68623         * tests/test-stdint.c: Likewise.
68624         * tests/test-tls.c: Likewise.
68625
68626         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
68627         prelude-manager.  User shorter URLs for GNU projects, without '?'.
68628         Add copyright notice.
68629
68630         * check-module: Add copyright notice.  Output a copyright
68631         notice if "--version" is specified.
68632         * modules/COPYING: New file.
68633         * tests/test-getaddrinfo.c: Add copyright notice.
68634         * tests/test-verify.c: Likewise.
68635
68636 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
68637
68638         Change copyright notice from LGPL 2 to GPL 2, since that's the
68639         standard form used in the gnulib repository.
68640         * lib/lock.c: LGPL -> GPL.
68641         * lib/lock.h: Likewise.
68642         * lib/strnlen1.c: Likewise.
68643         * lib/strnlen1.h: Likewise.
68644         * lib/tls.c: Likewise.
68645         * lib/tls.h: Likewise.
68646         * lib/tmpdir.c: Likewise.
68647
68648         * lib/TODO: Remove; this belongs only in coreutils.
68649
68650 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
68651
68652         Add copyright notices to long-enough files that lack them, since
68653         otherwise the files aren't clearly free.  Use the same notice that
68654         getdate.texi already uses.
68655         * doc/alloca-opt.texi: Add copyright notice.
68656         * doc/alloca.texi: Likewise.
68657         * doc/ctime.texi: Likewise.
68658         * doc/functions.texi: Likewise.
68659         * doc/gcd.texi: Likewise.
68660         * doc/gnulib-tool.texi: Likewise.
68661         * doc/inet_ntoa.texi: Likewise.
68662         * doc/visibility.texi: Likewise.
68663
68664         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
68665         * doc/quote.texi: Add copyright notice.
68666
68667         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
68668         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
68669         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
68670         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
68671         is now obsolete, and give a pointer to the Sun list.
68672         Add copyright notice.
68673
68674 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
68675
68676         * config/srclistvars.sh: Add copyright notice.
68677
68678 2006-08-14  Eric Blake  <ebb9@byu.net>
68679
68680         Import the following change from libc:
68681
68682         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
68683
68684         Upstream bug 2997.
68685         * lib/misc/error.c: Add space between program name and message if file
68686         name is missing.
68687
68688 2006-08-12  Karl Berry  <karl@gnu.org>
68689
68690         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
68691         remove, these originate in gnulib now.
68692
68693 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68694
68695         * doc/Makefile (standards.info standards.html standards.dvi):
68696         Also depend on make-stds.texi.
68697
68698 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
68699
68700         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
68701         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
68702
68703         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
68704         in wchar_t.  Problem reported by Eric Blake.
68705
68706         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
68707         LEN is smaller than SIZE.  Suggested by Bruno Haible.
68708         Also, help the compiler to keep LEN in a register.
68709
68710 2006-08-11  Eric Blake  <ebb9@byu.net>
68711
68712         * users.txt: Sort.  Add tar.
68713
68714 2006-08-11  Bruno Haible  <bruno@clisp.org>
68715
68716         * users.txt: New file.
68717
68718 2006-08-11  Bruno Haible  <bruno@clisp.org>
68719
68720         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
68721         before <wchar.h>. Needed for OSF/1 and BSD/OS.
68722
68723 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
68724
68725         * modules/snprintf (Depends-on): Remove minmax.
68726         (Maintainer): Add self and Bruno.
68727
68728 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
68729
68730         * lib/.cppi-disable: Add snprintf.h, socket_.h.
68731         * lib/snprintf.c: Include <errno.h> and <limits.h>.
68732         (EOVERFLOW): Define if the system does not.
68733         Do not include "minmax.h"; it wasn't used.
68734         (snprintf): Don't assume size_t promotes to an unsigned type.
68735         Fix bug when generated string was too long for the buffer: the
68736         buffer's contents are supposed to be the initial prefix of the
68737         output.  Don't assume vasnprintf returns EOVERFLOW if the size
68738         exceeds INT_MAX; do the check ourselves.
68739
68740         Import the following changes from libc:
68741
68742         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
68743
68744         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
68745         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
68746         set wc to the byte which couldn't be converted.
68747         (re_string_reconstruct): Don't clear valid_raw_len before calling
68748         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
68749         tip_context using re_string_context_at.
68750
68751         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
68752
68753         * lib/posix/regex.h: g++ still cannot handled [restrict].
68754
68755         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
68756
68757         * lib/posix/regex.h: Remove special handling for VMS.
68758
68759 2006-08-10  Jim Meyering  <jim@meyering.net>
68760
68761         * modules/same-inode: New module.
68762         * modules/dev-ino: New module.
68763         * modules/cycle-check: Depend on these modules, rather than simply
68764         including their .h files.
68765         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
68766         required via m4/cycle-check.m4.
68767         * modules/same: Depend on new same-inode module, rather than
68768         including same-inode.h.
68769         * modules/chdir-safer: New file.
68770
68771         * modules/chown (Depends-on): Add stat-macros.
68772
68773 2006-08-10  Jim Meyering  <jim@meyering.net>
68774
68775         * m4/cycle-check.m4: New file.
68776         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
68777         * m4/dev-ino.m4, m4/same-inode.m4: New files.
68778
68779 2006-08-10  Eric Blake  <ebb9@byu.net>
68780
68781         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
68782         in from original proposal.
68783
68784 2006-08-10  Eric Blake  <ebb9@byu.net>
68785         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
68786
68787         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
68788         namespace.
68789
68790 2006-08-10  Bruno Haible  <bruno@clisp.org>
68791
68792         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
68793         as well.
68794
68795 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
68796
68797         Sync from coreutils.
68798
68799         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
68800
68801         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
68802         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
68803
68804 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
68805
68806         * modules/restrict: Remove; no longer needed now that we assume
68807         Autoconf 2.59 or later.
68808         * MODULES.html.sh: Remove 'restrict'.
68809         * modules/argp (Depends-on): Remove 'restrict'.
68810         * modules/base64 (Depends-on): Likewise.
68811         * modules/gc (Depends-on): Likewise.
68812         * modules/getaddrinfo (Depends-on): Likewise.
68813         * modules/glob (Depends-on): Likewise.
68814         * modules/inet_ntop (Depends-on): Likewise.
68815         * modules/inet_pton (Depends-on): Likewise.
68816         * modules/memxor (Depends-on): Likewise.
68817         * modules/regex (Depends-on): Likewise.
68818         * modules/strtok_r (Depends-on): Likewise.
68819         * modules/time_r (Depends-on): Likewise.
68820
68821 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
68822
68823         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
68824         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
68825         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
68826         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
68827         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
68828         * m4/memxor.m4 (gl_MEMXOR): Likewise.
68829         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
68830         gl_C_RESTRICT replaced by AC_C_RESTRICT.
68831
68832         Merge from coreutils.
68833         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
68834         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
68835         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
68836         * m4/time_r.m4 (gl_TIME_R): Likewise.
68837
68838 2006-08-09  Karl Berry  <karl@gnu.org>
68839
68840         * config/srclist.txt: no more gettext-tools, per Bruno.
68841
68842 2006-08-08  Eric Blake  <ebb9@byu.net>
68843
68844         * modules/verror: New module.
68845         * MODULES.html.sh: Document it.
68846
68847 2006-08-08  Eric Blake  <ebb9@byu.net>
68848
68849         * lib/verror.h, lib/verror.c: New files.
68850
68851 2006-08-08  Eric Blake  <ebb9@byu.net>
68852
68853         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
68854         verror_at_line output complies with GNU Coding Standards even when
68855         file is NULL.
68856
68857 2006-08-07  Bruno Haible  <bruno@clisp.org>
68858
68859         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
68860         versions of AIX.
68861         Reported by Ralf Wildenhues.
68862
68863 2006-08-07  Bruno Haible  <bruno@clisp.org>
68864
68865         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
68866         in an AC_DEFUN. Needed so that the autoconf snippets can use
68867         AC_REQUIRE.
68868
68869 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68870
68871         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
68872         Initialize pkgdata_DATA.
68873         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
68874         overriding it.
68875
68876 2006-08-06  Eric Blake  <ebb9@byu.net>
68877
68878         * lib/error.h: Fold in some upstream changes from glibc.
68879         * lib/error.c: Likewise.
68880
68881 2006-08-04  Bruno Haible  <bruno@clisp.org>
68882
68883         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
68884         Make the mostlyclean-local rule depend on mostlyclean-generic.
68885         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
68886
68887 2006-07-31  Bruno Haible  <bruno@clisp.org>
68888
68889         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
68890         <stdlib.h>, <string.h>.
68891
68892 2006-07-30  Bruno Haible  <bruno@clisp.org>
68893
68894         * modules/readlink (License): Change to LGPL.
68895
68896 2006-07-30  Bruno Haible  <bruno@clisp.org>
68897
68898         * modules/javaversion (Makefile.am): Distribute javaversion.java and
68899         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
68900         set PKGDATADIR to point to it.
68901
68902 2006-07-30  Bruno Haible  <bruno@clisp.org>
68903
68904         * modules/csharpexec (configure.ac): Comment out macro invocation.
68905         * modules/javaexec (configure.ac): Likewise.
68906         * modules/javacomp-script (configure.ac): Likewise.
68907
68908         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
68909
68910 2006-07-30  Bruno Haible  <bruno@clisp.org>
68911
68912         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
68913         linked-list.
68914
68915 2006-07-30  Bruno Haible  <bruno@clisp.org>
68916
68917         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
68918
68919 2006-07-30  Bruno Haible  <bruno@clisp.org>
68920
68921         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
68922         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
68923         get removed.
68924
68925 2006-07-29  Bruno Haible  <bruno@clisp.org>
68926
68927         Make it possible for gnulib-tool to work with locally modified or
68928         augmented gnulib repositories.
68929         * gnulib-tool (func_usage): Document --local-dir option.
68930         (local_gnulib_dir): New variable.
68931         Handle --local-dir option.
68932         (func_lookup_file): New function.
68933         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
68934         (func_get_description, func_get_filelist, func_get_description,
68935         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
68936         func_get_automake_snippet, func_get_include_directive,
68937         func_get_license, func_get_maintainer): Use func_lookup_file.
68938         (func_import, func_create_testdir): Use func_lookup_file.
68939
68940 2006-07-29  Bruno Haible  <bruno@clisp.org>
68941
68942         * modules/setenv (Depends-on): Add unistd.
68943
68944 2006-07-29  Bruno Haible  <bruno@clisp.org>
68945
68946         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
68947
68948 2006-07-29  Bruno Haible  <bruno@clisp.org>
68949
68950         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
68951
68952 2006-07-29  Bruno Haible  <bruno@clisp.org>
68953
68954         * gnulib-tool (import, update): If there is no Makefile.am, look at
68955         aclocal.m4, instead of bailing out.
68956
68957 2006-07-29  Bruno Haible  <bruno@clisp.org>
68958
68959         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
68960         Categorize the options by when they are useful.
68961
68962 2006-07-29  Bruno Haible  <bruno@clisp.org>
68963
68964         * gnulib-tool (func_usage): Document option --no-libtool.
68965         Handle option --no-libtool.
68966         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
68967         for changed semantics of $libtool variable.
68968         (func_import): Likewise. If libtool is not used, show this through
68969         an option --no-libtool.
68970         (func_create_testdir): Update.
68971
68972 2006-07-29  Bruno Haible  <bruno@clisp.org>
68973
68974         * gnulib-tool (func_import): Extend error message about missing
68975         --doc-base.
68976
68977 2006-07-29  Bruno Haible  <bruno@clisp.org>
68978
68979         * gnulib-tool (func_import): Don't create the $docbase directory if
68980         there is no file to store there.
68981
68982 2006-07-29  Bruno Haible  <bruno@clisp.org>
68983
68984         * gnulib-tool (autoconf_minversion): If a --dir option is given and
68985         relevant, look for configure.ac there, not in the current directory.
68986         Also use a simple search for AC_PREREQ, not "autoconf --trace".
68987
68988 2006-07-29  Bruno Haible  <bruno@clisp.org>
68989
68990         * gnulib-tool (SORT): New variable.
68991         (func_usage): Undocument --assume-autoconf option.
68992         Remove --assume-autoconf option handling.
68993         (autoconf_minversion): Determine from the contents of configure.ac.
68994         (func_import): Remove autoconf_minversion handling.
68995         Suggested by Eric Blake.
68996
68997 2006-07-29  Bruno Haible  <bruno@clisp.org>
68998
68999         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
69000
69001 2006-07-29  Bruno Haible  <bruno@clisp.org>
69002
69003         * config/srclist.txt (*setenv.[ch]): Remove rules.
69004
69005 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69006
69007         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
69008
69009 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69010
69011         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
69012         arpa/inet.h.
69013
69014 2006-07-28  Simon Josefsson  <jas@extundo.com>
69015
69016         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
69017         * modules/inet_pton (Depends-on): Likewise.
69018
69019 2006-07-28  Simon Josefsson  <jas@extundo.com>
69020
69021         * m4/netinet_in_h.m4: New file.
69022
69023 2006-07-28  Simon Josefsson  <jas@extundo.com>
69024
69025         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
69026         #include's.
69027
69028 2006-07-28  Simon Josefsson  <jas@extundo.com>
69029
69030         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
69031         #include's.
69032
69033 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
69034
69035         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
69036         setgid on directories only if they set these bits.
69037         * lib/modechange.h: Remove obsolete comment about masks.
69038
69039 2006-07-28  Eric Blake  <ebb9@byu.net>
69040
69041         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
69042         macro expansion.
69043
69044 2006-07-28  Bruno Haible  <bruno@clisp.org>
69045
69046         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
69047
69048 2006-07-28  Bruno Haible  <bruno@clisp.org>
69049
69050         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
69051
69052 2006-07-28  Bruno Haible  <bruno@clisp.org>
69053
69054         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
69055         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
69056         Define fallbacks.
69057         Avoids link error on FreeBSD 4.x.
69058         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
69059
69060         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
69061         encoding.
69062         * lib/mbswidth.c (iswcntrl): Likewise.
69063
69064 2006-07-27  Bruno Haible  <bruno@clisp.org>
69065
69066         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
69067         test.
69068
69069 2006-07-27  Bruno Haible  <bruno@clisp.org>
69070
69071         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
69072         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
69073         defined.
69074
69075 2006-07-26  Eric Blake  <ebb9@byu.net>
69076
69077         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
69078
69079 2006-07-26  Eric Blake  <ebb9@byu.net>
69080
69081         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
69082         like mingw that lack mkstemp.
69083         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
69084         avoid compilation warning on mingw.
69085
69086 2006-07-26  Bruno Haible  <bruno@clisp.org>
69087
69088         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
69089         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
69090         INT_FAST*_MIN, INTPTR_MIN.
69091
69092 2006-07-25  Bruno Haible  <bruno@clisp.org>
69093
69094         * modules/version-etc (Depends-on): Add stdarg.
69095
69096 2006-07-25  Bruno Haible  <bruno@clisp.org>
69097
69098         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
69099         complex commands.
69100
69101 2006-07-25  Bruno Haible  <bruno@clisp.org>
69102
69103         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
69104         defined in <stdarg.h> or config.h.
69105
69106 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
69107
69108         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
69109         (gl_STDIO_SAFER): Remove.
69110
69111 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
69112
69113         * MODULES.html.sh (File stream based Input/Output):
69114         Add fopen-safer, tmpfile-safer; remove stdio-safer.
69115         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
69116         * modules/fopen-safer, modules/tmpfile-safer: New files.
69117         * modules/stdio-safer: Remove.
69118
69119 2006-07-24  Bruno Haible  <bruno@clisp.org>
69120
69121         * modules/tmpdir: New file.
69122         * MODULES.html.sh (File system functions): Add it.
69123
69124 2006-07-24  Bruno Haible  <bruno@clisp.org>
69125
69126         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
69127         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
69128
69129 2006-07-24  Bruno Haible  <bruno@clisp.org>
69130
69131         * modules/clean-temp: New file.
69132
69133 2006-07-24  Bruno Haible  <bruno@clisp.org>
69134
69135         * m4/tmpdir.m4: New file, from GNU gettext.
69136
69137 2006-07-24  Bruno Haible  <bruno@clisp.org>
69138
69139         * lib/tmpdir.h: New file, from GNU gettext.
69140         * lib/tmpdir.c: New file, from GNU gettext.
69141
69142 2006-07-24  Bruno Haible  <bruno@clisp.org>
69143
69144         * lib/clean-temp.h: New file, from GNU gettext.
69145         * lib/clean-temp.c: New file, from GNU gettext.
69146
69147 2006-07-23  Eric Blake  <ebb9@byu.net>
69148
69149         * modules/stdio-safer (Files): Add tmpfile-safer.c.
69150         (Depends-on): Add binary-io.
69151
69152 2006-07-23  Eric Blake  <ebb9@byu.net>
69153
69154         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
69155
69156 2006-07-23  Eric Blake  <ebb9@byu.net>
69157
69158         * lib/tmpfile-safer.c: New file.
69159         * lib/stdio-safer.h (fopen_safer): Add prototype.
69160         * lib/stdio--.h (tmpfile): Make safer.
69161
69162 2006-07-23  Bruno Haible  <bruno@clisp.org>
69163
69164         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
69165         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
69166         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
69167         gl_linked_remove_at): Use it.
69168
69169 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69170         and Simon Josefsson <jas@extundo.com>
69171
69172         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
69173
69174         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
69175
69176 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
69177
69178         * modules/close-stream: New file.
69179         * modules/closeout (Description): Make it clear that it exits
69180         with a diagnostic on error.
69181         (Depends-on): Add close-stream.  Remove fpending, stdbool.
69182         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
69183
69184 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
69185
69186         * m4/close-stream.m4: New file.
69187
69188 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
69189
69190         * lib/close-stream.c, lib/close-stream.h: New files.
69191
69192 2006-07-22  Bruno Haible  <bruno@clisp.org>
69193
69194         Merge from GNU gettext 0.15.
69195
69196         2006-05-01  Bruno Haible  <bruno@clisp.org>
69197
69198                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
69199
69200         2006-07-22  Bruno Haible  <bruno@clisp.org>
69201
69202                 * modules/javaversion: New file.
69203                 * MODULES.html.sh (Java): Add javaversion.
69204
69205         2006-03-12  Bruno Haible  <bruno@clisp.org>
69206
69207                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
69208
69209         2005-12-04  Bruno Haible  <bruno@clisp.org>
69210
69211                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
69212                 (untested).
69213
69214         2006-06-21  Bruno Haible  <bruno@clisp.org>
69215
69216                 Avoid warnings from recent versions of mcs.
69217                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
69218                 -o, -L, -r any more. Use options documented since mcs-1.0
69219                 instead. Similarly for -g.
69220
69221         2005-12-04  Bruno Haible  <bruno@clisp.org>
69222
69223                 * build-aux/csharpcomp.sh.in: Suffix for resources is
69224                 .resources, not .resource.
69225
69226         2005-07-09  Bruno Haible  <bruno@clisp.org>
69227
69228                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
69229                 add a .dll suffix.
69230                 Reported by Mark Junker <mjscod@gmx.de>.
69231
69232         2006-07-22  Bruno Haible  <bruno@clisp.org>
69233
69234                 * modules/gettext: Upgrade to gettext-0.15.
69235                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
69236                 m4/visibility.m4.
69237                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
69238
69239 2006-07-22  Bruno Haible  <bruno@clisp.org>
69240
69241         Merge from GNU gettext 0.15.
69242
69243         2006-03-25  Bruno Haible  <bruno@clisp.org>
69244
69245                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
69246
69247         2006-07-21  Bruno Haible  <bruno@clisp.org>
69248
69249                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
69250                 "1.1".
69251
69252         2006-05-09  Bruno Haible  <bruno@clisp.org>
69253
69254                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
69255                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
69256                 for the conftestver execution.
69257
69258         2006-05-01  Bruno Haible  <bruno@clisp.org>
69259
69260                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
69261                 optional target-version argument. Verify that the compiler
69262                 groks source of the specified source-version, or add -source
69263                 option as necessary. Verify that the compiler produces
69264                 bytecode in the specified target-version, or add -target and
69265                 -source options as necessary. Make the result of the test
69266                 available as variable CONF_JAVAC. Also log error output in
69267                 config.log.
69268
69269         2006-03-11  Bruno Haible  <bruno@clisp.org>
69270
69271                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
69272
69273         2006-05-09  Bruno Haible  <bruno@clisp.org>
69274
69275                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
69276                 CLASSPATH_SEPARATOR to a semicolon.
69277
69278         2006-03-12  Bruno Haible  <bruno@clisp.org>
69279
69280                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
69281                 available as variable CONF_JAVA, for subsequent autoconf
69282                 tests. Also log error output in config.log.
69283
69284         2006-07-19  Bruno Haible  <bruno@clisp.org>
69285
69286                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
69287                 that getline works on glibc2 systems. Needed to avoid trouble
69288                 in relocatable.c.
69289                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
69290
69291         2005-12-04  Bruno Haible  <bruno@clisp.org>
69292
69293                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
69294                 launcher (untested).
69295
69296         2005-12-04  Bruno Haible  <bruno@clisp.org>
69297
69298                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
69299
69300         2006-07-22  Bruno Haible  <bruno@clisp.org>
69301
69302                 * gettext.m4: Update from GNU gettext-0.15.
69303                 * nls.m4: Likewise.
69304                 * po.m4: Likewise.
69305                 * inttypes-pri.m4: Likewise.
69306                 * inttypes-h.m4: Renamed from inttypes.m4.
69307                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
69308
69309 2006-07-22  Bruno Haible  <bruno@clisp.org>
69310
69311         Merge from GNU gettext 0.15.
69312
69313         2005-07-05  Bruno Haible  <bruno@clisp.org>
69314
69315                 * printf-args.c (printf_fetchargs): Work around broken
69316                 definition of wint_t on mingw.
69317
69318         2005-02-12  Bruno Haible  <bruno@clisp.org>
69319
69320                 * xallocsa.h: Add extern "C" for C++.
69321
69322         2006-05-17  Bruno Haible  <bruno@clisp.org>
69323
69324                 Cygwin portability.
69325                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
69326
69327         2006-04-30  Bruno Haible  <bruno@clisp.org>
69328
69329                 * progreloc.c: Include <mach-o/dyld.h> if available.
69330                 (find_executable): Use _NSGetExecutablePath when possible.
69331
69332         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
69333
69334                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
69335                 function.
69336
69337         2005-12-29  Bruno Haible  <bruno@clisp.org>
69338
69339                 * progreloc.c (set_program_name_and_installdir): Fix
69340                 compilation error.
69341
69342         2005-12-04  Bruno Haible  <bruno@clisp.org>
69343
69344                 Cygwin portability.
69345                 * progreloc.c: Include <windows.h> also on Cygwin.
69346                 (find_executable): Add support for Cygwin.
69347                 (set_program_name_and_installdir): Handle also platforms with
69348                 nonempty EXEEXT.
69349
69350         2006-07-11  Bruno Haible  <bruno@clisp.org>
69351
69352                 * javacomp.c: Fix a comment.
69353                 Reported by Jim Meyering.
69354
69355         2006-04-30  Bruno Haible  <bruno@clisp.org>
69356
69357                 * javacomp.h (compile_java_class): Add source_version,
69358                 target_version arguments.
69359                 * javacomp.c: Rewritten to choose only a compiler that
69360                 respects the specified source_version and target_version.
69361
69362         2006-06-27  Bruno Haible  <bruno@clisp.org>
69363
69364                 Assume correct S_ISDIR macro.
69365                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
69366
69367         2006-07-22  Bruno Haible  <bruno@clisp.org>
69368
69369                 * javaversion.h: New file, from GNU gettext.
69370                 * javaversion.c: New file, from GNU gettext.
69371                 * javaversion.java: New file, from GNU gettext.
69372                 * javaversion.class: New file, from GNU gettext.
69373
69374         2006-05-17  Bruno Haible  <bruno@clisp.org>
69375
69376                 Cygwin portability.
69377                 * javaexec.c (execute_java_class): Test for jview program
69378                 also on Cygwin.
69379
69380         2006-04-09  Bruno Haible  <bruno@clisp.org>
69381
69382                 * fatal-signal.c: Don't include string.h.
69383                 (at_fatal_signal): Use a copying loop instead of memcpy.
69384
69385         2005-12-04  Bruno Haible  <bruno@clisp.org>
69386
69387                 * csharpexec.c: Add support for 'clix' launcher (untested).
69388                 (execute_csharp_using_sscli): New function.
69389                 (execute_csharp_program): Call it.
69390
69391         2006-06-21  Bruno Haible  <bruno@clisp.org>
69392
69393                 Avoid warnings from recent versions of mcs.
69394                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
69395                 -o, -L, -r any more. Use options documented since mcs-1.0
69396                 instead. Similarly for -g.
69397
69398         2005-07-09  Bruno Haible  <bruno@clisp.org>
69399
69400                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
69401                 add a .dll suffix.
69402                 Reported by Mark Junker <mjscod@gmx.de>.
69403
69404         2006-06-17  Bruno Haible  <bruno@clisp.org>
69405
69406                 * config.charset: Update for NetBSD 3.0.
69407
69408         2006-05-17  Bruno Haible  <bruno@clisp.org>
69409
69410                 Cygwin portability.
69411                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
69412
69413         2006-05-16  Bruno Haible  <bruno@clisp.org>
69414
69415                 * localcharset.c [CYGWIN]: Include <windows.h>.
69416                 (get_charset_aliases): For Cygwin, return the same CPxxx
69417                 aliases list as under WIN32.
69418                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
69419                 the environment variables. Fall back to GetACP().
69420
69421         2006-04-05  Bruno Haible  <bruno@clisp.org>
69422
69423                 * config.charset: Update Juan Manuel Guerrero's address.
69424
69425         2005-02-12  Bruno Haible  <bruno@clisp.org>
69426
69427                 * allocsa.h: Add extern "C" for C++.
69428
69429         2005-02-10  Bruno Haible  <bruno@clisp.org>
69430
69431                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
69432                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
69433
69434         2006-07-22  Bruno Haible  <bruno@clisp.org>
69435
69436                 * gettext.h: Update to GNU gettext-0.15.
69437
69438 2006-07-22  Bruno Haible  <bruno@clisp.org>
69439
69440         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
69441         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
69442         lib-prefix.m4, longdouble.m4, ssize_t.m4.
69443
69444 2006-07-21  Eric Blake  <ebb9@byu.net>
69445
69446         * modules/stdlib-safer: New file.
69447         * MODULES.html.sh (File stream based Input/Output): Add
69448         stdlib-safer.
69449
69450 2006-07-21  Eric Blake  <ebb9@byu.net>
69451
69452         * lib/stdlib-safer.h: New file from coreutils, required by
69453         stdlib--.h.
69454
69455 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
69456
69457         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
69458
69459 2006-07-20  Bruno Haible  <bruno@clisp.org>
69460
69461         * gnulib-tool: Recognize new option --assume-autoconf.
69462         (autoconf_minversion): New variable.
69463         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
69464
69465 2006-07-20  Bruno Haible  <bruno@clisp.org>
69466
69467         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
69468
69469 2006-07-19  Derek R. Price  <derek@ximbiot.com>
69470
69471         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
69472         Reindent and repaginate.
69473
69474 2006-07-19  Derek Price  <derek@ximbiot.com>
69475
69476         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
69477         Correct grammar.
69478
69479 2006-07-17  Bruno Haible  <bruno@clisp.org>
69480
69481         * modules/list: New file.
69482         * modules/array-list: New file.
69483         * modules/carray-list, modules/carray-list-tests: New files.
69484         * modules/linked-list, modules/linked-list-tests: New files.
69485         * modules/avltree-list, modules/avltree-list-tests: New files.
69486         * modules/rbtree-list, modules/rbtree-list-tests: New files.
69487         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
69488         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
69489         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
69490         * modules/oset: New file.
69491         * modules/array-oset: New file.
69492         * modules/avltree-oset, modules/avltree-oset-tests: New files.
69493         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
69494         * tests/test-carray_list.c: New file.
69495         * tests/test-linked_list.c: New file.
69496         * tests/test-avltree_list.c: New file.
69497         * tests/test-rbtree_list.c: New file.
69498         * tests/test-linkedhash_list.c: New file.
69499         * tests/test-avltreehash_list.c: New file.
69500         * tests/test-rbtreehash_list.c: New file.
69501         * tests/test-avltree_oset.c: New file.
69502         * tests/test-rbtree_oset.c: New file.
69503         * MODULES.html.sh (Container data structures): New section.
69504
69505 2006-07-17  Bruno Haible  <bruno@clisp.org>
69506
69507         * m4/gl_list.m4: New file.
69508
69509 2006-07-17  Bruno Haible  <bruno@clisp.org>
69510
69511         * lib/gl_list.h: New file.
69512         * lib/gl_list.c: New file.
69513         * lib/gl_array_list.h: New file.
69514         * lib/gl_array_list.c: New file.
69515         * lib/gl_carray_list.h: New file.
69516         * lib/gl_carray_list.c: New file.
69517         * lib/gl_linked_list.h: New file.
69518         * lib/gl_linked_list.c: New file.
69519         * lib/gl_anylinked_list1.h: New file.
69520         * lib/gl_anylinked_list2.h: New file.
69521         * lib/gl_avltree_list.h: New file.
69522         * lib/gl_avltree_list.c: New file.
69523         * lib/gl_anyavltree_list1.h: New file.
69524         * lib/gl_anyavltree_list2.h: New file.
69525         * lib/gl_rbtree_list.h: New file.
69526         * lib/gl_rbtree_list.c: New file.
69527         * lib/gl_anyrbtree_list1.h: New file.
69528         * lib/gl_anyrbtree_list2.h: New file.
69529         * lib/gl_anytree_list1.h: New file.
69530         * lib/gl_anytree_list2.h: New file.
69531         * lib/gl_linkedhash_list.h: New file.
69532         * lib/gl_linkedhash_list.c: New file.
69533         * lib/gl_anyhash_list1.h: New file.
69534         * lib/gl_anyhash_list2.h: New file.
69535         * lib/gl_avltreehash_list.h: New file.
69536         * lib/gl_avltreehash_list.c: New file.
69537         * lib/gl_rbtreehash_list.h: New file.
69538         * lib/gl_rbtreehash_list.c: New file.
69539         * lib/gl_anytreehash_list1.h: New file.
69540         * lib/gl_anytreehash_list2.h: New file.
69541
69542         * lib/gl_oset.h: New file.
69543         * lib/gl_oset.c: New file.
69544         * lib/gl_array_oset.h: New file.
69545         * lib/gl_array_oset.c: New file.
69546         * lib/gl_avltree_oset.h: New file.
69547         * lib/gl_avltree_oset.c: New file.
69548         * lib/gl_rbtree_oset.h: New file.
69549         * lib/gl_rbtree_oset.c: New file.
69550         * lib/gl_anytree_oset.h: New file.
69551
69552 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
69553
69554         * m4/mkancesdirs.m4: New file.
69555         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
69556         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
69557         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
69558         it.
69559
69560 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
69561
69562         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
69563         * lib/mkancesdirs.h: New files.
69564         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
69565         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
69566         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
69567         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
69568         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
69569         callers changed.  Revamp internals significantly, by not
69570         attempting to create directories that are temporarily more
69571         permissive than the final results.  Do not attempt to use
69572         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
69573         This removes some race conditions, fixes some bugs, and simplifies
69574         things.  Use new dirchownmod function to do owner and mode changes.
69575         * lib/mkdir-p.h: Likewise.
69576         * lib/modechange.c (octal_to_mode): New function.
69577         (struct mode_change): New member mentioned.
69578         (make_node_op_equals): New arg mentioned.  All callers changed.
69579         (mode_compile): Keep track of which mode bits the user has explicitly
69580         mentioned.
69581         (mode_adjust): New arg DIR, so that we implement the X op correctly.
69582         New arg PMODE_BITS, to keep track of which mode bits the user
69583         mentioned; it treats S_ISUID and S_ISGID speciall.
69584         All callers changed.
69585         * lib/modechange.h: Likewise.
69586
69587 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
69588
69589         * MODULES.html.sh: Add mkancestors.
69590         * modules/mkancesdirs: New module.
69591         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
69592         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
69593         The chdir-safer and afs files are now orphans; I'll remove them
69594         unless someone speaks up.
69595         Add lib/dirchownmod.c, lib/dirchownmod.h.
69596         (Depends-on): Remove alloca, chown, save-cwd, dirname.
69597         Add lchown, mkancesdirs.
69598         (Maintainer): Add self.
69599
69600 2006-07-15  Karl Berry  <karl@gnu.org>
69601
69602         * gnulib-tool: help message wording/arrangement.
69603
69604 2006-07-14  Simon Josefsson  <jas@extundo.com>
69605
69606         * doc/gnulib.texi (Libtool and Windows): New section.
69607
69608 2006-07-12  Simon Josefsson  <jas@extundo.com>
69609
69610         * modules/gendocs (License): Fix license, approved by Karl.
69611
69612 2006-07-12  Eric Blake  <ebb9@byu.net>
69613
69614         * MODULES.html.sh: Add gendocs.
69615
69616 2006-07-11  Eric Blake  <ebb9@byu.net>
69617
69618         * modules/fdl: New module, to install doc/fdl.texi.
69619         * MODULES.html.sh: Add new section for documentation modules.
69620         * gnulib-tool: Avoid space-tab.
69621         (--doc-base): New option, to manage files from doc.
69622
69623 2006-07-11  Eric Blake  <ebb9@byu.net>
69624
69625         * m4/absolute-header.m4: Fix comments to match recent change.
69626
69627 2006-07-11  Eric Blake  <ebb9@byu.net>
69628
69629         * gnulib-tool: List --doc-base before --tests-base.
69630
69631 2006-07-11  Derek R. Price  <derek@ximbiot.com>
69632
69633         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
69634
69635 2006-07-11  Bruno Haible  <bruno@clisp.org>
69636
69637         * README: Mention where to put documentation.
69638
69639 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69640
69641         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
69642
69643 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
69644
69645         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
69646         to stdint.m4.
69647
69648 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
69649
69650         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
69651         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
69652         "no/such/file/stdint.h" when there is no such file, so that
69653         the resulting C code can be parsed by dodgy compilers.
69654         Problems reported by Bob Proulx.
69655
69656 2006-07-10  Derek R. Price  <derek@ximbiot.com>
69657
69658         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
69659         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
69660         macros into the GNU _D_EXACT_NAMLEN.
69661         * lib/savedir.c:  Likewise.
69662         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
69663
69664 2006-07-10  Derek R. Price  <derek@ximbiot.com>
69665         and Paul Eggert  <eggert@cs.ucla.edu>
69666
69667         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
69668         * m4/savedir.m4:
69669         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
69670         macros into the GNU _D_EXACT_NAMLEN.
69671
69672 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
69673
69674         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
69675         around the absolute name, to work around a problem with the HP-UX
69676         11.23 native C compiler, reported by Bob Proulx.
69677
69678 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
69679
69680         * doc/maintain.texi, make-stds.texi: Sync from
69681         <http://savannah.gnu.org/projects/gnustandards>.
69682
69683 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
69684
69685         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
69686
69687 2006-07-09  Jim Meyering  <jim@meyering.net>
69688
69689         * m4/glob.m4: Remove a doubled word in a comment.
69690
69691 2006-07-09  Jim Meyering  <jim@meyering.net>
69692
69693         * lib/argp-pv.c: Remove a doubled word in a comment.
69694         * lib/check-version.c (check_version): Likewise.
69695         * lib/javacomp.c (compile_java_class): Likewise.
69696
69697 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
69698
69699         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
69700         for the benefit of people using Autoconf 2.60.  If you want to
69701         support older Autoconf versions you can copy m4/onceonly_2_57.m4
69702         (or m4/onceonly.m4, if pre-2.57) manually.
69703
69704 2006-07-08  Jim Meyering  <jim@meyering.net>
69705
69706         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
69707         comment.
69708         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
69709         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
69710         comment.
69711
69712 2006-07-08  Jim Meyering  <jim@meyering.net>
69713
69714         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
69715
69716 2006-07-07  Simon Josefsson  <jas@extundo.com>
69717
69718         * tests/test-crc.c: Change expected crc value, the test vector
69719         were probably computed using the old broken crc.c?
69720
69721 2006-07-06  Simon Josefsson  <jas@extundo.com>
69722
69723         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
69724         now the canonical place for the M4 file).
69725
69726         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
69727         from the sys_socket dependency now.
69728
69729         * modules/inet_pton (Files): Ditto.
69730
69731         * modules/inet_ntop (Files): Ditto.
69732
69733 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
69734
69735         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
69736         not gl_PREREQ_GETUSERSHELL.
69737
69738 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69739
69740         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
69741         with only one argument, for Autoconf 2.60.
69742         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
69743         expand to nothing, so add a shell command to avoid syntax error.
69744         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
69745
69746 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69747
69748         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
69749
69750 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
69751
69752         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
69753         no longer needed.  Check for isblank decl.
69754         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
69755         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
69756         of existence.
69757
69758 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
69759
69760         * lib/getloadavg.c: Use __VMS, not VMS.
69761         * lib/getopt.c: Likewise.
69762         * lib/getpagesize.h: Likewise.
69763         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
69764         and probably does not work.
69765
69766 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
69767
69768         * lib/.cppi-disable: Add wcwidth.
69769         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
69770         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
69771         (ISGRAPH): Remove.  All uses changed to isgraph.
69772         (FOLD) [!defined _LIBC]: Remove special case.
69773         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
69774         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
69775         HAVE_ISBLANK.
69776         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
69777         case.
69778
69779 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
69780
69781         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
69782         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
69783         brackets.  Other minor changes to suppress some compiler
69784         warnings.
69785
69786 2006-07-06  Derek R. Price  <derek@ximbiot.com>
69787         and Paul Eggert  <eggert@cs.ucla.edu>
69788
69789         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
69790         of invoking obsolescent AC_HEADER_DIRENT macro.
69791         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
69792         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
69793         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
69794         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
69795         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
69796         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
69797         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
69798         * m4/readdir.m4: Remove; no longer needed.
69799
69800 2006-07-06  Derek R. Price  <derek@ximbiot.com>
69801         and Paul Eggert  <eggert@cs.ucla.edu>
69802
69803         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
69804         Don't worry about this obsolete case any more.
69805         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
69806         directories.
69807         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
69808         worry about this obsolete case any more.
69809         * lib/fts.c: Likewise.
69810         * lib/getcwd.c: Likewise.
69811         * lib/glob.h: Likewise.
69812         * lib/savedir.c: Likewise.
69813
69814 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
69815
69816         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
69817         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
69818         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
69819         needed.
69820         All uses removed.
69821         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
69822         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
69823         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
69824         needed.
69825         * m4/getdate.m4 (gl_GETDATE): Likewise.
69826         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
69827         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
69828         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
69829         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
69830         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
69831         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
69832         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
69833         needed.
69834
69835 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
69836
69837         * lib/memcasecmp.c: Include <limits.h>.
69838         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
69839         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
69840         Don't assume isdigit succeeds only on '0' through '9'.
69841
69842 2006-07-05  Eric Blake  <ebb9@byu.net>
69843
69844         * modules/getaddrinfo (Depends-on): Add snprintf.
69845
69846 2006-07-05  Eric Blake  <ebb9@byu.net>
69847
69848         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
69849         to avoid 'header present but could not be compiled' on cygwin.
69850
69851 2006-07-05  Eric Blake  <ebb9@byu.net>
69852
69853         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
69854         missing from netdb.h.
69855         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
69856
69857 2006-07-05  Derek R. Price  <derek@ximbiot.com>
69858
69859         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
69860         no longer needed.
69861         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
69862         * m4/getdate.m4 (gl_GETDATE): Likewise.
69863         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
69864         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
69865         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
69866         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
69867         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
69868
69869 2006-07-05  Derek R. Price  <derek@ximbiot.com>
69870
69871         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
69872         All uses of is_space replaced by isspace.
69873         * lib/exit.h: Don't talk about STDC_HEADERS.
69874         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
69875         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
69876         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
69877         replaced by isprint etc.
69878         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
69879         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
69880         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
69881         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
69882         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
69883         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
69884
69885 2006-07-05  Bruno Haible  <bruno@clisp.org>
69886
69887         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
69888         the function exists, before testing against AIX.
69889         Reported by Martin Lambers <marlam@marlam.de>.
69890
69891 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
69892
69893         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
69894         From Mark D. Baushke.
69895
69896 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
69897
69898         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
69899         to the absolute name, not just one, to bypass Sun C 5.8's
69900         "warning: #include of /usr/include/... may be non-portable".
69901
69902 2006-07-04  Eric Blake  <ebb9@byu.net>
69903
69904         * modules/dirname-tests: New test module.
69905         * tests/test-dirname.c: New file, replacing dirname.c
69906         TEST_DIRNAME section that was recently deleted.
69907
69908 2006-07-04  Bruno Haible  <bruno@clisp.org>
69909
69910         Assume ANSI C header files and <ctype.h> functions.
69911         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
69912         (mbsnwidth): Use isprint, iscntrl instead.
69913
69914 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
69915
69916         Merge from coreutils.
69917         * MODULES.html.sh: Add xstrtold.
69918         * modules/xstrtold: New file.
69919         * modules/cycle-check (Files): Add lib/same-inode.h.
69920         * modules/dirname (Files): Add m4/double-slash-root.m4.
69921         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
69922         * modules/mkdir-p (Files): Add lib/same-inode.h.
69923         * modules/same (Files): Add lib/same-inode.h.
69924
69925 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
69926
69927         * m4/absolute-header.m4: Renamed from full-header-path.m4.
69928         This is to keep the terminology clean; POSIX talks about
69929         "absolute pathnames", not "full pathnames", but the GNU
69930         Coding Standards say to use "path" for something else;
69931         so use "absolute" to keep both sides happy.
69932         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
69933         Set gl_absolute_header, not gl_full_header_path.
69934         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
69935         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
69936         All uses changed.
69937
69938         Merge from coreutils.
69939
69940         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
69941
69942         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
69943         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
69944         want to require the building of c-strtod.o.
69945         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
69946         needs -lm directly.
69947         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
69948
69949         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
69950
69951         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
69952         --as-needed option if available.  Problem reported by Albert Chin in
69953         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
69954         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
69955         cc merely issues a bunch of annoying warnings for --as-needed
69956         (this problem was reported by Bob Proulx).  Also, try linking with
69957         -lm to detect a bug in binutils 2.16 (this problem was reported
69958         by Ralf Wildenhues).
69959
69960         2006-06-18  Jim Meyering  <jim@meyering.net>
69961
69962         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
69963         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
69964         macro.
69965         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
69966         also check for glibc-2.4's abort-inducing bug.
69967
69968         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
69969         Low-probability clean-up should be to use rmdir to get rid of
69970         the just-created directory, not unlink.
69971
69972         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
69973         configure fail, and request a bug report to inform us about it.
69974         Add a comment that, barring reports to the contrary, in 2007 we'll
69975         assume ftruncate is universally available.
69976
69977         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
69978
69979         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
69980
69981         2006-03-12  Jim Meyering  <jim@meyering.net>
69982
69983         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
69984         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
69985         * m4/same.m4 (gl_SAME): Likewise.
69986         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
69987
69988         2006-03-11  Eric Blake  <ebb9@byu.net>
69989
69990         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
69991         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
69992         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
69993         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
69994
69995 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
69996
69997         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
69998         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
69999         reported by Mark D. Baushke, one in
70000         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
70001
70002         Merge from coreutils.
70003
70004         * lib/.cppi-disable: Add stdint_.h.
70005         * lib/.cvsignore: Add stdint.h.
70006
70007         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
70008
70009         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
70010         both double and long double versions.
70011         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
70012         * lib/xstrtold.c: New file.
70013         * lib/xstrtod.h (xstrtold): New decl.
70014
70015         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
70016
70017         * lib/filemode.c (setst): Remove.
70018         (strmode): Rewrite to avoid setst.  This makes the code shorter,
70019         (arguably) clearer, and the generated code is a bit smaller on my
70020         Debian GNU/Linux stable x86 host.
70021
70022         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
70023
70024         * lib/filemode.c: Include "filemode.h" first, to test the interface.
70025         Assume that filemode.h includes sys/types.h and sys/stat.h.
70026         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
70027         (ftypelet): Reorder to put common cases first, for efficiency.
70028         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
70029         to do 'M'.
70030         (strmode): Renamed from mode_string, and now stores 12 bytes instead
70031         of 10, for compatibility with FreeBSD.  All callers changed.
70032         (filemodestring): Now stores 12 bytes instead of 10, and sets file
70033         types that can't be deduced solely from st_mode.  First arg is now a
70034         const pointer.
70035         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
70036         (strmode): Renamed from mode_string.
70037         (filemodestring): New decl.
70038         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
70039         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
70040         needed.
70041         (S_ISPORT, S_ISWHT): New macros, if not already defined.
70042
70043         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
70044
70045         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
70046         fsusage.h now does that.  Include fsusage.h first, to test interface.
70047         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
70048         at most one method (the old code could have generated decls that
70049         didn't conform to C89, not that this was ever exercised).
70050         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
70051
70052         2006-03-19  Jim Meyering  <jim@meyering.net>
70053
70054         Work even in a chroot where d_ino values for entries in "/"
70055         don't match the stat.st_ino values for the same names.
70056         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
70057         number, iterate through all entries again, using lstat instead.
70058         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
70059         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
70060
70061         * lib/getcwd.c (__getcwd): Clarify a comment.
70062         Use memcpy in place of a call to strcpy.
70063
70064         2006-03-12  Jim Meyering  <jim@meyering.net>
70065
70066         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
70067         matches that of the current directory (which we're about to chdir ".."
70068         out of), then save the dev-ino of the parent, instead.
70069
70070         * lib/same-inode.h (SAME_INODE): New file/macro.
70071         * lib/chdir-safer.c (SAME_INODE): Remove definition.
70072         Include "same-inode.h", instead.
70073         * lib/same.c: Likewise.
70074         * lib/cycle-check.h: Include "same-inode.h".
70075         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
70076         * lib/cycle-check.c (SAME_INODE): Remove definition.
70077         * lib/root-dev-ino.h: Include "same-inode.h".
70078
70079         2006-03-11  Eric Blake  <ebb9@byu.net>
70080
70081         * lib/same.c (same_name): s/base_name/last_component/
70082         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
70083         * lib/filenamecat.c (file_name_concat): Likewise.
70084
70085         2006-03-11  Eric Blake  <ebb9@byu.net>,
70086                     Paul Eggert  <eggert@cs.ucla.edu>
70087
70088         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
70089         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
70090         drive prefix.
70091         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
70092         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
70093         (last_component): New method.
70094         * lib/dirname.c (dir_len): Determine when drive letters need a
70095         subsequent slash.  Preserve // when it is special.
70096         (dir_name): Don't append dot when drive letter is absolute.
70097         [TEST_DIRNAME]: Move into a full-blown gnulib test.
70098         * lib/basename.c (base_name): New semantics - malloc the result.
70099         Preserve // when it is special.  Preserve relative files that look
70100         like drive letters.
70101         (base_len): Preserve // when it is special.
70102         (last_component): New method, similar to old base_name semantics.
70103         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
70104         base_name.  Strip redundant slashes from ///.
70105
70106 2006-07-03  Jim Meyering  <jim@meyering.net>
70107
70108         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
70109         macro is used before the first cycle_check call.
70110
70111 2006-07-03  Eric Blake  <ebb9@byu.net>
70112
70113         * modules/dirname (Depends-on): Add xstrndup.
70114
70115 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
70116
70117         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
70118         test cases, so that config.log is a bit easier to follow.
70119
70120 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
70121
70122         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
70123         both are 64 bits, since this seems to be the tradition, and this
70124         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
70125         we ever run into a host that prefers long long to long in this
70126         case, we'll need another configure-time test.  Problem reported by
70127         Jim Meyering.
70128
70129 2006-07-02  Eric Blake  <ebb9@byu.net>
70130
70131         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
70132
70133 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
70134
70135         * modules/inttypes (Depends-on): No longer depends on stdint.
70136         * modules/stdint (Description): Say more about assumptions.
70137         Say that the fast types might differ.  Say macros are used.
70138         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
70139         (Makefile.am): Revise list of substituted symbols to match
70140         new stdint.m4.
70141         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
70142         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
70143         * tests/test-stdint.c (verify_same_types)
70144         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
70145         the code conforms to C99/C89.
70146         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
70147         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
70148
70149 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
70150
70151         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
70152         but fix a bug, by requiring at least 64 bits.
70153         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
70154         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
70155         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
70156         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
70157
70158         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
70159         changes.  Make 2.59 a prerequisite.  Check and substitute for
70160         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
70161         inttypes.h.  Do not use special include files; just use the
70162         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
70163         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
70164         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
70165         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
70166         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
70167         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
70168         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
70169         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
70170         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
70171         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
70172         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
70173         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
70174         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
70175         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
70176         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
70177         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
70178         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
70179         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
70180         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
70181         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
70182         WINT_MAX.  Check for C99 conformance more strictly, by detecting
70183         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
70184         not check for things that C99 does not require, e.g., int8_t.  If
70185         a test isn't needed unless <stdint.h> isn't working, and is
70186         unlikely to be needed for any other reason, then don't do it
70187         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
70188         size_t, since we assume C89 freestanding at least.  Do not check
70189         for sig_atomic_t, wchar_t, or wint_t, since the code now does
70190         the right thing even if the types are not defined.  Instead use:
70191         (gl_STDINT_TYPE_PROPERTIES): New macro.
70192         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
70193         testing whether <sys/types.h> clashes, as Autoconf does this for
70194         us now.  All uses removed.
70195         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
70196         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
70197         (gl_CHECK_TYPE_SAME):
70198         Remove; no longer needed.
70199         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
70200         exists, since we'll return 0 anyway in that case.
70201         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
70202
70203 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
70204
70205         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
70206         possible collision with system files.
70207         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
70208         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
70209         WCHAR_MIN and WCHAR_MAX in this case.
70210         (<stddef.h>): Do not include; no longer needed.
70211         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
70212         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
70213         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
70214         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
70215         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
70216         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
70217         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
70218         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
70219         !defined(__c99))]: Include in this case too, since it's harmless
70220         now.
70221         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
70222         dangerous to do so.
70223         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
70224         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
70225         (_STDINT_MIN, _STDINT_MAX): New macros.
70226         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
70227         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
70228         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
70229         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
70230         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
70231         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
70232         macros, not typedefs; this simplifies things quite a bit.
70233         Use long int for all types narrower than int64_t.
70234         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
70235         Define in terms of long long int or int64_t or long int,
70236         not int64_t or int32_t.  This saves some compile-time testing.
70237         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
70238         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
70239         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
70240         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
70241         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
70242         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
70243         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
70244         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
70245         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
70246         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
70247         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
70248         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
70249         undef any previous version and define our own version, for
70250         simplicity and consistency with the new macros for types.
70251         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
70252         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
70253         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
70254         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
70255         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
70256         @WINT_T_SUFFIX@ to keep things simple here.
70257         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
70258         Simplify by assuming typical 8/16/32/64 host, since we're
70259         already doing that elsewhere anyway.
70260         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
70261         and assume long long int is 64 bits if available.  This
70262         speeds up 'configure'.
70263
70264 2006-07-01  Eric Blake  <ebb9@byu.net>
70265
70266         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
70267         Reported by Andreas Buening.
70268
70269 2006-07-01  Eric Blake  <ebb9@byu.net>
70270
70271         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
70272
70273 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
70274
70275         * lib/getaddrinfo.c: fixed typo
70276
70277 2006-06-29  Jim Meyering  <jim@meyering.net>
70278
70279         * modules/strftime (Maintainer): Add my name, since with the
70280         FPRINTFTIME changes strftime.c has forked from glibc.
70281
70282 2006-06-29  Eric Blake  <ebb9@byu.net>
70283
70284         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
70285
70286 2006-06-29  Eric Blake  <ebb9@byu.net>
70287
70288         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
70289
70290 2006-06-29  Eric Blake  <ebb9@byu.net>
70291
70292         * lib/stat_.h: New file.
70293
70294 2006-06-29  Eric Blake  <ebb9@byu.net>
70295
70296         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
70297         unused static function.
70298
70299 2006-06-29  Eric Blake  <ebb9@byu.net>
70300
70301         * doc/functions.texi (Function Portability): Document missing lstat
70302         on mingw.
70303
70304 2006-06-29  Eric Blake  <ebb9@byu.net>
70305
70306         * MODULES.html.sh: Add sys_stat.
70307         * modules/sys_stat: New module.
70308         * modules/mkstemp (Depends-on): Add sys_stat.
70309
70310 2006-06-29  Derek R. Price  <derek@ximbiot.com>
70311
70312         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
70313
70314 2006-06-29  Derek R. Price  <derek@ximbiot.com>
70315
70316         * m4/c-bs-a.m4: Removed.
70317
70318 2006-06-29  Derek R. Price  <derek@ximbiot.com>
70319
70320         * lib/strftime.c: Assume strftime() exists.
70321
70322 2006-06-29  Derek Price  <derek@ximbiot.com>
70323
70324         * modules/c-bs-a: Removed - \a is C89.
70325         * MODULES.html.sh: Remove c-bs-a.
70326
70327 2006-06-29  Bruno Haible  <bruno@clisp.org>
70328
70329         * modules/wcwidth (License): Change to LGPL.
70330
70331 2006-06-28  Simon Josefsson  <jas@extundo.com>
70332
70333         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
70334         on _WIN32.
70335
70336         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
70337         getnameinfo.
70338
70339 2006-06-28  Simon Josefsson  <jas@extundo.com>
70340
70341         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
70342
70343 2006-06-28  Simon Josefsson  <jas@extundo.com>
70344
70345         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
70346         functions there.  It will succeed on Windows XP, but on Windows
70347         2000 and (presumably) earlier, it will fail, and use the internal
70348         re-implementation.
70349         (use_win32_p): New function.
70350         (getaddrinfo): Use strtoul on servname, to support numeric ports.
70351         Support AI_NUMERICSERV to disable getservbyname.
70352         (getnameinfo): New function, only supports
70353         NI_NUMERICHOST|NI_NUMERICSERV for now.
70354
70355         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
70356         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
70357         getnameinfo.
70358
70359 2006-06-28  Eric Blake  <ebb9@byu.net>
70360
70361         * modules/wcwidth: New file.
70362         * modules/mbchar (Depends-on): Add wcwidth.
70363         * modules/mbswidth (Depends-on): Add wcwidth.
70364         * MODULES.html.sh: Add wcwidth.
70365
70366 2006-06-28  Eric Blake  <ebb9@byu.net>
70367
70368         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
70369         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
70370
70371 2006-06-28  Eric Blake  <ebb9@byu.net>
70372
70373         * lib/xvasprintf.h: Fix comments.
70374
70375 2006-06-28  Eric Blake  <ebb9@byu.net>
70376
70377         * lib/mbchar.h (wcwidth): Include wcwidth.h.
70378         * lib/mbswidth.c (wcwidth): Move from here...
70379         * lib/wcwidth.h: ...to this new file.
70380
70381 2006-06-28  Derek R. Price  <derek@ximbiot.com>
70382
70383         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
70384
70385         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
70386         it's obsolete.
70387         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
70388
70389 2006-06-28  Derek R. Price  <derek@ximbiot.com>
70390
70391         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
70392         Autoconf 2.60 says this stuff was obsolete.
70393
70394 2006-06-28  Bruno Haible  <bruno@clisp.org>
70395
70396         * modules/wcwidth (Files): Add m4/wchar_t.m4.
70397
70398 2006-06-28  Bruno Haible  <bruno@clisp.org>
70399
70400         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
70401         gt_TYPE_WCHAR_T.
70402
70403 2006-06-28  Bruno Haible  <bruno@clisp.org>
70404
70405         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
70406         declaration for wcwidth.
70407         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
70408
70409 2006-06-28  Bruno Haible  <bruno@clisp.org>
70410
70411         * lib/mkdtemp.c [MINGW]: Include <io.h>.
70412         (mkdir): Define using _mkdir.
70413
70414 2006-06-28  Bruno Haible  <bruno@clisp.org>
70415
70416         * lib/getaddrinfo.h: Fix POSIX URL.
70417         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
70418         _WIN32.
70419         (use_win32_p): Make static.
70420         (getaddrinfo): Reject service name if it is empty or does not consist
70421         solely of decimal digits, or if its value is > 65535.
70422         (getnameinfo): Remove useless casts.
70423
70424 2006-06-27  Simon Josefsson  <jas@extundo.com>
70425
70426         * modules/sys_select: New file, suggested by Bruno Haible, Paul
70427         Eggert and Martin Lambers.
70428
70429 2006-06-27  Simon Josefsson  <jas@extundo.com>
70430
70431         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
70432         Eggert and Martin Lambers.
70433
70434 2006-06-27  Bruno Haible  <bruno@clisp.org>
70435
70436         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
70437         result to 0, not to empty.
70438         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
70439
70440 2006-06-27  Bruno Haible  <bruno@clisp.org>
70441
70442         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
70443
70444 2006-06-26  Simon Josefsson  <jas@extundo.com>
70445
70446         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
70447         present.
70448
70449 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
70450
70451         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
70452         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
70453         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
70454
70455 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
70456
70457         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
70458
70459 2006-06-26  Bruno Haible  <bruno@clisp.org>
70460
70461         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
70462
70463 2006-06-26  Bruno Haible  <bruno@clisp.org>
70464
70465         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
70466
70467 2006-06-26  Bruno Haible  <bruno@clisp.org>
70468
70469         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
70470         SGI C compiler in pre-C99 mode.
70471         Suggested by Mark D. Baushke and Larry Jones.
70472
70473 2006-06-26  Bruno Haible  <bruno@clisp.org>
70474
70475         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
70476         WCHAR_MAX.
70477         Reported by Mark D. Baushke and Larry Jones.
70478
70479 2006-06-26  Bruno Haible  <bruno@clisp.org>
70480
70481         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
70482         in pre-C99 mode.
70483         Suggested by Mark D. Baushke and Larry Jones.
70484
70485 2006-06-23  Simon Josefsson  <jas@extundo.com>
70486             Bruno Haible  <bruno@clisp.org>
70487
70488         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
70489         Emit mostlyclean-local rule.
70490         (func_emit_tests_Makefile_am): Likewise.
70491         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
70492
70493 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
70494
70495         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
70496
70497 2006-06-23  Bruno Haible  <bruno@clisp.org>
70498
70499         * tests/test-stdint.c: Update to match ISO C 99 Technical
70500         Corrigendum 1.
70501
70502 2006-06-23  Bruno Haible  <bruno@clisp.org>
70503
70504         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
70505
70506 2006-06-23  Bruno Haible  <bruno@clisp.org>
70507
70508         * lib/stdint_.h: Treat IRIX like OpenBSD.
70509
70510 2006-06-23  Bruno Haible  <bruno@clisp.org>
70511
70512         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
70513         ISO C 99 Technical Corrigendum 1.
70514
70515 2006-06-22  Simon Josefsson  <jas@extundo.com>
70516
70517         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
70518         MinGW.
70519
70520 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
70521
70522         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
70523         needed.  Some compiler complained about some of them.  Problem reported
70524         by Larry Jones in
70525         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
70526
70527 2006-06-21  Simon Josefsson  <jas@extundo.com>
70528
70529         * tests/test-getaddrinfo.c: New file.
70530
70531         * modules/getaddrinfo-tests: New file.
70532
70533         * MODULES.html.sh: Add inet_pton.
70534
70535         * modules/inet_pton: New file.
70536
70537 2006-06-21  Simon Josefsson  <jas@extundo.com>
70538
70539         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
70540         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
70541         of using the (limited) gnulib implementation on Windows XP.
70542
70543         * m4/inet_pton.m4: New file.
70544
70545 2006-06-21  Simon Josefsson  <jas@extundo.com>
70546
70547         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
70548         variable.
70549
70550         * lib/socket_.h: Don't define WINVER.
70551
70552         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
70553         slightly modified to work in gnulib.
70554
70555 2006-06-21  Simon Josefsson  <jas@extundo.com>
70556
70557         * doc/gnulib.texi (Windows sockets): Add.
70558
70559 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
70560
70561         * lib/read-file.c (fread_file): Start with buffer allocation of
70562         0 bytes rather than 1 byte; this simplifies the code.
70563         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
70564         code to free buffer and save/restore errno.
70565         (internal_read_file): Remove unused local.
70566
70567 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
70568
70569         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
70570         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
70571         Problem reported by Denis Excoffier in
70572         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
70573
70574 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70575
70576         * modules/sys_socket, modules/socklen: Include sys/types since
70577         FreeBSD 4.x's sys/socket.h needs it.
70578
70579 2006-06-19  Simon Josefsson  <jas@extundo.com>
70580
70581         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
70582
70583 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
70584
70585         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
70586
70587 2006-06-19  Bruno Haible  <bruno@clisp.org>
70588
70589         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
70590         and FULL_PATH_INTTYPES_H in angle brackets.
70591         Reported by Mark D. Baushke <mdb@gnu.org>.
70592
70593 2006-06-17  Eric Blake  <ebb9@byu.net>
70594
70595         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
70596         errno.
70597
70598 2006-06-17  Bruno Haible  <bruno@clisp.org>
70599
70600         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
70601         <sys/inttypes.h>.
70602
70603 2006-06-17  Bruno Haible  <bruno@clisp.org>
70604
70605         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
70606         whether errno is declared. Assume <errno.h> declares errno.
70607
70608 2006-06-17  Bruno Haible  <bruno@clisp.org>
70609
70610         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
70611
70612 2006-06-17  Bruno Haible  <bruno@clisp.org>
70613
70614         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
70615         problem on Solaris 2.5.1.
70616
70617 2006-06-16  Eric Blake  <ebb9@byu.net>
70618
70619         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
70620         * lib/unicodeio.c [!defined errno]: Likewise.
70621         * lib/strtol.c [!defined errno]: Likewise.
70622         * lib/strtod.c [!defined errno]: Likewise.
70623
70624 2006-06-15  Eric Blake  <ebb9@byu.net>
70625
70626         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
70627
70628 2006-06-15  Eric Blake  <ebb9@byu.net>
70629
70630         * config/srclist.txt (ssize_t.m4): Lose sync.
70631
70632 2006-06-15  Bruno Haible  <bruno@clisp.org>
70633
70634         * modules/stdint (Files): Include m4/full-header-path.m4,
70635         m4/size_max.m4, m4/wchar_t.m4.
70636         (Makefile.am): Many more substitutions.
70637         * modules/stdint-tests: New file.
70638         * tests/test-stdint.c: New file.
70639
70640 2006-06-15  Bruno Haible  <bruno@clisp.org>
70641
70642         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
70643         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
70644         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
70645         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
70646         gl_CHECK_TYPE_SAME): New macros.
70647
70648 2006-06-15  Bruno Haible  <bruno@clisp.org>
70649
70650         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
70651
70652 2006-06-15  Bruno Haible  <bruno@clisp.org>
70653
70654         * lib/stdint_.h: Rewritten to be fully auto-configured.
70655         Fixes bug on HP-UX/IA64.
70656
70657 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
70658
70659         * lib/getdate.y (__attribute__): Don't define if already defined.
70660         Problem reported by Larry Jones.
70661         * lib/utimens.c (__attribute__): Likewise.
70662
70663 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
70664
70665         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
70666         reported by Andreas Schwab.
70667
70668 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70669             Bruno Haible  <bruno@clisp.org>
70670
70671         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
70672         check for the declaration of strnlen and a run test that exposes the
70673         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
70674         rpl_strndup.
70675
70676 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70677             Bruno Haible  <bruno@clisp.org>
70678
70679         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
70680
70681 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70682
70683         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
70684         compile test, for Tru64 4.0D.
70685
70686 2006-05-28  Karl Berry  <karl@gnu.org>
70687
70688         * config/srclist.txt (printf-args.c): lose sync.
70689
70690 2006-05-26  Martin Lambers  <marlam@marlam.de>
70691
70692         * lib/getpass.c: Updates the test for the native W32 API, and adds
70693         missing includes, thus fixing compilation warnings.
70694
70695 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
70696
70697         * lib/exclude.c (exclude_fnmatch): New function.
70698         (excluded_file_name): Call exclude_fnmatch.
70699         * lib/exclude.h (excluded_file_name): New prototype
70700
70701 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
70702
70703         * lib/tempname.c (small_open, large_open): New macros.
70704         (__open, __open64) [!_LIBC]: Remove.
70705         (__gen_tempname): Use small_open and large_open instead of __open
70706         and __open64.  This fixes a portability bug on HP-UX 11.11i
70707         reported by Simon Wing-Tang in
70708         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
70709
70710 2006-05-24  Bruno Haible  <bruno@clisp.org>
70711
70712         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
70713         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
70714         Reported by Thorsten Maerz <torte@netztorte.de> via
70715         Aaron Stone <aaron@serendipity.cx>.
70716
70717 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
70718
70719         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
70720         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
70721         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
70722         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
70723         not really conditional on the cache.
70724         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
70725
70726 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
70727
70728         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
70729         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
70730         (my_usleep): Don't mishandle maximum value.
70731
70732 2006-05-19  Jim Meyering  <jim@meyering.net>
70733
70734         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
70735
70736 2006-05-17  Bruno Haible  <bruno@clisp.org>
70737
70738         Cygwin portability.
70739         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
70740
70741 2006-05-17  Bruno Haible  <bruno@clisp.org>
70742
70743         * lib/stdint_.h: Fix recognition of Cygwin.
70744
70745 2006-05-15  Bruno Haible  <bruno@clisp.org>
70746
70747         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
70748         on libtool patch by Ralf Wildenhues.
70749
70750 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
70751
70752         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
70753         test for C99 conformance; (bool) 0.5 is an integer constant
70754         expression, but (bool) -0.5 is not.  Problem reported by Fedor
70755         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
70756
70757 2006-05-11  Simon Josefsson  <jas@extundo.com>
70758
70759         * m4/xvasprintf.m4: Fix obvious typo.
70760
70761 2006-05-11  Jim Meyering  <jim@meyering.net>
70762
70763         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
70764         James Lemley.
70765
70766 2006-05-10  Simon Josefsson  <jas@extundo.com>
70767
70768         * lib/md4.c: Typo fix, update copyright years.
70769         (K1, K2): Don't use L because it turn computations into 64-bit on
70770         64-bit platforms.
70771
70772 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
70773
70774         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
70775         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
70776         unwanted sign propagation, e.g., on hosts with 64-bit int.
70777         There still are some problems with reeelly weird theoretical hosts
70778         (e.g., 33-bit int) but it's not worth worrying about now.
70779         * lib/sha1.c (rol): Likewise.
70780         (K1, K2, K3, K4): Remove unnecessary L suffix.
70781
70782 2006-05-10  Bruno Haible  <bruno@clisp.org>
70783
70784         * lib/des.c: Cast to avoid warnings.
70785
70786 2006-05-09  Bruno Haible  <bruno@clisp.org>
70787
70788         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
70789         (Depends-on): Depend also on xsize, stdarg.
70790         (configure.ac): Add gl_XVASPRINTF.
70791
70792 2006-05-09  Bruno Haible  <bruno@clisp.org>
70793
70794         * m4/xvasprintf.m4: New file.
70795
70796 2006-05-09  Bruno Haible  <bruno@clisp.org>
70797
70798         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
70799         (EOVERFLOW): Define fallback value.
70800         (xstrcat): New function.
70801         (xvasprintf): Recognize the special case of a string concatenation.
70802
70803 2006-05-08  Eric Blake  <ebb9@byu.net>
70804
70805         * gnulib-tool (func_version): Base copyright year on CVS date.
70806         (func_emit_copyright_notice): New function.
70807         (func_emit_lib_Makefile_am): Use it.
70808         (func_emit_tests_Makefile_am): Likewise.
70809         (func_import): Likewise.
70810
70811 2006-05-08  Bruno Haible  <bruno@clisp.org>
70812
70813         * modules/stdarg: New file.
70814         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
70815
70816 2006-05-08  Bruno Haible  <bruno@clisp.org>
70817
70818         * m4/stdarg.m4: New file, from GNU gettext.
70819
70820 2006-05-08  Bruno Haible  <bruno@clisp.org>
70821
70822         * config/srclist.txt (build-aux/config.rpath): different from latest
70823         release.
70824
70825 2006-05-08  Bruno Haible  <bruno@clisp.org>
70826
70827         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
70828
70829 2006-05-05  Jim Meyering  <jim@meyering.net>
70830
70831         * m4/warning.m4: New file, derived from bison's file by the same name.
70832
70833 2006-05-03  Bruno Haible  <bruno@clisp.org>
70834
70835         * lib/stdint_.h: Shorter URL.
70836         * lib/inttypes.h: Likewise.
70837
70838 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
70839
70840         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
70841
70842 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
70843
70844         * lib/verify.h: Document the internals better.  Most of this change
70845         was written by Bruno Haible.
70846
70847 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
70848
70849         * doc/verify.texi: New file, partly based on a proposal by
70850         Bruno Haible.
70851
70852 2006-05-02  Bruno Haible  <bruno@clisp.org>
70853
70854         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
70855         test from here...
70856         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
70857
70858 2006-04-29  Bruno Haible  <bruno@clisp.org>
70859
70860         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
70861         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
70862
70863 2006-04-29  Bruno Haible  <bruno@clisp.org>
70864
70865         * gnulib-tool: Make --update option actually work.
70866
70867 2006-04-29  Bruno Haible  <bruno@clisp.org>
70868
70869         * doc/gcd.texi: New file.
70870         * doc/gnulib.texi: Include it.
70871
70872 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
70873
70874         * lib/getdate.y (get_date): When adding relative date, start with the
70875         initial time, not with the result of the first mktime call.
70876
70877 2006-04-25  Bruno Haible  <bruno@clisp.org>
70878
70879         * gnulib-tool (func_import): Output the include directives in three
70880         blocks, sorted separately.
70881         Reported by Ben Pfaff <blp@cs.stanford.edu>.
70882
70883 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
70884
70885         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
70886         to define main with arguments, for C++.  Reported by Eric Blake.
70887         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
70888         Prefer 'int main ()' to 'int main (void)', for C++.
70889         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
70890         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
70891         for 'main', for C99 and C++.
70892
70893 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
70894
70895         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
70896         Don't assume that exit status -1 is valid.
70897         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
70898         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
70899         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
70900         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
70901         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
70902         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
70903         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
70904         functions can be used without declaring them, or that you can
70905         exit with status -1.
70906         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
70907
70908 2006-04-24  Karl Berry  <karl@gnu.org>
70909
70910         * config/srclist.txt (longdouble.m4): sync lost.
70911
70912 2006-04-24  Eric Blake  <ebb9@byu.net>
70913
70914         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
70915
70916 2006-04-24  Bruno Haible  <bruno@clisp.org>
70917
70918         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
70919         poll() implementation in AIX.
70920         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
70921
70922 2006-04-24  Bruno Haible  <bruno@clisp.org>
70923
70924         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
70925         assigned exactly once.
70926
70927 2006-04-23  Claudio Fontana  <claudio@gnu.org>
70928             Bruno Haible  <bruno@clisp.org>
70929
70930         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
70931         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
70932         for AM_CPPFLAGS.
70933
70934 2006-04-23  Bruno Haible  <bruno@clisp.org>
70935
70936         * modules/copy-file: Depend on unistd.
70937         * modules/execute: Likewise.
70938         * modules/fatal-signal: Likewise.
70939         * modules/findprog: Likewise.
70940         * modules/mkdtemp : Likewise.
70941         * modules/pipe: Likewise.
70942         * modules/wait-process: Likewise.
70943
70944 2006-04-23  Bruno Haible  <bruno@clisp.org>
70945
70946         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
70947         condition was already detected.
70948         Reported by Ben Pfaff <blp@cs.stanford.edu>.
70949
70950 2006-04-23  Bruno Haible  <bruno@clisp.org>
70951
70952         * lib/copy-file.c: Include <unistd.h> unconditionally.
70953         * lib/execute.c: Likewise.
70954         * lib/fatal-signal.c: Likewise.
70955         * lib/findprog.c: Likewise.
70956         * lib/mkdtemp.c: Likewise.
70957         * lib/pipe.h: Likewise.
70958         * lib/pipe.c: Likewise.
70959         * lib/wait-process.h: Likewise.
70960
70961 2006-04-23  Bruno Haible  <bruno@clisp.org>
70962
70963         * gnulib-tool (func_usage): Fix --import description. Document
70964         --update.
70965         (func_import): Create temporary file in a temporary directory, if
70966         --dry-run is specified. Silence errors from 'grep' when there are no
70967         m4 files in $m4dir.
70968         (func_create_testdir): Silence errors from 'grep' when there are no
70969         m4 files in $m4dir.
70970         Reported by Karl Berry <karl@freefriends.org>.
70971
70972 2006-04-20  Bruno Haible  <bruno@clisp.org>
70973
70974         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
70975         one argument, so that the code will be portable to Autoconf 2.60.
70976         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
70977         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
70978         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
70979
70980 2006-04-19  Derek Price  <derek@ximbiot.com>
70981             Eric Blake  <ebb9@byu.net>
70982
70983         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
70984         rather than "/full/path.h".  Update comment to match.  Shorten &
70985         generalize m4_translit call via AS_TR_CPP.
70986
70987 2006-04-19  Derek Price  <derek@ximbiot.com>
70988             Eric Blake  <ebb9@byu.net>
70989
70990         * lib/inttypes.h: Correct grammar in comment.
70991
70992 2006-04-18  Derek Price  <derek@ximbiot.com>
70993             Paul Eggert  <eggert@cs.ucla.edu>
70994
70995         * modules/inttypes: New file.
70996         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
70997
70998 2006-04-18  Derek Price  <derek@ximbiot.com>
70999             Paul Eggert  <eggert@cs.ucla.edu>
71000
71001         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
71002         New files.
71003
71004 2006-04-18  Derek Price  <derek@ximbiot.com>
71005             Paul Eggert  <eggert@cs.ucla.edu>
71006
71007         * lib/inttypes.h: New file.
71008         * lib/strtoimax.c: Assume <inttypes.h>.
71009
71010 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
71011
71012         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
71013         isn't mounted.  Problem reported by Kir Kolyshkin.
71014
71015 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
71016
71017         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
71018         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
71019         Derek R. Price.
71020         * lib/regex.h (RE_DUP_MAX): Update comment to match current
71021         implementation.
71022
71023 2006-04-12  Eric Blake  <ebb9@byu.net>
71024
71025         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
71026         is now done automatically by the corresponding Autoconf macro.
71027
71028 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
71029
71030         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
71031         time_r.h.
71032
71033 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71034
71035         Merge regex changes from libc, removing some of our
71036         POSIX-conformance changes that were rejected and redoing them in a
71037         less-intrusive way.
71038
71039         * lib/regcomp.c (re_compile_internal, init_dfa):
71040         Length arg is now size_t, not Idx.  All uses changed.
71041         (peek_token): Forward decl now says internal_function.
71042         (__re_error_msgid, __re_error_msgid_idx):
71043         Now static rather than extern with attribute_hidden.
71044         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
71045         For some reason libc prefers K&R style defns for external functions.
71046         (regerror) [!defined _LIBC]: Likewise.
71047         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
71048         (seek_collating_symbol_entry, lookup_collation_sequence_value):
71049         (build_range_exp, build_collating_symbol):
71050         Use K&R-style defn.
71051         (re_compile_fastmap): Use '\0' to memset, not 0.
71052         (utf8_sb_map): Make the calculations more obvious.
71053         (init_dfa, parse_bracket_exp, build_charclass_op):
71054         Call calloc and cast result, as glibc does.
71055         (init_word_char, fetch_token, peek_token, peek_token_bracket):
71056         (build_range_exp, build_collating_symbol):
71057         Now internal functions.
71058
71059         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
71060
71061         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
71062         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
71063         Don't depend on VMS; depend on __VMS instead, for POSIX
71064         namespace cleanness.
71065         (regoff_t): Define to ssize_t, not long int.
71066
71067         Remove the REG_ macros named below.  Instead, make the old names
71068         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
71069         __USE_GNU_REGEX.
71070         (REG_BACKSLASH_ESCAPE_IN_LISTS):
71071         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
71072         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
71073         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
71074         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
71075         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
71076         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
71077         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
71078         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
71079         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
71080         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
71081         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
71082         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
71083         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
71084         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
71085         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
71086         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
71087         (REG_NREGS):
71088         Remove.  All uses replaced by the old RE_* names.
71089         (RE_BACKSLASH_ESCAPE_IN_LISTS):
71090         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
71091         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
71092         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
71093         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
71094         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
71095         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
71096         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
71097         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
71098         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
71099         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
71100         Don't bother having these macros be independent of each others'
71101         values, since they no longer exist in the POSIX name space.
71102
71103         Rename the following member names back to their old names,
71104         unless !__USE_GNU_REGEX.  All uses changed back.
71105         (buffer): Renamed from re_buffer.
71106         (allocated): Renamed from re_allocated.
71107         (used): Renamed from re_used.
71108         (syntax): Renamed from re_syntax.
71109         (fastmap): Renamed from re_fastmap.
71110         (translate): Renamed from re_translate.
71111         (can_be_null): Renamed from re_can_be_null.
71112         (regs_allocated): Renamed from re_regs_allocated.
71113         (fastmap_accurate): Renamed from re_fastmap_accurate.
71114         (no_sub): Renamed from re_no_sub.
71115         (not_bol): Renamed from re_not_bol.
71116         (not_eol): Renamed from re_not_eol.
71117         (newline_anchor): Renamed from re_newline_anchor.
71118         (num_regs): Renamed from rm_num_regs.
71119         (start): Renamed from rm_start.
71120         (end): Renamed from rm_end.
71121
71122         (free_state): Move up a bit.
71123
71124         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
71125         #define to be empty.
71126         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
71127         when that is what is intended.
71128         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
71129         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
71130         (MAX): New macro.
71131         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
71132         All uses changed back to re_malloc, etc.  It's now the caller's
71133         responsibility to check for overflow; all callers changed.
71134         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
71135         (re_x2nrealloc): Remove.
71136         (free_state): Remove decl.
71137
71138         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
71139         (re_set_registers, re_exec):
71140         Use K&R-style defn.
71141
71142         2006-01-31  Roland McGrath  <roland@redhat.com>
71143
71144         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
71145         Reported by Mike Frysinger <vapier@gentoo.org>.
71146
71147         2006-01-15  Andreas Jaeger  <aj@suse.de>
71148
71149         [BZ #1950]
71150         * lib/regex_internal.c (re_string_reconstruct): Adjust for
71151         build_wcs_upper_buffer change.
71152         (build_wcs_upper_buffer): Change return type.
71153
71154         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
71155
71156         * lib/regex_internal.h: Include <stdint.h> if available.
71157
71158         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
71159
71160         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
71161
71162         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
71163
71164         * lib/regcomp.c: Adjust for changed secondary hash function.
71165
71166         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
71167
71168         * lib/regex.h: Pretty printing.
71169         Clean up namespace a bit.
71170
71171         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
71172
71173         * lib/regexec.c (update_cur_sifted_state, check_arrival,
71174         check_arrival_add_next_nodes): Avoid using uninitialized variable.
71175
71176         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
71177                     Ulrich Drepper  <drepper@redhat.com>
71178
71179         [BZ #1302]
71180         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
71181         changed.
71182         (bitset_word_t): Renamed from bitset_word.  All uses changed.
71183
71184         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
71185
71186         [BZ #281]
71187         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
71188         * lib/regcomp.c: Remove unnecessary uses of
71189         unsigned RE_TRANSLATE_TYPE.
71190         * lib/regex_internal.h: Likewise.
71191         * lib/regex_internal.c: Likewise.
71192         * lib/regexec.c: Likewise.
71193         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
71194
71195         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
71196
71197         * lib/regexec.c (find_recover_state): Remove unnecessary
71198         initialization.
71199         (transit_state_bkref): Make DFA a const pointer.
71200         (get_subexp): Likewise.
71201         (check_arrival): Likewise.
71202         (update_cur_sifted_state): Likewise.
71203         (re_search_internal): Likewise.
71204         (prune_impossible_nodes): Likewise.
71205         (acquire_init_state_context): Likewise.
71206         (proceed_next_node): Likewise.
71207         (set_regs): Likewise.
71208         (free_fail_stack_return): Likewise.
71209         (check_arrival_expand_ecl): Mark DFA parameter as const.
71210         (check_arrival_expand_ecl_sub): Likewise.
71211         (check_subexp_limits): Likewise.
71212         (sub_epsilon_src_nodes):  Likewise.
71213         (add_epsilon_src_nodes):  Likewise.
71214         (merge_state_array): Likewise.
71215         (update_regs): Likewise.
71216         (build_trtable): Likewise.
71217         (sift_states_backward): Mark MCTX parameter as const.
71218         (build_sifted_states): Likewise.
71219         (update_cur_sifted_state): Likewise.
71220         (sift_states_mkref): Likewise.
71221         (check_arrival_expand_ecl): Mark eclosure as const.
71222         (check_dst_limits_calc_pos_1): Likewise.
71223         * lib/regex_internal.h (re_match_context_t): Make dfa a const
71224         pointer.
71225
71226         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
71227
71228         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
71229         (transit_state_sb): Likewise.
71230         (transit_state_mb): Likewise.
71231         (sift_states_iter_mb): Likewise.
71232         (check_arrival_add_next_nodes): Likewise.
71233         (check_node_accept_bytes): Change first parameter to pointer-to-const.
71234         [_LIBC] (re_search_2_stub): Use mempcpy.
71235
71236         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
71237         mbrtowc for very simple UTF-8 case.
71238
71239         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
71240         a pointer-to-const.
71241         (re_acquire_state_context): Likewise.
71242         * lib/regex_internal.h: Adjust prototypes.
71243
71244         * lib/regex.c: Prevent using C++ compilers.
71245
71246         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
71247         (re_acquire_state_context): Likewise.
71248
71249 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71250
71251         * modules/regex (Depends-on): Add ssize_t.
71252
71253 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71254
71255         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
71256         translation table.
71257
71258 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71259
71260         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
71261
71262 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
71263             Bruno Haible  <bruno@clisp.org>
71264
71265         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
71266         <sys/types.h> and <inttypes.h>.
71267
71268 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71269
71270         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
71271         `__error_t_defined', so argp.h will not typedef the former.
71272
71273 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
71274
71275         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
71276         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
71277         glibc names.  Even if glibc is changed to conform to POSIX, the
71278         traditional names will be available anyway, since regex depends on
71279         the extensions module.  Also, fix a longstanding typo in the
71280         implementation of Spencer ERE test #75 from grep 2.3.  Problems
71281         reported by Emanuele Giaquinta.  Also, change sense of cached
71282         variable, so that the message makes sense.
71283
71284 2006-03-24  Simon Josefsson  <jas@extundo.com>
71285
71286         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
71287         including some doc fixes.
71288         (base64_encode_alloc): Fix +1 bug on allocation failures.
71289
71290 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71291
71292         * lib/base64.c (base64_encode): Do not read past end of array with
71293         unsanitized input on systems with CHAR_BIT > 8.
71294
71295 2006-03-24  Eric Blake  <ebb9@byu.net>
71296
71297         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
71298
71299 2006-03-22  Karl Berry  <karl@gnu.org>
71300
71301         * config/srclist.txt (*setenv.[ch]): get from coreutils.
71302         * config/srclistvars.sh (COREUTILS): new var.
71303
71304 2006-03-17  Jim Meyering  <jim@meyering.net>
71305
71306         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
71307         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
71308
71309 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
71310
71311         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
71312         no longer needs it.  Instead, check that regoff_t is as least
71313         as wide as ptrdiff_t.
71314
71315         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
71316         so that our regex.h stays compatible with the installed regex.
71317         This is helpful for installers who configure --without-included-regex.
71318         Problem reported by Emanuele Giaquinta.
71319
71320 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
71321
71322         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
71323         Typedef to long int, not to off_, as POSIX will likely change
71324         in that direction.
71325
71326 2006-03-15  Eric Blake  <ebb9@byu.net>
71327
71328         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
71329
71330 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
71331
71332         * lib/argp-help.c (validate_uparams): Fix typo
71333         * lib/argp-parse.c (argp_default_options): Consistently begin help
71334         messages with a lowercase letter.
71335
71336 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
71337
71338         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
71339         overrun buffers and shouldn't be used (much as gets shouldn't be
71340         used).
71341         * lib/time_r.c (asctime_r, ctime_r): Likewise.
71342
71343 2006-03-08  Simon Josefsson  <jas@extundo.com>
71344
71345         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
71346         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71347
71348 2006-03-08  Simon Josefsson  <jas@extundo.com>
71349
71350         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
71351         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71352
71353 2006-03-08  Simon Josefsson  <jas@extundo.com>
71354
71355         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
71356         signal that configure disabled the device.
71357
71358 2006-03-08  Simon Josefsson  <jas@extundo.com>
71359
71360         * build-aux/maint.mk: Fix refresh-po, to handle no translated
71361         languages.
71362
71363 2006-03-07  Simon Josefsson  <jas@extundo.com>
71364
71365         * modules/getopt (Depends-on): Add unistd.
71366
71367         * modules/unistd: New file.
71368
71369 2006-03-07  Simon Josefsson  <jas@extundo.com>
71370
71371         * modules/gc-random: New file.
71372
71373 2006-03-07  Simon Josefsson  <jas@extundo.com>
71374
71375         * m4/unistd_h.m4: New file.
71376
71377 2006-03-07  Simon Josefsson  <jas@extundo.com>
71378
71379         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
71380         test to be side-effect free by storing the result in the cache
71381         variable gl_cv_lib_readline, and moving the assignment of
71382         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
71383         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71384
71385 2006-03-07  Simon Josefsson  <jas@extundo.com>
71386
71387         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
71388         error on missing devices (the functions will return an error).
71389
71390         * m4/gc.m4: Move random stuff to gc-random.m4
71391
71392 2006-03-07  Simon Josefsson  <jas@extundo.com>
71393
71394         * lib/unistd_.h: New file.
71395
71396 2006-03-07  Simon Josefsson  <jas@extundo.com>
71397
71398         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
71399
71400 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
71401
71402         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
71403         Problem reported by Juan Manuel Guerrero.
71404
71405 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
71406
71407         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
71408         the unistd module.
71409         * lib/getlogin_r.c: Likewise.
71410         * lib/getlogin_r.h: Likewise.
71411         * lib/glob.c: Likewise.
71412         * lib/pagealign_alloc.c: Likewise.
71413         * lib/unistd_.h: Remove; no longer needed.
71414
71415 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
71416
71417         * MODULES.html.sh (Support for systems lacking POSIX:2001):
71418         Add unistd.
71419         * modules/c-stack (Depends-on): Add unistd.
71420         * modules/getlogin_r: Likewise.
71421         * modules/glob: Likewise.
71422         * modules/pagealign_alloc: Likewise.
71423         * modules/unistd (Files): Remove lib/unistd_.h.
71424         (EXTRA_DIST): Remove.
71425         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
71426         need unistd_.h.
71427         (MOSTLYCLEANFILES): Remove unistd.h-t.
71428
71429 2006-03-03  Simon Josefsson  <jas@extundo.com>
71430
71431         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
71432
71433 2006-03-03  Simon Josefsson  <jas@extundo.com>
71434
71435         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
71436         libidn and bison.
71437
71438 2006-03-03  Simon Josefsson  <jas@extundo.com>
71439
71440         * build-aux/maint.mk: Add indent target.
71441
71442 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
71443
71444         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
71445         our replacement poll.h in any case, to avoid a differing
71446         declaration from a system header.  Seen on AIX.
71447
71448 2006-03-01  Simon Josefsson  <jas@extundo.com>
71449
71450         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
71451         <kasal@ucw.cz>.
71452
71453 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
71454
71455         * modules/gettime (Depends-on): Add extensions module.
71456         * modules/nanosleep (Depends-on): Likewise.
71457         * modules/settime (Depends-on): Likewise.
71458
71459 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
71460
71461         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
71462         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
71463         pedantically.
71464         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
71465         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
71466
71467         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
71468         not "==".  Reported by Ralf Wildenhues.
71469
71470 2006-03-01  Karl Berry  <karl@gnu.org>
71471
71472         * doc/Copyright/request-*: new files, synced from gnuorg.
71473
71474 2006-03-01  Karl Berry  <karl@gnu.org>
71475
71476         * config/srclist.txt (Copyright/*): new entries.
71477
71478 2006-02-28  Simon Josefsson  <jas@extundo.com>
71479
71480         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
71481
71482 2006-02-27  Simon Josefsson  <jas@extundo.com>
71483
71484         * lib/base64.h: Indent #define's.  From Jim Meyering
71485         <jim@meyering.net>.
71486
71487 2006-02-27  Jim Meyering  <jim@meyering.net>
71488
71489         Revert the change of 2006-02-24, so these files can continue
71490         to be sync'd from gettext.
71491         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
71492         of `config.h'.
71493
71494 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
71495
71496         * modules/intprops: New file.
71497         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
71498         Add intprops.
71499         * modules/getloadavg (Files): Remove lib/intprops.h.
71500         (Depends-on): Add intprops.
71501         * modules/human: Likewise.
71502         * modules/inttostr: Likewise.
71503         * modules/openat: Likewise.
71504         * modules/sig2str: Likewise.
71505         * modules/userspec: Likewise.
71506         * modules/utimecmp: Likewise.
71507         * modules/xnanosleep: Likewise.
71508         * modules/xstrtol: Likewise.
71509
71510 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
71511
71512         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
71513         * modules/lock-tests (TESTS): Use $(EXEEXT).
71514         * modules/tls-tests: Likewise.
71515         * modules/argp-tests: Likewise.
71516         (check_PROGRAMS): New var, replacing...
71517         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
71518
71519 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71520
71521         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
71522         `config.h'.
71523
71524 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
71525
71526         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
71527
71528 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71529
71530         Sync from coreutils.
71531         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
71532         gl_CHDIR_SAFER.
71533
71534 2006-02-22  Jim Meyering  <jim@meyering.net>
71535
71536         Sync from coreutils.
71537         * m4/chdir-safer.m4: New file.
71538
71539 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
71540
71541         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
71542         AT_FDCWD exceeds INT_MAX.
71543         * lib/openat.h (AT_FDCWD): Likewise.
71544
71545 2006-02-17  Eric Blake  <address@hidden>
71546
71547         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
71548
71549 2006-02-16  Simon Josefsson  <jas@extundo.com>
71550
71551         * modules/getaddrinfo (Depends-on): Add sys_socket.
71552
71553 2006-02-15  Simon Josefsson  <jas@extundo.com>
71554
71555         * build-aux/maint.mk: Add dsyntax-check rule.
71556
71557 2006-02-15  Eric Blake  <ebb9@byu.net>
71558
71559         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
71560         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
71561         'present but cannot compile' warnings on cygwin.
71562         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
71563         use ws2tcpip.h if sys/socket.h works.
71564         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
71565         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
71566
71567 2006-02-14  Simon Josefsson  <jas@extundo.com>
71568
71569         * modules/maintainer-makefile (Files): Rename.
71570
71571         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
71572         and (the local) Makefile.cfg to maint-cfg.mk.
71573
71574         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
71575         to the latter.
71576
71577         * modules/maintainer-makefile: New module.
71578
71579         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
71580         severaly stripped to make it possible to build it up from scratch
71581         with reliable tests.
71582
71583         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
71584         fixes to permit overriding the default actions when configure and
71585         makefile are not available.
71586
71587 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
71588
71589         Sync from coreutils.
71590         * modules/lstat (Depends-on): Don't depend on xalloc.
71591         (License): Change from GPL to LGPL, since this is now simply a
71592         replacement for a libc function.
71593
71594 2006-02-14  Jim Meyering  <jim@meyering.net>
71595
71596         Sync from coreutils.
71597
71598         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
71599         failure on deficient systems, and simplify gnulib lgpl dependencies.
71600         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
71601         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
71602
71603         * lib/xalloc-die.c: Remove unused definition of N_.
71604
71605 2006-02-14  Jim Meyering  <jim@meyering.net>
71606
71607         Sync from coreutils.
71608         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
71609         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
71610         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
71611         double-quote uses of that variable, to accommodate the rare case in
71612         which getmntent is available in none of the libraries checked.  This
71613         happens at least on FreeBSD 5.0.
71614
71615 2006-02-13  Simon Josefsson  <jas@extundo.com>
71616
71617         * gnulib-tool (Usage): Fix --import, from
71618         karl@freefriends.org (Karl Berry).
71619
71620 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
71621
71622         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
71623
71624 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
71625
71626         * lib/argp-namefrob.h: Restore changes accidentally lost during the
71627         "autoupdate" on 2005-12-12.
71628
71629 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
71630
71631         * modules/closeout (Depends-on): Remove atexit.
71632
71633 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
71634
71635         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
71636         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
71637
71638 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
71639
71640         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
71641         __EXTENSIONS__ if this causes compilation to fail.  Problem
71642         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
71643         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
71644
71645 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
71646
71647         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
71648         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
71649         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
71650         All uses changed.
71651
71652 2006-01-26  Simon Josefsson  <jas@extundo.com>
71653
71654         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
71655         prototype is visible on mingw32.
71656
71657         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
71658         for mingw32.
71659
71660         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
71661         mingw32).
71662
71663 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
71664
71665         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
71666         attempt to open for write; this always fails, at least on POSIX
71667         hosts.  This reinstates the 2006-01-09 change, which was
71668         inadvertently removed.
71669
71670 2006-01-26  Bruno Haible  <bruno@clisp.org>
71671
71672         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
71673         Reported by Paul Eggert.
71674
71675 2006-01-26  Bruno Haible  <bruno@clisp.org>
71676             Paul Eggert  <eggert@cs.ucla.edu>
71677
71678         * lib/stdbool_.h (_Bool)
71679         [(! (defined __cplusplus || defined __BEOS__)
71680           && !defined __GNUC__
71681           && !(defined __HP_cc || defined __xlc__
71682                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
71683                || defined __sgi))]:
71684         #define to signed char in these cases too; this simplifies
71685         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
71686         etc., separately) and makes it more conservative.
71687
71688 2006-01-25  Simon Josefsson  <jas@extundo.com>
71689
71690         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
71691         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
71692         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
71693
71694 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
71695
71696         * lib/argp-namefrob.h: Bugfix. Remove stray #
71697
71698 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
71699
71700         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
71701         so that we test the test.
71702         Check for yet another HP-UX cc bug involving *bool |= bool.
71703
71704 2006-01-25  Karl Berry  <karl@gnu.org>
71705
71706         * config/srclist.txt (vasnprintf.c): sync lost.
71707
71708 2006-01-25  Jim Meyering  <jim@meyering.net>
71709
71710         Sync from the stable (b5) branch of coreutils:
71711
71712         * lib/fts.c (fts_children): Don't let close() clobber errno from
71713         failed fchdir().
71714
71715         * lib/fts.c (fts_stat): When following a symlink-to-directory,
71716         don't necessarily interpret stat-fails+lstat-succeeds as indicating
71717         a dangling symlink.  That can also happen at least for ELOOP.
71718         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
71719         FYI, this bug predates the inclusion of fts.c in coreutils.
71720
71721         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
71722         in their own block, so pre-c99 compilers don't object.
71723
71724         Avoid the double-free (first in fts_read, second in fts_close) that
71725         would occur when an `active' directory is made inaccessible (e.g.,
71726         via chmod a-x) during a traversal.
71727         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
71728         before returning.  Reproduce this failure by
71729         mkdir -p a/b; cd a; chmod a-x . b
71730         Reported by Stavros Passas.
71731
71732 2006-01-25  Jim Meyering  <jim@meyering.net>
71733
71734         * lib/fileblocks.c: Remove more useless parentheses.
71735         * lib/readutmp.h: Likewise.
71736
71737 2006-01-25  Bruno Haible  <bruno@clisp.org>
71738
71739         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
71740         warnings.
71741         Reported by Paul Eggert.
71742
71743 2006-01-25  Bruno Haible  <bruno@clisp.org>
71744
71745         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
71746         rid of a trap command. For Solaris sh.
71747         Reported by Mark D. Baushke <mdb@gnu.org>.
71748
71749 2006-01-24  Simon Josefsson  <jas@extundo.com>
71750
71751         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
71752         Bruno.
71753
71754 2006-01-24  Karl Berry  <karl@gnu.org>
71755
71756         * config/srclist.txt (argp-namefrob.h): sync lost.
71757
71758 2006-01-24  Jim Meyering  <jim@meyering.net>
71759
71760         * modules/openat (Files): Add lib/intprops.h.
71761         From Mark D. Baushke.
71762
71763 2006-01-24  Jim Meyering  <jim@meyering.net>
71764
71765         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
71766         Reported by Mark D. Baushke.
71767
71768 2006-01-24  Jim Meyering  <jim@meyering.net>
71769
71770         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
71771
71772 2006-01-24  Bruno Haible  <bruno@clisp.org>
71773
71774         * modules/strnlen (Maintainer): Change from glibc to all.
71775
71776 2006-01-24  Bruno Haible  <bruno@clisp.org>
71777
71778         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
71779         Patch by Paul Eggert.
71780
71781 2006-01-24  Bruno Haible  <bruno@clisp.org>
71782
71783         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
71784         already has it.
71785         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
71786         2005-11-26.
71787
71788         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
71789         'signed char' to avoid problems with the built-in _Bool type.
71790         Reported by Paul Eggert on 2005-11-26.
71791
71792 2006-01-24  Bruno Haible  <bruno@clisp.org>
71793
71794         * gnulib-tool (func_import): Avoid constructing complicated sed
71795         expressions inside backquote.
71796         Report and solution by Mark D. Baushke <mdb@gnu.org>.
71797
71798 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
71799
71800         These changes imported from libc.
71801         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
71802         test and two separate function calls.
71803         * lib/strndup.c (__strndup): Add libc_hidden_def.
71804
71805 2006-01-23  Simon Josefsson  <jas@extundo.com>
71806
71807         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
71808         Remove the test_*_SOURCES variable: automake infers it by default.
71809         * modules/tls-tests: Likewise.
71810
71811 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
71812
71813         Work around porting bugs reported by Dieter in
71814         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
71815         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
71816         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
71817         Include "getopt.h" first, to check interface.
71818         (getenv): Declare only if defined HAVE_DECL_GETENV &&
71819         !HAVE_DECL_GETENV.
71820         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
71821         (__strndup): Revert to K&R-style function dfns, the glibc style.
71822         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
71823         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
71824         Include strnlen.h first, to get prototype properly.
71825         (strnlen): Renamed from __strnlen.
71826         Remove weak alias.
71827
71828 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
71829
71830         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
71831
71832 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
71833
71834         * config/srclist.txt: Adjust to reflect glibc reorganization.
71835         This affects only comments.
71836
71837 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
71838
71839          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
71840          Reported by Bruce Korb <bkorb@gnu.org>.
71841
71842 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
71843
71844         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
71845         to pacify gcc -Wswitch-default.
71846
71847 2006-01-22  Bruno Haible  <bruno@clisp.org>
71848
71849         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
71850         temporary buffer for sprintf, take into account the precision also
71851         for 'd', 'i', 'u', 'o', 'x', 'X'.
71852
71853 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
71854
71855         * modules/argp-tests: New module
71856         * tests/test-argp.c: New file
71857         * tests/test-argp-2.sh: New file
71858
71859 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
71860
71861         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
71862         (__argp_base_name): Removed
71863         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
71864         typo.
71865         (__argp_base_name): Provide macro definition or extern declaration
71866         depending on the configuration
71867
71868 2006-01-20  Simon Josefsson  <jas@extundo.com>
71869
71870         * modules/inet_ntop (Depends-on): Depend on sys_socket.
71871
71872 2006-01-20  Simon Josefsson  <jas@extundo.com>
71873
71874         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
71875
71876 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
71877
71878         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
71879         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
71880         Suggested by Bruno Haible.
71881
71882 2006-01-20  Karl Berry  <karl@gnu.org>
71883
71884         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
71885         until changes propagate, I guess.
71886
71887 2006-01-19  Simon Josefsson  <jas@extundo.com>
71888
71889         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
71890
71891 2006-01-19  Simon Josefsson  <jas@extundo.com>
71892
71893         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
71894
71895 2006-01-19  Simon Josefsson  <jas@extundo.com>
71896
71897         * gnulib-tool: Set check_PROGRAMS.
71898
71899         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
71900         modules/des-tests, modules/gc-arcfour-tests,
71901         modules/gc-arctwo-tests, modules/gc-des-tests,
71902         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
71903         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
71904         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
71905         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
71906         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
71907         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
71908         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
71909         test_*_SOURCES.
71910
71911 2006-01-18  Simon Josefsson  <jas@extundo.com>
71912
71913         * modules/socklen (Depends-on): Depend on sys_socket.
71914
71915 2006-01-18  Simon Josefsson  <jas@extundo.com>
71916
71917         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
71918         modules/des-tests, modules/gc-arcfour-tests,
71919         modules/gc-arctwo-tests, modules/gc-des-tests,
71920         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
71921         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
71922         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
71923         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
71924         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
71925         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
71926         $(EXEEXT) to automake TESTS variable, for mingw32.
71927
71928 2006-01-17  Simon Josefsson  <jas@extundo.com>
71929
71930         * modules/socklen (Include): Need sys/socket.h.
71931
71932 2006-01-17  Bruno Haible  <bruno@clisp.org>
71933
71934         * modules/ssize_t (Include): Add <sys/types.h>.
71935
71936 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
71937
71938         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
71939         it's not portable and it doesn't work with cross-compiles.
71940         Problem reported by Bruno Haible.  Fix missing-$ typo in
71941         'test "gl_cv_ignore_unused_libraries" ...' that prevented
71942         -zignore from being used with Sun's C compiler.
71943
71944 2006-01-12  Simon Josefsson  <jas@extundo.com>
71945
71946         * lib/base64.c: Fix warning, reported by Bruno Haible
71947         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
71948
71949 2006-01-12  Bruno Haible  <bruno@clisp.org>
71950
71951         * modules/ldd: New file.
71952         * build-aux/ldd.sh.in: New file.
71953         * MODULES.html.sh (Support for building libraries and executables): Add
71954         ldd.
71955
71956 2006-01-12  Bruno Haible  <bruno@clisp.org>
71957
71958         * m4/ldd.m4: New file.
71959
71960 2006-01-12  Bruno Haible  <bruno@clisp.org>
71961
71962         * gnulib-tool (func_import, func_create_testdir): Don't go into an
71963         endless loop while replacing $auxdir with build-aux.
71964
71965 2006-01-11  Simon Josefsson  <jas@extundo.com>
71966
71967         * lib/stdint_.h (SIZE_MAX): Add missing (.
71968
71969 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
71970
71971         Sync from coreutils.
71972         * lib/md5.c: Fix commentary typos.
71973         (alignof, UNALIGNED_P): No need for a GCC-specific version.
71974         * lib/md5.h (__attribute__): Remove; unused.
71975         * lib/sha1.c: Fix commentary to match md5 better.
71976         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
71977         so that we don't need to worry about alignment.  All uses changed.
71978         This merges the 2005-10-28 md5 change into sha1.
71979
71980 2006-01-11  Jim Meyering  <jim@meyering.net>
71981
71982         Sync from coreutils.
71983         * lib/md5.c (OP): Fix spacing.
71984
71985 2006-01-11  Bruno Haible  <bruno@clisp.org>
71986
71987         Ensure automatic ordering between gl_LOCK and gl_ARGP.
71988         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
71989         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
71990
71991 2006-01-11  Bruno Haible  <bruno@clisp.org>
71992
71993         Ensure automatic ordering between gl_LOCK and gl_ARGP.
71994         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
71995         the "early" section as well.
71996
71997 2006-01-11  Bruno Haible  <bruno@clisp.org>
71998
71999         Avoid "ar: no archive members specified" error on MacOS X.
72000         * gnulib-tool (func_modules_add_dummy): New function.
72001         (func_import, func_create_testdir): Invoke it.
72002
72003 2006-01-11  Bruno Haible  <bruno@clisp.org>
72004
72005         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
72006         with $auxdir in AC_CONFIG_FILES statements.
72007
72008 2006-01-11  Bruno Haible  <bruno@clisp.org>
72009
72010         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72011         Initialize also noinst_HEADERS to empty.
72012
72013 2006-01-11  Bruno Haible  <bruno@clisp.org>
72014
72015         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
72016         variables.
72017         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
72018         autoreconf.
72019
72020 2006-01-11  Bruno Haible  <bruno@clisp.org>
72021
72022         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
72023         overridable by the user.
72024         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72025
72026 2006-01-10  Simon Josefsson  <jas@extundo.com>
72027
72028         * modules/sys_socket: New file.
72029
72030 2006-01-10  Simon Josefsson  <jas@extundo.com>
72031
72032         * m4/sys_socket_h.m4: New file.
72033
72034 2006-01-10  Simon Josefsson  <jas@extundo.com>
72035
72036         * lib/socket_.h: New file.
72037
72038 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
72039
72040         * modules/readutmp (Maintainer): Add myself.
72041
72042 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
72043
72044         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
72045         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
72046         People who are still concerned with buggy memcmp implementations
72047         can invoke gl_FUNC_MEMCMP themselves.
72048
72049 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
72050
72051         * lib/regex_internal.h (BITSET_WORD_BITS):
72052         Work around a bug in 64-bit PGC (before version 6.1-2), where the
72053         preprocessor mishandles large unsigned values as if they were signed.
72054         Problem reported by Claudio Fontana in
72055         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
72056
72057 2006-01-10  Jim Meyering  <jim@meyering.net>
72058
72059         Avoid the double-free (first in fts_read, second in fts_close) that
72060         would occur when an `active' directory is made inaccessible (e.g.,
72061         via chmod a-x) during a traversal.
72062         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
72063         before returning.  Reproduce this failure by
72064         mkdir -p a/b; cd a; chmod a-x . b
72065         Reported by Stavros Passas.
72066
72067         Sync from coreutils.
72068         * lib/sha1.c: Tweak grammar in a comment.
72069
72070 2006-01-10  Jim Meyering  <jim@meyering.net>
72071
72072         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
72073         Patch by Joerg Sonnenberger.
72074
72075 2006-01-10  Bruno Haible  <bruno@clisp.org>
72076
72077         * modules/readutmp: Depend on module free.
72078         * modules/strtok_r: Depend on module restrict.
72079
72080 2006-01-10  Bruno Haible  <bruno@clisp.org>
72081
72082         * modules/gettext (configure.ac): Add an invocation of
72083         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
72084
72085 2006-01-10  Bruno Haible  <bruno@clisp.org>
72086
72087         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
72088         Reported by Werner Lemberg <wl@gnu.org>.
72089
72090 2006-01-10  Bruno Haible  <bruno@clisp.org>
72091
72092         * lib/localcharset.c: Update from GNU gettext.
72093
72094 2006-01-10  Bruno Haible  <bruno@clisp.org>
72095
72096         * lib/argp.h (__const): Remove macro. Use const instead.
72097         * lib/argp-fmtstream.h (__const): Likewise.
72098         * lib/glob_.h (__const): Remove macro.
72099         * lib/glob-libc.h: Use const instead of __const.
72100
72101 2006-01-10  Bruno Haible  <bruno@clisp.org>
72102
72103         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
72104         variable.
72105         Needed to avoid an automake error regarding the 'gettext' module.
72106
72107 2006-01-09  Simon Josefsson  <jas@extundo.com>
72108
72109         * modules/inet_ntop (Depends-on): Add restrict.
72110
72111 2006-01-09  Simon Josefsson  <jas@extundo.com>
72112
72113         * modules/gc-rijndael-tests (License): Put under LGPL.
72114
72115         * modules/gc-des-tests (License): Likewise.
72116
72117         * modules/gc-arcfour-tests (License): Likewise.
72118
72119         * modules/gc-arctwo-tests (License): Likewise.
72120
72121         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
72122
72123         * modules/gc-hmac-sha1-tests (Files): Likewise.
72124
72125         * modules/gc-hmac-md5-tests (License): Likewise.
72126
72127         * modules/gc-sha1-tests (License): Likewise.
72128
72129         * modules/gc-md5-tests (License): Likewise.
72130
72131         * modules/gc-md4-tests (License): Likewise.
72132
72133         * modules/gc-md2-tests (License): Likewise.
72134
72135         * modules/gc-tests (License): Likewise.
72136
72137         * modules/des-tests (License): Likewise.
72138
72139         * modules/md4-tests (License): Likewise.
72140
72141         * modules/md2-tests (License): Likewise.
72142
72143 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72144
72145         Sync from coreutils:
72146
72147         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
72148         * modules/lib-ignore: New file.
72149         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
72150         chdir-safer.m4, lchmod.m4.
72151         * modules/openat: Add mkdirat.c, openat-priv.h.
72152
72153 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72154
72155         Sync from coreutils.
72156         * m4/lib-ignore.m4: New file.
72157         * m4/lchmod.m4: New file.
72158
72159 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72160
72161         Sync from coreutils.
72162         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
72163         for write access: POSIX says that must fail.
72164         * lib/fts.c (diropen): Likewise.
72165         * lib/save-cwd.c (save_cwd): Likewise.
72166         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
72167         well, for minor improvements on hosts that lack O_DIRECTORY.
72168         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
72169         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
72170         Fall back on chown if open failed with EACCES.
72171
72172         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
72173         Report an error at compile-time if only a 1-second nominal clock
72174         resolution is found.
72175
72176         * lib/lchmod.h: New file.
72177         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
72178         (make_dir_parents): Use lchown rather than chown, and
72179         lchmod rather than chmod.
72180
72181         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
72182         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
72183         "proc" reported by n0dalus.
72184
72185         * lib/mountlist.c: Include <limits.h>.
72186         (dev_from_mount_options)
72187         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
72188         New function.  It no longer assumes "dev=" has the System V meaning
72189         on Linux (since it doesn't).  It also parses "dev=" more carefully.
72190         (read_file_system_list)
72191         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
72192         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
72193         dev= in that case.
72194
72195         * lib/posixtm.h (PDS_PRE_2000): New macro.
72196         * lib/posixtm.c (year): Arg is now syntax_bits rather than
72197         allow_century.  All usages changed.  Reject dates outside the range
72198         1969-1999 if PDS_PRE_2000 is used.
72199
72200 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72201
72202         Sync from coreutils.
72203         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
72204         (Time of day items): Mention the possibility of leap seconds.
72205         Problem reported by Dr. David Alan Gilbert.
72206
72207 2006-01-09  Jim Meyering  <jim@meyering.net>
72208
72209         Sync from coreutils.
72210
72211         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
72212
72213         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
72214
72215         * lib/modechange.c (mode_compile): Reject an invalid mode string
72216         that starts with an octal digit.  From Andreas Gruenbacher.
72217
72218         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
72219         and dup to open_safer and dup_safer, respectively.
72220         (openat_permissive): Fix typo in comment.
72221
72222         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
72223         "gettext.h"; either no longer needed or are guaranteed by openat.h.
72224         (_): Remove; no longer needed.
72225         (openat): Renamed from rpl_openat; no need for rpl_openat
72226         since openat.h renames openat for us.
72227         Replace most of the body with a call to openat_permissive,
72228         to avoid duplicate code.
72229         Port to (probably hypothetical) environments were mode_t is
72230         wider than int.
72231         (openat_permissive): Require mode arg, so that we can check
72232         types better.  Put it just after flags.  Change cwd failure
72233         indicator from pointer-to-bool to pointer-to-errno-value.
72234         All callers changed.
72235         Invoke openat_save_fail and/or openat_restore_fail if
72236         cwd_errno is null, so that openat can call us.
72237         (openat_permissive, fdopendir, fstatat, unlinkat):
72238         Simplify errno handling to avoid some duplicate code,
72239         as it's OK to set errno on success.
72240         * lib/openat.h: Revamp code so that function macros depend on
72241         __OPENAT_PREFIX only, not also on AT_FDCWD.
72242         (openat_ro): Remove.  Caller changed to use openat_permissive.
72243         (openat_permissive): Now a macro, if not a function.
72244         (openat_restore_fail, openat_save_fail): Now always functions,
72245         since mkdirat needs them even if __OPENAT_PREFIX is defined.
72246
72247         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
72248         and openat.c.
72249         * lib/mkdirat.c: Include openat-priv.h.
72250         Remove definitions of macros defined therein.
72251         * lib/openat.c: Likewise.
72252
72253         * lib/mkdirat.c (mkdirat): New file and function.
72254         * lib/openat.h (mkdirat): Declare.
72255
72256         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
72257
72258         * lib/openat.h (openat_permissive): Declare.
72259         (openat_ro): Define.
72260
72261         * lib/openat.c (EXPECTED_ERRNO): New macro.
72262         (openat_permissive): New function -- used in remove.c rewrite.
72263         (all functions): Set errno just before returning, only if there
72264         was an actual failure.
72265         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
72266
72267         Emulate openat-family functions using Linux's procfs, if possible.
72268         Idea and some code based on Ulrich Drepper's glibc changes.
72269
72270         * lib/openat.c: (BUILD_PROC_NAME): New macro.
72271         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
72272         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
72273         before falling back on save_cwd and restore_cwd.
72274         (fdopendir, fstatat, unlinkat): Likewise.
72275
72276         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
72277         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
72278
72279         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
72280         as second argument to va_arg.  Otherwise, some versions of gcc
72281         warn that `if this code is reached, the program will abort'.
72282
72283 2006-01-09  Jim Meyering  <jim@meyering.net>
72284
72285         Sync from coreutils.
72286         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
72287         Require openat-priv.h.
72288
72289 2006-01-09  Bruno Haible  <bruno@clisp.org>
72290
72291         * modules/strnlen (Include): Use strnlen.h.
72292
72293 2006-01-09  Bruno Haible  <bruno@clisp.org>
72294
72295         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
72296
72297 2006-01-09  Bruno Haible  <bruno@clisp.org>
72298
72299         * lib/sysexit_.h (EX_OK): New macro.
72300         Suggested by Martin Lambers <marlam@marlam.de>.
72301
72302 2006-01-09  Bruno Haible  <bruno@clisp.org>
72303
72304         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
72305         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
72306
72307 2006-01-09  Bruno Haible  <bruno@clisp.org>
72308
72309         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
72310         numbers.
72311
72312 2006-01-09  Bruno Haible  <bruno@clisp.org>
72313
72314         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
72315         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
72316         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
72317         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
72318
72319 2006-01-09  Bruno Haible  <bruno@clisp.org>
72320
72321         * build-aux/javacomp.sh.in: New file, moved from lib/.
72322         * modules/javacomp-script (Files): Update.
72323         (configure.ac): Add AC_CONFIG_FILES invocation.
72324         (EXTRA_DIST): Remove variable.
72325
72326         * build-aux/javaexec.sh.in: New file, moved from lib/.
72327         * modules/javaexec (Files): Update.
72328         (configure.ac): Add AC_CONFIG_FILES invocation.
72329         (EXTRA_DIST): Remove javaexec.sh.in.
72330
72331         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
72332         * modules/csharpcomp-script (Files): Update.
72333         (configure.ac): Add AC_CONFIG_FILES invocation.
72334         (EXTRA_DIST): Remove variable.
72335
72336         * build-aux/csharpexec.sh.in: New file, moved from lib/.
72337         * modules/csharpexec (Files): Update.
72338         (configure.ac): Add AC_CONFIG_FILES invocation.
72339         (EXTRA_DIST): Remove csharpexec.sh.in.
72340
72341 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
72342
72343         Sync from coreutils.
72344
72345         Add POSIX ACL support
72346         * lib/acl.h (copy_acl, set_acl): Add declarations.
72347         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
72348         systems other than Linux.
72349         (chmod_or_fchmod): New function: use fchmod when possible,
72350         and chmod otherwise.
72351         (file_has_acl): Add a POSIX ACL implementation, with a
72352         Linux-specific subcase.
72353         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
72354         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
72355         acls are unsupported.
72356         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
72357         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
72358         are unsupported.
72359
72360 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
72361
72362         Sync from coreutils.
72363         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
72364
72365 2006-01-07  Bruno Haible  <bruno@clisp.org>
72366
72367         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
72368         gl_EARLY.
72369
72370 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
72371
72372         * lib/strftime.c (tzname): Don't declare if it is already #defined.
72373         Problem reported for Mingw by Mark Junker.
72374
72375 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
72376
72377         * README: Gnulib normally doesn't generate a tarball.
72378
72379 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
72380
72381         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
72382         long int, not int, for nanosecond counts, so that people who are
72383         used to POSIX struct timespec won't be surprised.  Reported by Jim
72384         Meyering.
72385
72386 2005-12-28  Bruno Haible  <bruno@clisp.org>
72387
72388         * build-aux/config.rpath: Update from GNU gettext.
72389
72390 2005-12-16  Jim Meyering  <jim@meyering.net>
72391
72392         * modules/fprintftime: New module.
72393         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
72394
72395 2005-12-16  Jim Meyering  <jim@meyering.net>
72396
72397         * m4/fprintftime.m4: New file.
72398
72399 2005-12-16  Jim Meyering  <jim@meyering.net>
72400
72401         * lib/fprintftime.c, lib/fprintftime.h: New files.
72402
72403 2005-12-15  Simon Josefsson  <jas@extundo.com>
72404
72405         * modules/socklen (configure.ac): Fix M4 macro name, to align with
72406         new m4/socklen.m4.
72407
72408 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
72409
72410         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
72411         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
72412
72413 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
72414
72415         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
72416         * lib/argp-help.c (fill_in_uparams): Check if the constructed
72417         struct uparams is valid. Fall back to the default values if it is
72418         not.
72419
72420 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
72421
72422         * modules/argp (Files): Add argp-pin.c
72423         (Depends-on): dirname
72424         (lib_SOURCES): Add argp-pin.c
72425
72426 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
72427
72428         * m4/argp.m4:  Check if program_invocation_name and
72429         program_invocation_short_name are declared and define appropriate
72430         macros if they are not.
72431
72432 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
72433
72434         * lib/argp-help.c (__argp_base_name): New function
72435         (__argp_short_program_name): Rewrite using __argp_base_name
72436         * lib/argp-namefrob.h: Define program_invocation_name and
72437         program_invocation_short_name if requested
72438         (__argp_base_name): Add prototype
72439         * lib/argp-parse.c (argp_def): Use gettext wrappers
72440         (argp_default_parser): Use __argp_base_name
72441         * lib/argp-pin.c: New file. Defines program_invocation_name and
72442         program_invocation_short_name on systems that lack them.
72443
72444 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
72445
72446         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
72447         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
72448         porting problem reported by Georg Schwarz in
72449         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
72450
72451 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
72452
72453         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
72454         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
72455         porting problem reported by Georg Schwarz in
72456         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
72457
72458 2005-12-05  Bruno Haible  <bruno@clisp.org>
72459
72460         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
72461         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
72462         Reported by Mark Junker <mjscod@gmx.de>.
72463
72464 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
72465
72466         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
72467         Use implementation from Albert Chin, with some
72468         comments/corrections by Stepan Kasal and myself.
72469
72470 2005-12-02  Bruno Haible  <bruno@clisp.org>
72471
72472         * gnulib-tool (func_import): Accept GPLed build tool modules when
72473         --lgpl is given.
72474         * modules/csharpcomp-script: New file.
72475         * modules/csharpcomp: Depend on it.
72476         * modules/javacomp-script: New file.
72477         * modules/javacomp: Depend on it.
72478         Suggested by Simon Josefsson.
72479
72480 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
72481
72482         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
72483         statement, to work around an HP-UX 10.20 compiler bug reported by
72484         Peter O'Gorman.
72485
72486 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
72487
72488         * modules/savedir (Depends-on): Add openat.
72489
72490 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
72491
72492         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
72493         (uintmax_t) [defined uintmax_t]: Do not declare.
72494         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
72495         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
72496         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
72497         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
72498         sake of portability to weird hosts that C allows (though we don't
72499         know of any practical examples).
72500
72501         * lib/savedir.h (fdsavedir): New decl.
72502         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
72503         contains most of the former guts of savedir.
72504         (savedir): Use savedirstream.
72505         Include "openat.h".
72506
72507 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
72508
72509         * modules/obstack (Files): Add m4/ulonglong.m4.
72510         Problem reported by Davide Angelocola.
72511
72512 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
72513
72514         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
72515         coreutils no longer futzes with rounding modes.
72516
72517 2005-11-14  Jim Meyering  <jim@meyering.net>
72518
72519         * lib/mkstemp-safer.c: Include <config.h>, required for possible
72520         replacement of mkstemp.
72521
72522 2005-11-10  Simon Josefsson  <jas@extundo.com>
72523
72524         * lib/readline.c: Remove EOL.
72525
72526 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
72527
72528         * modules/gethrxtime (Depends-on): Add gettime.
72529
72530 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
72531
72532         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
72533         or gettimeofday; no longer needed.
72534
72535 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
72536
72537         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
72538         time business.
72539         (gethrxtime) [! (HAVE_NANOUPTIME
72540         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
72541         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
72542         our own approximation.
72543
72544 2005-11-08  Eric Blake  <ebb9@byu.net>
72545
72546         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
72547
72548 2005-11-08  Eric Blake  <ebb9@byu.net>
72549
72550         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
72551
72552 2005-11-04  Bruno Haible  <bruno@clisp.org>
72553
72554         * gnulib-tool: Implement --update mode.
72555
72556 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
72557
72558         Fix porting problem reported by Theodoros V. Kalamatianos.
72559         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
72560         Don't assume that futimes failing means we must fail.
72561
72562 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
72563
72564         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
72565         variables to suggest the intended function of the PATH_MAX check.
72566
72567 2005-10-30  Kean Johnston  <jkj@sco.com>
72568
72569         Trivial changes to support SCO systems.
72570         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
72571         as PATH_MAX.
72572         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
72573         where __ptr is null when no I/O is pending.
72574
72575 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
72576
72577         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
72578         leave errno alone.  Problem reported by Dmitry V. Levin.
72579
72580 2005-10-28  Simon Josefsson  <jas@extundo.com>
72581
72582         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
72583         Test more.
72584
72585         * tests/test-gc-md2.c, tests/test-md2.c: New files.
72586
72587         * modules/md2, modules/md2-tests: New files.
72588
72589 2005-10-28  Simon Josefsson  <jas@extundo.com>
72590
72591         * m4/inet_ntop.m4: More tests.
72592
72593         * m4/gc-md2.m4, md2.m4: New file.
72594
72595 2005-10-28  Simon Josefsson  <jas@extundo.com>
72596
72597         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
72598         "restrict" keywords, as per POSIX.  Protect the function
72599         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
72600         Don't use K&R prototypes.  Check the sprintf return values.
72601         Re-define EAFNOSUPPORT if not present.  Indent.
72602
72603         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
72604         suggested by Bruno Haible <bruno@clisp.org>.
72605
72606         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
72607
72608         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
72609
72610         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
72611         libgcrypt).
72612
72613         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
72614
72615         * lib/md2.h, lib/md2.c: New files.
72616
72617 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
72618
72619         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
72620         errno alone.  Problem reported by Frederic Jolliton.
72621
72622 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
72623
72624         * modules/verify (License): Change from GPL to LGPL.  This is a
72625         tiny module and there are apparently near-equivalents that are
72626         under the BSD license.
72627
72628 2005-10-24  Simon Josefsson  <jas@extundo.com>
72629
72630         * modules/sha1: Relicense to LGPL.
72631
72632 2005-10-24  Simon Josefsson  <jas@extundo.com>
72633
72634         * lib/md4.h: Shrink buffer size, now that we changed the type.
72635
72636 2005-10-23  Simon Josefsson  <jas@extundo.com>
72637
72638         * gnulib-tool (func_import): Fix --tests-base.
72639
72640 2005-10-22  Simon Josefsson  <jas@extundo.com>
72641
72642         * modules/arcfour (Depends-on): Need stdint.
72643
72644 2005-10-22  Simon Josefsson  <jas@extundo.com>
72645
72646         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
72647         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
72648
72649 2005-10-22  Simon Josefsson  <jas@extundo.com>
72650
72651         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
72652         suggested by Bruno Haible <bruno@clisp.org>.
72653
72654 2005-10-22  Simon Josefsson  <jas@extundo.com>
72655
72656         * lib/crc.h: Include stddef.h, for size_t.
72657
72658 2005-10-22  Simon Josefsson  <jas@extundo.com>
72659
72660         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
72661         arcfour_context struct (simplify test vector testing in GNU
72662         Shishi).
72663
72664 2005-10-21  Simon Josefsson  <jas@extundo.com>
72665
72666         * modules/des, modules/des-tests: New files.
72667
72668         * modules/gc-des, modules/gc-des-tests: New files.
72669
72670         * tests/test-des.c, tests/test-gc-des.c: New file.
72671
72672 2005-10-21  Simon Josefsson  <jas@extundo.com>
72673
72674         * modules/arctwo, modules/arctwo-tests: New files.
72675
72676         * tests/test-arctwo.c: New file.
72677
72678         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
72679
72680         * tests/test-gc-arctwo.c: New file.
72681
72682 2005-10-21  Simon Josefsson  <jas@extundo.com>
72683
72684         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
72685         Bruno Haible <bruno@clisp.org>.
72686
72687         * m4/gc-des.m4: New file.
72688
72689 2005-10-21  Simon Josefsson  <jas@extundo.com>
72690
72691         * m4/arctwo.m4: New file.
72692
72693         * m4/gc-arctwo.m4: New file.
72694
72695 2005-10-21  Simon Josefsson  <jas@extundo.com>
72696
72697         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
72698         block.
72699
72700 2005-10-21  Simon Josefsson  <jas@extundo.com>
72701
72702         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
72703         <bruno@clisp.org>.
72704
72705         * lib/hmac-sha1.c (hmac_sha1): Likewise.
72706
72707         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
72708         Bruno Haible <bruno@clisp.org>.
72709
72710         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
72711         <bruno@clisp.org>.
72712
72713 2005-10-21  Simon Josefsson  <jas@extundo.com>
72714
72715         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
72716
72717 2005-10-21  Simon Josefsson  <jas@extundo.com>
72718
72719         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
72720
72721 2005-10-21  Simon Josefsson  <jas@extundo.com>
72722
72723         * lib/des.h, lib/des.c: New files.
72724
72725         * lib/gc-gnulib.c: Support DES.c
72726
72727 2005-10-21  Simon Josefsson  <jas@extundo.com>
72728
72729         * lib/arctwo.h, lib/arctwo.c: New files.
72730
72731         * lib/gc-gnulib.c: Support ARCTWO.
72732
72733 2005-10-21  Simon Josefsson  <jas@extundo.com>
72734
72735         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
72736         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72737
72738 2005-10-21  Simon Josefsson  <jas@extundo.com>
72739
72740         * gnulib-tool (func_import, func_create_testdir): Define automake
72741         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
72742         Makefile.am snippet),
72743         suggested by Bruno Haible <bruno@clisp.org>.
72744
72745         * modules/gc (Makefile.am): Use it.
72746
72747 2005-10-21  Bruno Haible  <bruno@clisp.org>
72748
72749         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
72750         patch.
72751
72752 2005-10-19  Simon Josefsson  <jas@extundo.com>
72753
72754         * tests/test-gc-rijndael.c: New file.
72755
72756         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
72757
72758 2005-10-19  Simon Josefsson  <jas@extundo.com>
72759
72760         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
72761         interface too.
72762
72763 2005-10-19  Simon Josefsson  <jas@extundo.com>
72764
72765         * tests/test-gc-arcfour.c: New file.
72766
72767         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
72768
72769 2005-10-19  Simon Josefsson  <jas@extundo.com>
72770
72771         * modules/gc-md4, modules/gc-md4-tests: New file.
72772
72773         * tests/test-gc-md4.c: New file.
72774
72775 2005-10-19  Simon Josefsson  <jas@extundo.com>
72776
72777         * m4/gc-md4.m4: New file.
72778
72779 2005-10-19  Simon Josefsson  <jas@extundo.com>
72780
72781         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
72782         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
72783         <kasal@ucw.cz>.
72784
72785 2005-10-19  Simon Josefsson  <jas@extundo.com>
72786
72787         * m4/gc-arcfour.m4: New file.
72788
72789         * m4/gc-rijndael.m4: New file.
72790
72791 2005-10-19  Simon Josefsson  <jas@extundo.com>
72792
72793         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
72794
72795 2005-10-19  Simon Josefsson  <jas@extundo.com>
72796
72797         * lib/gc-gnulib.c: Support ARCFOUR.
72798
72799 2005-10-19  Simon Josefsson  <jas@extundo.com>
72800
72801         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
72802         support.
72803
72804         * lib/gc.h: Add ECB enum type.
72805
72806         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
72807
72808 2005-10-18  Simon Josefsson  <jas@extundo.com>
72809
72810         * tests/test-md5.c: New file.
72811
72812         * modules/md5-tests: New file.
72813
72814 2005-10-18  Simon Josefsson  <jas@extundo.com>
72815
72816         * tests/test-md4.c: New file.
72817
72818         * modules/md4, modules/md4-tests: New files.
72819
72820 2005-10-18  Simon Josefsson  <jas@extundo.com>
72821
72822         * m4/md4.m4: New file.
72823
72824 2005-10-18  Simon Josefsson  <jas@extundo.com>
72825
72826         * lib/md4.h, lib/md4.c: New files, based on md5.?.
72827
72828 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
72829
72830         * gnulib-tool (func_create_testdir): Omit the second check whether
72831         BUILT_SOURCES in nonempty.
72832
72833 2005-10-17  Simon Josefsson  <jas@extundo.com>
72834
72835         * tests/test-rijndael.c: New file.
72836
72837 2005-10-17  Simon Josefsson  <jas@extundo.com>
72838
72839         * modules/sha1: Depend on stdint instead of md5.
72840
72841         * modules/md5: Depend on stdint, remove uint32_t.
72842
72843 2005-10-17  Simon Josefsson  <jas@extundo.com>
72844
72845         * modules/gc-sha1-tests: New file.
72846
72847         * tests/test-gc-sha1.c: New file.
72848
72849 2005-10-17  Simon Josefsson  <jas@extundo.com>
72850
72851         * m4/md5.m4: Remove call to uint32_t.m4.
72852
72853 2005-10-17  Simon Josefsson  <jas@extundo.com>
72854
72855         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
72856
72857         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
72858         md5.h.
72859
72860         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
72861
72862         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
72863
72864 2005-10-17  Simon Josefsson  <jas@extundo.com>
72865
72866         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
72867
72868 2005-10-17  Simon Josefsson  <jas@extundo.com>
72869
72870         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
72871
72872 2005-10-17  Simon Josefsson  <jas@extundo.com>
72873
72874         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
72875
72876         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
72877
72878 2005-10-17  Bruno Haible  <bruno@clisp.org>
72879
72880         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
72881         that it can also be used in a test.
72882
72883 2005-10-16  Bruno Haible  <bruno@clisp.org>
72884
72885         * gnulib-tool (func_emit_tests_Makefile_am): Also define
72886         TESTS_ENVIRONMENT, so that individual tests can augment it.
72887
72888         * gnulib-tool (func_create_testdir): Use an intermediate target for
72889         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
72890         macros, like $(ALLOCA_H), which cannot be passed through the command
72891         line.
72892
72893 2005-10-15  Simon Josefsson  <jas@extundo.com>
72894
72895         * modules/rijndael-tests: New file.
72896
72897         * modules/rijndael: New file.
72898
72899 2005-10-15  Simon Josefsson  <jas@extundo.com>
72900
72901         * m4/rijndael.m4: New file.
72902
72903 2005-10-15  Simon Josefsson  <jas@extundo.com>
72904
72905         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
72906
72907         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
72908
72909 2005-10-14  Simon Josefsson  <jas@extundo.com>
72910
72911         * tests/test-arcfour.c: New file.
72912
72913         * modules/arcfour, modules/arcfour-tests: New files.
72914
72915 2005-10-14  Simon Josefsson  <jas@extundo.com>
72916
72917         * m4/arcfour.m4: New file.
72918
72919 2005-10-14  Simon Josefsson  <jas@extundo.com>
72920
72921         * lib/arcfour.h, lib/arcfour.c: New files.
72922
72923 2005-10-14  Roland McGrath  <roland@redhat.com>
72924
72925         Import from libc.  [BZ #1331]
72926         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
72927         macro argument.
72928         Reported by Matej Vela <vela@debian.org>.
72929
72930 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
72931
72932         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
72933         include <wchar.h>; no longer needed.
72934
72935 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
72936
72937         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
72938
72939 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
72940         and  Ulrich Drepper  <drepper@redhat.com>
72941
72942         Import from libc.
72943         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
72944         instead of inline stream orientation test and two separate
72945         function calls.  Pay no attention to USE_IN_LIBIO.
72946
72947 2005-10-13  Simon Josefsson  <jas@extundo.com>
72948
72949         * modules/gc-hmac-md5-tests: New file.
72950
72951         * tests/test-gc-hmac-sha1.c: New file.
72952
72953         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
72954
72955         * modules/gc-hmac-md5-tests: New file.
72956
72957         * tests/test-gc-md5.c: New file.
72958
72959         * modules/gc-md5-tests: New file.
72960
72961 2005-10-13  Simon Josefsson  <jas@extundo.com>
72962
72963         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
72964         Move memory allocation outside of loop.
72965
72966 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
72967
72968         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
72969         intermediate directory is in a read-only file system.  Problem
72970         reported by Eric Blake.
72971
72972 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
72973
72974         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
72975
72976 2005-10-12  Simon Josefsson  <jas@extundo.com>
72977
72978         * tests/test-hmac-sha1.c: New file.
72979
72980         * modules/hmac-sha1-tests: New file.
72981
72982         * modules/hmac-sha1: New file.
72983
72984 2005-10-12  Simon Josefsson  <jas@extundo.com>
72985
72986         * modules/gc-sha1: New file.
72987
72988 2005-10-12  Simon Josefsson  <jas@extundo.com>
72989
72990         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
72991
72992         * tests/test-gc-pbkdf2-sha1.c: New file.
72993
72994 2005-10-12  Simon Josefsson  <jas@extundo.com>
72995
72996         * modules/gc-md5, modules/gc-hmac-md5: New files.
72997
72998         * modules/gc (Files): Remove md5, memxor and hmac files.
72999
73000 2005-10-12  Simon Josefsson  <jas@extundo.com>
73001
73002         * m4/gc-pbkdf2-sha1.m4: New file.
73003
73004         * m4/gc-hmac-sha1.m4: New file.
73005
73006         * m4/gc-sha1: New file.
73007
73008         * m4/hmac-sha1.m4: New file.
73009
73010 2005-10-12  Simon Josefsson  <jas@extundo.com>
73011
73012         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
73013
73014         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
73015
73016 2005-10-12  Simon Josefsson  <jas@extundo.com>
73017
73018         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
73019         suggested by Bruno Haible <bruno@clisp.org>.
73020
73021 2005-10-12  Simon Josefsson  <jas@extundo.com>
73022
73023         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
73024
73025 2005-10-12  Simon Josefsson  <jas@extundo.com>
73026
73027         * lib/gc-pbkdf2-sha1.c: New file.
73028
73029         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
73030
73031 2005-10-12  Simon Josefsson  <jas@extundo.com>
73032
73033         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
73034
73035         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
73036
73037 2005-10-12  Simon Josefsson  <jas@extundo.com>
73038
73039         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
73040         GC_USE_HMAC_MD5, respectively.
73041
73042         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
73043         (gc_md5): Fix typo.
73044
73045         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
73046
73047         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
73048
73049         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
73050
73051 2005-10-12  Bruno Haible  <bruno@clisp.org>
73052
73053         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
73054         Reported by Stepan Kasal <kasal@ucw.cz>.
73055
73056 2005-10-11  Simon Josefsson  <jas@extundo.com>
73057
73058         * tests/test-crc.c: New file.
73059
73060         * modules/crc, modules/crc-tests: New files.
73061
73062 2005-10-11  Simon Josefsson  <jas@extundo.com>
73063
73064         * m4/crc.m4: New file.
73065
73066 2005-10-11  Simon Josefsson  <jas@extundo.com>
73067
73068         * lib/gc.h: Add gc_hash and gc_hash_buffer.
73069
73070         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
73071
73072         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
73073
73074 2005-10-11  Simon Josefsson  <jas@extundo.com>
73075
73076         * lib/crc.h, lib/crc.c: New files.
73077
73078         * lib/gc.h (gc_hash_buffer): Add doc.
73079
73080 2005-10-11  Bruno Haible  <bruno@clisp.org>
73081
73082         * modules/c-strcasestr: New file.
73083         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
73084
73085 2005-10-11  Bruno Haible  <bruno@clisp.org>
73086
73087         * modules/c-strcase: New file.
73088         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
73089
73090 2005-10-11  Bruno Haible  <bruno@clisp.org>
73091
73092         * lib/strcasecmp.c: Include limits.h.
73093         (strcasecmp): Avoid integer overflow on exotic platforms.
73094         * lib/strncasecmp.c: Include limits.h.
73095         (strncasecmp): Avoid integer overflow on exotic platforms.
73096         Reported by Paul Eggert.
73097
73098 2005-10-11  Bruno Haible  <bruno@clisp.org>
73099
73100         * lib/c-strcasestr.h: New file, from GNU gettext.
73101         * lib/c-strcasestr.c: New file, from GNU gettext.
73102
73103 2005-10-11  Bruno Haible  <bruno@clisp.org>
73104
73105         * lib/c-strcase.h: New file, from GNU gettext.
73106         * lib/c-strcasecmp.c: New file, from GNU gettext.
73107         * lib/c-strncasecmp.c: New file, from GNU gettext.
73108
73109 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
73110
73111         * modules/mempcpy (License): GPL -> LGPL.
73112         * modules/strchrnul (License): Likewise.
73113         * modules/sysexits (License): Likewise.
73114
73115 2005-10-08  Simon Josefsson  <jas@extundo.com>
73116
73117         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
73118
73119 2005-10-07  Simon Josefsson  <jas@extundo.com>
73120
73121         * m4/memxor.m4: Remove gl_C_RESTRICT call.
73122
73123 2005-10-06  Simon Josefsson  <jas@extundo.com>
73124
73125         * tests/test-hmac-md5.c: New file.
73126
73127         * modules/hmac-md5-tests: New file.
73128
73129         * modules/hmac-md5: New file.
73130
73131 2005-10-06  Simon Josefsson  <jas@extundo.com>
73132
73133         * m4/hmac-md5.m4: New file.
73134
73135         * m4/memxor.m4: Require gl_C_RESTRICT.
73136
73137 2005-10-06  Simon Josefsson  <jas@extundo.com>
73138
73139         * lib/memxor.c (memxor): Avoid casts and warnings.
73140
73141 2005-10-06  Simon Josefsson  <jas@extundo.com>
73142
73143         * lib/hmac-md5.c: New file.
73144
73145         * lib/hmac.h: New file.
73146
73147 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
73148
73149         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
73150         promotes to int, not unsigned int, to catch the AIX 5.3
73151         compiler bug.
73152
73153 2005-10-05  Simon Josefsson  <jas@extundo.com>
73154
73155         * modules/memxor: New file.
73156
73157         * modules/iconv (Files): Move config.rpath to havelib, it is used
73158         there.
73159
73160         * modules/havelib (Files): Add config.rpath.
73161
73162 2005-10-05  Simon Josefsson  <jas@extundo.com>
73163
73164         * m4/memxor.m4: New file.
73165
73166 2005-10-05  Simon Josefsson  <jas@extundo.com>
73167
73168         * lib/memxor.c (memxor): Fix compiler error.
73169
73170         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
73171         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
73172
73173         * lib/memxor.h, lib/memxor.c: New files.
73174
73175         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
73176         we assume all systems have it, suggested by Jim Meyering
73177         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
73178         any systems lack sys/socket.h; mingw32 is known to lack it, but we
73179         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
73180         same reasons.
73181
73182 2005-10-05  Simon Josefsson  <jas@extundo.com>
73183
73184         * config/srclist.txt: Add glibc bug 1423 for md5.h.
73185
73186 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
73187
73188         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
73189         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
73190         needed, since the source code now assumes these .h files.
73191
73192 2005-10-05  Derek Price  <derek@ximbiot.com>
73193
73194         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
73195
73196 2005-10-05  Bruno Haible  <bruno@clisp.org>
73197
73198         * modules/stdint (License): Change to LGPL.
73199
73200 2005-10-04  Simon Josefsson  <jas@extundo.com>
73201
73202         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
73203         D. Baushke" <mdb@gnu.org>.
73204
73205 2005-10-04  Bruno Haible  <bruno@clisp.org>
73206
73207         * lib/verify.h (verify_true): Provide alternative definition for C++.
73208
73209 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
73210
73211         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
73212         (SSIZE_MAX): New macro, if not already defined.
73213         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
73214         than 2 GiB.
73215
73216 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
73217
73218         Sync from coreutils.
73219         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
73220         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
73221         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
73222         ULLONG_MAX doesn't work with 2.7.2.1.
73223
73224 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
73225
73226         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
73227         From Ben Pfaff.
73228
73229         * modules/exclude (Depends-on): Depend on verify.
73230         * modules/strtoimax (Depends-on): Likewise.
73231         * modules/utimecmp (Depends-on): Likewise.
73232
73233 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
73234
73235         * lib/exclude.c: Include verify.h.
73236         (verify): Remove.  All callers changed to use verify.h's version.
73237         * lib/strtoimax.c: Likewise.
73238         * lib/utimecmp.c: Likewis.e
73239
73240         Sync from coreutils.
73241         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
73242         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
73243         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
73244         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
73245         bother returning ENOSYS if settimeofday or stime fails; just let
73246         them return whatever errno they want to return.
73247         * lib/utimens.c: Include unistd.h, for dup2.
73248         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
73249         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
73250
73251 2005-10-02  Jim Meyering  <jim@meyering.net>
73252
73253         Sync from coreutils.
73254         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
73255         from glibc-2.2.5 that fails for read-only files.
73256
73257 2005-10-02  Jim Meyering  <jim@meyering.net>
73258
73259         Sync from coreutils.
73260         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
73261         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
73262         `#if HAVE_CONFIG_H'.
73263         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
73264         Remove AT_FDCWD test.
73265         Do not consume the fd unless successful.
73266         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
73267         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
73268         block, so that we don't even try to compile it if settimeofday is
73269         available.  This works around a compilation failure on OSF1 V5.1,
73270         due to stime requiring a `long int*' while tv_sec is `int'.
73271
73272 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
73273
73274         Sync from coreutils.
73275         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
73276         against `yes', rather than just testing for nonempty.
73277
73278 2005-10-01  Simon Josefsson  <jas@extundo.com>
73279
73280         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
73281         and Darwin.
73282
73283         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
73284         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
73285         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
73286         freeaddrinfo and gai_strerror are declared by the POSIX headers.
73287         Check if struct addrinfo is declared.
73288
73289 2005-10-01  Simon Josefsson  <jas@extundo.com>
73290
73291         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
73292         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
73293         AI_* and EAI_* definitions.  Protect function declarations.
73294
73295 2005-10-01  Jim Meyering  <jim@meyering.net>
73296
73297         Sync from coreutils.
73298
73299         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
73300         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
73301         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
73302         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
73303         in the inet and nsl libraries.  Required on Solaris 5.7.
73304
73305 2005-10-01  Jim Meyering  <jim@meyering.net>
73306
73307         Sync from coreutils.
73308         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
73309         in the inet and nsl libraries.  Required on Solaris 5.7.
73310
73311 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
73312
73313         * lib/getdelim.c (getdelim): Remove unused variables.
73314
73315 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
73316
73317         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
73318         so that the code works even with ancient cpp.  Portability problem
73319         with GCC 2.7.2.1 reported by Thomas M.Ott.
73320
73321 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
73322
73323         * modules/regex (Depends-on): Add strcase.
73324
73325         * modules/gethostname (Licence): Change from GPL to LGPL, since
73326         gethostname.c is a trivial implementation of a standard library
73327         function.
73328         * modules/poll (License): Change from GPL to LGPL, since it's
73329         derived from LGPL code.
73330
73331 2005-09-27  Jim Meyering  <jim@meyering.net>
73332
73333         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
73334         HAVE_CONFIG_H.
73335
73336         * lib/intprops.h (signed_type_or_expr__): Define.
73337         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
73338         for unsigned types.
73339
73340 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
73341
73342         * lib/verify.h (verify_expr): Remove, replacing with:
73343         (verify_true): New macro that returns true instead of void.
73344         (verify_type__): Remove.
73345         (verify): Use verify_true rather than verify_type__.
73346
73347 2005-09-26  Bruno Haible  <bruno@clisp.org>
73348
73349         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
73350         is necessary.
73351         (lib_SOURCES): Remove mbchar.c.
73352         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
73353         (Files): Add m4/mbrtowc.m4.
73354         * modules/mbiter: Likewise.
73355         * modules/mbuiter: Likewise.
73356
73357 2005-09-26  Bruno Haible  <bruno@clisp.org>
73358
73359         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
73360         compile mbchar.c if they are not both present.
73361         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
73362         * m4/mbiter.m4 (gl_MBITER): Likewise.
73363         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
73364         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
73365         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
73366
73367 2005-09-25  Jim Meyering  <jim@meyering.net>
73368
73369         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
73370         also uses socklen_t.
73371
73372 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
73373
73374         * lib/utimens.c (ENOSYS): Define if not already defined.
73375         (futimens): Support having a null PATH if the file descriptor
73376         is nonnegative.
73377
73378         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
73379         Remove.
73380         (__attribute): Define to empty unless GCC 3.1 or later.
73381         This works around a core dump on OpenBSD 3.4, which has GCC
73382         2.95.3, which dumps core when given __attribute__(()).  It also
73383         simplifies other tests, since we really don't want to bother with
73384         worrying about which ancient version of GCC supported what.
73385         Original problem reported by Yoann Vandoorselaere, with part of
73386         the fix suggested by Derek Price.
73387
73388 2005-09-24  Jim Meyering  <jim@meyering.net>
73389
73390         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
73391         so we can once again use a positive bitfield width of 1 -- now we
73392         don't have to explain why we were using a bitfield width of 2.
73393
73394 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
73395
73396         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
73397         and similarly for the other external symbols.  Problem reported
73398         by James Gallager.
73399
73400         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
73401         bug reported by Jim Meyering.
73402
73403         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
73404         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
73405         not needed, since socklen is a prerequisite module.
73406
73407 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
73408
73409         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
73410         Problem reported by Eric Blake.
73411         (getaddrinfo): Initialize se so that it's not garbage.
73412         Redo internal storage allocation so that it doesn't make unportable
73413         assumptions about alignment.
73414         Fix a memory leak.
73415
73416         * lib/utimens.c (futimens): Use futimesat if available.
73417         Prefer it to futimes since it doesn't have the futimes bug.
73418
73419         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
73420         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
73421         Instead, declare a function that returns a pointer to an array,
73422         and use verify_type__ to declare the size of the array.
73423         Problem and germ of a solution reported by Bruno Haible.
73424         (verify_type__): Use 2, not 1, for bitfield size, to avoid
73425         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
73426
73427 2005-09-23  Jim Meyering  <jim@meyering.net>
73428
73429         Sync from coreutils.
73430         Correct build failure (socklen_t not defined) on at least
73431         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
73432         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
73433
73434 2005-09-23  Jim Meyering  <jim@meyering.net>
73435
73436         * modules/getaddrinfo (Depends-on): Add socklen.
73437
73438 2005-09-23  Bruno Haible  <bruno@clisp.org>
73439
73440         * tests/test-verify.c: New file.
73441
73442 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
73443
73444         Sync from coreutils.
73445
73446         * modules/argmatch (Depends-on): Add verify.
73447         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
73448         unistd-safer.
73449         * modules/save-cwd (Depends-on): Likewise.
73450
73451         * modules/openat (Files): Add lib/openat-die.c.
73452         (Depends-on): Remove error, exitfail.
73453         Add dirname.
73454
73455         * modules/verify: New file.
73456         * MODULES.html.sh (Diagnostics <assert.h>): New section,
73457         with "verify" module.
73458
73459 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
73460
73461         Sync from coreutils.
73462
73463         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
73464         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
73465         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
73466         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
73467         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
73468         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
73469         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
73470         Don't bother checking for string.h, stdlib.h, unistd.h.
73471         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
73472         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
73473         module's job.
73474         * m4/jm-macros.m4 (gl_MACROS): Likewise.
73475         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
73476
73477         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
73478         (gl_GETDATE): Use it.
73479
73480         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
73481
73482 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
73483
73484         Sync from coreutils.
73485
73486         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
73487         stat-time.h.
73488         * lib/argmatch.h: Include verify.h
73489         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
73490         (ARGMATCH_ASSERT): Remove; unused.
73491         * lib/canonicalize.c: Assume STDC_HEADERS.
73492         * lib/exclude.c: Include "strcase.h".
73493         * lib/regex_internal.h [!defined _LIBC]: Likewise.
73494         * lib/getusershell.c: Include stdio--.h rather than stdio.h
73495         and stdio-safer.h.
73496         (getusershell): Call fopen, not fopen_safer.
73497         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
73498         Do not include unistd-safer.h.
73499         (save_cwd): Don't call fd_safer; no longer needed
73500         now that we include fcntl--.h.
73501
73502         * lib/getdate.y (relative_time): New type.
73503         (RELATIVE_TIME_0): New constant.
73504         (parser_control): Use relative_time instead of doing it ourselves.
73505         (%union): Add new relative_time rel member.
73506         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
73507         Now typeless.
73508         (relunit, relunit_snumber): Now of type rel.
73509         (zone, rel, relunit, get_date): Adjust to above changes.
73510
73511         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
73512         Do not include unistd-safer.h.
73513         (getloadavg): Don't call fd_safer; no longer needed
73514         now that we include fcntl--.h.
73515
73516         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
73517         (make_dir_parents): Treat ENOSYS like EEXIST.
73518
73519         Improve quality of diagnostics on restore_cwd failure.
73520         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
73521         (make_dir_parents): Last arg is now int * (for errno), not bool *.
73522         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
73523         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
73524         each time through the loop.  Do not diagnose restore_cwd failure;
73525         that is the caller's job (and perhaps the caller does not care).
73526
73527         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
73528         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
73529         If the file already exists but is not a directory, don't bother
73530         to try to make its parents.
73531         Close potential file descriptor leak if we can't chdir("/") (!).
73532         Don't always return true if chdir($PWD) fails; return true only
73533         if the requested action was done successfully (except for the
73534         chdir($PWD)).
73535         Don't log final directory unless we actually made it.
73536         Refactor to avoid duplicate code to fix up permissions.
73537         Don't attempt to fix up parent permissions if chdir($PWD) fails.
73538
73539         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
73540         to make it a bit faster and (I hope) clearer.
73541         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
73542         Fix bug in formats like %2N.
73543
73544         * lib/verify.h: New file.
73545
73546 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
73547
73548         Sync from coreutils.
73549         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
73550
73551 2005-09-22  Jim Meyering  <jim@meyering.net>
73552
73553         Sync from coreutils.
73554
73555         * m4/lstat.m4 (gl_FUNC_LSTAT):
73556         Use AC_LIBSOURCES to require lstat.c and lstat.h.
73557         Remove obsolete comment.
73558         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
73559         * m4/xstrtod.m4: Likewise.
73560
73561         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
73562
73563 2005-09-22  Jim Meyering  <jim@meyering.net>
73564
73565         Sync from coreutils.
73566
73567         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
73568
73569         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
73570         the .tm_year member, since otherwise gcc-4.0 would now warn about
73571         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
73572
73573         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
73574         order to avoid an unsuppressible warning from gcc on 64-bit systems.
73575
73576         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
73577         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
73578         when run in a time zone for which daylight savings time is in effect
73579         for the starting date.
73580
73581         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
73582         stop us from restricting permissions of just-created absolute-named
73583         directories.
73584         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
73585         to restore initial working directory.
73586         * lib/mkdir-p.c (make_dir_parents): New parameter:
73587         different_working_dir, to tell caller if/when we change the working
73588         directory and are unable to return to the initial one.
73589         * lib/mkdir-p.h (make_dir_parents): Update prototype.
73590         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
73591         `return false'.  This fixes a bug introduced on 2004-07-30.
73592
73593         * lib/openat.c (fdopendir): Be sure to close the supplied
73594         file descriptor before returning.  This makes our replacement
73595         implementation a little closer to Solaris's, where fdopendir
73596         ties the file descriptor to the returned DIR* pointer.
73597         * lib/openat.c (unlinkat): New function.
73598         * lib/openat.h (unlinkat): Add prototype.
73599         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
73600         (openat_restore_fail): Rename from openat_restore_die.
73601         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
73602
73603         Provide an alternative to exiting immediately upon save_cwd or
73604         restore_cwd failure.  Now, an application can arrange e.g.,
73605         to perform a longjump in that case.
73606         * lib/openat.c: Include dirname.h.
73607         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
73608         (rpl_openat, fdopendir, fstatat): Call openat_save_die
73609         and openat_restore_die rather than calling error directly.
73610         Don't include "error.h" or "exitfail.h"; they're no longer needed.
73611
73612         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
73613         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
73614         define.
73615
73616         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
73617         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
73618                             int utc, int nanoseconds);
73619         Background:
73620         date should not have to allocate a megabyte of virtual memory to
73621         handle a format argument like +%1048575T.  When implemented with
73622         strftime, it must allocate such a buffer, use strftime to fill it
73623         in, print it, then free it.
73624         With fprintftime, it simply prints everything and exits.
73625         With no need for memory allocation, that's one fewer way to fail.
73626         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
73627         optional field width, not before, so we accept %9:z, not %:9z.
73628         (my_strftime): Be sure to use L_('x') for literals.
73629
73630         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
73631         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
73632         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
73633         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
73634         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
73635         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
73636         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
73637         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
73638         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
73639         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
73640         * lib/xgethostname.c, lib/xreadlink.c:
73641         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
73642
73643         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
73644         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
73645         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
73646         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
73647         and don't include <sys/file.h>).
73648
73649 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
73650
73651         Sync from coreutils.
73652
73653         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
73654         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
73655         [!LDAV_DONE]: Avoid unused variable warning.
73656
73657 2005-09-21  Bruno Haible  <bruno@clisp.org>
73658
73659         * lib/unicodeio.h (unicode_to_mb): New declaration.
73660
73661 2005-09-20  Derek Price  <derek@ximbiot.com>
73662
73663         * lib/getaddrinfo.c: Don't include <netdb.h> included from
73664         getaddrinfo.h.
73665
73666 2005-09-20  Bruno Haible  <bruno@clisp.org>
73667
73668         * gnulib-tool: Remove trailing slashes from the values specified for
73669         --source-base, --m4-base, --tests-base, --aux-dir.
73670         Suggested by Simon Josefsson <jas@extundo.com>.
73671
73672 2005-09-20  Bruno Haible  <bruno@clisp.org>
73673
73674         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
73675         func_modules_to_filelist, func_import, func_create_testdir): Make all
73676         sorting results locale-independent, so that gnulib-cache.m4 doesn't
73677         change when gnulib-tool is invoked in a different locale.
73678
73679 2005-09-19  Simon Josefsson  <jas@extundo.com>
73680
73681         * m4/socklen.m4: Fix typo.
73682
73683 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73684
73685         Use a consistent style for including <config.h>.
73686         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
73687         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
73688         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
73689         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
73690         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
73691         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
73692         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
73693         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
73694         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
73695         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
73696         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
73697         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
73698         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
73699         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
73700         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
73701         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
73702         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
73703         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
73704         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
73705         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
73706         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
73707         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
73708         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
73709         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
73710         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
73711         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
73712         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
73713         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
73714         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
73715         lib/xstrtoumax.c, lib/yesno.c:
73716         Standardize inclusion of config.h.
73717         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
73718         lib/inttostr.h:  Removed inclusion of config.h from header files.
73719         * lib/inttostr.c:  Adjusted in-tree users.
73720         * lib/timespec.h: Remove superfluous warning to include config.h.
73721         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
73722         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
73723         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
73724         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
73725         config.h with HAVE_CONFIG_H.
73726
73727 2005-09-19  Jim Meyering  <jim@meyering.net>
73728
73729         * modules/pathmax (License): Change to LGPL.
73730
73731 2005-09-19  Derek Price  <derek@ximbiot.com>
73732
73733         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
73734
73735 2005-09-19  Bruno Haible  <bruno@clisp.org>
73736
73737         * gnulib-tool (import): Provide default for --tests-base.
73738
73739 2005-09-19  Bruno Haible  <bruno@clisp.org>
73740
73741         * doc/quote.texi: New file, extracted from gnulib.texi.
73742         * doc/ctime.texi: New file, extracted from gnulib.texi.
73743         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
73744         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
73745         * doc/gnulib.texi: Include them.
73746
73747 2005-09-18  Bruno Haible  <bruno@clisp.org>
73748
73749         Portability fix.
73750         * gnulib-tool (func_readlink): New function.
73751         (func_ln_if_changed): Use it.
73752
73753 2005-09-18  Bruno Haible  <bruno@clisp.org>
73754
73755         * gnulib-tool: Support --with-tests also with --import.
73756         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
73757         (func_import): Use variables $testsbase and $inctests. Emit a
73758         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
73759         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
73760         SUBDIRS += $testsdir.
73761         (func_create_testdir): Update.
73762
73763 2005-09-18  Bruno Haible  <bruno@clisp.org>
73764
73765         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
73766         instead of $dry_run.
73767         (func_cp_if_changed, func_mv_if_changed): Remove functions.
73768         (func_ln_if_changed): Don't handle dry-run here.
73769         (func_import): In dry-run mode, detect more precisely which actions
73770         would be performed, and don't use "...ing" verbs.
73771
73772 2005-09-18  Bruno Haible  <bruno@clisp.org>
73773
73774         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
73775         (func_import): Use join on two temporary files instead of three nested
73776         loops, in order to determine which files are new or old.
73777
73778 2005-09-18  Bruno Haible  <bruno@clisp.org>
73779
73780         * gnulib-tool (func_import): Comment out code that spits out the
73781         new files with --dry-run.
73782
73783 2005-09-18  Bruno Haible  <bruno@clisp.org>
73784
73785         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
73786
73787 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
73788
73789         * lib/stat-time.h: New file.
73790         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
73791         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
73792         in a different way.
73793         (timespec_cmp): New function.
73794         * lib/utimecmp.c: Include stat-time.h.
73795         (SYSCALL_RESOLUTION): Depend on whether various struct stat
73796         members exist, not on the obsolescent ST_MTIM_NSEC.
73797         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
73798
73799 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
73800
73801         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
73802
73803 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
73804
73805         * MODULES.html.sh (File system functions): Add stat-time.
73806         * modules/stat-time: New file.
73807         * modules/timespec (Files): Remove m4/st_mtim.m4; this
73808         is now done in a different way, by the stat-time module.
73809         * modules/utimecmp (Depends-on): Add stat-time.
73810
73811 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
73812
73813         * m4/st_mtim.m4: Remove.  Superseded by...
73814         * m4/stat-time.m4: New file.
73815         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
73816         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
73817
73818 2005-09-15  Derek Price  <derek@ximbiot.com>
73819
73820         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
73821
73822 2005-09-15  Derek Price  <derek@ximbiot.com>
73823
73824         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
73825         * lib/regex_internal.c: Ditto, using this...
73826         (__GNUC_PREREQ): ...new macro.
73827         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
73828         using...
73829         (__GNUC_PREREQ): ...this new macro.
73830
73831         * lib/strstr.h: Include string.h. Define strstr as a macro here.
73832
73833 2005-09-15  Derek Price  <derek@ximbiot.com>
73834             Paul Eggert  <eggert@cs.ucla.edu>
73835
73836         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
73837         changes, consolidating in...
73838         * lib/regex_internal.h: ...this file.
73839
73840 2005-09-13  Jim Meyering  <jim@meyering.net>
73841
73842         * lib/canon-host.c: Filter through gnu indent and reword comments
73843         slightly.
73844         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
73845
73846 2005-09-13  Derek Price  <derek@ximbiot.com>
73847
73848         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
73849         failure.
73850         Reported by Jim Meyering  <jim@meyering.net>.
73851
73852 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
73853
73854         * lib/base64.c: Typo.
73855         (base64_encode): Put b64str in initialized data section.
73856
73857 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
73858
73859         Merge glibc and coreutils changes into gnulib, plus a few
73860         extra fixes.
73861         * lib/md5.c: Use #error rather than a string.
73862         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
73863         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
73864         (__attribute__): Define to empty for non recent-GCC.
73865         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
73866         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
73867         Renamed from their non-__ counterparts, with new macros replacing
73868         them if not _LIBC.  Add __THROW attribute.
73869         (rol): Remove.
73870         (struct md5_ctx): Align buffer if using GCC.
73871         * lib/sha1.h (struct sha1_ctx): Likewise.
73872         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
73873         The old name was backwards.
73874         (NOTSWAP): Remove; not used.
73875         (rol): New macro, moved here from md5.h.
73876         (sha1_process_block): Remove a FIXME that doesn't make sense.
73877
73878 2005-09-12  Derek Price  <derek@ximbiot.com>
73879
73880         Return usable errors from canon-host.
73881         * lib/canon-host.h: New file.
73882         * lib/canon-host.c (canon_host): Wrap...
73883         (canon_host_r): ...this new function, which now relies exclusively on
73884         getaddrinfo.
73885         (ch_strerror): New function.
73886         (last_cherror): New global.
73887         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
73888         interface.
73889         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
73890         void *.
73891         (freeaddrinfo): Free ai->ai_canonname when set.
73892
73893 2005-09-12  Derek Price  <derek@ximbiot.com>
73894
73895         Make canon-host require getaddrinfo.
73896         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
73897         AC_LIBSOURCE canon-host.h.  Call...
73898         (gl_PREREQ_CANON_HOST): ...this new function, which requires
73899         gl_GETADDRINFO.
73900         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
73901
73902 2005-09-12  Derek Price  <derek@ximbiot.com>
73903
73904         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
73905         LGPL.
73906         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
73907
73908 2005-09-12  Derek Price  <derek@ximbiot.com>
73909
73910         * lib/gai_strerror.c: Include config.h when available.  Include
73911         getaddrinfo.h before other headers to test interface.
73912         Reported by Larry Jones <lawrence.jones@ugs.com>.
73913
73914 2005-09-12  Derek Price  <derek@ximbiot.com>
73915             Paul Eggert  <eggert@cs.ucla.edu>
73916
73917         * modules/glob (Files): Add glob-libc.h.
73918
73919 2005-09-12  Derek Price  <derek@ximbiot.com>
73920             Paul Eggert  <eggert@cs.ucla.edu>
73921
73922         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
73923         glob_.h, glob-libc.h.
73924         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
73925
73926 2005-09-12  Derek Price  <derek@ximbiot.com>
73927             Paul Eggert  <eggert@cs.ucla.edu>
73928
73929         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
73930         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
73931         protecting things that should be done only in gnulib contexts.
73932         * lib/glob_.h: New file, containing only the glob things needed for
73933         gnulib.
73934         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
73935         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
73936         (glob, globfree, glob_pattern_p): Now defined simply in terms of
73937         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
73938         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
73939         and to respect the namespace rules better.
73940
73941 2005-09-08  Simon Josefsson  <jas@extundo.com>
73942
73943         * modules/socklen: New file.
73944
73945 2005-09-08  Simon Josefsson  <jas@extundo.com>
73946
73947         * m4/socklen.m4: New file.
73948
73949 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
73950
73951         * modules/utimens (Files): Add m4/utimbuf.m4, since
73952         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
73953         Reported by Sergey Poznyakoff.
73954
73955 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
73956
73957         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
73958         definitions, since that's the preferred style in glibc.
73959         Fix a minor spacing issue, and update copyright notice to match
73960         glibc's.
73961
73962 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
73963
73964         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
73965
73966 2005-09-06  Simon Josefsson  <jas@extundo.com>
73967
73968         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
73969         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
73970
73971 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
73972
73973         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
73974         warning.
73975
73976 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
73977
73978         * config/srclist.txt: Add glibc bug 1302.
73979
73980 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
73981
73982         Change bitset word type from unsigned int to unsigned long int,
73983         as this has better performance on typical 64-bit hosts.
73984         Port bitset code to hosts with unusual word sizes.
73985         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
73986         (build_collating_symbol):
73987         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
73988         argument is a bitset.  This is merely a style issue, but it makes
73989         it clearer that an entire array is expected.
73990         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
73991         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
73992         Port to the case where bitset_word is not the same as unsigned int.
73993         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
73994         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
73995         Likewise.
73996         * lib/regexec.c (check_dst_limits_calc_pos_1,
73997         check_subexp_matching_top):
73998         (build_trtable, group_nodes_into_DFAstates):
73999         Likewise.
74000         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
74001         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
74002         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
74003         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
74004         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
74005         * lib/regcomp.c (optimize_subexps, lower_subexp):
74006         Work even if bitset_word has holes in its bitwise representation.
74007         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
74008         * lib/regexec.c (check_dst_limits_calc_pos_1,
74009         check_subexp_matching_top):
74010         Likewise.
74011         * lib/regex_internal.c (re_string_reconstruct):
74012         Don't assume UCHAR_MAX == 255.
74013         * lib/regex_internal.h (bitset_set_all): Likewise.
74014         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
74015         All uses changed.
74016         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
74017         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
74018         All uses changed.
74019         (BITSET_WORD_MAX): New macro.
74020         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
74021         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
74022         (bitset_empty, bitset_copy):
74023         Prefer sizeof (bitset) to multiplying it out ourselves.
74024         (bitset_not_merge): Remove; unused.
74025         (bitset_contain): Return bool, not unsigned int with one bit on.
74026         All callers changed.
74027         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
74028         alignment than re_node_set; do this by defining a new internal
74029         type struct dests_alloc and using it to allocate memory.
74030
74031 2005-09-05  Bruno Haible  <bruno@clisp.org>
74032
74033         * gnulib-tool (func_import): Fix comparison in handling of symbolic
74034         links.
74035
74036 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
74037
74038         * modules/size_max (Makefile.am): Add size_max.h
74039
74040 2005-09-04  Derek Price  <derek@ximbiot.com>
74041
74042         * gnulib-tool (func_import): Fix reversed $symbolic logic.
74043
74044 2005-09-03  Simon Josefsson  <jas@extundo.com>
74045
74046         * gnulib-tool: Fix typo.
74047
74048 2005-09-03  Simon Josefsson  <jas@extundo.com>
74049
74050         * config/srclist.txt: Add glibc bug 1293.
74051
74052 2005-09-03  Derek Price  <derek@ximbiot.com>
74053
74054         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
74055         From Larry Jones <lawrence.jones@ugs.com>.
74056
74057 2005-09-02  Simon Josefsson  <jas@extundo.com>
74058
74059         * modules/socklen: New file.
74060
74061 2005-09-02  Simon Josefsson  <jas@extundo.com>
74062
74063         * modules/havelib: New module.
74064
74065         * modules/gettext, modules/iconv, modules/lock, modules/readline:
74066         Use havelib.
74067
74068 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
74069
74070         Check for arithmetic overflow when calculating sizes, to prevent
74071         some buffer-overflow issues.  These patches are conservative, in the
74072         sense that when I couldn't determine whether an overflow was possible,
74073         I inserted a run-time check.
74074         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
74075         macros.
74076         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
74077         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
74078         (re_xnrealloc, re_x2nrealloc): New inline functions.
74079         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
74080         parse_bracket_exp):
74081         (build_equiv_class, build_charclass): Check for arithmetic overflow
74082         in size expression calculations.
74083         * lib/regex_internal.c (re_string_realloc_buffers):
74084         (build_wcs_upper_buffer, re_node_set_add_intersect):
74085         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
74086         (re_dfa_add_node, register_state): Likewise.
74087         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
74088         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
74089         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
74090         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
74091
74092 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
74093
74094         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
74095         m4/ulonglong.m4.  Problem reported by Martin Lambers.
74096
74097 2005-09-02  Bruno Haible  <bruno@clisp.org>
74098
74099         Support for lib vs. lib64 distinction on biarch platforms.
74100         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
74101         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
74102         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
74103
74104 2005-09-02  Bruno Haible  <bruno@clisp.org>
74105
74106         * gnulib-tool (import): In the other first-use case, provide defaults
74107         as well.
74108
74109 2005-09-02  Bruno Haible  <bruno@clisp.org>
74110
74111         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
74112         patches not yet found in the latest gettext release.
74113
74114 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
74115
74116         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
74117         to avoid a collision with bits/local_lim.h in glibc.
74118         All uses changed.  Problem reported by Dmitry V. Levin in
74119         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
74120
74121         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
74122         bugs in int versus size_t comparisons.
74123         (re_string_context_at): Fix bug where the code assumed that
74124         Idx is signed.
74125
74126         Use bool where appropriate.
74127         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
74128         All callers changed.
74129         (calc_eclosure_iter): Likewise, for ROOT arg.
74130         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
74131         (build_charclass_op): Likewise, for NON_MATCH arg.
74132         * lib/regex_internal.c (re_string_allocate, re_string_construct):
74133         (re_string_construct_common): Likewise, for ICASE arg.
74134         * lib/regexec.c (re_search_2_stub, re_search_stub):
74135         Likewise, for RET_LEN arg.
74136         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
74137         (set_regs): Likewise, for FL_BACKTRACK arg.
74138         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
74139         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
74140         (calc_eclosure_iter, parse_bracket_exp):
74141         Use bool for internal variables that are booleans.
74142         * lib/regexec.c (re_search_internal, check_matching,
74143         proceed_next_node):
74144         (set_regs, build_sifted_states, sift_states_bkref):
74145         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
74146         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
74147         (find_collation_sequence_value):
74148         Likewise.
74149         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
74150         (re_node_set_compare):
74151         Return bool, not int. All callers changed.
74152         * lib/regexec.c (check_halt_node_context, check_dst_limits):
74153         (build_trtable, check_node_accept): Likewise.
74154         * lib/regex_internal.h: Include stdbool.h.
74155
74156         Fix bugs uncovered when converting to bool.
74157         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
74158         failure instead of charging ahead blindly.
74159         * lib/regex_internal.c (register_state): Likewise.
74160         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
74161         for freeing internal storage.
74162         (group_nodes_into_DFA_states): Use unsigned int, not int, for
74163         bitset pieces used as boolean, to avoid undefined behavior
74164         on hosts that do int overflow checking.
74165
74166 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
74167
74168         * config/srclist.txt: Add glibc bugs 1285-1287.
74169
74170 2005-09-01  Jim Meyering  <jim@meyering.net>
74171
74172         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
74173         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
74174         Require gl_STAT_MACROS, too.
74175
74176 2005-09-01  Bruno Haible  <bruno@clisp.org>
74177
74178         * gnulib-tool (import): In the first-use case, provide defaults.
74179
74180 2005-09-01  Bruno Haible  <bruno@clisp.org>
74181
74182         * gnulib-tool (func_import): Remove the .tmp files.
74183
74184 2005-09-01  Bruno Haible  <bruno@clisp.org>
74185
74186         * gnulib-tool (func_import): Fix handling of symbolic links.
74187
74188 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74189
74190         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
74191         old glibc regex code mishandles strings longer than 2**31 bytes.
74192         This patch fixes this when the regex code is used in gnulib
74193         (i.e., outside glibc).
74194
74195         This patch should not affect the use of the regex code inside
74196         glibc.  No doubt this problem also needs to be handled for glibc
74197         as well, but the result will be an incompatible change to the
74198         glibc ABI, and the old ABI will have to be supported too.  That
74199         can be the the subject for another patch.
74200
74201         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
74202         governing whether the rest of this patch is active.  By default,
74203         the macro is disabled and the patch has no effect.
74204         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
74205         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
74206         (struct re_pattern_buffer, re_search, re_search_2, re_match):
74207         (re_match_2, re_set_registers): Use the new types.
74208         * lib/regex_internal.h (Idx, re_hashval_t): New types.
74209         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
74210         New macros.
74211         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
74212         (re_string_context_at, bin_tree_t, re_dfastate_t):
74213         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
74214         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
74215         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
74216         (re_string_char_size_at, re_string_wchar_at):
74217         (re_string_elem_size_at):
74218         Use the new types and macros to port to 64-bit hosts.
74219         Use unsigned types for internal values, so that the code
74220         mostly works even for arrays larger than SSIZE_MAX.
74221         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
74222         (search_duplicated_node, calc_eclosure_iter, fetch_number):
74223         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
74224         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
74225         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
74226         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
74227         (calc_inveclosure, parse_dup_op, build_range_exp):
74228         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
74229         (fetch_number, create_token_tree, mark_opt_subexp):
74230         Likewise.
74231         * lib/regex_internal.c (re_string_construct_common,
74232         create_ci_newstate):
74233         (create_cd_newstate, re_string_allocate, re_string_construct):
74234         (re_string_realloc_buffers, build_wcs_upper_buffer):
74235         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
74236         (re_string_reconstruct, re_string_peek_byte_case):
74237         (re_string_fetch_byte_case, re_string_context_at):
74238         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
74239         (re_node_set_init_copy, re_node_set_add_intersect):
74240         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
74241         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
74242         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
74243         (re_acquire_state, re_acquire_state_context, register_state):
74244         Likewise.
74245         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
74246         search_cur_bkref_entry):
74247         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
74248         (re_search_internal, re_search_2_stub, re_search_stub)
74249         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
74250         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
74251         (update_cur_sifted_state, check_dst_limits):
74252         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
74253         (check_subexp_limits, sift_states_bkref, merge_state_array):
74254         (check_subexp_matching_top, get_subexp, get_subexp_sub):
74255         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
74256         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
74257         (expand_bkref_cache, check_node_accept_bytes):
74258         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
74259         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
74260         (acquire_init_state_context, check_halt_node_context):
74261         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
74262         (sift_states_backward, clean_state_log_if_needed):
74263         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
74264         (find_recover_state, transit_state_sb, transit_state_mb):
74265         (transit_state_bkref, build_trtable, match_ctx_clean):
74266         Likewise.
74267         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
74268         to work around an assumption that REG_MISSING is negative.
74269
74270         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
74271         (seek_collating_symbol_entry) [defined _LIBC]:
74272         (lookup_collation_sequence_value) [defined _LIBC]:
74273         (build_range_exp, build_collating_symbol) [defined _LIBC]:
74274         Use prototypes rather than old-style function definitions.
74275         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
74276         (transit_state_sb) [0]:
74277         (find_collation_sequence_value) [defined _LIBC]: Likewise.
74278
74279         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
74280         rm_eo.
74281
74282         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
74283         (optimize_subexps, lower_subexp):
74284         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
74285         since the signed shift might overflow.  Use 1u<<31 instead.
74286         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
74287         Likewise.
74288         * lib/regexec.c (check_dst_limits_calc_pos_1,
74289         check_subexp_matching_top): Likewise.
74290
74291         * lib/regcomp.c (optimize_subexps, lower_subexp):
74292         Use CHAR_BIT rather than 8, for clarity.
74293         * lib/regexec.c (check_dst_limits_calc_pos_1):
74294         (check_subexp_matching_top): Likewise.
74295         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
74296         have to worry about portability issues when shifting it left.
74297         Remove no-longer-needed test for table_size > 0.
74298         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
74299         in a word, as the resulting behavior is undefined.
74300         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
74301         in one case, a <= should have been an <, and in another case the
74302         whole test was missing.
74303         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
74304         the standard name CHAR_BIT.
74305         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
74306         this is not true on one's complement and signed-magnitude hosts.
74307
74308         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
74309         next_last_offset.
74310         (struct re_dfa_t): Remove unused member states_alloc.
74311         * lib/regcomp.c (init_dfa): Don't initialize unused members.
74312
74313 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74314
74315         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
74316         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
74317         and large-file glibc and in 32-bit large-file Solaris.
74318
74319 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74320
74321         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
74322         lengths fit in regoff_t; this isn't true if regoff_t is the same
74323         width as size_t.
74324         * lib/regex.c (re_search_internal): 5th arg is LAST_START
74325         (= START + RANGE) instead of RANGE.  This avoids overflow
74326         problems when regoff_t is the same width as size_t.
74327         All callers changed.
74328         (re_search_2_stub): Check for overflow when adding the
74329         sizes of the two strings.
74330         (re_search_stub): Check for overflow when adding START
74331         to RANGE; if it occurs, substitute the extreme value.
74332
74333 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74334
74335         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
74336
74337 2005-08-31  Jim Meyering  <jim@meyering.net>
74338
74339         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
74340         a pointer-to-const.
74341         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
74342         (register_state): Likewise.
74343         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
74344         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
74345         (group_nodes_into_DFAstates): Likewise.
74346
74347 2005-08-31  Jim Meyering  <jim@meyering.net>
74348
74349         * check-module: Add a FIXME comment.
74350
74351 2005-08-31  Eric Blake  <ebb9@byu.net>
74352
74353         * modules/unistd-safer (Files): Add unistd--.h.
74354         * modules/stdio-safer (Files): Add stdio--.h.
74355
74356 2005-08-31  Derek Price  <derek@ximbiot.com>
74357
74358         * lib/getdelim.c (getdelim): Return EOF on EOF.
74359         Reported by Larry Jones <lawrence.jones@ugs.com>.
74360
74361 2005-08-31  Bruno Haible  <bruno@clisp.org>
74362
74363         Avoid unnecessary diffs in the generated lib/Makefile.am.
74364         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
74365         the generated files.
74366         (func_import): Don't set cmd.
74367
74368 2005-08-31  Bruno Haible  <bruno@clisp.org>
74369
74370         * lib/strstr.c: Include <stddef.h>, for NULL.
74371         * lib/strcasestr.c: Likewise.
74372         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
74373
74374 2005-08-31  Bruno Haible  <bruno@clisp.org>
74375
74376         * gnulib-tool: New option --macro-prefix.
74377         (func_import): Use macro_prefix.
74378         (import): Handle option --macro-prefix.
74379
74380 2005-08-31  Bruno Haible  <bruno@clisp.org>
74381
74382         * gnulib-tool (import): Rename most ac_* variables to cached_*.
74383         Also use new variables cached_lgpl, cached_libtool.
74384
74385 2005-08-31  Bruno Haible  <bruno@clisp.org>
74386
74387         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
74388         always instantiating them.
74389
74390 2005-08-31  Bruno Haible  <bruno@clisp.org>
74391
74392         * gnulib-tool (func_import): Read the previous cached settings
74393         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
74394         earlier added by gnulib but are now dropped. Warn when a gnulib file
74395         overwrites a non-gnulib file.
74396
74397 2005-08-31  Bruno Haible  <bruno@clisp.org>
74398
74399         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
74400         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
74401         projects that don't keep autogenerated files in CVS. Put into
74402         actioncmd only the specified modules, not the transitive closure.
74403
74404 2005-08-31  Bruno Haible  <bruno@clisp.org>
74405
74406         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
74407         Create directories that shall be filled.
74408         (import): Don't look for gl_* macros in configure.ac. Recurse across
74409         all directories containing a gnulib-cache.m4 files, if meaningful.
74410
74411 2005-08-31  Bruno Haible  <bruno@clisp.org>
74412
74413         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
74414         (import): Set seen_libtool when we see gl_LIBTOOL.
74415
74416 2005-08-31  Bruno Haible  <bruno@clisp.org>
74417
74418         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
74419         declaration macro definitions from generated gnulib.m4.
74420
74421 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
74422
74423         * lib/iconvme.h: Add prototype for iconv_alloc.
74424
74425 2005-08-29  Simon Josefsson  <jas@extundo.com>
74426
74427         * lib/iconvme.c: Fix errno.
74428
74429 2005-08-29  Bruno Haible  <bruno@clisp.org>
74430
74431         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
74432         that it works when the directory contains spaces.
74433
74434 2005-08-29  Bruno Haible  <bruno@clisp.org>
74435
74436         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
74437
74438 2005-08-29  Bruno Haible  <bruno@clisp.org>
74439
74440         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
74441         Emit more advice.
74442
74443 2005-08-29  Bruno Haible  <bruno@clisp.org>
74444         and Stepan Kasal  <kasal@ucw.cz>
74445
74446         * check-module: If more parameters are given, check each of them
74447         separately; add more exceptions, as noted by Jim Meyering.
74448         (check_module): New procedure.
74449         (%exempt_header): Now contains all exceptions.
74450
74451 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
74452
74453         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
74454
74455 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
74456
74457         * lib/iconvme.c: Split iconv_string into iconv_alloc.
74458
74459 2005-08-28  Bruno Haible  <bruno@clisp.org>
74460
74461         * m4/gnulib-tool.m4: New file.
74462
74463 2005-08-27  Jim Meyering  <jim@meyering.net>
74464
74465         * modules/unistd-safer (Files): Add pipe-safer.c.
74466         * modules/fcntl-safer (Files): Add creat-safer.c.
74467
74468 2005-08-27  Jim Meyering  <jim@meyering.net>
74469
74470         * m4/stdlib-safer.m4: New file.  From coreutils.
74471         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
74472         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
74473         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
74474         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
74475         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
74476
74477 2005-08-27  Jim Meyering  <jim@meyering.net>
74478
74479         * lib/fopen-safer.c: Merge minor changes from coreutils.
74480         * lib/dup-safer.c: Likewise.
74481         * lib/fd-safer.c: Likewise.
74482
74483         Merge from coreutils.
74484         * lib/stdio--.h: New file.
74485         * lib/stdlib--.h: New file.
74486         * lib/mkstemp-safer.c: New file.
74487
74488         GNU tar needs these.
74489         * lib/pipe-safer.c: New file.
74490         * lib/creat-safer.c: New file.
74491         * lib/fcntl--.h (creat): Define to creat_safer.
74492         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
74493         * lib/unistd--.h (pipe): Define to pipe_safer.
74494         * lib/unistd-safer.h: Declare pipe_safer.
74495
74496 2005-08-26  Simon Josefsson  <jas@extundo.com>
74497
74498         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
74499         Haible <bruno@clisp.org>.
74500
74501 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
74502
74503         * lib/regex_internal.h: Remove all references to
74504         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
74505         or better.
74506         (bitset_not, bitset_merge, bitset_not_merge):
74507         (bitset_mask, re_string_allocate, re_string_construct):
74508         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
74509         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
74510         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
74511         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
74512         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
74513         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
74514         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
74515         (re_acquire_state_context):
74516         Remove unnecessary forward decls.
74517         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
74518         Put __attribute at function definition,
74519         now that the function decl has been removed.
74520         * lib/regex_internal.c (re_string_peek_byte_case):
74521         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
74522         Likewise.
74523
74524 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
74525
74526         * m4/regex.m4: Add AC_PREREQ(2.50).
74527         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
74528
74529 2005-08-25  Simon Josefsson  <jas@extundo.com>
74530
74531         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
74532         __fsetlocking.
74533
74534 2005-08-25  Simon Josefsson  <jas@extundo.com>
74535
74536         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
74537         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
74538         GLIBC specific code.
74539
74540 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
74541
74542         Make regex safe for g++.  This fixes one real bug (an "err"
74543         that should have been "*err").  g++ problem reported by
74544         Sam Steingold.
74545         * lib/regex_internal.h (re_calloc): New macro, consistent with
74546         re_malloc etc.  All callers of calloc changed to use re_calloc.
74547         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
74548         not int.  All callers changed.
74549         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
74550         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
74551         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
74552         (find_recover_state): Change "err" to "*err"; this fixes what
74553         appears to be a real bug.
74554         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
74555         versus int.
74556
74557 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
74558
74559         * modules/regex (Depends-on): Add malloc, since the code
74560         assumes that !malloc(0) means failure.
74561
74562 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
74563
74564         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
74565
74566         alloca modernization/simplification for regex.
74567         * lib/regex.c: Remove portability cruft for alloca.  This no longer
74568         needs to be at the start of the file, and can be moved into
74569         regex_internal.h and simplified.
74570         * lib/regex_internal.h: Include <alloca.h>.
74571         (__libc_use_alloca) [!defined _LIBC]: New macro.
74572         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
74573         now works outside glibc.
74574
74575 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
74576
74577         * config/srclist.txt: Add glibc bugs 1241, 1245.
74578
74579 2005-08-25  Jim Meyering  <jim@meyering.net>
74580
74581         * lib/open-safer.c: Include <config.h>.
74582         Otherwise, we'd lose LARGEFILE support in any file using
74583         e.g. "fcntl--.h"
74584
74585 2005-08-25  Bruno Haible  <bruno@clisp.org>
74586
74587         * m4/minmax.m4: Require autoconf 2.52.
74588         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
74589         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
74590         alternatives of translit over the alphabet.
74591         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
74592
74593 2005-08-24  Simon Josefsson  <jas@extundo.com>
74594
74595         * tests/test-getpass.c: New file.
74596
74597 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
74598
74599         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
74600         for GNU regex features.
74601
74602 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
74603
74604         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
74605         * lib/regex.h (regerror): Likewise.
74606
74607         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
74608         requires this.  (The code never needed it.)
74609
74610         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
74611         All uses of recently-renamed identifiers changed to use the new,
74612         POSIX-compliant names.  The code will build and run just fine
74613         without these changes, but it's better to eat our own dog food
74614         and use the standard-conforming names.
74615
74616         * lib/regex.h: Fix a multitude of POSIX name space violations.
74617         These changes have an effect only for programs that define
74618         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
74619         do not change anything for programs compiled in the normal way.
74620         Also, there is no effect on the ABI.
74621
74622         (_REGEX_SOURCE): New macro.
74623         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
74624         defined and _GNU_SOURCE is not; this fixes a name space violation.
74625
74626         Rename the following macros to obey POSIX requirements.
74627         The old names are still visible as macros if _REGEX_SOURCE is defined.
74628         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
74629         RE_BACKSLASH_ESCAPE_IN_LISTS.
74630         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
74631         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
74632         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
74633         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
74634         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
74635         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
74636         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
74637         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
74638         (REG_INTERVALS): renamed from RE_INTERVALS.
74639         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
74640         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
74641         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
74642         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
74643         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
74644         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
74645         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
74646         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
74647         RE_UNMATCHED_RIGHT_PAREN_ORD.
74648         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
74649         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
74650         (REG_DEBUG): renamed from RE_DEBUG.
74651         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
74652         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
74653         unusual, since we can't clash with the POSIX REG_ICASE.
74654         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
74655         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
74656         (REG_NO_SUB): renamed from RE_NO_SUB.
74657         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
74658         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
74659         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
74660         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
74661         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
74662         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
74663         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
74664         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
74665         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
74666         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
74667         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
74668         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
74669         RE_SYNTAX_POSIX_MINIMAL_BASIC.
74670         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
74671         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
74672         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
74673         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
74674         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
74675         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
74676         (REG_FIXED): Renamed from REGS_FIXED.
74677         (REG_NREGS): Renamed from RE_NREGS.
74678
74679         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
74680         of other REG_* macros, since POSIX says the user is allowed to
74681         #undef these macros selectively.
74682
74683         (reg_errcode_t): Update comment stating what other tables need
74684         to be consistent.
74685
74686         Rename the following enum values to obey POSIX requirements.
74687         The old names are still visible as macros.
74688         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
74689         is not defined, since GNU is supposed to be a superset of POSIX as
74690         much as possible, and since we want reg_errcode_t to be a signed
74691         type for implementation consistency.
74692         (_REG_NOERROR): Renamed from REG_NOERROR.
74693         (_REG_NOMATCH): Renamed from REG_NOMATCH.
74694         (_REG_BADPAT): Renamed from REG_BADPAT.
74695         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
74696         (_REG_ECTYPE): Renamed from REG_ECTYPE.
74697         (_REG_EESCAPE): Renamed from REG_EESCAPE.
74698         (_REG_ESUBREG): Renamed from REG_ESUBREG.
74699         (_REG_EBRACK): Renamed from REG_EBRACK.
74700         (_REG_EPAREN): Renamed from REG_EPAREN.
74701         (_REG_EBRACE): Renamed from REG_EBRACE.
74702         (_REG_BADBR): Renamed from REG_BADBR.
74703         (_REG_ERANGE): Renamed from REG_ERANGE.
74704         (_REG_ESPACE): Renamed from REG_ESPACE.
74705         (_REG_BADRPT): Renamed from REG_BADRPT.
74706         (_REG_EEND): Renamed from REG_EEND.
74707         (_REG_ESIZE): Renamed from REG_ESIZE.
74708         (_REG_ERPAREN): Renamed from REG_ERPAREN.
74709         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
74710         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
74711         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
74712         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
74713
74714         (_REG_RE_NAME, _REG_RM_NAME): New macros.
74715         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
74716         changed.  But support the old name if the new one is not defined
74717         and if _REGEX_SOURCE.
74718
74719         Change the following member names in struct re_pattern_buffer.
74720         The old names are still supported if !_REGEX_SOURCE.
74721         The new names are always supported, regardless of _REGEX_SOURCE.
74722         (re_buffer): Renamed from buffer.
74723         (re_allocated): Renamed from allocated.
74724         (re_used): Renamed from used.
74725         (re_syntax): Renamed from syntax.
74726         (re_fastmap): Renamed from fastmap.
74727         (re_translate): Renamed from translate.
74728         (re_can_be_null): Renamed from can_be_null.
74729         (re_regs_allocated): Renamed from regs_allocated.
74730         (re_fastmap_accurate): Renamed from fastmap_accurate.
74731         (re_no_sub): Renamed from no_sub.
74732         (re_not_bol): Renamed from not_bol.
74733         (re_not_eol): Renamed from not_eol.
74734         (re_newline_anchor): Renamed from newline_anchor.
74735
74736         Change the following member names in struct re_registers.
74737         The old names are still supported if !_REGEX_SOURCE.
74738         The new names are always supported, regardless of _REGEX_SOURCE.
74739         (rm_num_regs): Renamed from num_regs.
74740         (rm_start): Renamed from start.
74741         (rm_end): Renamed from end.
74742
74743         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
74744         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
74745         Prepend __ to parameter names.
74746
74747         Undo yesterday's changes.
74748
74749 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
74750
74751         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
74752         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
74753         lib/regex.c.
74754
74755 2005-08-24  Jim Meyering  <jim@meyering.net>
74756
74757         Sync from coreutils.
74758         * m4/fcntl-safer.m4: New file.
74759
74760         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
74761         and object files for this module.
74762
74763 2005-08-24  Jim Meyering  <jim@meyering.net>
74764
74765         Sync from coreutils.
74766         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
74767
74768 2005-08-24  Jim Meyering  <jim@meyering.net>
74769
74770         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
74771         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
74772
74773 2005-08-24  Jim Meyering  <jim@meyering.net>
74774
74775         * modules/fcntl-safer: New module.
74776         * modules/fts (Depends-on): Add fcntl-safer.
74777         * MODULES.html.sh (File descriptor based Input/Output):
74778         Add fcntl-safer.
74779
74780 2005-08-24  Bruno Haible  <bruno@clisp.org>
74781
74782         Support for unit test modules.
74783         * modules/README: Mention tests modules.
74784         * modules/TEMPLATE-TESTS: New file.
74785         * gnulib-tool: New options --extract-tests-module, --with-tests and
74786         --tests-base (unused for the moment).
74787         (testsbase, inctests): New variables.
74788         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
74789         (func_verify_module): Exclude TEMPLATE-TESTS.
74790         (func_verify_nontests_module, func_verify_tests_module): New functions.
74791         (func_get_dependencies): Add implicit dependency for tests modules.
74792         (func_get_tests_module): New function.
74793         (func_modules_transitive_closure): When --with-tests was specified,
74794         include the unit tests as well, unless explicitly avoided.
74795         (func_emit_lib_Makefile_am): Ignore the tests modules here.
74796         (func_emit_tests_Makefile_am): New function.
74797         (func_create_testdir): When --with-tests was specified, emit a
74798         tests/ directory.
74799         * MODULES.html.sh (Future developments): Update.
74800
74801 2005-08-24  Bruno Haible  <bruno@clisp.org>
74802
74803         * modules/tls-tests: New file.
74804         * tests/test-tls.c: New file, from GNU gettext.
74805
74806 2005-08-24  Bruno Haible  <bruno@clisp.org>
74807
74808         * modules/lock-tests: New file.
74809         * tests/test-lock.c: New file, from GNU gettext.
74810
74811 2005-08-24  Bruno Haible  <bruno@clisp.org>
74812
74813         * lib/lock.h: Add multiple inclusion guard.
74814         * lib/tls.h: Add multiple inclusion guard.
74815
74816 2005-08-24  Bruno Haible  <bruno@clisp.org>
74817
74818         * gnulib-tool: Add support for the --aux-dir option to
74819         --create-testdir, --create-megatestdir, --test, --megatest.
74820         (func_create_testdir, func_create_megatestdir): Optionally emit a
74821         AC_CONFIG_AUX_DIR directive.
74822         (create-testdir, create-megatestdir, test, megatest): Provide a
74823         default value for $auxdir.
74824
74825 2005-08-24  Bruno Haible  <bruno@clisp.org>
74826
74827         * gnulib-tool (import): Use compound statement instead of subshell
74828         where possible.
74829
74830 2005-08-24  Bruno Haible  <bruno@clisp.org>
74831
74832         * gnulib-tool (import): Change --aux-dir default to "build-aux".
74833
74834 2005-08-24  Bruno Haible  <bruno@clisp.org>
74835
74836         * gnulib-tool (func_version): Update.
74837
74838 2005-08-24  Bruno Haible  <bruno@clisp.org>
74839
74840         * gnulib-tool (func_import, func_create_testdir,
74841         func_create_megatestdir): Quote all autoconf macro arguments.
74842
74843 2005-08-24  Bruno Haible  <bruno@clisp.org>
74844
74845         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
74846         option --force, because --force causes the aclocal.m4 of each
74847         subdirectory to be newer than the corresponding config.h.in.
74848
74849 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
74850
74851         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
74852         All contents moved to gl_REGEX.
74853         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
74854         assume that it does.
74855
74856 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
74857
74858         * lib/regex.h (REG_NOSYS)
74859         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
74860         Define, since POSIX requires it as of 2001.
74861         (_REG_ENOSYS)
74862         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
74863         New private symbol, used to keep the enum signed in all cases.
74864         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
74865         Youngman in
74866         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
74867
74868         * lib/regex_internal.c (re_string_skip_chars, register_state):
74869         (calc_state_hash):
74870         Remove forward decls; no longer needed now that we use prototypes.
74871         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
74872         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
74873         (clean_state_log_if_needed): Likewise.
74874
74875 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
74876
74877         * config/srclist.txt: Add glibc bugs 1231-1233.
74878
74879 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
74880
74881         Fix problems reported by Sam Steingold in
74882         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
74883         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
74884         assumed that reg_errcode_t is a signed type, which is not
74885         necessarily true if _XOPEN_SOURCE is not defined.
74886         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
74887         since some compilers warn about it otherwise.
74888
74889 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
74890
74891         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
74892         (init_word_char, create_initial_state, duplicate_node_closure):
74893         (fetch_token, peek_token_bracket, build_range_exp):
74894         (build_collating_symbol): Remove forward decls; no longer needed
74895         now that we use prototypes.
74896
74897         * lib/regcomp.c:
74898         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
74899         (re_compile_fastmap_iter, regcomp, regerror, regfree):
74900         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
74901         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
74902         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
74903         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
74904         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
74905         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
74906         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
74907         (build_range_exp, build_collating_symbol, parse_bracket_exp):
74908         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
74909         (build_charclass, build_charclass_op, fetch_number, create_tree):
74910         (create_token_tree, mark_opt_subexp, duplicate_tree):
74911         Use prototypes rather than old-style definitions.
74912
74913         * lib/regex_internal.c:
74914         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
74915         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
74916         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
74917         (re_string_reconstruct, re_string_peek_byte_case):
74918         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
74919         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
74920         (re_node_set_init_copy, re_node_set_add_intersect):
74921         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
74922         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
74923         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
74924         (re_acquire_state, re_acquire_state_context, register_state):
74925         (create_ci_newstate, create_cd_newstate, free_state):
74926         Likewise.
74927         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
74928         re_search_2):
74929         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
74930         (re_search_internal, prune_impossible_nodes):
74931         (acquire_init_state_context, check_matching, static):
74932         (check_halt_node_context, check_halt_state_context, proceed_next_node):
74933         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
74934         (update_regs, sift_states_backward, build_sifted_states):
74935         (clean_state_log_if_needed, merge_state_array):
74936         (update_cur_sifted_state, add_epsilon_src_nodes):
74937         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
74938         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
74939         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
74940         (find_recover_state, check_subexp_matching_top, transit_state_mb):
74941         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
74942         (check_arrival, check_arrival_add_next_nodes):
74943         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
74944         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
74945         (check_node_accept_bytes, check_node_accept, extend_buffers):
74946         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
74947         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
74948         (sift_ctx_init):
74949         Likewise.
74950
74951         * lib/regex_internal.h:
74952         (re_string_allocate, re_string_construct, re_string_reconstruct):
74953         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
74954         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
74955         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
74956         (re_string_context_at, re_string_peek_byte_case):
74957         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
74958         is defined, since we now use prototypes always.
74959
74960         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
74961         C89 or better.  All uses removed.
74962
74963 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
74964
74965         * config/srclist.txt: Add glibc bugs 1220-1227.
74966
74967 2005-08-20  Jim Meyering  <jim@meyering.net>
74968
74969         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
74970         of unused local, dfa.
74971
74972 2005-08-20  Bruno Haible  <bruno@clisp.org>
74973
74974         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
74975
74976 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
74977
74978         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
74979         (re_node_set_insert_last, re_dfa_add_node):
74980         Rename local variables to avoid GCC shadowing warnings.
74981
74982 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
74983
74984         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
74985         [defined lint]: Suppress bogus uninitialized-variable warnings.
74986
74987         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
74988         and let the caller return REG_ESPACE if out of space.  This
74989         removes an uninitialied-variable warning with GCC 4.0.1, and also
74990         avoids taking the address of a local variable.  All callers
74991         changed.
74992
74993 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
74994
74995         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
74996         $LIBCSRC/posix/regexec.c.
74997         Add glibc bug 1217 for regcomp.c.
74998
74999 2005-08-19  Jim Meyering  <jim@meyering.net>
75000
75001         * lib/regexec.c (proceed_next_node): Redo local variables to
75002         avoid GCC shadowing warnings.
75003
75004 2005-08-18  Bruno Haible  <bruno@clisp.org>
75005
75006         * lib/strstr.c (strstr): Fix return value in multibyte case.
75007         * lib/strcasestr.c (strcasestr): Likewise.
75008
75009 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
75010
75011         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
75012
75013 2005-08-17  Jim Meyering  <jim@meyering.net>
75014
75015         Make the %s format (seconds since the epoch) work for a negative
75016         number and when used with a zero-padded field width, e.g. %015s.
75017
75018         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
75019         label so that it precedes the code to set `digits'.  Otherwise,
75020         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
75021         print `00-22'.  Now, it prints `-0022', as it should.
75022
75023 2005-08-17  Bruno Haible  <bruno@clisp.org>
75024
75025         * modules/strstr (Files): Add m4/mbrtowc.m4.
75026         (Depends-on): Add mbuiter.
75027
75028 2005-08-17  Bruno Haible  <bruno@clisp.org>
75029
75030         * modules/strcasestr: New file.
75031         * MODULES.html.sh (String handling, based on ANSI C 89): Add
75032         strcasestr.
75033
75034 2005-08-17  Bruno Haible  <bruno@clisp.org>
75035
75036         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
75037
75038 2005-08-17  Bruno Haible  <bruno@clisp.org>
75039
75040         * modules/mbuiter: New file.
75041         * MODULES.html.sh (Extended multibyte and wide character utilities):
75042         Add mbuiter.
75043
75044 2005-08-17  Bruno Haible  <bruno@clisp.org>
75045
75046         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
75047         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
75048
75049 2005-08-17  Bruno Haible  <bruno@clisp.org>
75050
75051         * m4/strcasestr.m4: New file.
75052
75053 2005-08-17  Bruno Haible  <bruno@clisp.org>
75054
75055         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
75056         * lib/strstr.c: Completely rewritten, with multibyte locale support.
75057
75058 2005-08-17  Bruno Haible  <bruno@clisp.org>
75059
75060         * lib/strcasestr.h: New file.
75061         * lib/strcasestr.c: New file.
75062
75063 2005-08-17  Bruno Haible  <bruno@clisp.org>
75064
75065         * lib/strcasecmp.c: Use mbuiter.h.
75066
75067 2005-08-17  Bruno Haible  <bruno@clisp.org>
75068
75069         * lib/mbuiter.h: New file.
75070
75071 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
75072
75073         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
75074         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
75075         and gl_GETOPT are both invoked via different paths (as happens
75076         with GNU tar CVS because it uses both argp and getopt), the former
75077         wins.
75078
75079 2005-08-16  Bruno Haible  <bruno@clisp.org>
75080
75081         * modules/tls: New file.
75082         * MODULES.html.sh (Multithreading): Add tls.
75083
75084 2005-08-16  Bruno Haible  <bruno@clisp.org>
75085
75086         * modules/strnlen1: New file.
75087         * MODULES.html.sh (String handling): Add strnlen1.
75088
75089 2005-08-16  Bruno Haible  <bruno@clisp.org>
75090
75091         * modules/strcase (Files): Add m4/mbrtowc.m4.
75092         (Depends-on): Add strnlen1, mbchar.
75093
75094 2005-08-16  Bruno Haible  <bruno@clisp.org>
75095
75096         * modules/mbiter: New file.
75097         * MODULES.html.sh (Extended multibyte and wide character utilities):
75098         Add mbiter.
75099
75100 2005-08-16  Bruno Haible  <bruno@clisp.org>
75101
75102         * modules/mbfile: New file.
75103         * MODULES.html.sh (Extended multibyte and wide character utilities):
75104         Add mbfile.
75105
75106 2005-08-16  Bruno Haible  <bruno@clisp.org>
75107
75108         * modules/mbchar: New file.
75109         * MODULES.html.sh (Extended multibyte and wide character utilities):
75110         New section.
75111
75112 2005-08-16  Bruno Haible  <bruno@clisp.org>
75113
75114         * m4/tls.m4: New file, from GNU gettext.
75115
75116 2005-08-16  Bruno Haible  <bruno@clisp.org>
75117
75118         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
75119         always.
75120         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
75121
75122 2005-08-16  Bruno Haible  <bruno@clisp.org>
75123
75124         * m4/mbiter.m4: New file.
75125
75126 2005-08-16  Bruno Haible  <bruno@clisp.org>
75127
75128         * m4/mbfile.m4: New file.
75129
75130 2005-08-16  Bruno Haible  <bruno@clisp.org>
75131
75132         * m4/mbchar.m4: New file.
75133
75134 2005-08-16  Bruno Haible  <bruno@clisp.org>
75135
75136         * lib/tls.h: New file, from GNU gettext.
75137         * lib/tls.c: New file, from GNU gettext.
75138
75139 2005-08-16  Bruno Haible  <bruno@clisp.org>
75140
75141         * lib/strnlen1.h: New file.
75142         * lib/strnlen1.c: New file.
75143
75144 2005-08-16  Bruno Haible  <bruno@clisp.org>
75145
75146         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
75147         (mbi_init): Update.
75148         (mbi_avail, mbi_advance): Let the iteration end before the terminating
75149         NUL byte, not after it.
75150
75151 2005-08-16  Bruno Haible  <bruno@clisp.org>
75152
75153         * lib/strcase.h (strcasecmp): Add note in comments.
75154         * lib/strncasecmp.c: Use code from strcasecmp.c.
75155         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
75156         (strcasecmp): Work correctly in multibyte locales.
75157
75158 2005-08-16  Bruno Haible  <bruno@clisp.org>
75159
75160         * lib/mbiter.h: New file.
75161
75162 2005-08-16  Bruno Haible  <bruno@clisp.org>
75163
75164         * lib/mbfile.h: New file.
75165
75166 2005-08-16  Bruno Haible  <bruno@clisp.org>
75167
75168         * lib/mbchar.h: New file.
75169         * lib/mbchar.c: New file.
75170
75171 2005-08-16  Bruno Haible  <bruno@clisp.org>
75172
75173         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
75174         the valid ones. Makes the comparison operations transitive:
75175         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
75176         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
75177
75178 2005-08-15  Simon Josefsson  <jas@extundo.com>
75179
75180         * modules/ssize_t (License): Change to 'unlimited'.
75181
75182         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
75183
75184 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
75185
75186         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
75187         Add comments for each pending glibc patch.
75188
75189 2005-08-15  Bruno Haible  <bruno@clisp.org>
75190
75191         * lib/regex.h (__restrict_arr): Don't define to __restrict if
75192         __cplusplus is defined.
75193
75194 2005-08-14  Jim Meyering  <jim@meyering.net>
75195
75196         Sync from coreutils.
75197
75198         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
75199         Use the hash-table-based cycle-detection code not just when
75200         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
75201         Reported by James Youngman in
75202         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
75203         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
75204         FTS_TIGHT_CYCLE_CHECK.
75205         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
75206         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
75207         once again.
75208         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
75209         * lib/fts.c (fd_safer): Remove decl.
75210         Include fcntl--.h rather than unistd-safer.h
75211         (fts_safe_changedir): Don't call fd_safer; no longer needed
75212         now that we include fcntl--.h.
75213
75214 2005-08-12  Simon Josefsson  <jas@extundo.com>
75215
75216         * modules/getndelim2: Use ssize_t module.
75217         * modules/getnline: Likewise.
75218         * modules/safe-read: Likewise.
75219         * modules/xreadlink: Likewise.
75220
75221         * modules/ssize_t: New file.
75222
75223 2005-08-12  Simon Josefsson  <jas@extundo.com>
75224
75225         * m4/readline.m4: Look for termcap, curses or ncurses if required.
75226
75227 2005-08-12  Simon Josefsson  <jas@extundo.com>
75228
75229         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
75230         ssize_t.
75231
75232 2005-08-12  Simon Josefsson  <jas@extundo.com>
75233
75234         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
75235         readline, getdelim and check_version.
75236         (Support for systems lacking ISO C 99: Sizes of integer types):
75237         Add size_max.
75238
75239 2005-08-12  Bruno Haible  <bruno@clisp.org>
75240
75241         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
75242
75243 2005-08-11  Simon Josefsson  <jas@extundo.com>
75244
75245         * modules/readline: New file.
75246
75247         * modules/strnlen (Files): Add strnlen.h.
75248
75249 2005-08-11  Simon Josefsson  <jas@extundo.com>
75250
75251         * m4/readline.m4: New file.
75252
75253 2005-08-11  Simon Josefsson  <jas@extundo.com>
75254
75255         * lib/readline.h, readline.c: New file.
75256
75257 2005-08-11  Simon Josefsson  <jas@extundo.com>
75258
75259         * doc/gnulib.texi (Initial import, Finishing touches): Mention
75260         gl_AVOID.
75261
75262 2005-08-11  Bruno Haible  <bruno@clisp.org>
75263
75264         * lib/strnlen.h (strnlen): Change parameter name to match comment.
75265
75266 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
75267
75268         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
75269
75270 2005-08-10  Simon Josefsson  <jas@extundo.com>
75271
75272         * tests/test-iconvme.c: New file.
75273
75274 2005-08-10  Simon Josefsson  <jas@extundo.com>
75275
75276         * m4/strnlen.m4: New file.
75277
75278         * m4/strndup.m4: Don't check for strnlen declaration, done in
75279         strnlen.m4.
75280
75281 2005-08-10  Simon Josefsson  <jas@extundo.com>
75282
75283         * lib/strndup.c: Use strnlen.h.
75284
75285         * lib/strnlen.h: New file.
75286
75287 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
75288
75289         * README: Typos.
75290
75291 2005-08-02  Simon Josefsson  <jas@extundo.com>
75292
75293         * modules/readline: New file.
75294
75295 2005-08-02  Simon Josefsson  <jas@extundo.com>
75296
75297         * modules/getdelim: New file.
75298
75299         * modules/getline: Rewrite, don't use getndelim2.
75300
75301 2005-08-02  Simon Josefsson  <jas@extundo.com>
75302
75303         * m4/getline.m4: Separate out getdelim stuff into separate module.
75304
75305         * m4/getdelim.m4: New file.
75306
75307 2005-08-02  Simon Josefsson  <jas@extundo.com>
75308
75309         * lib/getline.h, getline.c: Rewrite.
75310
75311         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
75312
75313 2005-07-31  Bruno Haible  <bruno@clisp.org>
75314
75315         * lib/lock.h (gl_lock_initializer): New macro.
75316         (gl_lock_define_initialized): Use it.
75317         (gl_rwlock_initializer): New macro.
75318         (gl_rwlock_define_initialized): Use it.
75319         (gl_recursive_lock_initializer): New macro.
75320         (gl_recursive_lock_define_initialized): Use it.
75321
75322 2005-07-30  Karl Berry  <karl@gnu.org>
75323
75324         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
75325         Report from Ben Pfaff, regarding getopt.
75326
75327 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
75328
75329         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
75330         normal way.
75331         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
75332         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
75333         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
75334         (gl_GETOPT): Use the new macros.  Most of the implementation
75335         is moved to the new macros.  This is for programs like Emacs
75336         that don't want all the functionality of gl_GETOPT.
75337
75338 2005-07-26  Bruno Haible  <bruno@clisp.org>
75339
75340         * m4/lock.m4: Update from GNU gettext.
75341
75342 2005-07-26  Bruno Haible  <bruno@clisp.org>
75343
75344         * lib/lock.h: Update from GNU gettext.
75345         * lib/lock.c: Update from GNU gettext.
75346
75347 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
75348
75349         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
75350         obsolescent AC_TRY_RUN.  Include the default includes files, for
75351         'exit'.
75352
75353 2005-07-24  Bruno Haible  <bruno@clisp.org>
75354
75355         * modules/visibility: New file.
75356         * MODULES.html.sh (Misc): Add visibility.
75357
75358 2005-07-24  Bruno Haible  <bruno@clisp.org>
75359
75360         * m4/visibility.m4: New file.
75361
75362 2005-07-24  Bruno Haible  <bruno@clisp.org>
75363
75364         * doc/visibility.texi: New file.
75365
75366 2005-07-22  Bruno Haible  <bruno@clisp.org>
75367
75368         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
75369         $(ALLOCA_H), redundant through BUILT_SOURCES.
75370         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
75371         redundant through BUILT_SOURCES.
75372         * modules/byteswap (Makefile.am): Remove explicit dependency on
75373         $(BYTESWAP_H), redundant through BUILT_SOURCES.
75374         * modules/fnmatch (Makefile.am): Remove explicit dependency on
75375         $(FNMATCH_H), redundant through BUILT_SOURCES.
75376         * modules/getopt (Makefile.am): Remove explicit dependency on
75377         $(GETOPT_H), redundant through BUILT_SOURCES.
75378         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
75379         redundant through BUILT_SOURCES.
75380         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
75381         redundant through BUILT_SOURCES.
75382         * modules/stdbool (Makefile.am): Remove explicit dependency on
75383         $(STDBOOL_H), redundant through BUILT_SOURCES.
75384         * modules/stdint (Makefile.am): Remove explicit dependency on
75385         $(STDINT_H), redundant through BUILT_SOURCES.
75386         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
75387         Remove explicit dependency on $(SYSEXITS_H).
75388         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
75389
75390 2005-07-18  Simon Josefsson  <jas@extundo.com>
75391
75392         * lib/check-version.c (check_version): Accept identical versions too.
75393
75394 2005-07-18  Bruno Haible  <bruno@clisp.org>
75395
75396         * modules/lock: New file.
75397         * MODULES.html.sh (Multithreading): New section.
75398
75399 2005-07-18  Bruno Haible  <bruno@clisp.org>
75400
75401         * m4/lock.m4: New file, from GNU gettext.
75402
75403 2005-07-18  Bruno Haible  <bruno@clisp.org>
75404
75405         * lib/lock.h: New file, from GNU gettext.
75406         * lib/lock.c: New file, from GNU gettext.
75407
75408 2005-07-18  Bruno Haible  <bruno@clisp.org>
75409
75410         * lib/lock.h (gl_once_t): New type.
75411         (gl_once_define, gl_once): New macros.
75412         * lib/lock.c (fresh_once): New variable.
75413         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
75414         functions.
75415
75416 2005-07-16  Simon Josefsson  <jas@extundo.com>
75417
75418         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
75419         workaround, suggested by Bruno.
75420
75421 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
75422
75423         * modules/xalloc (Depends-on): Add xalloc-die.
75424         * modules/xvasprintf (Depends-on): Add xalloc-die.
75425
75426 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
75427
75428         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
75429         with a minor change.
75430
75431 2005-07-15  Bruno Haible  <bruno@clisp.org>
75432
75433         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
75434         When using lib/poll.c, define poll as rpl_poll.
75435
75436 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
75437
75438         * modules/argp (Depends-on): Remove unlocked-io.
75439
75440 2005-07-14  Derek Price  <derek@ximbiot.com>
75441
75442         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
75443         for glob symlink bug.
75444
75445 2005-07-14  Bruno Haible  <bruno@clisp.org>
75446
75447         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
75448         Instead, test for *_unlocked function declarations directly.
75449
75450 2005-07-11  Simon Josefsson  <jas@extundo.com>
75451
75452         * modules/size_max: New file.
75453
75454         * modules/xsize: Depend on size_max module for size_max.m4.
75455
75456 2005-07-11  Simon Josefsson  <jas@extundo.com>
75457
75458         * lib/size_max.h: New file.
75459
75460 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
75461
75462         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
75463         copyright symbol and the year.
75464         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
75465         (version_etc_va): Use parameterized copyright notice.
75466         Reword to conform to the current GNU coding standards.
75467
75468 2005-07-11  Karl Berry  <karl@gnu.org>
75469
75470         * doc/gnulib.texi (Quoting): new node.
75471         (Initial import): more info, from Patrice.
75472
75473 2005-07-11  Bruno Haible  <bruno@clisp.org>
75474
75475         * gnulib-tool (func_usage): Document option --avoid.
75476         (Command line options): Handle --avoid.
75477         (func_acceptable): New function.
75478         (func_modules_transitive_closure): Use it.
75479
75480 2005-07-11  Bruno Haible  <bruno@clisp.org>
75481
75482         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
75483         Reported by Jim Meyering.
75484
75485 2005-07-10  Bruno Haible  <bruno@clisp.org>
75486
75487         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
75488         Needed when size_t is smaller than 'unsigned int'.
75489         Reported by Paul Eggert.
75490
75491 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
75492
75493         * modules/argp (Depends-on): Add unlocked-io
75494
75495 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
75496
75497         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
75498         block of defines.
75499
75500 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
75501
75502         * config/srclist.txt: Comment out regcomp.c, since we have a porting
75503         fix now.
75504
75505 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
75506         and Paul Eggert  <eggert@cs.ucla.edu>
75507
75508         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
75509         in wint_t, not wchar_t.  Remove now-unnecessary cast.
75510
75511 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
75512
75513         * modules/regex (Files): Add lib/regex_internal.c,
75514         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
75515         (Depends-on): Add extensions.
75516         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
75517
75518 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
75519
75520         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
75521         pathconf.
75522         * m4/same.m4 (gl_SAME): Likewise.
75523         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
75524
75525         * m4/regex.m4: Adjust to new libc regex implementation.
75526         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
75527         all the .c and .h parts of (the new) regex.
75528         Quote the m4 stuff better.
75529         Check for RE_ICASE bug of old gnulib.
75530         Check for REG_STARTEND of recent libc.
75531         Rename local variables from jm_* to gl_*.
75532         Quote operand of "test -f".
75533         Say "recent enough" version of libc, not "version 2".
75534         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
75535         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
75536         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
75537         Remove check for btowc, isascii.
75538         Require AM_LANGINFO_CODESET.
75539
75540 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
75541
75542         * lib/regex.c, regex.h: Sync from libc.
75543         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
75544         * lib/regexec.c:
75545         New files, synced from libc, except that regex_internal.h
75546         currently has a small porting fix.
75547
75548 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
75549
75550         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
75551         regex_internal.c, regexec.c.
75552         Add regex_internal.h too, but as a comment, since the libc version
75553         is currently broken in gnulib mode.
75554
75555 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
75556
75557         Support programs like Emacs that use gnulib but not gettext.
75558         * MODULES.html.sh (Internationalization functions): Add gettext-h.
75559         * modules/gettext-h: New file.
75560         * modules/gettext (Files): Remove lib/gettext.h.
75561         (Depends-on): Add gettext-h.
75562         (Makefile.am): Remove lib_SOURCES.
75563         * modules/argmatch, modules/c-stack, modules/closeout:
75564         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
75565         * modules/execute, modules/file-type, modules/getaddrinfo:
75566         * modules/getopt, modules/human, modules/javacomp:
75567         * modules/javaexec, modules/mkdir-p, modules/obstack:
75568         * modules/openat, modules/pagealign_alloc, modules/pipe:
75569         * modules/quotearg, modules/regex, modules/rpmatch:
75570         * modules/unicodeio, modules/userspec, modules/version-etc:
75571         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
75572         * modules/xsetenv:
75573         Depend on gettext-h, not gettext.
75574
75575 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
75576
75577         * gnulib-tool (func_import): Add support for 'public domain' license.
75578         * modules/alloca, modules/atexit, modules/memmove:
75579         Now public domain, not GPL.
75580         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
75581         * modules/realloc, modules/strerror, modules/strtod:
75582         Now LGPL, not GPL.
75583
75584 2005-07-05  Bruno Haible  <bruno@clisp.org>
75585
75586         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
75587         autoconf CVS. Needed for mingw.
75588
75589 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
75590
75591         Remove the dependency of the strftime module on the tzset module.
75592         * modules/strftime (Depends-on): Remove dependency on tzset.
75593
75594 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
75595
75596         Remove the dependency of the strftime module on the tzset module.
75597         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
75598         gl_FUNC_TZSET_CLOBBER.
75599
75600 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
75601
75602         Remove the dependency of the strftime module on the tzset module.
75603         * lib/strftime.c (my_strftime)
75604         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
75605         Copy the input structure, to work around some of the bug with
75606         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
75607         Solaris releases, you should also use the tzset module, but we won't
75608         require it as a dependency any more since we don't want LGPLed code
75609         to depend on GPLed code.
75610
75611 2005-07-02  Jim Meyering  <jim@meyering.net>
75612
75613         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
75614         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
75615         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
75616         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
75617
75618 2005-07-02  Jim Meyering  <jim@meyering.net>
75619
75620         * lib/backupfile.c (backup_args): Change a `0' to NULL.
75621
75622 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
75623
75624         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
75625         declares only 'struct timespec;' (!).
75626
75627 2005-07-01  Jim Meyering  <jim@meyering.net>
75628
75629         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
75630         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
75631         * lib/save-cwd.c, tempname.c:
75632         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
75633         and don't include <sys/file.h>).
75634
75635 2005-06-29  Jim Meyering  <jim@meyering.net>
75636
75637         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
75638         type name.  Use the variable name instead.
75639         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
75640         Likewise.
75641
75642 2005-06-28  Simon Josefsson  <jas@extundo.com>
75643
75644         * modules/check-version (Files): Add check-version.m4.
75645
75646 2005-06-28  Simon Josefsson  <jas@extundo.com>
75647
75648         * m4/check-version.m4: New file, suggested by Jim Meyering
75649         <jim@meyering.net>.
75650
75651 2005-06-28  Simon Josefsson  <jas@extundo.com>
75652
75653         * lib/check-version.h, lib/check-version.c: New files.
75654
75655 2005-06-28  Simon Josefsson  <jas@extundo.com>
75656
75657         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
75658         collision with global variable.  Better indentation.  Don't
75659         increment buffer pointer beyond buffer end.  Based on comments
75660         from Paul Eggert <eggert@cs.ucla.edu>.
75661
75662         * lib/base64.h: Indent.
75663
75664 2005-06-28  Simon Josefsson  <jas@extundo.com>
75665
75666         * doc/gnulib.texi (Library version handling): New section.
75667
75668 2005-06-28  Jim Meyering  <jim@meyering.net>
75669
75670         * check-module (find_included_lib_files): Hard-code another
75671         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
75672         but modules/fts-lgpl (correctly) does not list those files.
75673
75674         * modules/canonicalize (Files): Add lib/pathmax.h.
75675
75676 2005-06-25  Simon Josefsson  <jas@extundo.com>
75677
75678         * modules/check-version: New file.
75679
75680 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
75681
75682         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
75683         initializer of struct addrinfo, as an indication that we don't
75684         care how many members the structure has.
75685
75686 2005-06-24  Derek Price  <derek@ximbiot.com>
75687         and Bruno Haible  <bruno@clisp.org>
75688
75689         Remove stat module & update lstat.
75690         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
75691         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
75692         * m4/stat.m4: Remove this file.
75693
75694 2005-06-24  Derek Price  <derek@ximbiot.com>
75695         and Bruno Haible  <bruno@clisp.org>
75696
75697         Remove stat module & update lstat.
75698         * lib/stat.c: Remove this file...
75699         (slash_aware_lstat): ...moving this content and its support...
75700         * lib/lstat.c (rpl_lstat): ...into here.
75701         * lib/lstat.h: New file.
75702
75703 2005-06-24  Derek Price  <derek@ximbiot.com>
75704         and Bruno Haible  <bruno@clisp.org>
75705
75706         Remove stat module & update lstat.
75707         * config/srclist.txt (libc sources): Remove stat.
75708
75709 2005-06-24  Derek Price  <derek@ximbiot.com>
75710         and Bruno Haible  <bruno@clisp.org>
75711
75712         Remove stat module & update lstat.
75713         * MODULES.html.sh (stat): Remove.
75714         * MODULES.html: Regenerated.
75715         * modules/lstat (Description): Correct function name.
75716         (Files): Add "lstat.h".
75717         (Depends-on): Remove stat, add xalloc, stat-macros.
75718         * modules/stat: Remove this file.
75719         (Include): Add "lstat.h", remove <sys/stat.h>.
75720
75721 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
75722
75723         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
75724         (ranged_convert): Don't save conversion in a temporary struct.
75725         This causes a warning with GCC 4.0.0, and anyway in the typical
75726         case it's not worth the extra 100 bytes or so of code.
75727         (ranged_convert, __mktime_internal): When calling a function via a
75728         pointer P, use P () rather than (*P) (), as we now assume C89 or
75729         better.
75730
75731 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
75732
75733         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
75734         "who -r" failed to give output.  Problem reported by Tim Waugh.
75735
75736         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
75737         (xcalloc): Use it to avoid needless tests.
75738         Problem reported by Jim Meyering.
75739
75740 2005-06-20  Derek Price  <derek@ximbiot.com>
75741
75742         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
75743         unnecessary for Autoconfs > 2.59c.
75744
75745 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
75746
75747         * lib/argp.h (__option_is_short): Check upper limit of
75748         __key. Isprint() requires its argument to have the value
75749         of an unsigned char or EOF.
75750
75751 2005-06-16  Jim Meyering  <jim@meyering.net>
75752
75753         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
75754         when either N or S is zero.
75755
75756 2005-06-16  Derek Price  <derek@ximbiot.com>
75757
75758         * m4/bison.m4: Declare YACC & YFLAGS precious.
75759
75760 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
75761
75762         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
75763         multibyte string or pattern, fall back on unibyte matching.
75764         Problem reported by James Youngman.
75765
75766 2005-06-08  Bruno Haible  <bruno@clisp.org>
75767
75768         * modules/csharpcomp: New file.
75769         * MODULES.html.sh (C#): Add csharpcomp.
75770
75771 2005-06-08  Bruno Haible  <bruno@clisp.org>
75772
75773         * m4/csharpcomp.m4: New file, from GNU gettext.
75774
75775 2005-06-08  Bruno Haible  <bruno@clisp.org>
75776
75777         * lib/csharpcomp.h: New file, from GNU gettext.
75778         * lib/csharpcomp.c: New file, from GNU gettext.
75779         * lib/csharpcomp.sh.in: New file, from GNU gettext.
75780
75781 2005-06-08  Bruno Haible  <bruno@clisp.org>
75782
75783         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
75784         warning on mingw.
75785
75786 2005-06-07  Derek Price  <derek@ximbiot.com>
75787
75788         Sync from CVS.
75789         * lib/glob_.h: Indent nested #ifdef.
75790
75791 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
75792
75793         Sync from coreutils.
75794         Use "file name" when talking about file names, instead of "filename"
75795         or "path", as per the GNU coding standards.
75796         * lib/mkdir-p.c: Renamed from makepath.c.
75797         (make_dir_parents): Renamed from make_path.  All callers changed.
75798         * lib/mkdir-p.h: Likewise.  All includers changed.
75799         * lib/filenamecat.c: Renamed from path-concat.c.
75800         (file_name_concat): Renamed from path_concat.  All callers changed.
75801         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
75802         * lib/filenamecat.h: Likewise.  All includers changed.
75803         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
75804         in comments or local variable names.
75805         * lib/basename.c: Likewise.
75806         * lib/canonicalize.c, canonicalize.h: Likewise.
75807         * lib/dirname.c, dirname.h: Likewise.
75808         * lib/euidaccess.c: Likewise.
75809         * lib/exclude.c: Likewise
75810         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
75811         * lib/fsusage.c, fsuage.h: Likewise.
75812         * lib/fts.c, fts_.h: Likewise.
75813         * lib/getcwd.c: Likewise.
75814         * lib/getloadavg.c: Likewise.
75815         * lib/mkstemp.c: Likewise.
75816         * lib/mountlist.c, mountlist.h: Likewise.
75817         * lib/openat.c, openat.h: Likewise.
75818         * lib/readlink-stub.c: Likewise.
75819         * lib/readutmp.c, readutmp.h: Likewise.
75820         * lib/rename.c: Likewise.
75821         * lib/rmdir.c: Likewise.
75822         * lib/same.c: Likewise.
75823         * lib/savedir.c: Likewise.
75824         * lib/stripslash.c: Likewise.
75825         * lib/tempname.c: Likewise.
75826         * lib/xreadlink.c: Likewise.
75827         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
75828         All uses changed.
75829         * lib/exclude.h: Likewise.
75830
75831         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
75832         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
75833         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
75834         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
75835         * lib/pathmax.h: Include <limits.h> unconditionally, since other
75836         files have been getting away with it for years (MORE/BSD 4.3
75837         is extinct now).
75838         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
75839         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
75840
75841         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
75842         Define to 256, not 255, as per modern POSIX.
75843
75844 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
75845
75846         Sync from coreutils.
75847         Use "file name" when talking about file names, instead of "filename"
75848         or "path", as per the GNU coding standards.
75849         * MODULES.html.sh: mkdir-p renamed from makepath.
75850         filenamecat renamed from path-concat.
75851         * modules/filenamecat: Renamed from modules/path-concat.
75852         (Files): filenamecat.h and filenamecat.c renamed from
75853         path-concat.h and path-concat.c.
75854         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
75855         (Include): filenamecat.h, not path-concat.h.
75856         * modules/mkdir-p: Renamed from modules/makepath.
75857         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
75858         makepath.c.
75859         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
75860         (Include): mkdir-p.h, not makepath.h.
75861
75862 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
75863
75864         Sync from coreutils.
75865         * m4/mkdir-p.m4: Renamed from makepath.m4.
75866         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
75867         Rename files from makepath.c to mkdir-p.c, and from
75868         makepath.h to mkdir-p.h.
75869         * m4/filenamecat.m4: Renamed from path-concat.m4.
75870         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
75871         Rename files from path-concat.c to filenamecat.c,
75872         and from path-concat.h to filenamecat.h.
75873         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
75874         "file name" in local variables or comments.
75875         * m4/rename.m4: Likewise.
75876
75877 2005-06-01  Bruno Haible  <bruno@clisp.org>
75878
75879         * modules/csharpexec: New file.
75880         * MODULES.html.sh (C#): New section.
75881
75882 2005-06-01  Bruno Haible  <bruno@clisp.org>
75883
75884         * m4/csharp.m4: New file, from GNU gettext.
75885         * m4/csharpexec.m4: New file, from GNU gettext.
75886
75887 2005-06-01  Bruno Haible  <bruno@clisp.org>
75888
75889         * lib/csharpexec.h: New file, from GNU gettext.
75890         * lib/csharpexec.c: New file, from GNU gettext.
75891         * lib/csharpexec.sh.in: New file, from GNU gettext.
75892
75893 2005-05-31  Derek Price  <derek@ximbiot.com>
75894             Paul Eggert  <eggert@cs.ucla.edu>
75895
75896         Sync from cvs.
75897         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
75898
75899 2005-05-31  Derek Price  <derek@ximbiot.com>
75900             Paul Eggert  <eggert@cs.ucla.edu>
75901
75902         Sync from cvs.
75903         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
75904
75905 2005-05-29  Derek Price  <derek@ximbiot.com>
75906
75907         * config/srclist.txt (glob_.h, glob.c): Add these files.
75908
75909 2005-05-29  Derek Price  <derek@ximbiot.com>
75910
75911         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
75912         * modules/glob: New file.
75913         * modules/getlogin_r: Add link to POSIX spec in description.
75914
75915 2005-05-29  Derek Price  <derek@ximbiot.com>
75916             Paul Eggert  <eggert@cs.ucla.edu>
75917
75918         * m4/glob.m4: New file.
75919
75920 2005-05-29  Derek Price  <derek@ximbiot.com>
75921             Paul Eggert  <eggert@cs.ucla.edu>
75922
75923         * lib/glob_.h, lib/glob.c: New files.
75924
75925 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
75926
75927         * modules/fts (Files): Remove m4/inttypes-pri.m4.
75928         * modules/fts-lgpl (Depends-on): Remove gettext.
75929
75930 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
75931
75932         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
75933         and don't require gt_INTTYPES_PRI.
75934
75935 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
75936
75937         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
75938
75939         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
75940         the configuration hassle isn't worth it.
75941         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
75942         (LONGEST_MODIFIER, PRIuMAX): Remove.
75943
75944 2005-05-27  Bruno Haible  <bruno@clisp.org>
75945
75946         * lib/getlogin_r.h: Remove second include of <stddef.h>.
75947
75948 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
75949
75950         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
75951         _POSIX_PTHREAD_SEMANTICS for Solaris.
75952
75953 2005-05-25  Derek Price  <derek@ximbiot.com>
75954
75955         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
75956
75957 2005-05-25  Derek Price  <derek@ximbiot.com>
75958             Paul Eggert  <eggert@cs.ucla.edu>
75959
75960         * modules/getlogin_r, m4/getlogin_r.m4: New files.
75961         * lib/getlogin_r.c, getlogin_r.h: New files.
75962
75963 2005-05-25  Bruno Haible  <bruno@clisp.org>
75964             Derek Price  <derek@ximbiot.com>
75965
75966         * lib/getlogin_r.h: Simplify API documentation.
75967
75968 2005-05-23  Derek Price  <derek@ximbiot.com>
75969
75970         * modules/minmax (Files): Add m4/minmax.m4.
75971         (configure.ac): Add gl_MINMAX.
75972
75973 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
75974
75975         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
75976         so that unistd-safer.h (GPL'ed code) need not be included.
75977
75978 2005-05-22  Bruno Haible  <bruno@clisp.org>
75979
75980         * m4/minmax.m4: New file.
75981         Based on a patch by Derek Price <derek@ximbiot.com>.
75982
75983 2005-05-22  Bruno Haible  <bruno@clisp.org>
75984
75985         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
75986         (INT64_MIN): Fix definition.
75987         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
75988
75989         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
75990         NEED_SIGNED_INT_TYPES.
75991
75992         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
75993         HAVE_SYSTEM_INTTYPES.
75994
75995 2005-05-22  Bruno Haible  <bruno@clisp.org>
75996
75997         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
75998         Also include <sys/param.h> if it defines MIN, MAX.
75999         Based on a patch by Derek Price <derek@ximbiot.com>.
76000
76001 2005-05-21  Jim Meyering  <jim@meyering.net>
76002
76003         * modules/fts (Files): Add m4/inttypes-pri.m4.
76004         (Depends-on): Add lstat and remove gettext.  Alphabetize.
76005
76006 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
76007
76008         New fts module.
76009         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
76010         (setup_dir, free_dir): New functions.
76011         (enter_dir, leave_dir): Define trivial
76012         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
76013         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
76014         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
76015         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
76016         Move to fts-cycle.c.
76017         (fts_open): Use setup_dir.
76018         (fts_close): Use free_dir.
76019         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
76020         This adds a label and some gotos, but the alternatives were messier.
76021         Check for memory allocation failure when entering a dir.
76022         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
76023         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
76024         (FTS): New member fts_cycle, that is a union that contains the
76025         old active_dir_ht and cycle_state.  All uses changed to mention
76026         fts_cycle.ht and fts_cycle.state.
76027         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
76028         fts.c, with the following changes:
76029         (setup_dir, free_dir): New functions.
76030         (enter_dir): Now returns bool.  Return true if successful, false
76031         if memory exhausted.  All callers changed.
76032         Do not bother partly cleaning up on
76033         memory allocation failure; that is free_dir's job.
76034         However, free ad if hash_insert fails, to avoid memory leak.
76035         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
76036         fts->fts_options to see which union member to use.
76037
76038 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
76039
76040         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
76041         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
76042
76043 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
76044
76045         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
76046
76047 2005-05-20  Jim Meyering  <jim@meyering.net>
76048
76049         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
76050         Now a macro, to pacify GCC.
76051
76052 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
76053
76054         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
76055         of -1.
76056
76057 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
76058
76059         * lib/chown.c (rpl_chown): Return -1 on failure.
76060
76061 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
76062
76063         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
76064         Don't check for stddef.h.
76065         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
76066         don't use its results.
76067         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
76068         since we include them unconditionally.  Don't require
76069         AM_STDBOOL_H, since stdbool is a prerequisite.
76070         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
76071         since we assume C89 or better.
76072         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
76073         as we don't use their results.
76074         Don't check for fchdir, memmove, memset, strrchr, as we use
76075         them unconditionally.
76076         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
76077         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
76078
76079 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
76080
76081         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
76082         Include <stddef.h> unconditionally, since we assume C89 now.
76083         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
76084         * lib/fts.c: Include fts_.h first, to check interface.
76085         Do not include intprops.h; no longer needed.
76086         Include cycle-check.h and hash.h, since fts_.h no longer does.
76087         Remove unnecessary casts of closedir to void.
76088         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
76089         decide whether to decrement nlinks.
76090         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
76091         (FTS): Use struct hash_table * instead of Hash_table, so that
76092         we no longer need to include hash.h here.
76093
76094 2005-05-18  Jim Meyering  <jim@meyering.net>
76095
76096         * modules/dirfd (License): Change to LGPL.  Most of the code
76097         is already in the public domain.
76098
76099 2005-05-18  Jim Meyering  <jim@meyering.net>
76100
76101         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
76102         Reported by Yoann Vandoorselaere.
76103
76104 2005-05-17  Jim Meyering  <jim@meyering.net>
76105
76106         * m4/fts.m4: New file, from coreutils.
76107
76108 2005-05-17  Jim Meyering  <jim@meyering.net>
76109
76110         * lib/fts.c, lib/fts_.h: New files, from coreutils.
76111
76112 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
76113
76114         Sync from coreutils.
76115         * m4/unlinkdir.m4: New file.
76116
76117 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
76118
76119         Sync from coreutils.
76120         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
76121         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
76122         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
76123         White space changes only.
76124         * lib/makepath.c (make_path): Port to hosts where leading "//" is
76125         special.
76126         * lib/yesno.c: Include getline.h, not ctype.h.
76127         (yesno): Don't remove leading white space; POSIX doesn't allow it.
76128         Use getline to remove arbitrary restriction on response length.
76129
76130 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
76131
76132         * config/srclist-update: Spell out "Street" in FSF postal
76133         mail address; this is the style the FSF seems to prefer.
76134
76135         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
76136         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
76137         this updates FSF postal mail address.
76138
76139         Sync from coreutils.
76140         * modules/unlinkdir: New file.
76141         * modules/yesno (Depends-on): Add getline.
76142         * MODULES.html.sh (File system functions): Add unlinkdir.
76143
76144 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
76145
76146         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
76147         lib/strsep.h:
76148         Change the initial comment to refer to GPL, not LGPL.
76149         gnulib-tool will change it to LGPL as needed.
76150
76151         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
76152         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
76153         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
76154         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
76155         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
76156         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
76157         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
76158         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
76159         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
76160         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
76161         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
76162         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
76163         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
76164         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
76165         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
76166         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
76167         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
76168         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
76169         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
76170         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
76171         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
76172         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
76173         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
76174         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
76175         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
76176         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
76177         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
76178         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
76179         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
76180         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
76181         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
76182         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
76183         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
76184         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
76185         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
76186         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
76187         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
76188         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
76189         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
76190         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
76191         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
76192         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
76193         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
76194         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
76195         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
76196         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
76197         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
76198         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
76199         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
76200         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
76201         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
76202         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
76203         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
76204         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
76205         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
76206         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
76207         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
76208         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
76209         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
76210         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
76211         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
76212         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
76213         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
76214         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
76215         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
76216         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
76217         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
76218         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
76219         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
76220         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
76221         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
76222         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
76223         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
76224         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
76225         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
76226         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
76227         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
76228         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
76229         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
76230         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
76231         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
76232         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
76233         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
76234         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
76235         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
76236         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
76237         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
76238         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
76239         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
76240         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
76241         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
76242         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
76243         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
76244         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
76245         lib/yesno.c, lib/yesno.h:
76246         Update FSF postal mail address.
76247
76248 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
76249
76250         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
76251         tests/test-memmem.c, tests/test-stpncpy.c:
76252         Update FSF postal mail address.
76253
76254 2005-05-13  Bruno Haible  <bruno@clisp.org>
76255
76256         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
76257         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
76258         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
76259         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
76260         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
76261         Add support for 64-bit integers in the MSVC compiler.
76262
76263 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
76264
76265         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
76266
76267 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
76268
76269         * gnulib-tool (func_import): Sort and uniquify recommended includes.
76270
76271 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
76272
76273         * doc/getdate.texi (General date syntax): Don't say that date
76274         date --iso-8601=ns generates acceptable dates; it doesn't yet.
76275         Problem reported by Nic Ferrier.
76276
76277 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76278
76279         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
76280         specified in ai_socktype. Fix invalid ai_protocol
76281         check. ai_protocol is usually set to 0 or depending on
76282         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
76283         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
76284         ai_socktype / ai_protocol in the returned addrinfo structure.
76285
76286 2005-05-10  Simon Josefsson  <jas@extundo.com>
76287
76288         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
76289         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
76290
76291 2005-05-10  Karl Berry  <karl@gnu.org>
76292
76293         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
76294         (from http://www.gnu.org/licenses).
76295         * doc/COPYING.LIB: also rename to COPYING.LESSER.
76296         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
76297         fdl.texi suffices.
76298
76299 2005-05-10  Karl Berry  <karl@gnu.org>
76300
76301         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
76302         (COPYING.DOC): remove.
76303
76304         * config/srclist-update: new FSF address.
76305
76306 2005-05-10  Derek Price  <derek@ximbiot.com>
76307
76308         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
76309         possible.
76310
76311 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76312             Bruno Haible  <bruno@clisp.org>
76313
76314         * modules/inet_ntop: New file.
76315         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
76316         inet_ntop.
76317
76318 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76319             Bruno Haible  <bruno@clisp.org>
76320
76321         * m4/inet_ntop.m4: New file.
76322
76323 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76324             Bruno Haible  <bruno@clisp.org>
76325
76326         * lib/inet_ntop.h: New file.
76327         * lib/inet_ntop.c: New file, from glibc with modifications.
76328
76329 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
76330
76331         * modules/time_r (License): Change to LGPL.
76332         * modules/extensions (License): Change to LGPL.  Actually,
76333         the license is more permissive than that, but currently gnulib-tool
76334         doesn't know how to handle more-permissive licenses.
76335
76336         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
76337         Problem reported by Dave Love.
76338
76339 2005-05-08  Jim Meyering  <jim@meyering.net>
76340
76341         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
76342         blank.
76343
76344 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
76345
76346         * modules/argmatch (Depends-on): Add stdbool.
76347         * modules/backupfile (Depends-on): Likewise.
76348         * modules/chdir-long (Depends-on): Likewise.
76349         * modules/closeout (Depends-on): Likewise.
76350         * modules/cycle-check (Depends-on): Likewise.
76351         * modules/dirname (Depends-on): Likewise.
76352         * modules/fnmatch (Depends-on): Likewise.
76353         * modules/fsusage (Depends-on): Likewise.
76354         * modules/fwriteerror (Depends-on): Likewise.
76355         * modules/getcwd (Depends-on): Likewise.
76356         * modules/getloadavg (Depends-on): Likewise.
76357         * modules/hard-locale (Depends-on): Likewise.
76358         * modules/makepath (Depends-on): Likewise.
76359         * modules/mountlist (Depends-on): Likewise.
76360         * modules/nanosleep (Depends-on): Likewise.
76361         * modules/posixtm (Depends-on): Likewise.
76362         * modules/quotearg (Depends-on): Likewise.
76363         * modules/readtokens (Depends-on): Likewise.
76364         * modules/readtokens0 (Depends-on): Likewise.
76365         * modules/readutmp (Depends-on): Likewise.
76366         * modules/save-cwd (Depends-on): Likewise.
76367         * modules/strftime (Depends-on): Likewise.
76368         * modules/userspec (Depends-on): Likewise.
76369         * modules/utimecmp (Depends-on): Likewise.
76370         * modules/xgetcwd (Depends-on): Likewise.
76371         * modules/xnanosleep (Depends-on): Likewise.
76372         * modules/xstrtod (Depends-on): Likewise.
76373         * modules/yesno (Depends-on): Likewise.
76374
76375 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
76376
76377         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
76378         needless checks.
76379
76380 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
76381
76382         Merge from coreutils.  Among other things,
76383         add bulletproofing for cases where stdin, stdout, or stderr are closed.
76384         * lib/fd-safer.c: New file.
76385         * lib/fcntl-safer.h, open-safer.c: Remove.
76386         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
76387         * lib/dup-safer.c: Include unistd-safer.h first.
76388         Don't include errno.h.
76389         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
76390         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
76391         * lib/file-type.c: Rely on file-type.h change.
76392         * lib/getloadavg.c: Include unistd-safer.h.
76393         (getloadavg): Use safer open.
76394         * lib/getusershell.c: Include "stdio-safer.h".
76395         (getusershell): Use safer fopen.
76396         * lib/long-options.c (long_options): Use NULL rather than 0.
76397         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
76398         'free'.
76399         * lib/modechange.c: Likewise.
76400         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
76401         (MODE_DONE): New constant.
76402         (struct mode_change): Remove 'next' member.
76403         (make_node_op_equals): New function; like the old one of the
76404         same name, except it allocates an array.
76405         (mode_compile, mode_create_from_ref): Use it.
76406         (mode_compile): Allocate result as an array, not a linked list.
76407         Parse octal string ourself, so that we catch mistakes like "+0".
76408         (mode_adjust): Arg is an array, not a linked list.
76409         * lib/modechange.c: Include stat-macros.h, xalloc.h.
76410         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
76411         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
76412         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
76413         Remove.  This is now stat-macros.h's job.
76414         (talloc): Remove.  All callers replaced by xalloc, so that
76415         our invokers don't have to worry about reporting memory failures.
76416         (make_node_op_equals): Remove.
76417         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
76418         New constants.
76419         (struct mode_change): Moved here from modechange.h.
76420         (mode_append_entry): Remove.
76421         (mode_compile): Remove MASKED_OPS arg, since it encouraged
76422         apps to have incorrect behavior.  Use simpler algorithm for head
76423         and tail.  Don't futz with umask; that's now the job of mode_adjust.
76424         Detect more invalid usages rather than having somewhat-random behavior.
76425         Don't insert an "a=" action, as that leads to incorrect behavior.
76426         (mode_compile, mode_create_from_ref): Return NULL on error instead
76427         of an enum, since now there's only one way to have an error.  All
76428         callers changed.
76429         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
76430         at the correct time.  Simplify calculation of "+u" and its ilk.
76431         Don't mishandle "+X".
76432         (mode_free): Remove "register" and localize decls.
76433         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
76434         (struct mode_change): Move to modechange.c; callers don't
76435         need to see this stuff.
76436         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
76437         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
76438         (mode_change, mode_adjust): Reflect the new signatures noted above.
76439         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
76440         that might redefine system include files.
76441         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
76442         (my_usleep): Use NULL rather than (void *) 0.
76443         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
76444         Use siginterrupt to specify that system calls should be interrupted.
76445         (rpl_nanosleep): Move initialization of suspended closer to call of
76446         my_usleep.
76447         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
76448         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
76449         (desirable_utmp_entry): New function.
76450         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
76451         using x2nrealloc, to simplify logic.
76452         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
76453         size calculation.  Do not assume utmp file is a regular file.
76454         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
76455         (READ_UTMP_CHECK_PIDS): New constant.
76456         * lib/save-cwd.c: Include unistd-safer.h.
76457         (save_cwd): Use fd_safer.
76458         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
76459         [!_LIBC] Include "stat-macros.h" instead.
76460         * lib/unistd-safer.h (fd_safer): New decl.
76461
76462 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
76463
76464         * modules/getloadavg (Depends-on): Add unistd-safer.
76465         * modules/getusershell (Depends-on): Add stdio-safer.
76466         * modules/lstat (Depends-on): Remove xalloc.
76467         * modules/mkstemp (Depends-on): Add stat-macros.
76468         * modules/modechange (Depends-on): Remove xstrtol.
76469         Add stat-macros, xalloc.
76470         * modules/save-cwd (Depends-on): Add unistd-safer.
76471         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
76472         * modules/unistd-safer (Files): Add lib/fd-safer.c
76473         (Makefile.am): Remove lib_SOURCES.
76474
76475         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
76476         Remove fcntl-safer; unistd-safer supersedes it.
76477
76478 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
76479
76480         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
76481         AC_HEADER_STAT.
76482         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
76483         (gl_PREREQ_CHOWN): Remove.
76484         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
76485         it.  Don't require AC_HEADER_STAT.
76486         (gl_PREREQ_LSTAT): Remove.
76487         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
76488         Don't require AC_HEADER_STAT.
76489         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
76490         (gl_PREREQ_RMDIR): Remove.
76491         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
76492         mention stat-macros.h or AC_HEADER_STAT, since we'll make
76493         the stat-macros module a prerequisite.
76494         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
76495         * m4/filemode.m4 (gl_FILEMODE): Likewise.
76496         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
76497         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
76498         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
76499         variable names.
76500         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
76501         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
76502         variable prefixes.
76503         * m4/fcntl-safer.m4: Remove.
76504         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
76505         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
76506         Invoke gl_PREREQ_FD_SAFER.
76507         (gl_PREREQ_FD_SAFER): New macro.
76508         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
76509         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
76510         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
76511         Remove duplicate call to AC_LIBOBJ(readutmp).
76512         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
76513
76514         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
76515         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
76516
76517 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
76518
76519         * MODULES.html.sh (Misc): Add byteswap.
76520
76521 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
76522
76523         * modules/getcwd (Depends-on): Add extensions.
76524         * modules/openat (Depends-on): Likewise.
76525
76526 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
76527
76528         * modules/byteswap: New file.
76529
76530 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
76531
76532         * m4/byteswap.m4: New file.
76533
76534 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
76535
76536         * lib/byteswap_.h: New file.
76537
76538 2005-04-25  Karl Berry  <karl@gnu.org>
76539
76540         * m4/gettext.m4: Update from GNU gettext 0.14.4.
76541
76542 2005-04-25  Albert Chin  <china@thewrittenword.com>
76543
76544         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
76545         Toolkit C bug.
76546
76547 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
76548
76549         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
76550         (func_ln_if_changed): Remove forcibly for no error message
76551         in case file does not exist.
76552
76553 2005-04-19  Simon Josefsson  <jas@extundo.com>
76554
76555         * gnulib-tool (Options): Make --symlink mean --symbolic.
76556
76557 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
76558
76559         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
76560
76561 2005-04-16  Simon Josefsson  <jas@extundo.com>
76562
76563         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
76564
76565 2005-04-15  Simon Josefsson  <jas@extundo.com>
76566
76567         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
76568
76569 2005-04-15  Simon Josefsson  <jas@extundo.com>
76570
76571         * gnulib-tool: Rename --symlink to --symbolic.
76572
76573 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
76574
76575         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
76576         symbolic links to files instead of copying/moving.  Add --aux-dir,
76577         specifying directory relative --dir where auxiliary build tools
76578         are placed.
76579
76580 2005-04-14  Bruno Haible  <bruno@clisp.org>
76581
76582         * modules/allocsa (License): Change to LGPL.
76583         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
76584
76585 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
76586
76587         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
76588         that "UTC +1 second" continues to work.  Problem reported
76589         by Dmitry V. Levin.
76590         (relunit_snumber): New rule.
76591         (relunit): Use it.
76592
76593 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
76594
76595         * lib/getdate.y (universal_time_zone_table): New constant.
76596         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
76597         universal_time_zone_table.
76598         (lookup_zone): Prefer universal_time_zone_table to
76599         local_time_zone_table, so that "GMT" time stamps are allowed in
76600         London during the summer.  Problem reported by Ian Abbott.
76601
76602 2005-04-12  Jim Meyering  <jim@meyering.net>
76603
76604         * lib/human.c (humblock): Set *options even when returning due to
76605         xstrtoumax conversion failure.  Thanks to a used-uninitialized
76606         warning from gcc-4.
76607
76608 2005-04-09  Jim Meyering  <jim@meyering.net>
76609
76610         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
76611         -Wuninitialized: initialize tm0.tm_year.
76612
76613 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
76614
76615         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
76616         count, since there's no maximum.  All uses changed.
76617         Add member dsts_seen.
76618         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
76619         not being INT_MAX.
76620         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
76621         Use pc_rels_seen to decide whther a date is absolute.
76622
76623         * lib/getdate.y (number): Don't overwrite year.
76624         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
76625         check.
76626
76627 2005-04-02  Simon Josefsson  <jas@extundo.com>
76628
76629         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
76630         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
76631
76632 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
76633
76634         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
76635         where no absolute path name can be longer than PATH_MAX.
76636
76637 2005-03-27  Jim Meyering  <jim@meyering.net>
76638
76639         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
76640
76641 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
76642
76643         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
76644         "one's complement" -> "ones' complement" in comment, as per Knuth.
76645         "value of type" -> "type or expression" in comment.
76646         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
76647
76648 2005-03-26  Jim Meyering  <jim@meyering.net>
76649
76650         Comment nits.
76651         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
76652         Correct typos: s/or/of/.
76653
76654 2005-03-26  Jim Meyering  <jim@meyering.net>
76655
76656         * modules/check-include-files: Move to ../ and rename to...
76657         * check-module: ...this.
76658
76659 2005-03-25  Jim Meyering  <jim@meyering.net>
76660
76661         * modules/xvasprintf (Files): Add xalloc.h.
76662
76663 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
76664
76665         * modules/gettext (Files): config/config.rpath ->
76666         build-aux/config.rpath
76667         * modules/iconv (Files): Likewise.
76668         Problem reported by Oskar Liljeblad.
76669
76670 2005-03-23  Jim Meyering  <jim@meyering.net>
76671
76672         * modules/check-include-files: New script to check for
76673         missing dependencies, multiple includes, etc.
76674
76675         * modules/c-strtold (Depends-on): Add xalloc.
76676         * modules/c-strtod (Depends-on): Add xalloc.
76677         * modules/hash (Depends-on): Add xalloc.
76678         (Files): Remove lib/xalloc.h.
76679
76680         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
76681         * modules/userspec (Files): Add lib/inttostr.h.
76682
76683 2005-03-23  Jim Meyering  <jim@meyering.net>
76684
76685         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
76686
76687 2005-03-22  Jim Meyering  <jim@meyering.net>
76688
76689         * modules/stat-macros: New module.
76690         * modules/canonicalize, modules/euidaccess, modules/file-type,
76691         * modules/filemode, modules/lchown, modules/makepath,
76692         * modules/rmdir, modules/stat: Depend on new stat-macros module
76693         rather than listing lib/stat-macros.h manually.
76694         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
76695
76696 2005-03-22  Jim Meyering  <jim@meyering.net>
76697
76698         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
76699
76700 2005-03-22  Bruno Haible  <bruno@clisp.org>
76701
76702         * config/srclist.txt: Replace target directory 'config' with
76703         'build-aux'.
76704         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
76705         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
76706         ../build-aux/.
76707
76708 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
76709
76710         * modules/chdir-long (Depends-on): Add mempcpy.
76711
76712         * modules/acl, modules/backupfile, modules/c-strtod,
76713         modules/c-strtold, modules/canon-host, modules/canonicalize,
76714         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
76715         modules/exclude, modules/exitfail, modules/file-type,
76716         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
76717         modules/getdate, modules/getline, modules/getpagesize,
76718         modules/getpass, modules/getugroups, modules/group-member,
76719         modules/hard-locale, modules/hash, modules/human, modules/idcache,
76720         modules/inttostr, modules/long-options, modules/makepath,
76721         modules/md5, modules/memcasecmp, modules/memcoll,
76722         modules/modechange, modules/mountlist, modules/path-concat,
76723         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
76724         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
76725         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
76726         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
76727         modules/strftime, modules/strndup, modules/strverscmp,
76728         modules/timespec, modules/unlocked-io, modules/userspec,
76729         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
76730         modules/yesno:
76731         Remove lib_SOURCES line from Makefile.am section, as this is now
76732         done automatically by the corresponding Autoconf macro.
76733
76734 2005-03-21  Jim Meyering  <jim@meyering.net>
76735
76736         Changes imported from coreutils.
76737
76738         * lib/cycle-check.c: Don't include xalloc.h.
76739
76740         * lib/path-concat.c: Don't include assert.h.
76741         (path_concat): Remove assertion that would have triggered
76742         for ABASE starting with more than one slash.
76743         Reported by Andreas Schwab.
76744
76745         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
76746         properly when ABASE is an absolute file name.
76747         Correct the description of this function.
76748         Include <assert.h>.
76749         Add an assertion and a test driver.
76750         This fixes a bug introduced on 2004-07-02.
76751         Andreas Schwab reported the resulting failure of cp --parents:
76752         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
76753
76754 2005-03-21  Jim Meyering  <jim@meyering.net>
76755
76756         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
76757         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
76758
76759 2005-03-21  Jim Meyering  <jim@meyering.net>
76760         and  Paul Eggert  <eggert@cs.ucla.edu>
76761
76762         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
76763         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
76764         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
76765         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
76766         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
76767         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
76768         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
76769         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
76770         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
76771         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
76772         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
76773         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
76774         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
76775         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
76776         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
76777         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
76778         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
76779         for these modules.
76780
76781 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
76782
76783         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
76784         (which shouldn't happen), generate nothing instead of returning 0
76785         immediately, so that nstrftime (NULL, ...) doesn't return 0.
76786
76787 2005-03-16  Bruno Haible  <bruno@clisp.org>
76788
76789         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
76790         HAVE_LONGLONG_64BIT.
76791
76792 2005-03-16  Bruno Haible  <bruno@clisp.org>
76793
76794         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
76795         HAVE_LONGLONG_64BIT.
76796
76797 2005-03-16  Bruno Haible  <bruno@clisp.org>
76798
76799         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
76800         HAVE_LONGLONG_64BIT.
76801
76802 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
76803
76804         * lib/strftime.c (my_strftime): Prepend space to format so that we can
76805         reliably distinguish strftime failure from empty output on POSIX
76806         hosts.
76807
76808 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
76809
76810         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
76811         (iconv_string): Don't guess a size-zero buffer, as that might cause
76812         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
76813         result would be 'too large', where 'too large' is (heuristically)
76814         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
76815         overflow concerns.  This will prevent some unwanted malloc failures
76816         when the inputs are very large.
76817
76818 2005-03-15  Karl Berry  <karl@gnu.org>
76819
76820         * config/srclist.txt (config.rpath): from gettext.
76821         * config/config.rpath: update.
76822
76823 2005-03-15  Bruno Haible  <bruno@clisp.org>
76824
76825         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
76826         to 'negate'.
76827
76828         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
76829         variable.
76830
76831         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
76832         results.
76833
76834 2005-03-14  Simon Josefsson  <jas@extundo.com>
76835
76836         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
76837         <fx@gnu.org>.
76838
76839 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
76840
76841         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
76842         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
76843         intprops.h.
76844         * lib/strtol.c: Likewise.
76845
76846 2005-03-14  Jim Meyering  <jim@meyering.net>
76847
76848         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
76849         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
76850         to be nonzero so that we (and caller) can detect the difference
76851         between a valid zero-length expansion and an error return, even
76852         when the underlying strftime fails before writing anything into
76853         that location.
76854
76855 2005-03-14  Bruno Haible  <bruno@clisp.org>
76856
76857         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
76858         Update from GNU gettext 0.14.3.
76859
76860 2005-03-10  Jim Meyering  <jim@meyering.net>
76861
76862         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
76863
76864 2005-03-10  Jim Meyering  <jim@meyering.net>
76865
76866         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
76867         so that this module works on systems without fchdir.
76868
76869 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
76870
76871         Factor int-properties macros into a single file, except for
76872         glibc-related files.
76873         * lib/intprops.h: New file.
76874         * lib/getloadavg.c: Include it instead of limits.h.
76875         (INT_STRLEN_BOUND): Remove.
76876         * lib/human.c: Include intprops.h.
76877         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
76878         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
76879         302/1000.
76880         * lib/inttostr.h: Include intprops.h instead of limits.h.
76881         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
76882         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
76883         for consistency with intprops.h.
76884         (time_t_is_integer, twos_complement_arithmetic): Use them.
76885         * lib/sig2str.h: Include <signal.h>, intprops.h.
76886         (INT_STRLEN_BOUND): Remove.
76887         * lib/strftime.c (TYPE_SIGNED): Remove.
76888         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
76889         * lib/strtol.c: Adjust comments to match intprops.h.
76890         * lib/userspec.c: Include intprops.h.
76891         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
76892         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
76893         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
76894         instead of rolling our own expressions.
76895         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
76896
76897         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
76898         instead of int.
76899         (my_strftime): Do not mishandle years close to INT_MAX, by doing
76900         the right thing even if adding 1900 would overflow.  Similarly
76901         for tm_mon + 1 and tm_yday + 1.
76902         Make %Y always equivalent to %C%y, and similarly for %G and %g.
76903         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
76904         (DO_SIGNED_NUMBER): New macro.
76905         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
76906
76907 2005-03-07  Bruno Haible  <bruno@clisp.org>
76908
76909         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
76910
76911 2005-03-07  Bruno Haible  <bruno@clisp.org>
76912
76913         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
76914
76915 2005-03-04  Derek R. Price  <derek@ximbiot.com>
76916
76917         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
76918         (func_import): Only replace files via --import when they have actually
76919         changed.
76920
76921 2005-03-03  Derek R. Price  <derek@ximbiot.com>
76922
76923         * m4/mmap-anon.m4: New file.
76924         * m4/pagealign_alloc.m4: New file.
76925
76926 2005-03-03  Derek R. Price  <derek@ximbiot.com>
76927             Bruno Haible  <bruno@clisp.org>
76928
76929         * modules/pagealign_alloc: New file.
76930         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
76931
76932 2005-03-03  Derek R. Price  <derek@ximbiot.com>
76933             Bruno Haible  <bruno@clisp.org>
76934
76935         * lib/pagealign_alloc.h: New file.
76936         * lib/pagealign_alloc.c: New file.
76937
76938 2005-03-03  Bruno Haible  <bruno@clisp.org>
76939
76940         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
76941         Use an all-permissive copyright notice, recommended by RMS.
76942
76943 2005-03-02  Bruno Haible  <bruno@clisp.org>
76944
76945         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
76946         of AIX, the replacement has to be done only after <string.h> is
76947         included, therefore not in config.h. stpncpy.h does the replacement,
76948         and stpncpy.c uses it.
76949
76950 2005-03-02  Bruno Haible  <bruno@clisp.org>
76951
76952         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
76953         stpncpy.c uses it.
76954
76955 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
76956
76957         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
76958         The workaround isn't strictly needed for POSIX conformance, and
76959         it's too much of a pain to configure and maintain.  We'll ask
76960         people to fix their kernels instead.
76961         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
76962         (NANOSLEEP_BUG_WORKAROUND): Remove.
76963         (xnanosleep): Remove the workaround.
76964
76965 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
76966
76967         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
76968         Reported by Derek Price.
76969         (Include): Add "timespec.h".
76970
76971         * modules/xnanosleep (Depends-on): Remove gethrxtime.
76972
76973 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
76974
76975         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
76976         to detect nanosleep bug.
76977
76978 2005-03-01  Bruno Haible  <bruno@clisp.org>
76979
76980         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
76981
76982 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
76983
76984         * modules/gethrxtime: New file.
76985         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
76986         (Depends-on): Add gethrxtime.
76987         (configure.ac): Add gl_XNANOSLEEP.
76988         (Makefile.am): Remove lib_SOURCES line.
76989
76990 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
76991
76992         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
76993         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
76994
76995 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
76996
76997         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
76998         * lib/timespec.h (gettime): Return void, since it always
76999         succeeds now.  All uses changed.
77000         * lib/gettime.c (gettime): Likewise.
77001         [HAVE_NANOTIME]: Prefer nanotime.
77002         Assume gettimeofday succeeds, as POSIX requires.
77003         Assime time () succeeds, since other code already does.
77004         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
77005         (timespec_subtract): Remove.
77006         (NANOSLEEP_BUG_WORKAROUND): New constant.
77007         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
77008         things considerably.  Use it only on GNU/Linux hosts, since the
77009         workaround shouldn't be needed elsewhere.
77010
77011 2005-02-24  Bruno Haible  <bruno@clisp.org>
77012
77013         * modules/gettext (Files): Add m4/glibc2.m4.
77014
77015 2005-02-24  Bruno Haible  <bruno@clisp.org>
77016
77017         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
77018         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
77019         * m4/progtest.m4:
77020         Update from GNU gettext 0.14.2.
77021         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
77022
77023 2005-02-24  Bruno Haible  <bruno@clisp.org>
77024
77025         * lib/localcharset.c: Update from GNU gettext 0.14.2.
77026         * lib/config.charset: Update from GNU gettext 0.14.2.
77027
77028 2005-02-24  Bruno Haible  <bruno@clisp.org>
77029
77030         * lib/gettext.h: Update from GNU gettext 0.14.2.
77031
77032 2005-02-23  Simon Josefsson  <jas@extundo.com>
77033
77034         * m4/iconvme.m4: New file.
77035
77036 2005-02-23  Jim Meyering  <jim@meyering.net>
77037
77038         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
77039         change.
77040         Thanks to Bruno Haible for catching it.
77041
77042 2005-02-22  Simon Josefsson  <jas@extundo.com>
77043
77044         * modules/iconvme: New file.
77045
77046         * MODULES.html.sh: Add iconvme.
77047
77048 2005-02-22  Simon Josefsson  <jas@extundo.com>
77049
77050         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
77051
77052 2005-02-22  Simon Josefsson  <jas@extundo.com>
77053
77054         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
77055
77056 2005-02-22  Jim Meyering  <jim@meyering.net>
77057
77058         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
77059         s/ifndef/ifdef/.
77060
77061 2005-02-20  Neil Conway  <neilc@samurai.com>
77062
77063         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
77064         returned by OSX/Darwin if the specified buffer is not large
77065         enough for the hostname.
77066
77067 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77068
77069         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
77070         pass it to _help, otherwise the latter coredumps trying to
77071         dereference state.root_argp.
77072
77073 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
77074
77075         * modules/chdir-long (Depends-on): Add memrchr.
77076         * modules/memrchr (Files): Add lib/memrchr.h.
77077         (Include): "memrchr.h".
77078
77079 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
77080
77081         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
77082
77083 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
77084
77085         * lib/memrchr.h: New file.
77086         * lib/chdir-long.c: Include it.
77087         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
77088         Don't bother including stddef.h.
77089
77090 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
77091
77092         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
77093         inclusion.
77094         Include <sys/types.h>, for dev_t.
77095         (ME_DUMMY, ME_REMOTE): Move from here....
77096         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
77097         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
77098         Dmitry V. Levin.
77099         Include mountlist.h first, to test the interface.
77100
77101 2005-01-29  Bruno Haible  <bruno@clisp.org>
77102
77103         * lib/progname.c (program_name): Initialize.
77104         Needed when linking statically on MacOS X.
77105
77106 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
77107
77108         Sync from coreutils.
77109         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
77110         (Depends-on): Add c-strtod.
77111         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
77112
77113 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
77114
77115         Sync from coreutils.
77116         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
77117
77118         Remove files that are specific to coreutils.
77119         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
77120
77121 2005-01-28  Bruno Haible  <bruno@clisp.org>
77122
77123         * modules/javacomp: New file.
77124         * MODULES.html.sh (Java): Add javacomp.
77125
77126 2005-01-28  Bruno Haible  <bruno@clisp.org>
77127
77128         * m4/javacomp.m4: New file, from GNU gettext.
77129
77130 2005-01-28  Bruno Haible  <bruno@clisp.org>
77131
77132         * lib/javacomp.sh.in: New file, from GNU gettext.
77133         * lib/javacomp.h: New file, from GNU gettext.
77134         * lib/javacomp.c: New file, from GNU gettext.
77135
77136 2005-01-26  Simon Josefsson  <jas@extundo.com>
77137
77138         * lib/gai_strerror.c: Use GPL in header.
77139
77140 2005-01-26  Bruno Haible  <bruno@clisp.org>
77141
77142         * modules/javaexec: New file.
77143         * MODULES.html.sh (Java): Add javaexec.
77144
77145 2005-01-26  Bruno Haible  <bruno@clisp.org>
77146
77147         * m4/javaexec.m4: New file, from GNU gettext.
77148
77149 2005-01-26  Bruno Haible  <bruno@clisp.org>
77150
77151         * lib/javaexec.sh.in: New file, from GNU gettext.
77152         * lib/javaexec.h: New file, from GNU gettext.
77153         * lib/javaexec.c: New file, from GNU gettext.
77154
77155 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77156
77157         * modules/lchown (Depends-on): Remove lchown.h
77158
77159 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77160
77161         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
77162         must be defined if the header file was not found, in order
77163         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
77164
77165 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77166
77167         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
77168         initializers for struct pentry_state.
77169         (__argp_error): Check return value of __asprintf
77170         (__argp_failure): Translate error message
77171
77172         * lib/argp-parse.c: Removed braces around the expansion of N_()
77173
77174 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
77175
77176         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
77177         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
77178         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
77179         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
77180         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
77181         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
77182         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
77183         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
77184         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
77185         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
77186         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
77187         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
77188         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
77189         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
77190         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
77191         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
77192         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
77193         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
77194         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
77195         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
77196         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
77197         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
77198         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
77199         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
77200         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
77201         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
77202         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
77203         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
77204         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
77205         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
77206         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
77207         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
77208         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
77209         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
77210         xstrtol.m4, xstrtoumax.m4, yesno.m4:
77211         Use an all-permissive copyright notice, recommended by RMS.
77212
77213 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
77214
77215         * modules/chdir-long (Depends-on): Remove mempcpy.
77216
77217 2005-01-21  Jim Meyering  <jim@meyering.net>
77218
77219         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
77220         same value as for Solaris 9.
77221
77222         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
77223         component length.  This included changing the parameter to be
77224         of type `char *' rather than `char const *'.
77225         * lib/chdir-long.h (chdir_long): Update prototype.
77226
77227         * lib/openat.c (fdopendir, fstatat): New functions.
77228         * lib/openat.h: Include headers required for use of DIR and struct
77229         stat.
77230         [AT_SYMLINK_NOFOLLOW]: Define.
77231         (fdopendir, fstatat): Add prototypes.
77232
77233 2005-01-21  Bruno Haible  <bruno@clisp.org>
77234
77235         * modules/classpath: New file.
77236         * MODULES.html.sh (Java): Add classpath.
77237
77238 2005-01-21  Bruno Haible  <bruno@clisp.org>
77239
77240         * lib/classpath.h: New file, from GNU gettext.
77241         * lib/classpath.c: New file, from GNU gettext.
77242
77243 2005-01-20  Simon Josefsson  <jas@extundo.com>
77244
77245         * modules/version-etc-fsf: New file.
77246
77247 2005-01-20  Simon Josefsson  <jas@extundo.com>
77248
77249         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
77250         * lib/version-etc.c: Remove version_etc_copyright.
77251         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
77252         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
77253
77254 2005-01-20  Simon Josefsson  <jas@extundo.com>
77255
77256         * lib/base64.h (isbase64): Add.
77257
77258         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
77259         using a unsigned prototype, don't inline.
77260         (base64_decode): Use it.
77261
77262 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
77263
77264         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
77265         it.
77266
77267 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
77268
77269         * lib/save-cwd.c (save_cwd): Remove code to support the case
77270         where fchdir is missing or flaky.
77271
77272 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
77273
77274         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
77275
77276 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
77277
77278         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
77279         AC_LIBSOURCES now does this.
77280         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
77281         with new ullong_max module.
77282
77283 2005-01-19  Bruno Haible  <bruno@clisp.org>
77284
77285         * modules/sh-quote: New file.
77286         * MODULES.html.sh (Executing programs): Add sh-quote.
77287
77288 2005-01-19  Bruno Haible  <bruno@clisp.org>
77289
77290         * lib/sh-quote.h: New file, from GNU gettext.
77291         * lib/sh-quote.c: New file, from GNU gettext.
77292
77293 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
77294
77295         Merge from coreutils.
77296         * m4/ullong_max.m4: New file.
77297         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
77298         (gl_MACROS): Assume localeconv exists.
77299
77300 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
77301
77302         Merge changes from coreutils, as described below in several
77303         changelogs dated today.
77304
77305         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
77306         (O_DIRECTORY): Remove; not needed here, since "." must be
77307         a directory.  All uses removed.
77308         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
77309         universal on Suns, and we also need to test for IRIX.
77310         Revamp code to use 'if' rather than '#if'.
77311         Avoid unnecessary comparison of cwd->desc to 0.
77312
77313         * lib/utimens.c (futimens): Robustify the previous patch, by checking
77314         for known valid error numbers rather than observed invalid ones.
77315
77316 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
77317
77318         * modules/ullong_max: New file.
77319
77320         * modules/chdir-long, modules/openat: New files.
77321         * modules/save-cwd (Depends-on): Depend on chdir-long.
77322         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
77323
77324 2005-01-18  Jim Meyering  <jim@meyering.net>
77325
77326         Merge from coreutils.
77327         * m4/chdir-long.m4, m4/openat.m4: New files.
77328         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
77329         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
77330         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
77331         is sane and DOES follow symlinks.  Besides, testing 20 different
77332         systems found no broken chown implementations.
77333         Prompted by a change in rsync's copy of this macro.
77334         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
77335
77336         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
77337
77338         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
77339         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
77340         NULL-means-set-to-current-time semantics.
77341         Remove temporary file immediately, rather than waiting
77342         for configure's at-exit trap code to do it.
77343
77344 2005-01-18  Jim Meyering  <jim@meyering.net>
77345
77346         * lib/version-etc.c (version_etc_copyright): Update copyright date.
77347
77348         * lib/utimens.c (futimens): Account for the fact that futimes
77349         can also fail with errno == ENOSYS or errno == ENOENT.
77350         Patch from Dmitry V. Levin.
77351
77352         Change the name of the robust chdir function from chdir to chdir_long.
77353         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
77354         (restore_cwd): Use chdir_long, not chdir.
77355         * lib/chdir-long.c: Renamed from chdir.c.
77356         * lib/chdir-long.h: Renamed from chdir.h.
77357         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
77358         Hurd.
77359
77360 2005-01-18  Bruno Haible  <bruno@clisp.org>
77361
77362         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
77363         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
77364         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
77365         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
77366         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
77367         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
77368         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
77369         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
77370         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
77371         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
77372         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
77373         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
77374         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
77375         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
77376         Use an all-permissive copyright notice, recommended by RMS.
77377
77378 2005-01-18  Bob Proulx  <bob@proulx.com>
77379
77380         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
77381         simplify offsetof() macro construct to avoid compile failure with
77382         native HP-UX 11.0 ANSI C compiler.
77383
77384 2005-01-17  Bruno Haible  <bruno@clisp.org>
77385
77386         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
77387         redundant because stpncpy.m4 takes care of it.
77388
77389 2005-01-17  Bruno Haible  <bruno@clisp.org>
77390
77391         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
77392
77393 2005-01-17  Bruno Haible  <bruno@clisp.org>
77394
77395         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
77396         used.
77397
77398 2005-01-17  Bruno Haible  <bruno@clisp.org>
77399
77400         * lib/fwriteerror.h (fwriteerror): Change specification to include
77401         fclose.
77402         * lib/fwriteerror.c: Include <stdbool.h>.
77403         (fwriteerror): At the end, close the file stream. Record whether
77404         stdout was already closed.
77405
77406 2005-01-17  Bruno Haible  <bruno@clisp.org>
77407
77408         * lib/execute.c (environ): Declare if needed.
77409         * lib/pipe.c (environ): Likewise.
77410         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
77411
77412 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77413
77414         * modules/argp: Depend on vsnprintf
77415
77416 2005-01-10  Jim Meyering  <jim@meyering.net>
77417
77418         * modules/closeout (Depends-on): Add atexit.
77419
77420 2005-01-06  Bruno Haible  <bruno@clisp.org>
77421
77422         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
77423
77424 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
77425
77426         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
77427         definitions to be after all include files, to avoid collisions.
77428         Problem reported by Bob Proulx.
77429
77430 2005-01-04  Jim Meyering  <jim@meyering.net>
77431
77432         Changes imported from coreutils.
77433         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
77434         as the mkstemp template, use a temporary directory and an
77435         8.3-friendly template to avoid trouble on systems like DJGPP.
77436         Reported by Juan M. Guerrero via Stepan Kasal.
77437         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
77438         close. Remove the temporary directory right away, rather than waiting
77439         for configure's at-exit trap code to do it.
77440         Suggestion from Stepan Kasal.
77441
77442 2005-01-01  Simon Josefsson  <jas@extundo.com>
77443
77444         * gnulib-tool: Print #include directives when --import'ing.
77445
77446 2004-12-28  Simon Josefsson  <jas@extundo.com>
77447
77448         * tests/test-base64.c: Include required header files.  Remove
77449         unused variables.
77450
77451 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
77452
77453         * modules/error (Depends-on): Remove gettext.
77454
77455 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
77456
77457         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
77458         not needed.  This removes a dependency on the gettext module.
77459         [defined _LIBC]: Do not include <libintl.h>; not needed.
77460
77461 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
77462
77463         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
77464         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
77465
77466 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
77467
77468         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
77469         HAVE_DECL_STRTOLD.
77470
77471 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
77472
77473         * modules/getdate (Depends-on): Remove alloca-opt.
77474
77475 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
77476
77477         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
77478
77479 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
77480
77481         * lib/argp-parse.c: Include <stddef.h>.
77482         (alignof, alignto): New macros.
77483         (parser_init): Don't assume that void * is aligned sufficiently
77484         for struct option.
77485
77486         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
77487         need to extend the stack.
77488         (YYINITDEPTH): New macro, so that the initial stack isn't overly
77489         large.
77490
77491 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77492
77493         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
77494
77495 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
77496
77497         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
77498         (2004-10-24) change.  Apparently this was a false alarm.
77499
77500         * modules/getdate: Depend on alloca-opt, not alloca.
77501
77502 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
77503
77504         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
77505         Remove now-obsolete comment about AIX.
77506         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
77507         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
77508         (YYMAXDEPTH): New macro.
77509
77510 2004-12-18  Simon Josefsson  <jas@extundo.com>
77511
77512         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
77513
77514 2004-12-18  Bruno Haible  <bruno@clisp.org>
77515
77516         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
77517
77518 2004-12-18  Bruno Haible  <bruno@clisp.org>
77519
77520         * lib/fatal-signal.c (fatal_signals): Make non-const.
77521         (init_fatal_signals): New function.
77522         (uninstall_handlers, install_handlers): Ignore signals that were set to
77523         SIG_IGN.
77524         (at_fatal_signal): Call init_fatal_signals.
77525         (init_fatal_signal_set): Likewise. Ignore signals that were set to
77526         SIG_IGN.
77527         Reported by Paul Eggert.
77528
77529 2004-12-18  Bruno Haible  <bruno@clisp.org>
77530
77531         * doc/alloca.texi: New file.
77532         * doc/alloca-opt.texi: New file.
77533
77534 2004-12-17  Jim Meyering  <jim@meyering.net>
77535
77536         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
77537         Otherwise, install-sh could exit with improper exit status when
77538         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
77539
77540 2004-12-16  Simon Josefsson  <jas@extundo.com>
77541
77542         * tests/test-base64.c: Add license.
77543
77544 2004-12-15  Stepan Kasal  <address@hidden>
77545
77546         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
77547
77548 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
77549
77550         * modules/getcwd (Files): Add m4/d-ino.m4.
77551         Suggested by Mark D. Baushke.
77552
77553 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
77554
77555         * lib/getdate.y (textint): New member "negative".
77556         (time_zone_hhmm): New function.
77557         Expect 14 shift-reduce conflicts, not 13.
77558         (o_colon_minutes): New rule.
77559         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
77560         (yylex): Set the "negative" member of signed numbers.
77561
77562 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
77563
77564         * doc/getdate.texi (Time of day items, Time zone items):
77565         Describe new formats +00:00, UTC+00:00.
77566
77567 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
77568
77569         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
77570         spurious "-l"s.  Problem reported by Stepan Kasal.
77571
77572 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
77573
77574         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
77575         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
77576
77577 2004-12-04  Simon Josefsson  <jas@extundo.com>
77578
77579         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
77580         Vandoorselaere <yoann@prelude-ids.org>.
77581
77582 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
77583
77584         Changes imported from coreutils.
77585         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
77586         exist.
77587         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
77588
77589 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
77590
77591         Changes imported from coreutils.
77592         * lib/hard-locale.c: Assume <locale.h> exists.
77593         Include "strdup.h".
77594         (GLIBC_VERSION): New macro.
77595         (hard_locale): Assume setlocale exists.
77596         Rewrite to avoid #ifdef.
77597         Use strdup rather than malloc + strcpy.
77598         * lib/human.c: Assume <locale.h> exists.
77599         (human_readable): Assume localeconv exists.
77600
77601 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
77602
77603         * modules/hard-locale (Depends-on): Add strdup.
77604
77605 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
77606
77607         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
77608         convert T2, not T.  (Imported from libc.)
77609
77610 2004-11-30  Simon Josefsson  <jas@extundo.com>
77611
77612         * modules/restrict (License): Change to LGPL.
77613
77614 2004-11-30  Simon Josefsson  <jas@extundo.com>
77615
77616         * m4/restrict.m4: Add copyright and copying conditions.
77617
77618 2004-11-30  Simon Josefsson  <jas@extundo.com>
77619
77620         * m4/base64.m4: New file.
77621
77622 2004-11-30  Simon Josefsson  <jas@extundo.com>
77623
77624         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
77625         base64.
77626
77627         * tests/test-base64.c: New file.
77628
77629         * modules/base64: New file.
77630
77631 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
77632
77633         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
77634         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
77635
77636         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
77637
77638 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
77639
77640         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
77641         (__getcwd.c): Don't restore errno; glibc doesn't.
77642         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
77643         first, falling back to our code only if its results look suspicious.
77644         Ensure that the resulting buffer is only as large as necessary.
77645
77646         * lib/readutmp.c: Include readutmp.h first.
77647         Include <errno.h>, since readutmp.h no longer does that.
77648         * lib/readutmp.h: Don't include <errno.h>,
77649         <sys/param.h>, <time.h>; not needed to establish interface.
77650         (errno): Remove decl.
77651         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
77652         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
77653         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
77654
77655 2004-11-28  Simon Josefsson  <jas@extundo.com>
77656
77657         * lib/base64.h, base64.c: New file.
77658
77659 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
77660
77661         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
77662
77663 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
77664
77665         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
77666         (Depends-on): Remove pathmax, same.  Add mempcpy.
77667         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
77668         (Makefile.am): Append getcwd.h to lib_SOURCES.
77669         (Include): Add getcwd.h.
77670         (Maintainer): Change from Jim Meyering to "all, glibc",
77671         since getdate now uses intended-for-glibc code.
77672         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
77673         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
77674
77675 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
77676
77677         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
77678         HP's ANSI C compiler.
77679         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
77680         Declaring int functions causes warnings on some modern systems and
77681         shouldn't be needed to compile on ancient ones.
77682         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
77683         defined.
77684
77685         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
77686         with the following changes.
77687         (__set_errno): Parenthesize properly.
77688         Include <stdbool.h>.
77689         (MIN, MAX, MATCHING_INO): New macros.
77690         (__getcwd): Define with prototype, not K&R form.
77691         Use heuristics to allocate default buffer on stack if possible.
77692         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
77693         behavior, and to avoid the PATH_MAX limit when computing
77694         ../../../../...
77695         Use MATCHING_INO to compare inode number to file.
77696         Check for arithmetic overflow in size calculations.
77697         Fix bug in reallocation of dot array that caused getcwd to fail
77698         on directories nested deeper than 75.
77699         Be more careful about saving errno on error.
77700         Do not use realloc; use only free+malloc, as this is a bit
77701         more flexible and avoids a needless copy operation.
77702         Do not inspect st_dev and st_ino for symbolic links; POSIX
77703         doesn't specify the latter.
77704         Check for closedir errors.
77705         Avoid needless casts.
77706         Use "#ifdef weak_alias" around weak_alias, to be like other
77707         glibc code.
77708         The following changes to getcwd.c have effect only when used in
77709         gnulib; they have no effect inside glibc proper.
77710         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
77711         as alloca isn't used.
77712         (alloca, __alloca): Likewise.
77713         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
77714         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
77715         unconditionally, as gnulib assumes C89 or better.
77716         Do not include <sys/param.h>.
77717         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
77718         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
77719         better.
77720         (NULL) [!defined NULL]: Remove; we assume C89 or better.
77721         Include <dirent.h> in a way that is compatible with modern Autoconf.
77722         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
77723         New macros, if not already defined.
77724         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
77725         Use "_LIBC", not "defined _LIBC", for consistency.
77726         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
77727         a mempcpy module.
77728         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
77729         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
77730         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
77731         credit only to Jim Meyering and adjust the copyright dates.
77732         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
77733         <stdlib.h>, <unistd.h>, "pathmax.h".
77734         Instead, include "xgetcwd.h" (first) and "getcwd.h".
77735         (INITIAL_BUFFER_SIZE): Remove.
77736         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
77737
77738 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
77739
77740         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
77741         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
77742         Use the _ONCE methods, for efficiency.
77743         Check for fcntl.h.  In test program, include <errno.h>
77744         and <fcntl.h> if available.  Remove old K&R cruft from
77745         test program.  Check for common errors in GNU/Linux,
77746         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
77747         don't do AC_LIBOBJ, as that's getcwd.m4's job.
77748         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
77749         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
77750         name accordingly.
77751         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
77752         accommodate new getcwd.c.
77753         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
77754         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
77755         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
77756         that's all we need now.
77757
77758 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77759
77760         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
77761         argp-parse.c depends on getopt internals, that means we should
77762         always use our getopt, to be on the safe side.
77763         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
77764         order not to spoil the result of an eventual previous invocation
77765         of gl_GETOPT_SUBSTITUTE.
77766
77767 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77768
77769         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
77770         redefinition warnings. To avoid them, include the defines
77771         in `#if !defined __need_getopt ... #endif'. The only place
77772         where __getopt_argv_const is used is in definitions
77773         of getopt_long and getopt_long_only below, which are as well
77774         protected by `#ifndef __need_getopt'.
77775         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
77776         __need_getopt after including <stdio.h> and <unistd.h> These
77777         headers might have defined it.
77778
77779 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
77780
77781         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
77782
77783 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
77784
77785         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
77786         (futimens): New function, which uses futimes if available.
77787         (futimens, utimens): Support timespec==NULL, with same semantics
77788         as utime and utimens.
77789         * lib/utimens.h (futimens): New decl.
77790
77791 2004-11-23  Jim Meyering  <jim@meyering.net>
77792
77793         * lib/getopt_.h: Remove trailing blanks.
77794
77795 2004-11-23  Jim Meyering  <jim@meyering.net>
77796
77797         * lib/__fpending.c: Add comment.
77798
77799 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
77800
77801         * modules/canonicalize (Depends-on): Add xreadlink.
77802         Problem reported by James Youngman.
77803
77804 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
77805
77806         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
77807         New macros.
77808         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
77809         optopt): Use them instead of invoking ## directly; otherwise, the
77810         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
77811
77812 2004-11-19  Bruno Haible  <bruno@clisp.org>
77813
77814         * lib/strtok_r.c: Move comments from here...
77815         * lib/strtok_r.h: ... to here.
77816
77817 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
77818
77819         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
77820         implementations that mishandle size_t overflow.
77821
77822 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
77823
77824         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
77825         might fail.  Problem reported by Yoann Vandoorselaere.
77826         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
77827         implementations that mishandle size_t overflow.
77828
77829 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
77830
77831         * modules/canon-host (Depends-on): Add strdup.
77832
77833 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
77834
77835         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
77836
77837 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
77838
77839         * lib/canon-host.c: Include "strdup.h".
77840         (canon_host): Use getaddrinfo if available, so that IPv6 works.
77841         Use strdup instead of malloc/strcpy to duplicate strings.
77842
77843         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
77844         (human_space_before_unit): New constant.
77845         * lib/human.c (human_readable): Support it.
77846
77847         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
77848         (xgetcwd): Set errno correctly when failing.
77849         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
77850         the failure is actually due to a PATH_MAX problem.
77851
77852         Further getopt changes to make it more likely that glibc will
77853         buy the changes back.
77854         * lib/getopt.c (POSIXLY_CORRECT): New constant.
77855         (getopt): Use it, so to preserve glibc semantic
77856         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
77857         when compiling for libc.
77858         * lib/getopt_.h (__getopt_argv_const): Bring it back.
77859         (getopt_long, getopt_long_only): Use it.
77860
77861         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
77862         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
77863         (getopt): Argv is now char * const *, as per standard.
77864         (_getopt_internal_r, _getopt_internal): Argv is now char **,
77865         not char *__getopt_argv_const *.
77866         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
77867         _getopt_long_only_r): Likewise.
77868         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
77869         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
77870         _getopt_long_r, _getopt_long_only_r): Likewise.
77871         * lib/getopt_.h (__getopt_argv_const): Remove.
77872         (getopt): Argv is now char * const *, as per standard.
77873
77874         * lib/getdate.y (tORDINAL): New token.
77875         (day, relunit): Allow it for relative times.
77876         (relative_time_table): Use tORDINAL for ordinals.
77877
77878 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
77879
77880         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
77881         Document that "second" isn't allowed as an ordinal number.
77882
77883 2004-11-16  Jim Meyering  <jim@meyering.net>
77884
77885         * modules/closeout (Depends-on): Add fpending.
77886
77887 2004-11-15  Jim Meyering  <jim@meyering.net>
77888
77889         * lib/closeout.c: Include "__fpending.h" once again.
77890         Include <stdbool.h>.
77891         (close_stdout): Don't fail just because stdout was closed initially,
77892         since some programs don't write to stdout in the normal course of
77893         operation (other than --version and --help), and we don't want this
77894         function to make e.g. `touch file >&-' fail.
77895         But do fail if it was closed and someone has tried to write to it.
77896         E.g., `printf foo >&-' must fail.
77897
77898 2004-11-13  Jim Meyering  <jim@meyering.net>
77899
77900         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
77901
77902 2004-11-12  Simon Josefsson  <jas@extundo.com>
77903
77904         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
77905         small doc fix is still pending.
77906
77907 2004-11-11  Simon Josefsson  <jas@extundo.com>
77908
77909         * modules/strtok_r: New file.
77910
77911         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
77912         strtok_r.
77913
77914 2004-11-11  Simon Josefsson  <jas@extundo.com>
77915
77916         * m4/strtok_r.m4: New file.
77917
77918         * m4/getopt.m4: Replace opterr.
77919
77920 2004-11-11  Simon Josefsson  <jas@extundo.com>
77921
77922         * lib/strtok_r.h, strtok_r.c: New file.
77923
77924 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
77925
77926         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
77927         of replacing opterr, getopt, etc.  This should handle the
77928         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
77929
77930 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
77931
77932         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
77933         we can stop lying to compilers about the constness of argv when we
77934         are compiled outside glibc.
77935         (getopt, getopt_long, getopt_long_only): Use it.
77936         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
77937         _getopt_internal, getopt): Likewise.
77938         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
77939         _getopt_long_only_r): Likewise.
77940         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
77941         _getopt_long_r, _getopt_long_only_r): Likewise.
77942
77943         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
77944         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
77945         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
77946         the other external symbols.
77947         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
77948         declaration, since the above renaming now works around collisions.
77949
77950 2004-11-11  Jim Meyering  <jim@meyering.net>
77951
77952         * lib/linebreak.c: Remove trailing blanks.
77953         * lib/alloca_.h: Likewise.
77954         * lib/acosl.c: Likewise.
77955         * lib/euidaccess.c: Likewise.
77956         * lib/allocsa.h: Likewise.
77957
77958 2004-11-10  Simon Josefsson  <jas@extundo.com>
77959
77960         * m4/getaddrinfo.m4: New file.
77961
77962 2004-11-10  Simon Josefsson  <jas@extundo.com>
77963
77964         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
77965
77966 2004-11-10  Simon Josefsson  <jas@extundo.com>
77967
77968         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
77969         getaddrinfo.
77970
77971         * modules/getaddrinfo: New file.
77972
77973 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
77974
77975         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
77976
77977 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
77978
77979         * lib/mktime.c (SHR): New macro, which is a portable
77980         substitute for >> that should work even on Crays.
77981         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
77982         Problem reported by Mark D. Baushke in
77983         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
77984         * lib/getdate.y (SHR): Likewise.
77985         (tm_diff): Use it.
77986         * lib/strftime.c (SHR): Likewise.
77987         (tm_diff): Use it.
77988         * lib/quotearg.c (struct quoting_options): Use unsigned int for
77989         quote_these_too, so that right shifts are well defined.  All uses
77990         changed.
77991
77992 2004-11-10  Jim Meyering  <jim@meyering.net>
77993
77994         Ensure that no close failure goes unreported.
77995         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
77996         return early when it seems there's nothing to flush.
77997         Don't include __fpending.h.
77998
77999 2004-11-10  Jim Meyering  <jim@meyering.net>
78000
78001         * modules/closeout (Depends-on): Remove fpending.
78002
78003 2004-11-10  Jim Meyering  <jim@meyering.net>
78004
78005         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
78006
78007 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
78008
78009         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
78010         gl_FUNC_STRFTIME.
78011         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
78012         and AC_REQUIRE when possible, to avoid duplicate checks.
78013         Check for <wchar.h>.
78014
78015 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
78016
78017         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
78018
78019 2004-11-09  Bruno Haible  <bruno@clisp.org>
78020
78021         * m4/sockpfaf.m4: New file.
78022
78023 2004-11-05  Bruno Haible  <bruno@clisp.org>
78024
78025         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
78026         Reported by Mark D. Baushke <mdb@cvshome.org>.
78027
78028 2004-11-04  Bruno Haible  <bruno@clisp.org>
78029
78030         2004-09-11  Bruno Haible  <bruno@clisp.org>
78031                 * allocsa.valgrind: New file.
78032         2004-02-06  Bruno Haible  <bruno@clisp.org>
78033                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
78034                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
78035                 Reported by Christopher Seip <chris.seip@hp.com>.
78036
78037 2004-11-04  Bruno Haible  <bruno@clisp.org>
78038
78039         * modules/allocsa (Files): Add lib/allocsa.valgrind.
78040         (Makefile.am): Distribute it.
78041
78042 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
78043
78044         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
78045         with errno == ERANGE if the buffer is too small.
78046         Problem reported by Mark D. Baushke.
78047
78048 2004-11-03  Albert Chin  <china@thewrittenword.com>
78049             Paul Eggert  <eggert@cs.ucla.edu>
78050
78051         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
78052         equivalent, substitute $ac_type for equivalent type rather than
78053         blindly using uint32_t *always* which won't work if uint32_t is not
78054         available.  Define _UINT32_T to work around typedef of uint32_t if
78055         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
78056         2.5.1.
78057
78058 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
78059
78060         * m4/jm-macros.m4: Sync from coreutils.
78061         (gl_MACROS): Check for mbrlen, for pathchk.
78062         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
78063
78064 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
78065
78066         * lib/xreadlink.c (MAXSIZE): New macro.
78067         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
78068         size does not exceed MAXSIZE.  Avoid cast.
78069         As suggested by Mark D. Baushke in
78070         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
78071         if readlink fails with buffer size just under MAXSIZE, try again
78072         with MAXSIZE.
78073
78074 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
78075
78076         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
78077
78078 2004-11-02  Derek R. Price  <derek@ximbiot.com>
78079         and  Paul Eggert  <eggert@cs.ucla.edu>
78080
78081         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
78082         (get_date): Overparenthesize to avoid GCC warning.
78083
78084 2004-11-02  Bruno Haible  <bruno@clisp.org>
78085
78086         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
78087         returns void.
78088
78089 2004-11-02  Bruno Haible  <bruno@clisp.org>
78090
78091         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
78092         function returns void.
78093
78094 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
78095
78096         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
78097         fflush_unlocked, flockfile, funlockfile, funlockfile,
78098         fputs_unlocked, putc_unlocked.
78099
78100 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
78101
78102         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
78103         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
78104         already declared.
78105
78106 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
78107
78108         * modules/getdate (Files): Add doc/getdate.texi.
78109         (Depends-on): Add setenv, xalloc.
78110
78111 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
78112
78113         * lib/getdate.y: Add support for TZ="foo" within a date string.
78114         Fix some bugs near time_t boundaries.  Reject dates with
78115         out-of-range components, e.g., "Sept 31".
78116         Include <stdlib.h>, "setenv.h", "xalloc.h".
78117         (ISDIGIT_LOCALE): Remove; unused.
78118         Note that the TZ and time functions used here are not reentrant.
78119         (mktime_ok, get_tz): New functions.
78120         (TZBUFSIZE): New constant.
78121         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
78122         This requires that we sometimes generate our own TZ="XXX..." setting.
78123
78124 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
78125
78126         * doc/getdate.texi: New file, from coreutils with modifications for
78127         the new TZ parsing.
78128
78129 2004-10-27  Derek R. Price  <derek@ximbiot.com>
78130
78131         * lib/mktime.c (not_equal_tm): Remove redundant check.
78132
78133 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
78134
78135         * modules/regex (lib_SOURCES): Add regex.c.
78136         Reported by James Youngman in
78137         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
78138
78139 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
78140
78141         * lib/getdate.y: Use Bison 1.875 features, and some minor
78142         code cleanups.  This change does not affect semantics.
78143         Don't include <stdlib.h>; no longer needed.
78144         Don't include unlocked-io.h; only the "#if TEST" code uses
78145         stdio, and performance isn't crucial there.
78146         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
78147         Bison 1.875 features as described below.
78148         All uses of "PC." replaced by "pc->".
78149         (YYSTYPE): Add a forward declaration.
78150         (yylex, yyerror): Use full prototypes in forward decls.
78151         Use "%pure-parser" rather than obsolescent "%pure_parser".
78152         Use %parse-param and %lex-param instead of obsolescent
78153         YYPARSE_PARAM and YYLEX_PARAM.
78154         (meridian_table, month_and_day_table, time_units_table,
78155         relative_time_table, time_zone_table, military_table,
78156         lookup_zone, lookup_word, get_date):
78157         Use NULL instead of 0 where appropriate.
78158         (to_hour): Avoid abort (), to avoid a dependency on
78159         stdlib.h.
78160         (yyerror, yylex): Now accepts parser_control * arg.
78161         (main) [TEST]: Use '\0' rather than 0 for char.
78162
78163 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
78164
78165         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
78166
78167 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
78168
78169         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
78170         It's now the caller's responsibility to handle the case where
78171         !HAVE_GETPAGESIZE && !defined getpagesize.
78172
78173         * lib/mktime.c (leapyear): Arg is long int, not int.
78174
78175 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
78176
78177         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
78178
78179 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
78180
78181         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
78182         missing.  Problem reported by James Youngman.
78183
78184 2004-10-16  Simon Josefsson  <jas@extundo.com>
78185
78186         * gnulib-tool: Fix comments.  Fix parse problem.
78187         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
78188
78189 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
78190
78191         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
78192         implementation of getopt_long.  Problem reported by Alexander Taler in:
78193         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
78194
78195 2004-10-15  Bruno Haible  <bruno@clisp.org>
78196
78197         * gnulib-tool: Untabify. Initialize supplied_libname.
78198         (func_usage): More homogenous output.
78199         (func_modules_transitive_closure, func_modules_to_filelist,
78200         func_emit_lib_Makefile_am): New functions.
78201         (func_import): New function, extracted from big case statement. Use
78202         func_get_license, func_modules_transitive_closure,
78203         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
78204         opt_lgpl. Don't use test -a, as it's not portable.
78205         (func_create_testdir): Use func_modules_transitive_closure,
78206         func_modules_to_filelist, func_emit_lib_Makefile_am.
78207
78208 2004-10-15  Bruno Haible  <bruno@clisp.org>
78209
78210         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
78211
78212 2004-10-15  Bruno Haible  <bruno@clisp.org>
78213
78214         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
78215         the portions belonging to each module.
78216         Suggested by Derek Robert Price <derek@ximbiot.com>.
78217
78218 2004-10-12  Simon Josefsson  <jas@extundo.com>
78219
78220         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
78221         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
78222         to real functions.
78223
78224 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78225
78226         * modules/vsnprintf: New file.
78227
78228 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78229
78230         * m4/vsnprintf.m4: New file.
78231
78232 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78233
78234         * lib/vsnprintf.h: New file.
78235         * lib/vsnprintf.c: New file.
78236
78237 2004-10-11  Bruno Haible  <bruno@clisp.org>
78238
78239         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
78240         vsnprintf.
78241
78242 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
78243
78244         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
78245
78246 2004-10-07  Bruno Haible  <bruno@clisp.org>
78247
78248         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
78249         fits into the provided buffer.
78250
78251 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
78252
78253         * lib/diacrit.c, diacrit.h: Add GPL notice.
78254
78255         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
78256         notice.
78257         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
78258         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
78259         This avoids a potential constant-folding bug.
78260
78261 2004-10-05  Bruno Haible  <bruno@clisp.org>
78262
78263         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
78264         for the declaration of strsep.
78265
78266 2004-10-05  Bruno Haible  <bruno@clisp.org>
78267
78268         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
78269
78270 2004-10-04  Simon Josefsson  <jas@extundo.com>
78271
78272         * modules/memmem: New file.
78273         * tests/test-memmem.c: New file.
78274         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
78275
78276 2004-10-04  Simon Josefsson  <jas@extundo.com>
78277
78278         * m4/memmem.m4: New file.
78279
78280 2004-10-04  Simon Josefsson  <jas@extundo.com>
78281
78282         * lib/memmem.h: New file.
78283         * lib/memmem.c: New file, taken from glibc.
78284
78285 2004-10-04  Simon Josefsson  <jas@extundo.com>
78286
78287         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
78288         '#ifdef USE_UNLOCKED_IO'.
78289
78290 2004-10-04  Simon Josefsson  <jas@extundo.com>
78291
78292         * config/srclist.txt: Add memmem from glibc.
78293
78294 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
78295
78296         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
78297
78298         * modules/argmatch, modules/argp, modules/closeout, modules/error,
78299         modules/exclude, modules/getdate, modules/getline,
78300         modules/getndelim2, modules/getpass, modules/getpass-gnu,
78301         modules/getusershell, modules/linebuffer, modules/md5,
78302         modules/mountlist, modules/posixtm, modules/readtokens,
78303         modules/readutmp, modules/regex, modules/sha1,
78304         modules/version-etc, modules/yesno:
78305         Remove dependency on unlocked-io.
78306
78307 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
78308
78309         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
78310
78311         * m4/unlocked-io.m4: Add copyright notice.
78312         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
78313
78314 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
78315
78316         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
78317         * lib/xmalloc.c (xmemdup): Likewise.
78318         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
78319         XFREE): Remove these long-obsolescent macros.
78320         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
78321         * lib/xstrdup.c: Remove.
78322
78323         * lib/regex.c (re_comp): Cast gettext return value to char *,
78324         Problem reported by Martin Neitzel via Mark D. Baushke.
78325
78326 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
78327
78328         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
78329         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
78330         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
78331         regex.c, sha1.c, version-etc.c, yesno.c:
78332         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
78333         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
78334         the includer's responsibility.
78335
78336         Sync from coreutils.
78337
78338         * lib/modechange.c (mode_compile): Don't decrement a pointer that
78339         points to the start of a string, as the C Standard says the
78340         resulting behavior is undefined.
78341
78342         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
78343         simple -> simple_backups, numbered_existing ->
78344         numbered_existing_backups, numbered -> numbered_backups
78345         to avoid shadowing problems.  All uses changed.
78346         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
78347         * lib/backupfile.c (check_extension, numbered_backup):
78348         Rename locals to avoid shadowing 'basename'.
78349         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
78350         once.
78351
78352         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
78353         * lib/.cvsignore: Add getopt.h.
78354
78355 2004-10-04  Bruno Haible  <bruno@clisp.org>
78356
78357         * modules/README: New file.
78358         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
78359         not a module.
78360
78361 2004-10-02  Jim Meyering  <jim@meyering.net>
78362
78363         * lib/dirfd.h, getpagesize.h: Add copyright notice.
78364
78365 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78366
78367         * modules/strsep: New file.
78368
78369 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78370
78371         * m4/strsep.m4: New file.
78372
78373 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78374
78375         * lib/strsep.h: New file.
78376         * lib/strsep.c: New file.
78377
78378 2004-10-01  Simon Josefsson  <jas@extundo.com>
78379
78380         * lib/snprintf.c (snprintf): Handle size==0.
78381
78382 2004-10-01  Simon Josefsson  <jas@extundo.com>
78383             Bruno Haible  <bruno@clisp.org>
78384
78385         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
78386         (snprintf): Declare 'args'.
78387
78388 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
78389
78390         * lib/snprintf.c: Remove comments as to why each header is needed.
78391
78392 2004-10-01  Bruno Haible  <bruno@clisp.org>
78393
78394         * MODULES.html.sh: Add strsep.
78395
78396 2004-09-30  Simon Josefsson  <jas@extundo.com>
78397
78398         * modules/snprintf: New file.
78399
78400 2004-09-30  Simon Josefsson  <jas@extundo.com>
78401
78402         * m4/snprintf.m4: New file.
78403
78404 2004-09-30  Simon Josefsson  <jas@extundo.com>
78405
78406         * lib/snprintf.h, lib/snprintf.c: New files.
78407
78408 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78409
78410         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
78411         (hol_entry_help): Never translate an empty string.
78412         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
78413         * lib/argp.h (OPTION_NO_TRANS): New option.
78414
78415 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
78416
78417         * modules/argp (Maintainer): Replace Simon Josefsson
78418         by Sergey Poznyakoff.
78419
78420 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
78421
78422         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
78423         changes merged back into glibc.
78424
78425 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
78426
78427         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
78428
78429 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
78430
78431         * lib/xvasprintf.c: Include xalloc.h.
78432         (xvasprintf): Use xalloc_die, not xmalloc_die.
78433
78434 2004-09-29  Bruno Haible  <bruno@clisp.org>
78435
78436         * modules/alloca-opt: New file, derived from modules/alloca.
78437         * modules/allocsa: Depend on alloca-opt instead of alloca.
78438         * modules/setenv: Likewise.
78439         * modules/vasnprintf: Likewise.
78440         * MODULES.html.sh: Add alloca-opt.
78441
78442 2004-09-28  Simon Josefsson  <jas@extundo.com>
78443
78444         * gnulib-tool: New parameter --lgpl, to asseert that modules are
78445         LGPL, and to replace license template from GPL to LGPL.
78446
78447 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
78448
78449         * modules/dummy: Change license to LGPL.
78450
78451 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
78452
78453         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
78454
78455 2004-09-24  Simon Josefsson  <jas@extundo.com>
78456
78457         * modules/minmax (License): Change from GPL to LGPL.
78458
78459 2004-09-23  Simon Josefsson  <jas@extundo.com>
78460
78461         * gnulib-tool (--import): Typo.
78462
78463 2004-09-23  Simon Josefsson  <jas@extundo.com>
78464
78465         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
78466
78467 2004-09-22  Bruno Haible  <bruno@clisp.org>
78468
78469         * modules/*: Add 'License' field.
78470         * gnulib-tool: Accept --extract-license option.
78471         (func_get_license): New function.
78472
78473 2004-09-21  Bruno Haible  <bruno@clisp.org>
78474
78475         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
78476         Reported by Simon Josefsson.
78477
78478 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
78479
78480         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
78481         gl_AC_TYPE_LONG_LONG.
78482
78483 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
78484
78485         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
78486
78487 2004-09-18  Simon Josefsson  <jas@extundo.com>
78488         and  Paul Eggert  <eggert@cs.ucla.edu>
78489
78490         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
78491         calls with autoreconf.  Define GL_LIB.
78492
78493 2004-09-14  Karl Berry  <karl@gnu.org>
78494
78495         * config/srclist.txt: unsync setenv.c, sigh.
78496
78497 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
78498
78499         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
78500         Problem reported by Bruno Haible in:
78501         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
78502
78503 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
78504
78505         * config/srclist.txt: Comment out argp-pvh.c.
78506
78507 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
78508
78509         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
78510         in case some system header has #define'd it.  Problem reported by
78511         Soeren D. Schulze in
78512         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
78513
78514 2004-09-09  Karl Berry  <karl@gnu.org>
78515
78516         * regex.[ch]: delete from the root.  These were supposed to be
78517                 synced with emacs cvs, but this has not happened for about
78518                 a year, and anyway nothing else uses emacs regex.[ch].
78519                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
78520                 lib/regex[.ch] is untouched.
78521
78522 2004-09-09  Bruno Haible  <bruno@clisp.org>
78523
78524         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
78525
78526 2004-09-09  Bruno Haible  <bruno@clisp.org>
78527
78528         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
78529         modifications.
78530         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
78531
78532 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
78533
78534         * modules/xvasprintf: New file.
78535         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
78536
78537 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
78538
78539         * lib/xvasprintf.h: New file.
78540         * lib/xvasprintf.c: New file.
78541         * lib/xasprintf.c: New file.
78542
78543 2004-09-08  Bruno Haible  <bruno@clisp.org>
78544
78545         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
78546
78547 2004-09-08  Bruno Haible  <bruno@clisp.org>
78548
78549         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
78550         length is > INT_MAX.
78551         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
78552         more.
78553
78554 2004-09-08  Bruno Haible  <bruno@clisp.org>
78555
78556         * lib/stdint_.h: New file, taken from GNU clisp.
78557
78558 2004-09-08  Bruno Haible  <bruno@clisp.org>
78559             Oskar Liljeblad  <oskar@osk.mine.nu>
78560
78561         * modules/stdint: New file.
78562         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
78563
78564 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
78565
78566         Import from coreutils.
78567         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
78568         strings on unbounded length.  alloca's performance benefits aren't
78569         that important here.
78570         (V_STRDUP): Remove.
78571         (parse_with_separator): New function, with most of the internals
78572         of the old parse_user_spec.  Allow user to omit both user and group,
78573         for compatibility with FreeBSD.
78574         Clone only the user name, not the entire spec.
78575         Do not set *uid, *gid unless entirely successful.
78576         Avoid memory leak in some failing cases.
78577         Fix regression for USER.GROUP reported by Dmitry V. Levin in
78578         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
78579         (parse_user_spec): Rewrite to use parse_with_separator.
78580
78581 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
78582
78583         * modules/userspec: Don't depend on alloca.
78584
78585 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
78586
78587         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
78588
78589 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
78590
78591         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
78592         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
78593         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
78594
78595 2004-08-16  Simon Josefsson  <jas@extundo.com>
78596
78597         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
78598         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
78599         Add --dry-run for --import.
78600         Let user provided command line parameters override configure.ac
78601         settings.
78602
78603 2004-08-12  Simon Josefsson  <jas@extundo.com>
78604
78605         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
78606         as discussed with Paul Eggert in threads rooted at
78607         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
78608         and
78609         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
78610         Before, the test was empty, and relied on ELIDE_CODE in source
78611         code.)
78612         (gl_PREREQ_GETOPT): New macro.
78613         (gl_GETOPT): Use them.
78614
78615 2004-08-12  Simon Josefsson  <jas@extundo.com>
78616
78617         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
78618         * lib/getopt_.h: Renamed from getopt.h.
78619
78620 2004-08-12  Simon Josefsson  <jas@extundo.com>
78621
78622         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
78623         Change default library name from libfoo to libgnu.
78624         Now, if you have a configure.ac that says:
78625                 gl_SOURCE_BASE(gl)
78626                 gl_M4_BASE(gl/m4)
78627                 gl_MODULES(error getopt etcetera)
78628                 gl_INIT
78629         you can import all you need by running:
78630                 ../gnulib/gnulib-tool --import
78631
78632         * modules/getopt (Files): Rename getopt.h to getopt_.h.
78633         (Makefile.am): Rewrite, use logic from argz.
78634         (Include): Use <getopt.h> instead of "getopt.h".
78635
78636 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
78637
78638         * modules/argp (Files): Add m4/unlocked-io.m4.
78639         (Depends-on): Add extensions.
78640
78641 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
78642
78643         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
78644         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
78645         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
78646         Check for program_invocation_name, program_invocation_short_name,
78647         flockfile, funlockfile, features.h, _getopt_long_only_r.
78648
78649 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
78650
78651         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
78652         its complicated substitute.
78653         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
78654         and program_invocation_name.
78655         (__argp_basename) [!_LIBC]: Remove; the only use was
78656         replaced by its body.
78657         (__argp_short_program_name): Change condition from
78658         !defined __argp_short_program_name to
78659         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
78660         to match argp-namefrob.h.
78661         (__argp_failure): Don't assume strerror_r returns char *.
78662         * lib/argp-parse.c (N_): Define unconditionally.
78663         (argp_default_options): Fill out initializers with 0 to avoid
78664         gcc warnings.
78665
78666 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
78667
78668         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
78669         getopt1.c.
78670
78671 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
78672
78673         Merge from coreutils.
78674
78675         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
78676
78677         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
78678         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
78679
78680 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
78681
78682         Merge from coreutils.
78683
78684         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
78685         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
78686         for Reliant Unix 5.43.
78687
78688         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
78689         (union fooround): Use uintmax_t, not long int.
78690         The rest is a merge from libc:
78691         [defined _LIBC]: Include <shlib-compat.h>.
78692         (_obstack) [defined _LIBC]: Remove after 2.3.4.
78693
78694         * lib/settime.c (settime): Recode to avoid warning with
78695         Sun Forte C 6U2.
78696
78697         * lib/strverscmp.c: Convert to UTF-8.
78698
78699 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
78700
78701         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
78702         m4/uintmax_t.m4.
78703
78704 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
78705
78706         * modules/xalloc-die: New file.
78707         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
78708
78709         * modules/md5 (Files): Add m4/uint32_t.m4.
78710         * modules/sha1: Renamed from modules/sha.
78711         (Files):
78712         Rename lib/sha.h to lib/sha1.h.
78713         Rename lib/sha.c to lib/sha1.c.
78714         Rename m4/sha.m4 to m4/sha1.m4.
78715         (lib_SOURCES): Likewise.
78716         (configure.ac): Rename gl_SHA to gl_SHA1.
78717         (Include): sha.h -> sha1.h.
78718
78719 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
78720
78721         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
78722         * m4/sha1.m4: Renamed from sha.m4.
78723         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
78724
78725 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
78726
78727         * lib/obstack.h (obstack_empty_p):
78728         Don't assume that chunk->contents is suitably aligned.
78729         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
78730         Likewise. Problem reported by Benno in
78731         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
78732
78733         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
78734         readable.  This could be improved further but it'd take some work.
78735
78736 2004-08-08  Simon Josefsson  <jas@extundo.com>
78737
78738         * modules/xgethostname (Depends-on): Remove exit and error (not
78739         used).
78740
78741         * modules/getpass-gnu: Add getpass.h.
78742         (Depends-on): Add stdbool.
78743         * modules/getpass: Add getpass.h.
78744
78745 2004-08-08  Simon Josefsson  <jas@extundo.com>
78746
78747         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
78748         Check getpass declaration.
78749
78750 2004-08-08  Simon Josefsson  <jas@extundo.com>
78751
78752         * lib/xgethostname.c: Don't include error.h (not used).
78753
78754         * lib/getpass.h: Add.
78755         * lib/getpass.c: Include getpass.h first.
78756
78757 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
78758
78759         * lib/xalloc-die.c: New file.
78760         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
78761         All uses removed.
78762         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
78763         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
78764         xalloc-die.c.
78765         (_, N_, xalloc_die): Move to xalloc-die.c.
78766         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
78767         so that we needn't mess with xalloc_msg_memory_exhausted.
78768
78769         * lib/sha1.h: Renamed from sha.h.
78770         (SHA1_H): Renamed from _SHA_H.
78771         (sha1_ctx): Renamed from sha_ctx.
78772         (sha1_init_ctx): Renamed from sha_init_ctx.
78773         (sha1_process_block): Renamed from sha_process_block.
78774         (sha1_process_bytes): Renamed from sha_process_bytes.
78775         (sha1_finish_ctx): Renamed from sha_finish_ctx.
78776         (sha1_read_ctx): Renamed from sha_read_ctx.
78777         (sha1_stream): Renamed from sha_stream.
78778         (sha1_buffer): Renamed from sha_buffer.
78779         * lib/sha1.c: Likewise; renamed from sha.c.
78780         Do not include <sys/types.h>.
78781         Include <stddef.h> rather than <stdlib.h>.
78782
78783 2004-08-08  Bruno Haible  <bruno@clisp.org>
78784
78785         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
78786         FILESYSTEM_PREFIX_LEN.
78787         * lib/progreloc.c: Likewise.
78788         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
78789
78790 2004-08-06  Simon Josefsson  <jas@extundo.com>
78791
78792         * modules/progname (Depends-on): Don't depend on stdbool.
78793
78794 2004-08-06  Simon Josefsson  <jas@extundo.com>
78795
78796         * modules/getsubopt: New file.
78797         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
78798         getsubopt.
78799
78800 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
78801
78802         More merge from coreutils.
78803
78804         * m4/utimens.m4, m4/utimecmp.m4: New files.
78805         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
78806         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
78807         prereq.m4, sha.m4: Import changes from coreutils.
78808
78809 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
78810
78811         More merge from coreutils.
78812         * modules/raise, modules/readtokens0, modules/utimens:
78813         * modules/utimecmp, module/xnanosleep: New files.
78814         * modules/strftime: Add lib/strftime.h.
78815         Change include from <time.h> to "strftime.h".
78816         * modules/yesno: Add lib/yesno.h.
78817         * modules/backupfile: Remove lib/addext.c.
78818         * modules/euidaccess: Add stat-macros.h.
78819         * modules/canonicalize, modules/euidaccess,
78820         modules/filemode, modules/lchown, modules/makepath,
78821         modules/rmdir, modules/stat: Likewise.
78822
78823 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
78824
78825         Merge from tar.
78826         * lib/argp-help.c (make_hol, hol_append): Don't assume that
78827         SIZE_MAX is a valid preprocessor constant.
78828         (__argp_basename): Change from "#ifndef _LIBC"
78829         to "#ifndef __argp_short_program_name", so that
78830         we don't compile these functions for tar.
78831
78832         More merges from coreutils.
78833         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
78834         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
78835         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
78836         * lib/addext.c: Remove; no longer needed.
78837         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
78838         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
78839         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
78840         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
78841         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
78842         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
78843         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
78844         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
78845         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
78846         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
78847         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
78848         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
78849         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
78850         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
78851         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
78852         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
78853         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
78854         Import changes from coreutils.
78855
78856 2004-08-05  Simon Josefsson  <jas@extundo.com>
78857
78858         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
78859
78860 2004-08-05  Simon Josefsson  <jas@extundo.com>
78861
78862         * m4/getsubopt.m4: New file.
78863
78864 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
78865
78866         Merge from coreutils.
78867
78868         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
78869         * m4/getcwd-path-max.m4: New files.
78870
78871         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
78872         FILESYSTEM_PREFIX_LEN ->
78873         FILE_SYSTEM_PREFIX_LEN.
78874         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
78875         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
78876         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
78877         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
78878
78879         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
78880         prerequisite modules now handle the DOS stuff.
78881         Don't check for unistd.h.
78882
78883 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
78884
78885         Merge from coreutils.
78886
78887         * lib/.gdb-history: Remove; this doesn't belong here.
78888
78889         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
78890         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
78891         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
78892         * lib/getcwd.c: New files.
78893
78894         * lib/dirname.h: Include <stdbool.h>.
78895         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
78896         for consistency with POSIX terminology.  All uses changed.
78897         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
78898         (strip_trailing_slashes): Use bool for booleans.
78899         * lib/stripslash.c (strip_trailing_slashes): Likewise.
78900
78901         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
78902         sometimes returns a positive errno value even when it succeeds.
78903         (print_errno_message) [!LIBC]: Fall back on strerror if
78904         __strerror_r fails.
78905
78906         * lib/path-concat.c (mempcpy): Don't define if a system header defines
78907         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
78908         (longest_relative_suffix): New function.
78909         (path_concat): Use it.  Assume first argument is not NULL.
78910         Port to DOS.  Omit redundant separators.
78911         Report an error instead of returning NULL.
78912         Use mempcpy instead of memcpy.
78913         (xpath_concat): Remove: not declared or used.
78914
78915         * lib/same.h: Include <stdbool.h>
78916         (same_name): Return bool, not int.
78917         * lib/same.c (same_name): Likewise.
78918         (errno): Don't declare; we assume C89 or better now.
78919
78920         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
78921         if not already defined.
78922
78923         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
78924         * lib/dup-safer.c (errno): Likewise.
78925
78926 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
78927
78928         Merge from coreutils.
78929         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
78930         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
78931         * modules/path-concat: Don't depend on strdup.
78932
78933 2004-08-03  Simon Josefsson  <jas@extundo.com>
78934
78935         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
78936         * lib/progname.h: Don't include stdbool.h.
78937
78938 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
78939
78940         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
78941         * MODULES.html.sh (func_all_modules): Remove fatal.
78942
78943 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
78944
78945         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
78946
78947 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
78948
78949         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
78950         working.
78951
78952 2004-08-02  Simon Josefsson  <jas@extundo.com>
78953
78954         * lib/getsubopt.h: New file, with comments from Bruno Haible.
78955         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
78956         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
78957
78958 2004-08-01  Simon Josefsson  <jas@extundo.com>
78959
78960         * lib/xgetdomainname.c: Include stdlib.h, for free().
78961
78962 2004-07-19  Bruno Haible  <bruno@clisp.org>
78963
78964         * MODULES.html.sh (func_all_modules): Add dummy.
78965
78966 2004-07-16  Simon Josefsson  <jas@extundo.com>
78967
78968         * modules/dummy: New file.
78969
78970 2004-07-16  Simon Josefsson  <jas@extundo.com>
78971
78972         * lib/dummy.c: New file.
78973
78974 2004-07-16  Bruno Haible  <bruno@clisp.org>
78975
78976         * lib/backupfile.h: Add extern "C" for C++.
78977         * lib/closeout.h: Likewise.
78978         * lib/copy-file.h: Likewise.
78979         * lib/findprog.h: Likewise.
78980         * lib/full-write.h: Likewise.
78981         * lib/pathname.h: Likewise.
78982         * lib/progname.h: Likewise.
78983         * lib/stpcpy.h: Likewise.
78984         * lib/stpncpy.h: Likewise.
78985         * lib/strcase.h: Likewise.
78986         * lib/strstr.h: Likewise.
78987         * lib/xalloc.h: Likewise.
78988
78989         * lib/mbswidth.h: Add extern "C" for C++.
78990         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
78991
78992 2004-07-13  Robert Millan  <robertmh@gnu.org>
78993
78994         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
78995
78996 2004-07-09  Simon Josefsson  <jas@extundo.com>
78997
78998         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
78999         failed without this.)
79000
79001 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
79002
79003         * modules/chown (Files): Add lib/fchown-stub.c, since
79004         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
79005
79006 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
79007
79008         * lib/fchown-stub.c: New file.
79009
79010 2004-06-24  Jim Meyering  <jim@meyering.net>
79011
79012         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
79013
79014 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79015
79016         * modules/argz: Omit "#include".
79017
79018         * MODULES.html.sh (func_all_modules): Add calloc, to match
79019         2004-06-01 addition of calloc module.
79020
79021 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79022
79023         * m4/argz.m4: New file, which is autoupdated from libtool.
79024
79025 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79026
79027         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
79028         libtool.
79029
79030 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79031
79032         * config/srclist-update: Don't insist on "USA." before the
79033         close-comment, as libtool omits the period and puts the */ on a
79034         separate line.
79035         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
79036         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
79037
79038 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
79039
79040         * modules/argz: New file.
79041         * MODULES.html.sh (func_all_modules): Add argz.
79042
79043 2004-06-12  Jim Meyering  <jim@meyering.net>
79044         and  Paul Eggert  <eggert@cs.ucla.edu>
79045
79046         * modules/hash (Files): Add lib/xalloc.h.
79047         * modules/pipe (Depends-on): Add wait-process.
79048         * modules/stat (Depends-on): Add xalloc.
79049         * modules/userspec (Files): Add lib/userspec.h.
79050         * modules/xstrto
79051
79052         Upgrade from gettext-0.13.
79053         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
79054         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
79055         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
79056
79057 2004-06-10  Jim Meyering  <jim@meyering.net>
79058
79059         * lib/calloc.c: New file.
79060
79061 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
79062
79063         * lib/getdate.y (yylex): Allow space between sign and number.
79064         Problem reported by Dan Jacobson.
79065
79066 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
79067
79068         Merge from coreutils CVS.
79069
79070         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
79071         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
79072         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
79073         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
79074         xstrtol.m4: Fix copyright date and/or serial number.
79075
79076         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
79077         See if we need an fchown replacement.
79078         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
79079         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
79080         and use the replacement function if we detect either defect.
79081
79082         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
79083         gl_UTIMECMP.
79084
79085 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
79086         and  Jim Meyering  <jim@meyering.net>
79087
79088         Merge from coreutils CVS.
79089
79090         * lib/stat-macros.h: New file, with contents from file-type.h
79091         and coreutils' system.h.
79092         * lib/file-type.c: Include "stat-macros.h".
79093         * lib/file-type.h (file_type): Move all macro definitions to new file,
79094         stat-macros.h.
79095
79096         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
79097         Wrap old code with this conditional.
79098         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
79099         function that does not dereference symlinks.
79100         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
79101
79102         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
79103         dependency problems.
79104         (xreadlink): Accept new arg SIZE, for efficiency.
79105         All decls and uses changed.
79106         * lib/xreadlink.h: Include <stddef.h>, for size_t.
79107
79108         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
79109         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
79110
79111         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
79112         sysexits.h.
79113
79114 2004-06-01  Jim Meyering  <jim@meyering.net>
79115
79116         * m4/calloc.m4: New file.
79117
79118 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
79119
79120         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
79121         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
79122         Also, fix a typo in a diagnostic.
79123
79124 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
79125
79126         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
79127         or AC_FUNC_REALLOC.
79128
79129 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
79130
79131         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
79132         macros to be defined.
79133         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
79134         the allocator returns NULL because the requested size is zero.
79135
79136 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
79137
79138         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
79139         var.  Add comment explaining why libc still defines it.  This
79140         merges the following patch from glibc:
79141         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
79142
79143 2004-05-20  Andreas Schwab  <schwab@suse.de>
79144
79145         * m4/free.m4: Replace free if it not known to work, not the other
79146         way round.
79147
79148 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
79149
79150         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
79151         present in glibc since revision 1.1 of this file.
79152         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
79153         obstack_alignment_mask, obstack_alloc, obstack_base,
79154         obstack_blank, obstack_blank_fast, obstack_chunk_size,
79155         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
79156         obstack_grow0, obstack_init, obstack_int_grow,
79157         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
79158         obstack_next_free, obstack_object_size, obstack_ptr_grow,
79159         obstack_ptr_grow_fast, obstack_room): Remove declarations of
79160         nonexistent functions.
79161
79162 2004-05-18  Karl Berry  <karl@gnu.org>
79163
79164         * config/srclist.txt: break link for vasnprintf.c.
79165
79166 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
79167
79168         Port obstack to the AS/400, where pointers are 16 bytes wide and
79169         you cannot cast an integer to a valid pointer.  This patch is
79170         currently waiting to be integrated into glibc; see
79171         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
79172
79173         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
79174         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
79175         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
79176         (struct obstack): temp member is now a union of a pointer and
79177         an integer, instead of an integer.  All integer uses changed.
79178         This does not affect the physical layout of struct obstack,
79179         except on hosts (like the AS/400) where the size or alignment of
79180         void * is greater than that of ptrdiff_t.
79181         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
79182         __STDC__)]: Store temporary in pointer member of union, not
79183         integer member.
79184         * lib/obstack.c: Include <stddef.h>, for offsetof.
79185         (struct fooalign): Remove; it doesn't need a name.
79186         (union fooround): Change double to long double, and add void *.
79187         (DEFAULT_ALIGNMENT): Use offsetof to compute.
79188         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
79189         not a macro.  Hence the values are always int; so remove all
79190         casts-to-int in uses.
79191
79192 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
79193
79194         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
79195         we can get this patch merged into glibc.
79196
79197 2004-05-17  Derek R. Price  <derek@ximbiot.com>
79198             Paul Eggert  <eggert@cs.ucla.edu>
79199
79200         * m4/argp: Depend on alloca.
79201
79202 2004-05-17  Derek R. Price  <derek@ximbiot.com>
79203             Paul Eggert  <eggert@cs.ucla.edu>
79204
79205         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
79206         freecoding.
79207
79208 2004-05-17  Bruno Haible  <bruno@clisp.org>
79209
79210         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
79211         precision that consists of a '.' followed by an empty digit string.
79212         Patch by Tor Lillqvist <tml@iki.fi>.
79213
79214 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
79215
79216         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
79217         for backward compatibility with older code.  We need our own
79218         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
79219         it under some other name, and our alloca.h will define it.
79220
79221 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
79222             Derek Price  <derek@ximbiot.com>
79223
79224         * lib/alloca.c: Include <alloca.h>, to get our interface.
79225         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
79226         include <alloca.h> first.  Use C89 prototype for alloca; this
79227         requires including <stddef.h> for size_t.  Use extern "C" if C++.
79228         Use #elif for simplicity, since we can assume C89 now.
79229         Don't try to source the system alloca.h since it will not be found
79230         and to prevent recursively including its replacement.
79231         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
79232         * lib/regex.c: Likewise.
79233
79234 2004-05-16  Derek Price  <derek@ximbiot.com>
79235             Paul Eggert  <eggert@cs.ucla.edu>
79236
79237         getline cleanup.  This changes the getndelim2 API: both order of
79238         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
79239         no delimiter).
79240
79241         * lib/getline.c: Don't include stddef.h or stdio.h, since our
79242         interface does that.
79243         (getline): Always use getdelim, so that we don't have two
79244         copies of this code.
79245         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
79246         if available.
79247         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
79248         (GETNDELIM2_MAXIMUM): New macro.
79249         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
79250         instead of the old practice of delim2==0.  All callers changed.
79251         Return -1 on overflow, instead of returning junk.
79252         Do not set *linesize unless allocation succeeds.
79253         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
79254         that we include sys/types.h.
79255         * lib/getnline.h: Likewise.
79256         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
79257         (getndelim2): Reorder arguments.
79258         * lib/getnline.c (getnline, getndelim):
79259         Don't discard the NMAX argument.
79260         (getnline): Invoke getndelim, to avoid code duplication.
79261         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
79262         of (size_t) -1 by callers of the getnline family.
79263
79264 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
79265
79266         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
79267         Check for gettimeofday.
79268         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
79269         Check for settimeofday, stime.
79270
79271 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
79272
79273         * lib/nanosleep.c (suspended): Change its type from int to
79274         sig_atomic_t volatile.
79275         (first_call): Make it private to rpl_nanosleep, and have it
79276         be zero initially as that's a bit faster.
79277         (my_usleep): Round up fractional times instead of truncating them,
79278         as this is the usual meaning for 'sleep'.
79279
79280         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
79281         doesn't work.
79282         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
79283         (ENOSYS): Define if not defined.
79284         (settime): Fall back on stime if it exists and settimeofday fails.
79285         But don't bother with fallbacks if a method fails with errno == EPERM.
79286
79287 2004-05-11  Jim Meyering  <jim@meyering.net>
79288
79289         Prior to this change, the save_cwd caller required read access to the
79290         current directory on most systems (ones with the fchdir function).
79291
79292         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
79293         fails, try write-only, and finally, resort to using xgetcwd.
79294
79295 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
79296
79297         * lib/obstack.c, obstack.h: Import changes from libc.
79298
79299 2004-04-28  Bruno Haible  <bruno@clisp.org>
79300
79301         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
79302         also implicitly appends .exe to executables.
79303         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
79304         accepts Windows pathnames.
79305         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
79306         Treat Cygwin like Windows, since it now accepts Windows pathnames.
79307         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
79308         Treat Cygwin like Windows, since it now accepts Windows pathnames.
79309         Reported by Derek Robert Price <derek@ximbiot.com>.
79310
79311 2004-04-21  Karl Berry  <karl@gnu.org>
79312
79313         * config/srclist.txt (localcharset.c): break sync.
79314
79315 2004-04-20  Paul Eggert  <eggert@twinsun.com>
79316
79317         * m4/host-os.m4: Add a copyright notice.
79318
79319 2004-04-20  Jim Meyering  <jim@meyering.net>
79320
79321         Change UTILS_ to gl_ in AC_DEFINE'd names.
79322         Change utils_- and jm_-prefixed variables, too.
79323         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
79324         UTILS_FUNC_MKDIR_TRAILING_SLASH.
79325         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
79326
79327         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
79328         Don't emit trailing blanks.
79329         Also rename jm_-prefixed variables to have gl_ prefix.
79330
79331         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
79332         Also rename jm_-prefixed variables to have gl_ prefix.
79333
79334         * m4/jm-macros.m4: Reflect the renamings.
79335         * m4/prereq.m4: Likewise.
79336
79337 2004-04-20  Jim Meyering  <jim@meyering.net>
79338
79339         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
79340         memory.
79341
79342 2004-04-20  Jim Meyering  <jim@meyering.net>
79343             Bruno Haible  <bruno@clisp.org>
79344
79345         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
79346         memory when realloc fails.
79347
79348 2004-04-19  Jim Meyering  <jim@meyering.net>
79349
79350         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
79351         now that readutmp.c may call `free (0)'.
79352
79353 2004-04-19  Bruno Haible  <bruno@clisp.org>
79354
79355         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
79356         * m4/inttypes_h.m4: Likewise.
79357         * m4/stdint_h.m4: Likewise.
79358         * m4/intmax_t.m4: Likewise.
79359         * m4/uintmax_t.m4: Likewise.
79360
79361 2004-04-18  Jim Meyering  <jim@meyering.net>
79362
79363         * m4/prereq.m4: Don't forbid jm_ prefix.
79364
79365         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
79366         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
79367         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
79368         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
79369         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
79370         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
79371         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
79372         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
79373         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
79374         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
79375         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
79376         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
79377         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
79378         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
79379         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
79380         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
79381         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
79382         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
79383         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
79384
79385 2004-04-18  Jim Meyering  <jim@meyering.net>
79386
79387         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
79388         failure, don't leak memory and do call END_UTMP_ENT.
79389
79390 2004-04-16  Jim Meyering  <jim@meyering.net>
79391
79392         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
79393         coreutils' stat program.
79394         (gl_PREREQ): Don't require jm_PREREQ_STAT.
79395
79396 2004-04-11  Paul Eggert  <eggert@twinsun.com>
79397
79398         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
79399         C89.
79400         (CHAR_BIT): Remove, since we assume C89.
79401         Include <stdint.h> if available, as per current Autoconf CVS advice.
79402
79403 2004-03-31  Jim Meyering  <jim@meyering.net>
79404
79405         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
79406         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
79407         * m4/xalloc.m4: Likewise.
79408
79409 2004-03-30  Paul Eggert  <eggert@twinsun.com>
79410
79411         Merge from coreutils.
79412
79413         * m4/inttostr.m4: New file.
79414         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
79415         Require AM_STDBOOL_H and gl_TIMESPEC instead.
79416         Require gl_CLOCK_TIME.
79417         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
79418
79419 2004-03-30  Paul Eggert  <eggert@twinsun.com>
79420
79421         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
79422         not bool, to be more consistent with Unix conventions.
79423         Suggested by Bruno Haible.
79424
79425         Merge from coreutils.
79426
79427         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
79428         * lib/umaxtostr.c: New files.
79429
79430         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
79431         the usual <time.h> dance.
79432         (get_date): Change signature to support fractional time stamps.
79433         All callers changed.
79434         * lib/getdate.y: Include "getdate.h" first, as we can now
79435         assume C89 and don't need to worry about 'const'.
79436         Similarly, include "unlocked-io.h" near start, not in middle.
79437         Include <limits.h>.
79438         (textint.value): Use long int rather than int.
79439         (textint.digits): Use size_t rather than int.
79440         (BILLION, LOG10_BILLION): New constants.
79441         (parser_control): New member rel_ns.  Members day_ordinal,
79442         time_zone, month, day, hour, minutes, rel_year, rel_month,
79443         rel_day, rel_hour, rel_minutes, rel_seconds
79444         are now long int, not int.  Member seconds is now struct timespec,
79445         not int.  New member timespec_seen.  Members dates_seen, days_seen,
79446         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
79447         not int.
79448         (%union.intval): Now long int, not int.
79449         New member timespec.
79450         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
79451         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
79452         (spec): Now is a timespec or an item list.
79453         (timespec, items): New nonterminals.
79454         (time, rel, relunit, number, get_date):
79455         Add support for fractional seconds.
79456         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
79457         (gmtime, localtime, mktime): Remove decls; not needed with C89.
79458         (to_hour): First arg is now long int, not int.
79459         (to_year): Returns long int, not int.
79460         Don't treat year -70 like 70.
79461         (tm_diff): Returns long int, not int.
79462         (lookup_word): Use bool instead of int when appropriate.
79463         (yylex): Use size_t for count, not int.
79464         Detect overflow when parsing large integer constants.
79465         Add support for fractions.
79466         (get_date): Make pointers 'const' if possible.
79467         Use more-portable code to detect integer overflow.
79468         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
79469         Don't use ctime; it's not reliable if the year has >4 digits.
79470
79471         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
79472         This is for compatibility with BSD.
79473
79474         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
79475         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
79476         From coreutils' system.h.
79477
79478         * lib/userspec.c: Don't include "posixver.h".
79479         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
79480         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
79481         compatible extension.  Simplify code by removing a boolean int
79482         that was always nonzero if a string was nonnull.
79483
79484 2004-03-30  Jim Meyering  <jim@meyering.net>
79485
79486         Merge from coreutils.
79487
79488         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
79489         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
79490         on some systems one must include <grp.h> before it.
79491         Reported by Christian Krackowizer.
79492
79493 2004-03-30  Jim Meyering  <jim@meyering.net>
79494
79495         Merge from coreutils.
79496
79497         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
79498
79499         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
79500         an empty input stream.
79501
79502         * lib/readtokens.c: Include <stdbool.h>.
79503         (readtoken): Use `size_t' rather than int/long.
79504         All callers adjusted.
79505         Use `bool' rather than `int' where appropriate.
79506         Use memset rather than an explicit loop.
79507         Use x2nrealloc rather than xrealloc.
79508         Allow the use of `\0' as a delimiter.
79509         (readtokens): Likewise.
79510         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
79511
79512 2004-03-30  Jim Meyering  <jim@meyering.net>
79513
79514         * m4/realloc.m4: Remove file, since now it does no more than
79515         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
79516         the `configure.ac' section of module/realloc.
79517         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
79518
79519 2004-03-30  Bruno Haible  <bruno@clisp.org>
79520
79521         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
79522         nonnull.
79523
79524 2004-03-29  Paul Eggert  <eggert@twinsun.com>
79525
79526         Merge changes to getloadavg.c from coreutils and Emacs.
79527
79528         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
79529         Define to an expression, not to the empty string.
79530         Include cloexec.h and xalloc.h.
79531         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
79532         Use set_cloexec_flag rather than rolling our own.
79533         * lib/cloexec.c, lib/cloexec.h: New files.
79534
79535 2004-03-29  Paul Eggert  <eggert@twinsun.com>
79536
79537         * m4/cloexec.m4: New file.
79538
79539 2004-03-18  Paul Eggert  <eggert@twinsun.com>
79540
79541         * lib/getopt.h: Sync with libc CVS.
79542
79543 2004-03-18  Paul Eggert  <eggert@twinsun.com>
79544             Bruno Haible  <bruno@clisp.org>
79545
79546         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
79547         mbswidth.
79548
79549 2004-03-18  Paul Eggert  <eggert@twinsun.com>
79550             Bruno Haible  <bruno@clisp.org>
79551
79552         * lib/mbswidth.h: Include <wchar.h> only if
79553         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
79554         <wchar.h>.
79555         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
79556
79557 2004-03-09  Paul Eggert  <eggert@twinsun.com>
79558
79559         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
79560         Sync with libc CVS.
79561         * lib/getopt_int.h: New file, also synced from libc.
79562
79563 2004-03-09  Paul Eggert  <eggert@twinsun.com>
79564
79565         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
79566         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
79567         Bring back getopt.c, getopt.h, getopt1.c.
79568
79569 2004-03-07  Paul Eggert  <eggert@twinsun.com>
79570
79571         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
79572         All uses changed.  Check for sa_sigaction member; this fixes
79573         a bug first reported by Jason Andrade in
79574         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
79575
79576 2004-03-07  Paul Eggert  <eggert@twinsun.com>
79577
79578         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
79579         '#if' expressions.  Unlike the code it replaces, it does not
79580         depend on (defined _SC_PAGESIZE).  However, it does depend on
79581         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
79582         first reported by Jason Andrade in
79583         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
79584
79585 2004-02-25  Simon Josefsson  <jas@extundo.com>
79586
79587         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
79588
79589 2004-02-25  Simon Josefsson  <jas@extundo.com>
79590
79591         * lib/strdup.h: New file.
79592         * lib/strdup.c: Include it.
79593         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
79594         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
79595
79596 2004-02-23  Karl Berry  <karl@gnu.org>
79597
79598         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
79599         (from fencepost.gnu.org:/gd/gnuorg).
79600
79601 2004-02-23  Karl Berry  <karl@gnu.org>
79602
79603         * config/srclistvars.sh (GNUORG) [karl]: redefine.
79604         * config/srclist.txt: add maintain/standards documents.
79605
79606 2004-02-18  Bruno Haible  <bruno@clisp.org>
79607
79608         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
79609         Reported by Derek Robert Price <derek@ximbiot.com>.
79610
79611 2004-02-16  Karl Berry  <karl@gnu.org>
79612
79613         * config/mkinstalldirs, install-sh: update from automake.
79614
79615 2004-02-06  Karl Berry  <karl@gnu.org>
79616
79617         * m4/po.m4: update from gettext 0.14.1.
79618
79619 2004-02-06  Karl Berry  <karl@gnu.org>
79620
79621         * lib/config.charset: update from gettext 0.14.1.
79622
79623 2004-02-05  Paul Eggert  <eggert@twinsun.com>
79624
79625         Add comments and code, prompted by suggestions from Bruno Haible
79626         for sh-quote.
79627         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
79628         describing the enum quoting_style values.
79629         * lib/quotearg.c (quotearg_alloc): New function.
79630         (quotearg_buffer_restyled): Treat lone { and } as special.
79631         Treat = as special.  Work around bug with older shells
79632         that "see" a '\' that is really the 2nd byte of a multibyte char.
79633         Quote empty string with shell_quoting_style.
79634
79635 2004-02-03  Bruno Haible  <bruno@clisp.org>
79636
79637         * m4/pipe.m4: New file, from GNU gettext.
79638
79639 2004-02-03  Bruno Haible  <bruno@clisp.org>
79640
79641         * lib/pipe.h: New file, from GNU gettext.
79642         * lib/pipe.c: New file, from GNU gettext.
79643
79644 2004-01-27  Bruno Haible  <bruno@clisp.org>
79645
79646         * m4/execute.m4: New file, from GNU gettext.
79647
79648 2004-01-27  Bruno Haible  <bruno@clisp.org>
79649
79650         * lib/execute.h: New file, from GNU gettext.
79651         * lib/execute.c: New file, from GNU gettext.
79652         * lib/w32spawn.h: New file, from GNU gettext.
79653
79654 2004-01-24  Paul Eggert  <eggert@twinsun.com>
79655
79656         Merge from diffutils.
79657
79658         * lib/file-type.c (file_type): Add typed memory objects.
79659         * lib/file-type.h (S_TYPEISTMO): New macro.
79660
79661         * lib/c-stack.h (c_stack_action): Remove argv argument.
79662         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
79663         (die): Don't calculate message unless segv_action returns.
79664         (get_stack_location, min_address_from_argv, max_address_from_argv,
79665         volatile stack_base, volatile_stack_size): Remove.
79666         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
79667         that every segmentation violation is a stack overflow.  (Ouch!)
79668         See Debian bug 136249 (still outstanding) for more info about why
79669         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
79670
79671 2004-01-24  Paul Eggert  <eggert@twinsun.com>
79672
79673         Exit-status fix from coreutils.
79674
79675         Use exit_failure consistently in place of EXIT_FAILURE,
79676         so that program exit statuses are consistent on failure.
79677
79678         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
79679         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
79680         * lib/argmatch.h: Comment fix to match the above.
79681         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
79682         Now a macro referring to exit_failure, instead of a separate
79683         variable.  Include "exitfail.h" to get it.
79684         * lib/xstrtol.h: Include "exitfail.h".
79685         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
79686
79687         * lib/long-options.c (parse_long_options): Use prototype
79688         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
79689         for clarity.
79690
79691 2004-01-21  Jim Meyering  <jim@meyering.net>
79692
79693         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
79694         so as not to conflict with a different-sized __mktime_internal
79695         function in GNU libc.
79696         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
79697         Problem building statically-linked `ls' reported by Michael Brunnbauer.
79698
79699 2004-01-20  Karl Berry  <karl@gnu.org>
79700
79701         * config/config.guess: update from config.
79702
79703         * config/srclistvars.sh: GNUWWWLICENSES for karl.
79704
79705 2004-01-20  Bruno Haible  <bruno@clisp.org>
79706
79707         Safer stack allocation.
79708         * lib/setenv.c: Include allocsa.h.
79709         (alloca): Remove fallback definition.
79710         (freea): Remove macro.
79711         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
79712         instead of freea.
79713
79714 2004-01-20  Bruno Haible  <bruno@clisp.org>
79715
79716         * m4/eealloc.m4: New file, from GNU gettext.
79717
79718 2004-01-20  Bruno Haible  <bruno@clisp.org>
79719
79720         * m4/allocsa.m4: New file, from GNU gettext.
79721
79722 2004-01-20  Bruno Haible  <bruno@clisp.org>
79723
79724         * lib/xallocsa.h: New file, from GNU gettext.
79725         * lib/xallocsa.c: New file, from GNU gettext.
79726
79727 2004-01-20  Bruno Haible  <bruno@clisp.org>
79728
79729         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
79730
79731 2004-01-20  Bruno Haible  <bruno@clisp.org>
79732
79733         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
79734         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
79735         specially.
79736
79737 2004-01-20  Bruno Haible  <bruno@clisp.org>
79738
79739         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
79740         patch.
79741
79742 2004-01-20  Bruno Haible  <bruno@clisp.org>
79743
79744         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
79745
79746 2004-01-20  Bruno Haible  <bruno@clisp.org>
79747
79748         * lib/eealloc.h: New file.
79749
79750 2004-01-20  Bruno Haible  <bruno@clisp.org>
79751
79752         * lib/binary-io.h: Avoid warnings on Cygwin.
79753
79754 2004-01-20  Bruno Haible  <bruno@clisp.org>
79755
79756         * lib/allocsa.h: New file, from GNU gettext.
79757         * lib/allocsa.c: New file, from GNU gettext.
79758
79759 2004-01-18  Karl Berry  <karl@gnu.org>
79760
79761         * doc/gpl.texi, doc/lgpl.texi: new files.
79762
79763 2004-01-18  Karl Berry  <karl@gnu.org>
79764
79765         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
79766         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
79767
79768 2004-01-15  Paul Eggert  <eggert@twinsun.com>
79769
79770         Merge from coreutils.
79771
79772         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
79773         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
79774         (gl_DEFAULT_POSIX2_VERSION): Move
79775         the documentation from 'configure' into 'config.hin',
79776         so that 'configure --help' isn't burdened by it and
79777         we don't have to worry about its formatting there.
79778         Reword the documentation so that it's more succinct
79779         and can be run together into a single paragraph.
79780         * m4/same.m4 (gl_SAME): Check for pathconf.
79781
79782 2004-01-15  Paul Eggert  <eggert@twinsun.com>
79783
79784         Merge from coreutils.
79785
79786         * lib/posixver.c: Include posixver.h.
79787
79788         * lib/same.c: Include <stdbool.h>, <limits.h>.
79789         (_POSIX_NAME_MAX): Define if not defined.
79790         (MIN): New macro.
79791         (same_name): If file names are silently truncated, report
79792         that the file names are the same if they are the same after
79793         the silent truncation.
79794
79795         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
79796         conversion function.
79797         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
79798         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
79799         longer needed.
79800
79801 2004-01-15  Jim Meyering  <jim@meyering.net>
79802
79803         Merge from coreutils.
79804
79805         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
79806         if no library is required.
79807         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
79808         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
79809         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
79810         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
79811         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
79812         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
79813         value, $ac_cv_search_crypt, if it's "none required".
79814         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
79815         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
79816         not gl_FUNC_GETLOADAVG.
79817         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
79818         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
79819
79820 2004-01-15  Jim Meyering  <jim@meyering.net>
79821
79822         Merge from coreutils.
79823
79824         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
79825         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
79826         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
79827
79828         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
79829         optional configure-time default.
79830
79831         * lib/version-etc.c (version_etc_copyright): Update copyright date.
79832
79833         * lib/xreadlink.c (xreadlink): Correct outdated comment.
79834
79835 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
79836
79837         Merge from coreutils.
79838
79839         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
79840         value, $ac_cv_search_nanosleep, if it's "none required".
79841
79842 2004-01-14  Paul Eggert  <eggert@twinsun.com>
79843
79844         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
79845         with like-named macro in fnmatch.c.
79846         (EXT): Use an internal constant instead.
79847
79848         Merge fnmatch patches from glibc.
79849         * lib/fnmatch.c (mbsinit): Remove define.
79850         Add libc_hidden_ver (__fnmatch, fnmatch).
79851         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
79852         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
79853
79854 2004-01-14  Karl Berry  <karl@gnu.org>
79855
79856         * config/install-sh: update from automake.
79857
79858 2004-01-13  Karl Berry  <karl@gnu.org>
79859
79860         * config/install-sh: update from automake.
79861
79862 2004-01-09  Karl Berry  <karl@gnu.org>
79863
79864         * config/install-sh: update from automake.
79865
79866 2004-01-05  Karl Berry  <karl@gnu.org>
79867
79868         * config/config.{sub,guess}: update from config.
79869
79870 2003-12-31  Karl Berry  <karl@gnu.org>
79871
79872         * config/depcomp: update from automake.
79873
79874 2003-12-14  Karl Berry  <karl@gnu.org>
79875
79876         * lib/config.charset: update from gettext-runtime.
79877
79878 2003-12-03  Paul Eggert  <eggert@twinsun.com>
79879
79880         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
79881         Bug reported by Alfred M. Szmidt.
79882
79883 2003-12-03  Bruno Haible  <bruno@clisp.org>
79884
79885         * m4/gettext.m4: Upgrade from gettext-0.13.
79886         * m4/po.m4: Upgrade from gettext-0.13.
79887         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
79888         * m4/intmax.m4: New file, from gettext-0.13.
79889         * m4/printf-posix.m4: New file, from gettext-0.13.
79890
79891 2003-11-29  Karl Berry  <karl@gnu.org>
79892
79893         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
79894
79895 2003-11-25  Paul Eggert  <eggert@twinsun.com>
79896             Bruno Haible  <bruno@clisp.org>
79897
79898         * lib/printf-parse.h: Don't include sys/types.h.
79899         (ARG_NONE): New macro.
79900         (char_directive): Change type of *arg_index fields to size_t.
79901         * lib/printf-parse.c: Don't include sys/types.h.
79902         (SSIZE_MAX): Remove macro.
79903         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
79904         Remove unnecessary overflow check.
79905         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
79906         fields.
79907
79908 2003-11-25  Bruno Haible  <bruno@clisp.org>
79909
79910         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
79911
79912 2003-11-25  Bruno Haible  <bruno@clisp.org>
79913
79914         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
79915         gt_TYPE_SSIZE_T.
79916
79917 2003-11-24  Paul Eggert  <eggert@twinsun.com>
79918
79919         * modules/alloca: Remove dependency on xalloc.
79920
79921 2003-11-24  Paul Eggert  <eggert@twinsun.com>
79922
79923         * lib/alloca.c: Remove dependency on xalloc module.
79924         (xalloc_die): Remove.
79925         (memory_full) [!defined emacs]: New macro.
79926         [!defined emacs]: Don't include xalloc.h.
79927         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
79928         address arithmetic overflows.  Change datatypes a bit to avoid
79929         unnecessary casts.
79930
79931 2003-11-22  Jim Meyering  <jim@meyering.net>
79932
79933         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
79934         s/size/size_t/.
79935
79936 2003-11-21  Karl Berry  <karl@gnu.org>
79937
79938         * config/config.{sub,guess}: update from config.
79939
79940 2003-11-18  Karl Berry  <karl@gnu.org>
79941
79942         * config/config.{sub,guess}: update from config.
79943
79944         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
79945
79946 2003-11-17  Paul Eggert  <eggert@twinsun.com>
79947
79948         * README: Mention that S+T cannot overflow if S is the size of
79949         an existing object and T is sufficiently small.
79950
79951 2003-11-17  Jim Meyering  <jim@meyering.net>
79952
79953         On systems without utime and without a utimes function capable of
79954         dealing with a NULL struct utimbuf* argument, this utime replacement
79955         could -- in unusual circumstances -- leak a file descriptor.
79956         * lib/utime.c: Include <unistd.h> and <errno.h>.
79957         (utime_null): Be sure to close `fd' and to preserve errno.
79958         Reported by Geoff Collyer via Arnold Robbins.
79959
79960 2003-11-17  Bruno Haible  <bruno@clisp.org>
79961
79962         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
79963         (Depends-on): Add xsize.
79964
79965 2003-11-17  Bruno Haible  <bruno@clisp.org>
79966
79967         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
79968
79969 2003-11-17  Bruno Haible  <bruno@clisp.org>
79970
79971         * lib/vasnprintf.c (alloca): Remove fallback definition.
79972         (freea): Remove definition.
79973         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
79974         Reported by Paul Eggert.
79975
79976 2003-11-16  Paul Eggert  <eggert@twinsun.com>
79977             Bruno Haible  <bruno@clisp.org>
79978
79979         Protect against address arithmetic overflow.
79980         * lib/printf-args.h: Include stddef.h.
79981         (arguments): Change type of field 'count' to size_t.
79982         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
79983         'unsigned int' where appropriate.
79984         * lib/printf-parse.h: Include sys/types.h.
79985         (char_directive): Change type of *arg_index fields to ssize_t.
79986         (char_directives): Change type of fields 'count', max_*_length to
79987         size_t.
79988         * lib/printf-parse.c: Include sys/types.h and xsize.h.
79989         (SSIZE_MAX): Define fallback value.
79990         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
79991         instead of 'int' where appropriate. Check a_allocated, d_allocated
79992         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
79993         * lib/vasnprintf.c: Include xsize.h.
79994         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
79995         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
79996         overflow. Avoid wraparound when converting a width or precision from
79997         decimal to binary.
79998
79999 2003-11-16  Bruno Haible  <bruno@clisp.org>
80000
80001         Update from GNU gettext.
80002         * lib/printf-parse.c: Generalize to it can be compiled for wide
80003         strings.
80004         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
80005         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
80006         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
80007         SNPRINTF): New macros.
80008         Don't include <alloca.h> if the file is used inside libintl.
80009         (local_wcslen): New function, for Solaris 2.5.1.
80010         (VASNPRINTF): Use it instead of wcslen.
80011
80012 2003-11-16  Bruno Haible  <bruno@clisp.org>
80013
80014         * lib/xsize.h (xmax): New function.
80015         (xsum, xsum3, xsum4): Declare as "pure" functions.
80016
80017 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80018
80019         * modules/xalloc (Files): Undo latest change, since xalloc.h
80020         no longer needs SIZE_MAX or PTRDIFF_MAX.
80021
80022 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80023
80024         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
80025         gl_PTRDIFF_MAX.
80026
80027 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80028
80029         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
80030         "return", to pacify some unknown compiler.  Problem reported
80031         by Joerg Schilling.
80032
80033 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80034
80035         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
80036         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
80037         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
80038         heuristic is just as accurate as far as we know, and it removes a
80039         dependency on size_max.m4 and ptrdiff_max.m4.
80040
80041 2003-11-11  Bruno Haible  <bruno@clisp.org>
80042
80043         * modules/xsize (Files): Add m4/size_max.m4.
80044         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
80045
80046 2003-11-11  Bruno Haible  <bruno@clisp.org>
80047
80048         * m4/size_max.m4: New file.
80049         * m4/ptrdiff_max.m4: New file.
80050         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
80051         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
80052         (gl_XALLOC): Invoke it.
80053
80054 2003-11-11  Bruno Haible  <bruno@clisp.org>
80055
80056         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
80057         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
80058         defined.
80059
80060 2003-11-10  Paul Eggert  <eggert@twinsun.com>
80061
80062         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
80063         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
80064         rejected some allocations of exactly SIZE_MAX - 2 bytes.
80065         From Bruno Haible.
80066         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
80067         not (size_t) -1, since it's defined here.
80068
80069 2003-11-09  Karl Berry  <karl@gnu.org>
80070
80071         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
80072
80073 2003-11-06  Paul Eggert  <eggert@twinsun.com>
80074
80075         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
80076         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
80077         Reject sizes of exactly SIZE_MAX bytes.
80078         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
80079         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
80080
80081 2003-11-05  Bruno Haible  <bruno@clisp.org>
80082
80083         * lib/xsize.h: Include limits.h, to avoid a possible collision with
80084         SIZE_MAX defined in <limits.h> on Solaris.
80085
80086 2003-11-04  Jim Meyering  <jim@meyering.net>
80087
80088         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
80089         variable names, rather than @VAR@.
80090         * modules/poll: Likewise.
80091
80092 2003-11-04  Bruno Haible  <bruno@clisp.org>
80093
80094         * modules/xsize: New file.
80095         * modules/linebreak: Depend on xsize.
80096         * MODULES.html.sh (func_all_modules): Add xsize.
80097
80098 2003-11-04  Bruno Haible  <bruno@clisp.org>
80099
80100         * m4/xsize.m4: New file.
80101
80102 2003-11-04  Bruno Haible  <bruno@clisp.org>
80103
80104         * lib/xsize.h: New file.
80105         * lib/linebreak.c: Include xsize.h.
80106         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
80107         argument for overflow.
80108         Suggested by Paul Eggert.
80109
80110 2003-11-03  Karl Berry  <karl@gnu.org>
80111
80112         * config/config.{guess,sub}: update from config.
80113
80114 2003-11-03  Jim Meyering  <jim@meyering.net>
80115
80116         * modules/userspec (lib_SOURCES): Add userspec.h.
80117         (Include): Add "userspec.h".
80118         Improve description.
80119
80120 2003-11-03  Jim Meyering  <jim@meyering.net>
80121
80122         * lib/userspec.c: Include "userspec.h".
80123         * lib/userspec.h: New file.
80124
80125 2003-11-03  Bruno Haible  <bruno@clisp.org>
80126
80127         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
80128
80129 2003-11-03  Bruno Haible  <bruno@clisp.org>
80130
80131         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
80132         available, to avoid (extremely rare) race condition.
80133         Suggested by Paul Eggert.
80134
80135 2003-11-02  Karl Berry  <karl@gnu.org>
80136
80137         * config/srclist.txt (vasprintf.c): sync broken, sigh.
80138
80139 2003-10-31  Paul Eggert  <eggert@twinsun.com>
80140
80141         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
80142         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
80143         (read_filesystem_list): Set and use me_type_malloced.
80144         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
80145         whatever the type happens to be), for brevity and consistency.
80146         Check for size calculation overflow on Alphas running OSF/1.
80147
80148 2003-10-31  Jim Meyering  <jim@meyering.net>
80149
80150         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
80151
80152         * lib/linebuffer.c: Include <string.h> for declaration of memset.
80153
80154 2003-10-30  Paul Eggert  <eggert@twinsun.com>
80155             Bruno Haible  <bruno@clisp.org>
80156
80157         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
80158         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
80159
80160 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
80161
80162         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
80163         netbsd*-gnu*.  Suggested by Robert Millan.
80164
80165 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80166
80167         * modules/group-member: Depend on stdbool.
80168
80169 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80170
80171         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
80172
80173 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80174
80175         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
80176         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
80177         after the 'gnu' in these cases.  This fixes some bugs in the
80178         previous change, and is based on suggestions by Robert Millan.
80179
80180 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80181
80182         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
80183         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
80184         no longer needed.
80185         * lib/quotearg.c (quotearg_n_options): Use it.
80186         * lib/group-member.c: Include <stdbool.h>.
80187         (free_group_info): Arg is now const *; don't free arg.
80188         (get_group_info): Now returns bool and accepts struct group_info *,
80189         rather than returning a malloc'ed struct group_info *.
80190         All uses changed.  Check for overflow in internal size calculation.
80191
80192         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
80193         rather than xmalloc/xrealloc.
80194         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
80195         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
80196         conformance bug: the old code used a pointer after freeing the
80197         storage that it addressed.
80198         * lib/hash.c (hash_initialize): Simplify the code by using
80199         xalloc_oversized rather than doing it by hand.
80200         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
80201         the buffer preserved.  Use free and xmalloc instead.
80202         * lib/quotearg.c (quotearg_n_options): Likewise.
80203         Use a simpler test for size overflow.  Don't use xalloc_oversized
80204         because unsigned int might be wider than size_t (!); this suggests
80205         that we should switch from unsigned int to size_t for slot numbers.
80206
80207 2003-10-28  Paul Eggert  <eggert@twinsun.com>
80208
80209         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
80210         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
80211         NetBSD kernels.  Requested by Richard Stallman.
80212
80213 2003-10-27  Paul Eggert  <eggert@twinsun.com>
80214
80215         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
80216         to allocate the returned structure.  Do not allocate a subarray,
80217         as x2nrealloc will do that.
80218         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
80219         instead of xnrealloc.
80220         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
80221
80222 2003-10-27  Bruno Haible  <bruno@clisp.org>
80223
80224         * lib/stdbool_.h: Better support for BeOS.
80225
80226 2003-10-26  Paul Eggert  <eggert@twinsun.com>
80227
80228         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
80229         now uses inline.
80230
80231 2003-10-26  Paul Eggert  <eggert@twinsun.com>
80232
80233         * lib/xalloc.h (xalloc_oversized): New static inline function, for
80234         callers that want to do their own size-overflow checking.  Include
80235         <stdbool.h>, since xalloc_oversized returns bool.
80236         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
80237         to use xalloc_oversized.
80238
80239         Add two functions x2realloc, x2nrealloc, for programs that grow
80240         arrays dynamically by doubling their sizes.
80241         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
80242         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
80243         New functions.
80244
80245         Port to C99 semantics for 'inline' of external functions.
80246         Bug reported by Bruno Haible.
80247         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
80248         with the old contents of xnmalloc.
80249         (xnmalloc, xmalloc): Use it.
80250         (xnrealloc_inline): New static inline function,
80251         with the old contents of xnrealloc.
80252         (xnrealloc, xrealloc): Use it.
80253
80254         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
80255         that.
80256
80257 2003-10-26  Karl Berry  <karl@gnu.org>
80258
80259         * config/srclist.txt (COPYING.DOC): no longer available from
80260         /gd/gnuorg; don't know where the ultimate source is.
80261
80262 2003-10-25  Paul Eggert  <eggert@twinsun.com>
80263
80264         Fix several address-calculation bugs in the hash modules,
80265         plus some minor code cleanup.
80266
80267         * lib/hash.h: Include <stdbool.h>, for bool.
80268         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
80269         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
80270         hash_get_n_entries, hash_get_max_bucket_length,
80271         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
80272         hash_rehash): Use size_t rather than unsigned.
80273         * lib/hash.c (struct hash_table, hash_get_n_buckets,
80274         hash_get_n_buckets_used, hash_get_n_entries,
80275         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
80276         hash_get_entries, hash_do_for_each, hash_string, is_prime,
80277         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
80278         Likewise.
80279         (SIZE_MAX): Define if not defined.
80280         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
80281         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
80282         hash_print):
80283         Use const * when possible.
80284         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
80285         (check_tuning): Fix bug: if tuning parameters were very close to
80286         0 or 1, rounding errors could have caused subscript violations.
80287         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
80288         (hash_initialize): Add 'fail:' label
80289         to free table and return NULL, and use it to simplify code.
80290         Use calloc rather than clearing the storage ourself.
80291         (hash_initialize, hash_rehash): Check for arithmetic overflow in
80292         buffer size calculations.
80293         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
80294         Include <stddef.h>, for size_t.
80295         * lib/hash-pjw.c (hash_pjw): Likewise.
80296         Switch to method described by Bruno Haible.
80297         Include <limits.h>, for CHAR_BIT.
80298         (SIZE_BITS): New macro.
80299
80300 2003-10-23  Paul Eggert  <eggert@twinsun.com>
80301
80302         * m4/getline.m4 (AM_FUNC_GETLINE):
80303         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
80304         hosts.  Problem reported by Derek Robert Price in
80305         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
80306         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
80307         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
80308
80309 2003-10-21  Paul Eggert  <eggert@twinsun.com>
80310
80311         * lib/getndelim2.c (getndelim2): When size calculation overflows,
80312         ceiling the allocation at NMAX bytes rather than silently
80313         discarding input bytes before NMAX is reached.  This makes
80314         a difference only if NMAX exceeds SIZE_MAX / 2.
80315
80316         * lib/obstack.c: Merge from glibc.
80317         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
80318         Add libc_hidden_def (_obstack_newchunk).
80319         (_obstack_free) [! defined _LIBC]: Remove.
80320         [defined _LIBC]: Make a strong alias from obstack_free, rather than
80321         a clone of the function body.
80322         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
80323         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
80324
80325         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
80326         glibc.
80327         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
80328         arg to memcpy.
80329
80330         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
80331         (obstack_ptr_grow_fast, obstack_int_grow_fast):
80332         Don't use lvalue casts, as GCC plans to remove support for them
80333         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
80334         was also present in the non-GCC version, indicating that this
80335         code had always been buggy and had never been widely used.
80336         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
80337         Use the fast variant of each macro, rather than copying the
80338         definiens of the fast variant; that way, we'll be more likely to
80339         catch future bugs in the fast variants.
80340
80341 2003-10-20  Bruno Haible  <bruno@clisp.org>
80342
80343         * modules/wait-process: New file.
80344         * MODULES.html.sh (func_all_modules): Add wait-process.
80345
80346 2003-10-20  Bruno Haible  <bruno@clisp.org>
80347
80348         * m4/wait-process.m4: New file.
80349
80350 2003-10-20  Bruno Haible  <bruno@clisp.org>
80351
80352         * lib/wait-process.h: New file, from GNU gettext.
80353         * lib/wait-process.c: New file, from GNU gettext.
80354
80355 2003-10-19  Jim Meyering  <jim@meyering.net>
80356
80357         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
80358         HPUX 10.20.
80359
80360 2003-10-18  Karl Berry  <karl@gnu.org>
80361
80362         * config/config.guess: update from config.
80363
80364 2003-10-16  Paul Eggert  <eggert@twinsun.com>
80365
80366         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
80367         (getgroups): First arg is int, not size_t.
80368         Don't let 'free' mangle errno.
80369
80370 2003-10-16  Paul Eggert  <eggert@twinsun.com>
80371
80372         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
80373
80374 2003-10-16  Karl Berry  <karl@gnu.org>
80375
80376         * config/config.{guess,sub}: update from config.
80377
80378 2003-10-16  Jim Meyering  <jim@meyering.net>
80379
80380         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
80381         memcpy.
80382
80383 2003-10-15  Paul Eggert  <eggert@twinsun.com>
80384
80385         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
80386         (SIZE_MAX): Remove.
80387         (new_exclude, add_exclude_file): Initial size no longer needs to
80388         be a power of 2.
80389         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
80390         our own address arithmetic overflow checking.
80391
80392         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
80393         (fnmatch): Do not alloca more than 2000 wide characters;
80394         instead, use malloc for large buffers.
80395         Check for address arithmetic overflow, and return -1
80396         with errno set to ENOMEM in that case.
80397         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
80398         (NEW_PATTERN): Do not alloca more than 8000 bytes;
80399         instead, return -1.  Check for address arithmetic overflow.
80400
80401 2003-10-14  Paul Eggert  <eggert@twinsun.com>
80402
80403         Handle invalid suffixes and overflow independently, so that
80404         callers can treat them independently as needed.  Fix some bugs in
80405         suffix handling, e.g., "100k@" was not diagnosed as an invalid
80406         suffix for a human-readable blocksize.  The major caller-visible
80407         change is the addition of a new
80408         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
80409         that both overflow and suffix chars were found.
80410
80411         * lib/human.c (humblock): Don't check separately for invalid suffix
80412         char; that is xstrtoumax's job (now that its bug is fixed).
80413         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
80414         INTMAX_MAX]: New macros.
80415         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
80416         TYPE_MAXIMUM): New macros.
80417         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
80418         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
80419         if overflow occurs, as it's what __strtol does and it's more useful
80420         in practice.
80421         (__xstrtol): If __strtol reports some error other than ERANGE,
80422         reflect it to the caller as LONGINT_INVALID.  If it reports
80423         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
80424         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
80425         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
80426         value.
80427         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
80428         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
80429         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
80430         [defined UINTMAX_MAX]: New macros.
80431
80432 2003-10-14  Bruno Haible  <bruno@clisp.org>
80433
80434         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
80435
80436 2003-10-14  Bruno Haible  <bruno@clisp.org>
80437
80438         * m4/sig_atomic_t: New file, from GNU gettext.
80439         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
80440
80441 2003-10-14  Bruno Haible  <bruno@clisp.org>
80442
80443         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
80444         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
80445         Also use volatile where needed.
80446
80447 2003-10-12  Paul Eggert  <eggert@twinsun.com>
80448
80449         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
80450         Change maintainer from Bruno Haible to 'all'.
80451
80452 2003-10-12  Paul Eggert  <eggert@twinsun.com>
80453
80454         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
80455
80456 2003-10-12  Paul Eggert  <eggert@twinsun.com>
80457
80458         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
80459         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
80460         and define in terms of the other primitives.
80461         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
80462         (SIZE_MAX): Define if not already defined.
80463         (array_size_overflow): New function.
80464         (xalloc_die): Abort instead of exiting if 'error' returns.
80465         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
80466         (xmalloc, xrealloc): Use them.
80467         (xcalloc): Check for address arithmetic overflow.
80468         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
80469         a bit faster than strcpy.
80470
80471 2003-10-10  Simon Josefsson  <jas@extundo.com>
80472
80473         * modules/argp (Depends-on): Add restrict and strcase.
80474
80475 2003-10-10  Simon Josefsson  <jas@extundo.com>
80476
80477         * m4/argp.m4: Add AC_C_INLINE.
80478
80479 2003-10-08  Paul Eggert  <eggert@twinsun.com>
80480
80481         Merge getpass from libc, plus a few fixes.
80482
80483         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
80484         Include <stdbool.h>.
80485         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
80486         __fsetlocking to empty.
80487         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
80488         do include <bits/libc-lock.h>.
80489         Do not include <fcntl.h>; not needed.
80490         [_LIBC]: Include <wchar.h>.
80491         (NOTCANCEL_MODE): New macro.
80492         (flockfile, funlockfile) [_LIBC]: New macros.
80493         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
80494         [!_LIBC]: New macros.
80495         (call_fclose): New function.
80496         (getpass): Use it.  Save tty stream separately; this simplifies the
80497         code and makes it more reliable if stdin happens to equal stdout.
80498         Invoke __fsetlocking on tty.
80499         Handle thread cancellation if needed.
80500         Namespace cleanup (use __tcgetattr, __getline).
80501         Use bool for Booleans.
80502         [USE_IN_LIBIO]: Handle wide streams.
80503         [!_LIBC]: Unconditionally do the fseek, since we don't know what
80504         stream might go where.
80505
80506         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
80507         doesn't have to include <stdio.h> before us.
80508         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
80509         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
80510         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
80511         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
80512         if not declared, so that we can use getpass.c code from libc without
80513         rewriting it.
80514         (flockfile, ftrylockfile, funlockfile): New macros.
80515
80516 2003-10-08  Paul Eggert  <eggert@twinsun.com>
80517
80518         * modules/getpass: Depend on stdbool.
80519
80520 2003-10-08  Paul Eggert  <eggert@twinsun.com>
80521
80522         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
80523
80524 2003-10-07  Karl Berry  <karl@gnu.org>
80525
80526         * config/config.{guess,sub}: update from config.
80527
80528 2003-10-06  Jim Meyering  <jim@meyering.net>
80529             Bruno Haible  <bruno@clisp.org>
80530
80531         This lets translators provide better translations for the
80532         "Written by ..." part of --version output.
80533         * lib/version-etc.h: Include stdarg.h.
80534         (version_etc_copyright): Declare as readonly.
80535         (version_etc): Make this function variadic with a NULL-terminated list
80536         of author name strings.
80537         (version_etc_va): New declaration.
80538         * lib/version-etc.c: Include stdarg.h, stdlib.h.
80539         (version_etc_copyright): Declare as readonly.
80540         (version_etc_va): New function. Provide a different translatable string
80541         for each possible number of authors < 10. Abbreviate when there are 10
80542         authors or more.
80543         (version_etc): Make this function variadic. Call version_etc_va.
80544         Suggestion from Gary V. Vaughan.
80545
80546         * lib/long-options.h (parse_long_options): Change prototype: the
80547         authors string is moved to the end and becomes variadic.
80548         * lib/long-options.c: Include stdarg.h.
80549         (parse_long_options): Make this function variadic, too.
80550         Call version_etc_va, not version_etc.
80551
80552 2003-10-06  Bruno Haible  <bruno@clisp.org>
80553
80554         * modules/version-etc-2: Remove file.
80555         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
80556
80557 2003-10-06  Bruno Haible  <bruno@clisp.org>
80558
80559         * modules/fatal-signal: New file.
80560         * MODULES.html.sh (func_all_modules): Add fatal-signal.
80561
80562 2003-10-06  Bruno Haible  <bruno@clisp.org>
80563
80564         * m4/fatal-signal.m4: New file.
80565         * m4/signalblocking.m4: New file, from GNU gettext.
80566
80567 2003-10-06  Bruno Haible  <bruno@clisp.org>
80568
80569         * lib/version-etc-2.h: Remove file.
80570         * lib/version-etc-2.c: Remove file.
80571
80572 2003-10-06  Bruno Haible  <bruno@clisp.org>
80573
80574         * lib/fatal-signal.h: New file, from GNU gettext.
80575         * lib/fatal-signal.c: New file, from GNU gettext.
80576
80577 2003-10-05  Paul Eggert  <eggert@twinsun.com>
80578
80579         * README: Rework advice for preventing empty .o files.
80580         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
80581         not <sys/types.h>.
80582
80583 2003-10-04  Karl Berry  <karl@gnu.org>
80584
80585         * lib/argp*: update from libc.
80586
80587 2003-10-04  Karl Berry  <karl@gnu.org>
80588
80589         * config/config.{guess,sub}: update from config.
80590
80591 2003-10-02  Bruno Haible  <bruno@clisp.org>
80592
80593         * modules/lchown (Include): Add lchown.h.
80594         * modules/time_r (Include): Use "..." syntax.
80595         * modules/xgetdomainname (Include): Add xgetdomainname.h.
80596
80597 2003-10-01  Simon Josefsson  <jas@extundo.com>
80598
80599         * MODULES.html.sh (func_all_modules): Move gethostname from section
80600         'based on' to section 'lacking' POSIX:2001.
80601
80602 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
80603
80604         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
80605         to output mode on the same stream.
80606
80607 2003-09-29  Paul Eggert  <eggert@twinsun.com>
80608
80609         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
80610         Fix arg typo in previous patch.
80611
80612 2003-09-28  Jim Meyering  <jim@meyering.net>
80613
80614         * lib/error.c: Correct cpp indentation.
80615
80616 2003-09-27  Paul Eggert  <eggert@twinsun.com>
80617
80618         * modules/free: New file.
80619
80620 2003-09-27  Paul Eggert  <eggert@twinsun.com>
80621
80622         * m4/free.m4: New file.
80623
80624 2003-09-27  Paul Eggert  <eggert@twinsun.com>
80625
80626         * lib/minmax.h (MIN, MAX)
80627         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
80628         Omit the special code that used __typeof__, since we worry that
80629         it could be more trouble than it's worth.  See:
80630         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
80631         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
80632
80633         * lib/free.c: New file.
80634
80635 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
80636
80637         Trivial fixes to Makefile.am parts of module listings.
80638         * modules/strstr: Append strstr.h to lib_SOURCES.
80639         * modules/strcase: Likewise, for strcase.h.
80640
80641 2003-09-27  Karl Berry  <karl@gnu.org>
80642
80643         * config/mkinstalldirs: update from automake.
80644
80645 2003-09-26  Paul Eggert  <eggert@twinsun.com>
80646
80647         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
80648         (error_tail): Do not loop, reallocating temporary buffer, since
80649         the output cannot contain more wide characters than the input
80650         contains bytes, the size must be big enough already.  This avoids
80651         one potential size overflow calculation.  Check for size overflow
80652         when calculating temporary buffer size.  Free temporary buffer
80653         when done, if it was allocated with malloc; this plugs a memory
80654         leak.  Remove casts from void * to pointers, that are no longer
80655         needed now that we're assuming C89 or better.
80656
80657         Merge error changes from glibc.
80658
80659         * lib/error.c, error.h: Update copyright notice header to match glibc.
80660         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
80661         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
80662         Disable cancellation while printing error.
80663         * lib/error.h: Prepend __ to parameter names.
80664
80665 2003-09-26  Jim Meyering  <jim@meyering.net>
80666
80667         * lib/error.c (error_tail): Move some declarations
80668         into inner scope where the local variables are used.
80669
80670 2003-09-26  Bruno Haible  <bruno@clisp.org>
80671
80672         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
80673         stpncpy().
80674         Don't define stpncpy through config.h; it's now done through stpncpy.h.
80675
80676 2003-09-26  Bruno Haible  <bruno@clisp.org>
80677
80678         * lib/stpncpy.h (gnu_stpncpy): New declaration.
80679         (stpncpy): Define as alias for gnu_stpncpy.
80680         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
80681
80682 2003-09-25  Simon Josefsson  <jas@extundo.com>
80683
80684         * lib/xgetdomainname.h: New file.
80685         * lib/xgetdomainname.c: New file.
80686
80687 2003-09-25  Simon Josefsson  <jas@extundo.com>
80688             Bruno Haible  <bruno@clisp.org>
80689
80690         * modules/getdomainname: New file.
80691         * modules/xgetdomainname: New file.
80692         * MODULES.html.sh (func_all_modules): Add getdomainname,
80693         xgetdomainname.
80694
80695 2003-09-25  Simon Josefsson  <jas@extundo.com>
80696             Bruno Haible  <bruno@clisp.org>
80697
80698         * m4/getdomainname.m4: New file.
80699
80700 2003-09-25  Simon Josefsson  <jas@extundo.com>
80701             Bruno Haible  <bruno@clisp.org>
80702
80703         * lib/getdomainname.h: New file.
80704         * lib/getdomainname.c: New file.
80705
80706 2003-09-25  Karl Berry  <karl@gnu.org>
80707
80708         * lib/argp-fmtstream.c, argp-help.c: update from libc.
80709
80710 2003-09-25  Karl Berry  <karl@gnu.org>
80711
80712         * config/install-sh: update from automake.
80713
80714 2003-09-25  Bruno Haible  <bruno@clisp.org>
80715
80716         * modules/version-etc-2: New file, from modules/version-etc with
80717         modifications.
80718         * MODULES.html.sh (func_all_modules): Add version-etc-2.
80719
80720 2003-09-25  Bruno Haible  <bruno@clisp.org>
80721
80722         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
80723         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
80724
80725 2003-09-24  Simon Josefsson  <jas@extundo.com>
80726
80727         * modules/xgethostname: Add xgethostname.h.
80728
80729 2003-09-24  Paul Eggert  <eggert@twinsun.com>
80730
80731         * lib/linebuffer.c (freebuffer): Don't free the argument, just
80732         the buffer associated with the argument.  Bug reported by
80733         Simon Josefsson.
80734
80735 2003-09-24  Paul Eggert  <eggert@twinsun.com>
80736
80737         * README: Document assumptions that 'int' is at least 32 bits
80738         wide, that integer arithmetic is 2's complement without overflow,
80739         that there are no holes in integer values, that adding sizes of
80740         two nonoverlapping objects can't overflow, and that all-bits-zero
80741         yields scalar zero.  Fix spelling and capitalization typos.
80742
80743 2003-09-19  Karl Berry  <karl@gnu.org>
80744
80745         * lib/argp.h: update from libc.
80746
80747 2003-09-17  Paul Eggert  <eggert@twinsun.com>
80748
80749         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
80750         to avoid spurious warnings like "AC_RUN_IFELSE was called before
80751         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
80752
80753 2003-09-17  Paul Eggert  <eggert@twinsun.com>
80754
80755         * gnulib-tool: Use "test -h", not "test -L", for portability
80756         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
80757         (tags_regexp): Remove, since \| doesn't conform to POSIX.
80758         (sed_extract_prog): Issue s commands one-by-one, rather than
80759         using \| in one s command.
80760
80761 2003-09-16  Paul Eggert  <eggert@twinsun.com>
80762
80763         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
80764         input error, instead of returning NULL the next time we are called
80765         (and therefore losing track of errno).
80766
80767 2003-09-16  Bruno Haible  <bruno@clisp.org>
80768
80769         * gnulib-tool (func_create_testdir): Warn about duplicated
80770         dependencies.
80771
80772 2003-09-15  Paul Eggert  <eggert@twinsun.com>
80773
80774         * modules/argmatch, modules/fatal, modules/obstack,
80775         modules/xalloc, modules/xgethostname: Sort dependencies by
80776         importance, not alphabetically.
80777
80778 2003-09-15  Paul Eggert  <eggert@twinsun.com>
80779
80780         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
80781         fails, so that the caller gets the proper errno.
80782
80783         * lib/readutmp.c (read_utmp): Likewise.
80784         Check for fstat error.  Close stream and free storage
80785         when failing.
80786
80787 2003-09-14  Karl Berry  <karl@gnu.org>
80788
80789         * config/srclist.txt (strdup.c): disable for c89 changes.
80790
80791 2003-09-14  Jim Meyering  <jim@meyering.net>
80792
80793         * lib/getloadavg.c: Correct cpp indentation.
80794         * lib/strdup.c: Likewise.
80795         * lib/vasnprintf.c: Likewise.
80796
80797 2003-09-14  Bruno Haible  <bruno@clisp.org>
80798
80799         * modules/fwriteerror: New file.
80800         * MODULES.html.sh (func_all_modules): Add fwriteerror.
80801
80802 2003-09-14  Bruno Haible  <bruno@clisp.org>
80803
80804         * lib/fwriteerror.h: New file.
80805         * lib/fwriteerror.c: New file.
80806
80807 2003-09-12  Paul Eggert  <eggert@twinsun.com>
80808
80809         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
80810         modules/xgethostname, modules/xalloc: Depend on exit.
80811
80812 2003-09-12  Paul Eggert  <eggert@twinsun.com>
80813
80814         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
80815
80816         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
80817         and AC_MINIX, too, so that their extensions are available.
80818
80819         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
80820         This macro has been superseded by gl_BACKUPFILE.
80821
80822         More patches to assume C89 or better.
80823
80824         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
80825
80826         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
80827         unconditionally.
80828         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
80829         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
80830         Include <string.h>, <stdlib.h> unconditionally.
80831         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
80832         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
80833         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
80834         headers or for string.h.
80835         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
80836         or strtoul.
80837
80838         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
80839         headers.
80840         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
80841         * m4/userspec.m4 (gl_USERSPEC): Likewise.
80842         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
80843         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
80844         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
80845         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
80846         memcpy, memset.
80847         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
80848         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
80849         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
80850         strtol.
80851         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
80852         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
80853         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
80854         strtoul.
80855
80856 2003-09-12  Paul Eggert  <eggert@twinsun.com>
80857
80858         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
80859         * lib/obstack.c [!defined _LIBC]: Likewise.
80860         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
80861         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
80862         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
80863
80864         More changes to assume C89 or better.
80865
80866         * lib/error.c (error_tail): Assume vprintf.
80867
80868         * lib/argmatch.c (getenv): Remove decl.
80869         * lib/progreloc.c (get_full_program_name): Define via prototype.
80870         * lib/setenv.c (clearenv): Likewise.
80871         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
80872         needed.
80873         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
80874         (malloc, memcpy): Remove decls.
80875         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
80876         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
80877         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
80878         (memcpy): Remove macro.
80879         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
80880         (__P): Remove.  All uses removed.
80881         (PTR): Remove.  All uses changed to void *.
80882         (CHAR_BIT, NULL): Remove.
80883         (spaces, zeros, memset_space, memset_zero)
80884         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
80885         Remove.
80886         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
80887         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
80888         Define with prototype.
80889         Remove now-unnecessary prototype decl.
80890         (extra_args_spec): Assume ANSI C.  All uses changed.
80891         (extra_args_spec_iso): Remove.
80892         (my_strftime, emacs_strftimeu): Define via prototype.
80893         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
80894         unconditionally.
80895         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
80896         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
80897         (strtoul, strtol): Remove decls.
80898         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
80899         LONG_MAX): Remove.
80900         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
80901         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
80902         (LOCALE_PARAM_PROTO): New macro.
80903         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
80904         (INTERNAL (strtol), strtol): Define with a prototype.
80905         (PARAMS): Remove.  All uses removed.
80906         * lib/tempname.c: Include <string.h> unconditionally.
80907         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
80908         * lib/xgethostname.c (main): Define with a prototype.
80909         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
80910         Include <stdlib.h> unconditionally.
80911         (calloc, malloc, realloc, free): Remove decls.
80912         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
80913         Include <stdlib.h> unconditionally.  Sort include file names.
80914         (strtod): Remove.
80915         (xstrtod): Define with a prototype.
80916         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
80917         (strtol, strtoul): Remove decls.
80918
80919 2003-09-11  Paul Eggert  <eggert@twinsun.com>
80920
80921         More patches to assume C89 or better.
80922         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
80923         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
80924         string.h, memchr, STDC_HEADERS.
80925
80926 2003-09-11  Paul Eggert  <eggert@twinsun.com>
80927
80928         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
80929         Include <stdlib.h>, <string.h> unconditionally.
80930         Remove now-unnecessary cast to char *.
80931         * lib/strnlen.c: Include <string.h> unconditionally.
80932         * lib/yesno.c (yesno): Define with a prototype.
80933
80934 2003-09-11  Bruno Haible  <bruno@clisp.org>
80935
80936         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
80937
80938 2003-09-10  Jim Meyering  <jim@meyering.net>
80939
80940         * lib/error.c: Correct indentation of cpp directives.
80941
80942 2003-09-10  Bruno Haible  <bruno@clisp.org>
80943
80944         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
80945         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
80946         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
80947         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
80948         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
80949         <stdlib.h> and <string.h> checks.
80950         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
80951         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
80952
80953 2003-09-10  Bruno Haible  <bruno@clisp.org>
80954
80955         * lib/strcspn.c: Include <string.h> unconditionally.
80956         * lib/strpbrk.c: Include <string.h> unconditionally.
80957         * lib/strstr.c: Include <string.h> unconditionally.
80958         * lib/unicodeio.c: Include <string.h> unconditionally.
80959         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
80960         * lib/unsetenv.c: Likewise.
80961         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
80962         * lib/yesno.c: Include <stdlib.h> unconditionally.
80963         (rpmatch): Add prototype.
80964
80965 2003-09-09  Paul Eggert  <eggert@twinsun.com>
80966
80967         More patches to assume C89 or better.
80968         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
80969         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
80970         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
80971         or for string.h.
80972         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
80973         stdlib.h.
80974         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
80975         C headers.
80976         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
80977         string.h.
80978         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
80979         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
80980         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
80981         or for string.h.
80982         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
80983         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
80984         C headers.
80985         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
80986         memcpy.
80987         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
80988         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
80989         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
80990         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
80991         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
80992         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
80993         string.h, free.
80994         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
80995         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
80996         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
80997         C headers, or for string.h.
80998         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
80999         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
81000         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
81001         headers, memory.h, stdlib.h, string.h, strings.h.
81002         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
81003         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
81004         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
81005         strchr.
81006         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
81007         headers, memory.h, string.h.
81008         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
81009         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
81010         free.
81011         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
81012         headers.
81013         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
81014         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
81015         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
81016         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
81017         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
81018
81019 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81020
81021         More K&R removal.
81022
81023         * lib/acosl.c (main): Use a prototype.
81024         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
81025         tanl.c: Likewise.
81026
81027         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
81028
81029         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
81030         (getopt, etopt_long, getopt_long_only, _getopt_internal)
81031         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
81032         with a prototype.
81033         * lib/getopt.c (const): Remove macro.
81034         Include <string.h> unconditionally.
81035         (my_index): Remove; all uses changed to strchr.
81036         (strlen): Remove decl.
81037         (exchange): Remove forward decl; no longer needed.
81038         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
81039         Define with prototype.
81040         * lib/getopt1.c (const): Remove macro.
81041         (getopt_long, getopt_long_only, main): Define with prototype.
81042
81043         * lib/getugroups.c: Include <string.h> unconditionally.
81044
81045         * lib/getusershell.c: Include <stdlib.h> unconditionally.
81046         (getusershell, setusershell, endusershell, readname, main):
81047         Define with prototypes.
81048
81049         * lib/group-member.c: Include group-member.h first.
81050         Include <stdlib.h> unconditionally.
81051
81052         * lib/hard-locale.c: Include hard-locale.h first.
81053         Include <stdlib.h>, <string.h> unconditionally.
81054
81055         * lib/hash.c (free, malloc): Remove decls.
81056         Include <stdlib.h> unconditionally.
81057
81058         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
81059         (getenv): Do not declare.
81060
81061         * lib/idcache.c: Include <string.h> unconditionally.
81062
81063         * lib/long-options.c: Include long-options.h first, to test interface.
81064         Include <stdlib.h> unconditionally.
81065
81066         * lib/makepath.c: Include makepath.h first, to test interface.
81067         Include <stdlib.h> and <string.h> unconditionally.
81068
81069         * lib/linebuffer.c: Include <stdlib.h>.
81070         (free): Remove decl.
81071
81072         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
81073         stddef.h. rpl_malloc returns void *, not char *.
81074         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
81075         prototype.
81076
81077         * lib/md5.h: Include <limits.h> unconditionally.
81078         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
81079         (__P): Remove; all uses removed.
81080         * lib/md5.c: Include "md5.h" first.
81081         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
81082         md5_buffer, md5_process_bytes, md5_process_block):
81083         Define with prototypes.
81084         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
81085         * lib/sha.c: Include "sha.h" first.
81086         Include <stdlib.h>, <string.h> unconditionally.
81087
81088         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
81089         * lib/memcmp.c (__ptr_t): Likewise.
81090         * lib/memrchr.c (__ptr_t): Likewise.
81091         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
81092         Include <string.h> unconditionally.
81093         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
81094         * lib/memchr.c: Include <stdlib.h> unconditionally.
81095         * lib/memchr.c (LONG_MAX): Remove.
81096         * lib/memrchr.c (LONG_MAX): Likewise.
81097         * lib/memchr.c (__memchr): Define via a prototype.
81098         * lib/memrchr.c (__memrchr): Likewise.
81099         * lib/memcmp.c (__P): Remove, and remove all uses.
81100         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
81101         Remove forward decls; no longer needed.
81102         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
81103         Use types required by C89 in prototype.
81104
81105         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
81106         * lib/savedir.c: Likewise.
81107         * lib/mkdir.c (free): Remove decl.
81108         * lib/rmdir.c (rmdir): Define with a prototype.
81109         * lib/savedir.c: Include savedir.h first, to test interface.
81110
81111         * lib/mktime.c (STDC_HEADERS): Remove.
81112         Include <stdlib.h>, <string.h> unconditionally.
81113
81114         * lib/modechange.c: Include <stdlib.h> unconditionally.
81115         (malloc): Remove decl.
81116
81117         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
81118         (free): Remove decl.
81119
81120         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
81121         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
81122         (This type really should be intptr_t, but that's a C99ism.)
81123         (_obstack_memcpy): Remove: all uses changed to memcpy.
81124         Include <string.h> unconditionally.
81125         (struct obstack): Assume __STDC__ for types of members
81126         chunkfun, freefun, extra_arg.
81127         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
81128         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
81129         obstack_begin, obstack_specify_allocation,
81130         obstack_specify_allocation_with_arg, obstack_chunkfun,
81131         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
81132         Remove unprototyped decls and the macros that use them.
81133         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
81134         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
81135         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
81136         (defined __STDC__ && __STDC__)]:
81137         Remove nonprototyped code.
81138         Include <stdlib.h> unconditionally.
81139         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
81140         _obstack_allocated_p, _obstack_free, obstack_free,
81141         _obstack_memory_used, print_and_abort):
81142         Define using prototypes.
81143         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
81144         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
81145         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
81146         obstack_next_free, obstack_object_size, obstack_room) [0]:
81147         Remove unused, unprototyped code.
81148
81149         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
81150
81151         * lib/physmem.c (physmem_total, physmem_available, main): Define
81152         with prototypes.
81153
81154         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
81155         (main): Define with a prototype.
81156
81157         * lib/posixver.c (getenv): Remove decl.
81158
81159         * lib/putenv.c (malloc): Returns void *, not char *.
81160         Include <string.h> unconditionally.
81161         (strchr, memcpy, NULL): Do not define.
81162
81163         * lib/readtokens.c: Include readtokens.h first, to test interface.
81164         Include <stdlib.h>, <string.h> unconditionally.
81165         (init_tokenbuffer): Define with a prototype.
81166
81167         * lib/regex.c (PARAMS): Remove.  All uses removed.
81168         All uses of _RE_ARGS removed, too.
81169         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
81170         unconditionally.
81171         (bzero): Assume memset exists.
81172         (memcmp, memcpy, NULL): Remove.
81173         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
81174         char, or assignments to local vars of type signed char.
81175         (init_syntax_once, PREFIX(extract_number_and_incr),
81176         PREFIX(print_partial_compiled_pattern),
81177         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
81178         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
81179         PREFIX(regex_grow_registers), PREFIX(regex_compile),
81180         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
81181         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
81182         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
81183         wcs_compile_range, byte_compile_range, truncate_wchar,
81184         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
81185         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
81186         count_mbs_length, wcs_re_match_2_internal,
81187         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
81188         PREFIX(alt_match_null_string_p),
81189         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
81190         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
81191         regfree, PREFIX(extract_number)): Define with prototype.  Remove
81192         now-unnecessary declaration, if any.
81193         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
81194         regcomp, regexec):
81195         Remove now-unnecessary casts among pointer types.
81196         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
81197
81198         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
81199         (free): Remove decl.
81200
81201         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
81202
81203         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
81204         (free): Remove decl.
81205
81206         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
81207         * lib/xgetcwd.c: Likewise.
81208
81209         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
81210         (free): Remove decl.
81211
81212         * lib/strchrnul.c (strchrnul): Define with a prototype.
81213         Fix bug: c_in was not converted to char before searching.
81214
81215         The following changes are not K&R related:
81216
81217         * lib/group-member.h: Include <sys/types.h>, so that this file is
81218         self-contained.
81219         * lib/makepath.h: Likewise.
81220
81221         * lib/getusershell.c (readname, default_index, line_size, readname):
81222         Use size_t, not int, for sizes.
81223         (readname): If the size overflows, report an error instead of
81224         looping forever.
81225
81226 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81227
81228         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
81229         libc.
81230
81231 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81232
81233         * README: New section: portability guidelines.
81234
81235 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
81236
81237         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
81238         C89 spec.
81239
81240 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
81241
81242         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
81243
81244 2003-09-08  Paul Eggert  <eggert@twinsun.com>
81245
81246         Assume C89 or better; remove K&R cruft.
81247         A few of these changes were first proposed by Derek Robert Price
81248         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
81249
81250         * lib/addext.c: Include <string.h> unconditionally.
81251         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
81252         Don't declare getenv or malloc.
81253
81254         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
81255         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
81256         (NULL): Remove.
81257         (find_stack_direction, alloca): Use prototypes.
81258
81259         * lib/atexit.c (atexit): Define using a prototype.
81260
81261         * lib/basename.c, dirname.c, stripslash.c:
81262         Include <string.h> unconditionally.
81263
81264         * lib/bcopy.c: Include <stddef.h>.
81265         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
81266
81267         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
81268
81269         * lib/error.h (error, error_at_line, error_print_progname)
81270         [! (defined (__STDC__) && __STDC__)]: Remove decls.
81271         * lib/error.c: Include error.h first, to check interface.
81272         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
81273         (VA_START): Remove; all uses changeed to va_start.
81274         (exit, strerror): Remove decls.
81275         (error_print_progname): Prototype uncondionally.
81276         Don't include <errno.h>; no longer needed.
81277         (private_strerror): Remove.
81278         (error_tail): Always define.
81279         (error, error_at_line): Assume C89 or better; always use prototypes.
81280         * lib/fatal.c: Include "fatal.h" first, to test interface.
81281         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
81282         (VA_START): Remove; all uses changed to va_start.
81283         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
81284         this case.
81285         (exit): Remove decl.
81286         (fatal): Prototype unconditionally.  Assume va_start works.
81287         Abort at end, to pacify gcc.
81288
81289         * lib/euidaccess.c (main): Define with a prototype.
81290
81291         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
81292
81293         * lib/exitfail.c: Include <stdlib.h> unconditionally.
81294
81295         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
81296         prototypes.
81297         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
81298         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
81299         (getenv): Remove decl.
81300         (fnmatch): Define using a prototype.
81301         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
81302         (FCT): Define using a prototype.
81303
81304         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
81305
81306         * lib/gethostname.c: Include <stddef.h>.
81307         (gethostname): Define with prototype.  Length is size_t, not int.
81308
81309 2003-09-08  Paul Eggert  <eggert@twinsun.com>
81310
81311         Assume C89 or better; remove K&R cruft.
81312         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
81313         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
81314         string.h, getenv, malloc.
81315         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
81316         headers.
81317         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
81318         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
81319         do not check for strerror.
81320         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
81321         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
81322         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
81323         do not check for doprnt or vprintf.
81324         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
81325         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
81326
81327 2003-09-08  Paul Eggert  <eggert@twinsun.com>
81328
81329         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
81330         getversion.c should have been removed then, but was accidentally
81331         preserved.
81332
81333         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
81334         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
81335
81336 2003-09-08  Karl Berry  <karl@gnu.org>
81337
81338         * config/config.sub, config.guess, srclistvars.sh: update from savannah
81339                 config, forget about prep.
81340
81341         * config/depcomp, missing: update from automake.
81342
81343 2003-09-07  Paul Eggert  <eggert@twinsun.com>
81344
81345         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
81346         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
81347
81348 2003-09-07  Paul Eggert  <eggert@twinsun.com>
81349
81350         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
81351         copy_tm_result.  Bug reported by Simon Josefsson in
81352         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
81353
81354 2003-09-06  Paul Eggert  <eggert@twinsun.com>
81355
81356         * m4/time_r.m4: New file.
81357         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
81358         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
81359         is. Check for timegm declaration.
81360         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
81361         Do not check for gmtime_r.
81362         Replace mktime if __mktime_internal does not exist and if mktime
81363         hasn't been replaced already.
81364
81365 2003-09-06  Paul Eggert  <eggert@twinsun.com>
81366
81367         * lib/time_r.c, lib/time_r.h: New files.
81368
81369         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
81370         __localtime_r.
81371         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
81372         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
81373
81374         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
81375         __gmtime_r.
81376         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
81377         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
81378         Include <time_r.h>.
81379
81380         * lib/timegm.c: Switch to glibc implementation, with the following
81381         changes:
81382         [defined HAVE_CONFIG_H]: Include <config.h>.
81383         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
81384         (__mktime_internal) [!defined _LIBC]: New decl.
81385         (__gmtime_r) [!defined _LIBC]: New macro and function.
81386         (timegm): Use a prototype, since gnulib assumes C89.
81387         Do not bother declaring tmp to be const, as it's not really usefu.
81388         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
81389         (timegm): Declare only if HAVE_DECL_TIMEGM.
81390
81391 2003-09-06  Paul Eggert  <eggert@twinsun.com>
81392
81393         * MODULES.html.sh (func_all_modules): Add time_r.
81394         * modules/time_r: New file.
81395         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
81396         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
81397
81398 2003-09-03  Paul Eggert  <eggert@twinsun.com>
81399
81400         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
81401         Bug reported by Lute Kamstra in
81402         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
81403
81404         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
81405         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
81406         course with correspondingly smaller numbers for tomorrow and
81407         yesterday.  From Tadayoshi Funaba.  Originally installed into
81408         sh-utils on 1999-08-07, but the patch got lost (I guess during the
81409         coreutils merge?).
81410
81411 2003-08-31  Simon Josefsson  <jas@extundo.com>
81412
81413         * modules/timegm: New file.
81414         * MODULES.html.sh (func_all_modules): Add timegm.
81415
81416 2003-08-31  Simon Josefsson  <jas@extundo.com>
81417
81418         * m4/timegm.m4: New file.
81419
81420 2003-08-31  Simon Josefsson  <jas@extundo.com>
81421
81422         * lib/timegm.h: New file.
81423         * lib/timegm.c: New file.  Based on
81424         wget-1.8.2/src/http.c:mktime_from_utc.
81425
81426 2003-08-31  Karl Berry  <karl@gnu.org>
81427
81428         * lib/argp.h: update from libc.
81429
81430 2003-08-28  Bruno Haible  <bruno@clisp.org>
81431
81432         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
81433         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
81434         followed by '#define fnmatch fnmatch_posix' gives an error.
81435
81436 2003-08-28  Bruno Haible  <bruno@clisp.org>
81437
81438         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
81439         warning on QNX, which defines O_BINARY to 000000.
81440
81441 2003-08-27  Jim Meyering  <jim@meyering.net>
81442
81443         * m4/mkstemp.m4: Require that the system mkstemp be able to create
81444         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
81445         would fail after 32.  Reported by Danny Levinson.  Details here:
81446         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
81447
81448 2003-08-24  Bruno Haible  <bruno@clisp.org>
81449
81450         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
81451         MSVC7 <stdio.h> is included later.
81452
81453 2003-08-22  Simon Josefsson  <jas@extundo.com>
81454
81455         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
81456
81457 2003-08-20  Karl Berry  <karl@gnu.org>
81458
81459         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
81460
81461 2003-08-20  Bruno Haible  <bruno@clisp.org>
81462
81463         * modules/progname: New file.
81464         * MODULES.html.sh (func_all_modules): Add progname.
81465
81466 2003-08-20  Bruno Haible  <bruno@clisp.org>
81467
81468         * lib/progname.h: New file, from GNU gettext.
81469         * lib/progname.c: New file, from GNU gettext.
81470         * lib/progreloc.c: New file, from GNU gettext.
81471
81472 2003-08-19  Jim Meyering  <jim@meyering.net>
81473
81474         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
81475         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
81476
81477 2003-08-19  Bruno Haible  <bruno@clisp.org>
81478
81479         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
81480         more.
81481
81482 2003-08-19  Bruno Haible  <bruno@clisp.org>
81483
81484         * lib/xstrdup.c: Assume <string.h> exists.
81485
81486 2003-08-18  Paul Eggert  <eggert@twinsun.com>
81487
81488         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
81489         in makefile rules.
81490
81491 2003-08-18  Jim Meyering  <jim@meyering.net>
81492
81493         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
81494         * m4/lib-ld.m4: Likewise.
81495
81496 2003-08-18  Jim Meyering  <jim@meyering.net>
81497
81498         * lib/setenv.h: Indent nested cpp directive.
81499         * lib/vasnprintf.c: Remove trailing blanks.
81500
81501 2003-08-17  Simon Josefsson  <jas@extundo.com>
81502
81503         * modules/xstrndup: New file.
81504         * MODULES.html.sh (func_all_modules): Add xstrndup.
81505
81506 2003-08-17  Simon Josefsson  <jas@extundo.com>
81507
81508         * modules/argp: Fix autoconf macro name. Add more dependencies.
81509
81510 2003-08-17  Simon Josefsson  <jas@extundo.com>
81511
81512         * m4/xstrndup.m4: New file.
81513
81514 2003-08-17  Simon Josefsson  <jas@extundo.com>
81515
81516         * m4/argp.m4: New file.
81517
81518 2003-08-17  Simon Josefsson  <jas@extundo.com>
81519             Bruno Haible  <bruno@clisp.org>
81520
81521         * lib/xstrndup.h: New file.
81522         * lib/xstrndup.c: New file.
81523
81524 2003-08-17  Bruno Haible  <bruno@clisp.org>
81525
81526         * modules/strndup (Files, Include): Add lib/strndup.h.
81527
81528 2003-08-17  Bruno Haible  <bruno@clisp.org>
81529
81530         * modules/euidaccess (Files): Add lib/euidaccess.h.
81531
81532 2003-08-17  Bruno Haible  <bruno@clisp.org>
81533
81534         * lib/strndup.h: New file.
81535
81536 2003-08-17  Bruno Haible  <bruno@clisp.org>
81537
81538         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
81539         like AC_GNU_SOURCE.
81540         * modules/extensions (configure.ac): Comment out the invocation of
81541         gl_USE_SYSTEM_EXTENSIONS.
81542
81543 2003-08-16  Paul Eggert  <eggert@twinsun.com>
81544
81545         Merges from coreutils, etc.
81546         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
81547         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
81548         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
81549         fixing a typo.
81550         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
81551         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
81552
81553 2003-08-16  Paul Eggert  <eggert@twinsun.com>
81554
81555         Document merge from coreutils.
81556         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
81557         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
81558         * modules/utime: Add m4/utimes-null.m4.
81559
81560 2003-08-16  Paul Eggert  <eggert@twinsun.com>
81561
81562         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
81563         space, undoing this 2003-08-12 change:
81564         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
81565
81566 2003-08-16  Paul Eggert  <eggert@twinsun.com>
81567
81568         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
81569         strtoul.c from libc, undoing this 2003-08-12 change:
81570         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
81571
81572 2003-08-16  Jim Meyering  <jim@meyering.net>
81573
81574         Merges from coreutils.
81575         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
81576         prefix.  Adjust cache variables similarly.  Create 500 rather than
81577         just 300 files, to exercise bug on Darwin6.5, too.
81578         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
81579         $missing_dir.
81580         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
81581         AM_SYS_POSIX_TERMIOS.
81582         Reported by mkc@mathdogs.com.
81583         Also change use of $am_cv_sys_posix_termios
81584         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
81585         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
81586         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
81587         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
81588         in /proc/mounts until it finds one with matching device number.  This
81589         is unnecessary when the FILE argument *is* a mount point.  No stat call
81590         is necessary in that case.  So, disable the statvfs-testing code on
81591         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
81592         as RedHat bug# 84846.
81593         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
81594         to 1MB, so as not to render systems with no stack size limit (e.g.,
81595         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
81596         Include <unistd.h>.  On some systems,
81597         it is required for the definition of _SC_PAGESIZE.
81598
81599 2003-08-16  Jim Meyering  <jim@meyering.net>
81600
81601         Merge from coreutils.
81602         * lib/xstrtoimax.c: #else #if -> #elif.
81603         * lib/xstrtoumax.c: Likewise.
81604
81605 2003-08-16  Jim Meyering  <jim@meyering.net>
81606
81607         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
81608         * m4/utimes.m4: Removed.
81609         * m4/utimes-null.m4: Renamed from utimes.m4.
81610
81611         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
81612         to 1MB, so as not to render systems with no stack size limit (e.g.,
81613         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
81614         Include <unistd.h>.  On some systems,
81615         it is required for the definition of _SC_PAGESIZE.
81616
81617 2003-08-16  Jim Meyering  <jim@meyering.net>
81618         and Paul Eggert  <eggert@cs.ucla.edu>
81619
81620         Merges from coreutils, etc.
81621
81622         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
81623         using the latest version from cvs.  This avoids problems with #line
81624         directives using a vendor (Sun) compiler.
81625         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
81626         Don't set GETGROUPS_LIB here; now it's
81627         done via getgroups.m4's wrapper function.
81628         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
81629         rather than just in sh-util/configure.in, so that the
81630         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
81631         same.
81632         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
81633         AC_FUNC_GETLOADAVG where to find getloadavg.c.
81634         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
81635         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
81636         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
81637         Remove code that is now done by the newly-required macros.
81638         Append $(EXEEXT) to DF_PROG.
81639         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
81640         Do not invoke or require the following here,
81641         since prereq.m4 or some gnulib .m4 now does this for us:
81642         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
81643         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
81644         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
81645         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
81646         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
81647         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
81648         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
81649         AC_FUNC_OBSTACK.
81650         Do not replace the following functions, as this is now the job
81651         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
81652         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
81653         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
81654         atexit getpass, strdup, getpagesize.
81655         Replace 'raise'.
81656         Do not check for the following functions, as this is now the job
81657         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
81658         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
81659         setregid.
81660         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
81661         Check for sys/sysctl.h.
81662         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
81663         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
81664         of checking for ssize_t ourselves.
81665
81666         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
81667         Require every macro that gnulib/modules/* suggests for us.
81668         (jm_PREREQ_ADDEXT): New macro.
81669         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
81670         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
81671
81672         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
81673         (gl_PHYSMEM): Use it.
81674         Also check for `table' function.
81675         Check for new headers and functions.
81676         Add check for sys/sysmp.h.
81677         With suggestions from Kaveh Ghazi.
81678         Ignore headers that are present but cannot be compiled.  This
81679         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
81680         C 5.4.
81681
81682 2003-08-15  Paul Eggert  <eggert@twinsun.com>
81683
81684         Document merge from coreutils.
81685         * modules/userspec: Depend on posixver.
81686         * modules/strftime: Depend on tzset.
81687
81688 2003-08-15  Paul Eggert  <eggert@twinsun.com>
81689
81690         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
81691         rather than tab, after '#' in shell-script copyright notices.
81692         Suggested by Bruno Haible.
81693
81694 2003-08-15  Paul Eggert  <eggert@twinsun.com>
81695
81696         * config/srclist-update: Use three spaces, rather than tab, after '#'
81697         in shell-script copyright notices.  Suggested by Bruno Haible.
81698         Remove unnecessary parenthesization in regular expression.
81699
81700 2003-08-15  Jim Meyering  <jim@meyering.net>
81701
81702         Merge from coreutils.
81703         * lib/xgethostname.c: Include <stdlib.h>.
81704         (xghostname): Don't exit for anything other than memory-related
81705         failure; just return NULL.
81706         * lib/userspec.c: Include "posixver.h".
81707         (parse_user_spec): Accept `.' as a separator only
81708         in pre-POSIX-200112 mode.
81709         * lib/strtoimax.c: Use #elif rather than #else #if.
81710         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
81711         Remove function, now that we can rely on a working tzset function.
81712         [!_LIBC]: Ensure that the required autoconf test has been run.
81713         [!defined _NL_CURRENT && HAVE_STRFTIME]:
81714         Use underlying_strftime for %r.
81715         * lib/sha.c: Merge in some clean-up and optimization changes from
81716         glibc.
81717         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
81718         Ensure that it is a multiple of 64.
81719         Rearrange loop exit tests so as to avoid performing an
81720         additional fread after encountering an error or EOF.
81721         * lib/realloc.c: Update copyright date.
81722
81723 2003-08-15  Jim Meyering  <jim@meyering.net>
81724         and Paul Eggert  <eggert@twinsun.com>
81725
81726         Merge from coreutils.
81727         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
81728         member but strut utmpx does not.  Needed for AIX 4.3.3.
81729         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
81730
81731 2003-08-15  Jim Meyering  <jim@meyering.net>
81732         and Paul Eggert  <eggert@cs.ucla.edu>
81733
81734         Merges from coreutils, etc.
81735         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
81736         Require gl_FUNC_TZSET_CLOBBER.
81737         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
81738         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
81739         members.
81740
81741 2003-08-14  Paul Eggert  <eggert@twinsun.com>
81742
81743         Help the merge from coreutils.
81744         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
81745         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
81746         * m4/tzset.m4: Use it too.
81747
81748 2003-08-14  Paul Eggert  <eggert@twinsun.com>
81749
81750         * modules/tzset: New file.
81751
81752 2003-08-14  Jim Meyering  <jim@meyering.net>
81753
81754         Merges from coreutils.
81755         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
81756         variable names, rather than @FNMATCH_H@.
81757         * modules/alloca: Likewise for $(ALLOCA_H).
81758
81759         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
81760         the three copies of the literal target, `fnmatch.h'.
81761         * modules/alloca (alloca.h): Likewise.
81762
81763 2003-08-14  Jim Meyering  <jim@meyering.net>
81764
81765         Merge from coreutils.
81766         * m4/tzset.m4: New file.
81767         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
81768         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
81769         otherwise, AIX 5.1 systems would end up using the latter.
81770         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
81771         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
81772         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
81773         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
81774
81775 2003-08-14  Jim Meyering  <jim@meyering.net>
81776
81777         Merge from coreutils.
81778         * lib/obstack.h: Whitespace changes.
81779         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
81780         and xcalloc return values.
81781         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
81782         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
81783         hang on OSF/1 5.1 for DIR on both local and remote file systems.
81784         Reported by (and fix confirmed by) Nelson H. F. Beebe.
81785         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
81786         error from mntctl.
81787         Use mntctl's return value to drive the entry-processing loop, since
81788         we can't rely on the value of the vmt_length member in the last
81789         entry.  On some systems doing so could result in exhausting
81790         virtual memory.  Based in part on a patch from Mike Jetzer.
81791
81792 2003-08-14  Jim Meyering  <jim@meyering.net>
81793         and Paul Eggert  <eggert@twinsun.com>
81794
81795         Merges from coreutils, plus other fixes.
81796         * lib/physmem.c: Merge in portability changes from gcc/libiberty
81797         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
81798         for credits and details.  Thanks to Kaveh Ghazi for helping
81799         to keep these files in sync.
81800         (ARRAY_SIZE): Define it.
81801         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
81802         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
81803         (memcasecmp): Don't assume size_t fits in unsigned int.
81804         Remove casts and duplicate code.
81805         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
81806         (memcpy): Remove definition.
81807         Merge in some clean-up and optimization changes from glibc.
81808         [BLOCKSIZE]: Move definition to top of file.
81809         Ensure that it is a multiple of 64.
81810         Rearrange loop exit tests so as to avoid performing an
81811         additional fread after encountering an error or EOF.
81812         * lib/md5.h (md5_uintptr): Define.
81813         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
81814         return to the initial working directory.  Preserve errno
81815         for caller.
81816         * lib/idcache.c: Include "xalloc.h".
81817         (xmalloc, xrealloc): Remove decls.
81818         (getuser): Remove casts no longer required in C89.
81819         * lib/human.c: Include stdio.h, for sprintf.
81820         * lib/group-member.c: Include "xalloc.h".
81821         (xmalloc, xrealloc): Remove decls.
81822         (get_group_info): Remove casts no longer required in C89.
81823         * lib/getusershell.c (readname): Remove casts no longer required in
81824         C89.
81825         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
81826         * lib/getline.c: Whitespace fix, from coreutils.
81827
81828 2003-08-13  Paul Eggert  <eggert@twinsun.com>
81829
81830         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
81831         Check for isascii.
81832
81833         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
81834         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
81835         Undo previous (whitespace-only) change.
81836
81837 2003-08-13  Paul Eggert  <eggert@twinsun.com>
81838
81839         * lib/exclude.c: Include <ctype.h>
81840         (IN_CTYPE_DOMAIN): New macro.
81841         (is_space): New fn.
81842         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
81843         and empty lines.
81844
81845         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
81846         Undo previous (whitespace-only) change.
81847
81848 2003-08-13  Paul Eggert  <eggert@twinsun.com>
81849
81850         * config/srclist-update: Change update back to the old behavior,
81851         leaving whitespace alone.  Use one 'sed' command rather than a
81852         pipeline.
81853         (fixlicense): Now a variable, not a function.
81854         (remove_trailing_blanks): Remove.
81855         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
81856         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
81857         Undo previous (whitespace-only) change.
81858
81859 2003-08-12  Paul Eggert  <eggert@twinsun.com>
81860
81861         Merge from coreutils.
81862         * modules/euidaccess: Add lib_SOURCES, include for new
81863         file euidaccess.h
81864
81865 2003-08-12  Paul Eggert  <eggert@twinsun.com>
81866
81867         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
81868         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
81869         Normalize leading white space and remove trailing white space.
81870
81871         Merge from coreutils
81872         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
81873
81874         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
81875         0.12.1.  These files are now being upgraded automatically by
81876         ../config/srclist-update.
81877
81878 2003-08-12  Paul Eggert  <eggert@twinsun.com>
81879
81880         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
81881         Normalize leading white space and remove trailing white space.
81882         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
81883         notice, as per ../config/srclist-update.
81884
81885         Merge from coreutils.
81886         * lib/euidaccess.h: New file.
81887         * lib/euidaccess.c: Include it.
81888         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
81889         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
81890         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
81891
81892 2003-08-12  Paul Eggert  <eggert@twinsun.com>
81893
81894         * config/srclist-update: Add copyright notice.
81895         (remove_id_lines, remove_trailing_blanks): New constants.
81896         (fixfile): Use them to normalize spacing a bit in copied files.
81897         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
81898         Normalize leading white space and remove trailing white space.
81899
81900         * config/texinfo.tex: Sync with texinfo.
81901
81902         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
81903         strtoul.c from libc, to merge coreutils whitespace changes.
81904
81905         * config/srclist.txt: Get the following m4 files from gettext:
81906         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
81907         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
81908         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
81909         wint_t.m4.
81910
81911 2003-08-12  Karl Berry  <karl@gnu.org>
81912
81913         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
81914         been made.
81915
81916 2003-08-11  Paul Eggert  <eggert@twinsun.com>
81917
81918         * modules/gnu-source, m4/gnu-source.m4:
81919         Remove; we're assuming Autoconf 2.54 or later now.
81920         Suggested by Bruno Haible.
81921         * MODULES.html.sh (func_all_modules): Remove gnu-source.
81922
81923 2003-08-11  Bruno Haible  <bruno@clisp.org>
81924
81925         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
81926
81927 2003-08-11  Bruno Haible  <bruno@clisp.org>
81928
81929         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
81930         (vasnprintf): Use it instead of wcslen.
81931
81932 2003-08-11  Bruno Haible  <bruno@clisp.org>
81933
81934         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
81935         value to ensure that _Bool promotes to int. Use #define for _Bool when
81936         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
81937
81938 2003-08-10  Karl Berry  <karl@gnu.org>
81939
81940         * lib/regex.h: update from libc (whitespace fix).
81941
81942 2003-08-09  Paul Eggert  <eggert@twinsun.com>
81943
81944         Merge some files from coreutils.  These changes were
81945         originally made by Jim Meyering.
81946         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
81947         many older Unixes require this.
81948         * lib/alloca.c (alloca): Remove cast to argument of free;
81949         no longer needed in C89.
81950         * lib/alloca_.h, regex.h: Fix white space to match
81951         what GNU indent does.
81952
81953 2003-08-09  Paul Eggert  <eggert@twinsun.com>
81954
81955         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
81956         apparently Emacs's Unicode mode got confused before my 2003-08-05
81957         checkin.
81958
81959 2003-08-08  Paul Eggert  <eggert@twinsun.com>
81960
81961         * m4/extensions.m4: New file.
81962         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
81963         Require gl_USE_SYSTEM_EXTENSIONS.
81964         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
81965         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
81966
81967 2003-08-08  Paul Eggert  <eggert@twinsun.com>
81968
81969         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
81970         * modules/extensions, modules/gnu-source: New files.
81971         * modules/timespec, modules/unlocked-io: Depend on extensions.
81972
81973 2003-08-07  Paul Eggert  <eggert@twinsun.com>
81974
81975         * modules/restrict: New file.
81976         * MODULES.html.sh (func_all_modules): Add restrict.
81977         * modules/regex: Depend on restrict.
81978
81979 2003-08-07  Paul Eggert  <eggert@twinsun.com>
81980
81981         * m4/restrict.m4: New file.
81982         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
81983
81984 2003-08-07  Bruno Haible  <bruno@clisp.org>
81985
81986         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
81987         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
81988
81989 2003-08-07  Bruno Haible  <bruno@clisp.org>
81990
81991         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
81992         makes the module 'getndelim2' compatible with the module 'getline'.
81993
81994 2003-08-05  Paul Eggert  <eggert@twinsun.com>
81995
81996         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
81997         byte with "\201" to avoid glitches when editing that source file
81998         with multi-gnome-terminal.
81999
82000 2003-08-05  Paul Eggert  <eggert@twinsun.com>
82001
82002         * lib/bumpalloc.h: Remove.
82003
82004 2003-08-05  Paul Eggert  <eggert@twinsun.com>
82005
82006         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
82007         * modules/bumpalloc: Remove.
82008
82009 2003-08-04  Paul Eggert  <eggert@twinsun.com>
82010
82011         * lib/getloadavg.c: Change copyright notice and spacing to conform to
82012         GNU coding style.
82013
82014         Merge from coreutils.
82015         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
82016         1. From glibc.
82017         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
82018         from Karl Berry, implemented by Jim Meyering.
82019         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
82020         from Dmitry V. Levin.
82021         Remove anachronistic cast of xrealloc.
82022         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
82023         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
82024         type. Otherwise, it wouldn't compile with at least /bin/cc on
82025         ymp-cray-unicos9.0.2.X.
82026         Combine two mostly-identical uses of alloca into one.
82027         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
82028
82029 2003-08-04  Dave Love  <d.love@dl.ac.uk>
82030
82031         [From Emacs.]
82032
82033         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
82034         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
82035         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
82036         obsolete NLIST_NAME_UNION.
82037         [__GNU__]: Undef BSD and FSCALE.
82038         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
82039
82040 2003-08-03  Paul Eggert  <eggert@twinsun.com>
82041
82042         * lib/stdbool_.h (_Bool): Make it signed char, instead of
82043         an enum type, so that it's guaranteed to promote to int.  See:
82044         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
82045
82046 2003-08-03  Karl Berry  <karl@gnu.org>
82047
82048         * config/depcomp: update from automake.
82049
82050 2003-07-31  Paul Eggert  <eggert@twinsun.com>
82051
82052         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
82053         (strerror): Don't assume that a printable int fits in 14 bytes.
82054
82055 2003-07-31  Bruno Haible  <bruno@clisp.org>
82056
82057         * modules/getpass-gnu: New file.
82058         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
82059
82060 2003-07-31  Bruno Haible  <bruno@clisp.org>
82061
82062         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
82063
82064 2003-07-24  Karl Berry  <karl@gnu.org>
82065
82066         * config/missing: update from automake.
82067
82068 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
82069             Bruno Haible  <bruno@clisp.org>
82070
82071         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
82072         * lib/getline.c (getline, getdelim): Likewise.
82073         Remove _GNU_SOURCE define; now it's defined in config.h through
82074         m4/getline.m4.
82075
82076 2003-07-23  Karl Berry  <karl@gnu.org>
82077
82078         * config/config.sub: update from prep.
82079
82080 2003-07-22  Paul Eggert  <eggert@twinsun.com>
82081
82082         * modules/xalloc (Depends-on): Add exitfail.
82083         * modules/xmemcoll: Likewise.
82084
82085 2003-07-22  Paul Eggert  <eggert@twinsun.com>
82086
82087         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
82088         over-parenthesization in macros.
82089
82090         Sync with coreutils.
82091
82092         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
82093         required by C99.
82094
82095         Use `exit_failure' for xalloc and xmemcoll instead of their own
82096         private exit-failure variables.
82097         * lib/xalloc.h (xalloc_exit_failure): Remove.
82098         * lib/xmalloc.c: Likewise.  Include exitfail.h.
82099         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
82100         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
82101         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
82102         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
82103
82104 2003-07-20  Jim Meyering  <jim@meyering.net>
82105
82106         * modules/closeout (Depends-on): Add exitfail.
82107         Suggestion from Bruno Haible.
82108
82109 2003-07-19  Karl Berry  <karl@gnu.org>
82110
82111         * config/config.sub: update from prep.
82112
82113 2003-07-18  Paul Eggert  <eggert@twinsun.com>
82114
82115         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
82116         Remove.
82117         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
82118         to test that it can stand by itself.  Include "exitfail.h".
82119         Clients should set exit_failure instead.
82120         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
82121
82122 2003-07-18  Bruno Haible  <bruno@clisp.org>
82123
82124         * modules/getndelim2: New file.
82125         * modules/getline: Share files with module getndelim2.
82126         * modules/getnline: Depend on getndelim2 instead of sharing files with
82127         it. Add getnline.c to lib_SOURCES.
82128         * MODULES.html.sh (func_all_modules): Add getndelim2.
82129
82130 2003-07-18  Bruno Haible  <bruno@clisp.org>
82131
82132         * m4/getndelim2.m4: New file.
82133         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
82134         invoke gl_PREREQ_GETNDELIM2.
82135         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
82136         gl_PREREQ_GETNDELIM2.
82137         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
82138         gl_GETNDELIM2.
82139
82140 2003-07-18  Bruno Haible  <bruno@clisp.org>
82141
82142         * lib/getndelim2.h: New file.
82143         * lib/getndelim2.c: Make into a module of its own. Include config.h,
82144         getndelim2.h.
82145         (getndelim2): Make non-static. Change return type to ssize_t.
82146         * lib/getline.h: Change argument names.
82147         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
82148         * lib/getnline.c: Include getndelim2.h.
82149
82150 2003-07-18  Andreas Schwab  <schwab@suse.de>
82151
82152         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
82153
82154 2003-07-17  Karl Berry  <karl@gnu.org>
82155
82156         * config/config.sub: update from prep.
82157
82158 2003-07-17  Bruno Haible  <bruno@clisp.org>
82159
82160         * modules/getnline: New file.
82161         * modules/getline: Add lib/getndelim2.c to source file list.
82162         * MODULES.html.sh (func_all_modules): Add getnline.
82163
82164 2003-07-17  Bruno Haible  <bruno@clisp.org>
82165
82166         * m4/getnline.m4: New file.
82167
82168 2003-07-17  Bruno Haible  <bruno@clisp.org>
82169
82170         * m4/Makefile.am.in: Remove file.
82171         * m4/Makefile.am: Remove file.
82172         * m4/Makefile.in: Remove file.
82173
82174 2003-07-17  Bruno Haible  <bruno@clisp.org>
82175
82176         * lib/getnline.h: New file.
82177         * lib/getnline.c: New file.
82178         * lib/getndelim2.c: New file, extracted from getline.c.
82179         (getndelim2): Renamed from getdelim2, with added nmax argument.
82180         * lib/getline.c: Include getndelim2.c.
82181         (getdelim2): Moved out to getndelim2.c.
82182         (getline, getdelim): Update.
82183
82184 2003-07-17  Bruno Haible  <bruno@clisp.org>
82185
82186         * lib/Makefile.am: Remove file.
82187         * lib/Makefile.in: Remove file.
82188
82189 2003-07-17  Bruno Haible  <bruno@clisp.org>
82190
82191         * configure.in: Remove file.
82192         * Makefile.in: Remove file.
82193
82194 2003-07-17  Bruno Haible  <bruno@clisp.org>
82195
82196         * MODULES.html.sh: Put the </BODY> right before </HTML>.
82197
82198 2003-07-16  Karl Berry  <karl@gnu.org>
82199
82200         * config/srclist-update: was running fixlicense twice, which caused
82201                 texinfo.tex to be nullified for some reason.  Simplify,
82202                 $gplsrc is no longer needed as far as I can see?
82203
82204 2003-07-16  Jim Meyering  <jim@meyering.net>
82205
82206         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
82207
82208 2003-07-15  Paul Eggert  <eggert@twinsun.com>
82209
82210         * config/srclist.txt: Get the following files from gettext-runtime/intl
82211         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
82212         ref-del.sin.  From Bruno Haible.
82213         * config/srclist-update (fixfile): Change grep pattern again, since the
82214         previous fix didn't work (there was another trailing $).  Use
82215         '[$]' to escape the $s.
82216
82217 2003-07-15  Karl Berry  <karl@gnu.org>
82218
82219         * lib/vasnprintf.c: update from gettext.
82220
82221 2003-07-15  Karl Berry  <karl@gnu.org>
82222
82223         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
82224         gets expanded when surrounded by '$'.
82225
82226 2003-07-15  Jim Meyering  <jim@meyering.net>
82227
82228         * modules/save-cwd: Don't depend on error.  From Derek Price.
82229
82230 2003-07-15  Jim Meyering  <jim@meyering.net>
82231
82232         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
82233
82234 2003-07-14  Simon Josefsson  <jas@extundo.com>
82235
82236         * modules/mempcpy: New file.
82237         * MODULES.html.sh (func_all_modules): Add mempcpy.
82238
82239 2003-07-14  Simon Josefsson  <jas@extundo.com>
82240
82241         * m4/mempcpy.m4: New file.
82242
82243 2003-07-14  Simon Josefsson  <jas@extundo.com>
82244
82245         * lib/mempcpy.h: New file.
82246         * lib/mempcpy.c: New file.
82247
82248 2003-07-14  Paul Eggert  <eggert@twinsun.com>
82249
82250         * modules/getdate, modules/posixtm: Depend on mktime.
82251
82252 2003-07-14  Paul Eggert  <eggert@twinsun.com>
82253
82254         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
82255         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
82256         unicodeio.c, unicodeio.h, unlocked-io.h:
82257         Switch from LGPL to GPL.
82258
82259 2003-07-14  Paul Eggert  <eggert@twinsun.com>
82260
82261         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
82262         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
82263         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
82264         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
82265         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
82266         updated automatically by ../config/srclist-update.  This changes
82267         their license from LPGL to GPL.
82268
82269 2003-07-14  Paul Eggert  <eggert@twinsun.com>
82270
82271         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
82272         assumed to refer to the root of the most recent stable gettext version.
82273         * config/srclistvars.sh: Add defaults for eggert.
82274         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
82275         Match "This program" as well as "The program".  This is needed
82276         for gettext.
82277
82278 2003-07-14  Jim Meyering  <jim@meyering.net>
82279
82280         Don't emit diagnostics.  Let callers do that.
82281         * lib/save-cwd.c: Don't include "error.h".
82282         (save_cwd): Don't call error.  Ensure that errno is valid
82283         when returning nonzero.
82284
82285         * lib/save-cwd.h (restore_cwd): Update prototype.
82286         * lib/save-cwd.c (restore_cwd): Remove two parameters.
82287         Simplify.  Don't call error upon failure.  Let callers do that.
82288         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
82289         when auditing is enabled.  But don't bother updating the #if.
82290
82291 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
82292
82293         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
82294         it breaks C++ compilation.
82295         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
82296
82297 2003-07-10  Simon Josefsson  <jas@extundo.com>
82298
82299         * modules/strchrnul (Makefile.am): Add strchrnul.h.
82300
82301 2003-07-10  Jim Meyering  <jim@meyering.net>
82302
82303         * m4/clock_time.m4: Remove trailing blank.
82304         * m4/intmax_t.m4: Likewise.
82305
82306 2003-07-10  Jim Meyering  <jim@meyering.net>
82307
82308         * lib/vasnprintf.c: Remove trailing blanks.
82309         Make cpp indentation consistent.
82310
82311 2003-07-09  Paul Eggert  <eggert@twinsun.com>
82312
82313         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
82314         posixver.c, strftime.c, strnlen.c, strverscmp.c:
82315         Switch from LGPL to GPL.
82316
82317 2003-07-09  Paul Eggert  <eggert@twinsun.com>
82318
82319         * config/srclist.txt: Sort sublists.  Add
82320         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
82321         that differ from gnulib for one reason or another; we'd like this list
82322         to be smaller but for now let's document what we have.
82323
82324 2003-07-08  Paul Eggert  <eggert@twinsun.com>
82325
82326         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
82327         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
82328         and sweeter "eval x=$x".
82329         * config/srclist.txt: Get lib/argp* from glibc.
82330
82331 2003-07-07  Paul Eggert  <eggert@twinsun.com>
82332
82333         * lib/mktime.c: Fix some boundary cases and remove need for floating
82334         point.
82335
82336         Issue a compile-time diagnostic if time_t is floating point, or if
82337         two's complement arithmetic is not in effect, or if arithmetic
82338         right shift does not propagate the sign.  These assumptions were
82339         all in the original code but they weren't checked.
82340
82341         (TIME_T_MIDPOINT, verify): New macros.
82342         (__isleap): Remove; it has integer overflow problems.
82343         (leapyear): New function, without those problems.
82344         (ydhms_tm_diff): Remove; splitting into two parts.
82345         (ydhms_diff): New function, containing the arithmetic part of
82346         the old ydhms_tm_diff function.  Issue a compile-time
82347         diagnostic if we are not using C99 integer division.
82348         Avoid casts when possible.
82349         (guess_time_tm): New function, containing the checking part of
82350         the old ydhms_tm_diff function.  Return the new value, rather than
82351         the difference between it and the old.  Accept a new argument T
82352         so that *T specifies the old value.  Check for overflow in the result.
82353
82354         (__mktime_internal): Use a time_t offset, not a long int offset.
82355         This undoes the 2003-06-04 change, which is no longer needed now
82356         that we have better overflow checking.
82357         (localtime_offset): Likewise.
82358
82359         (__mktime_internal): Avoid harmful overflow on hosts where time_t
82360         and long are 64-bit but int is only 32-bit.
82361         (ydhms_diff): Use long int to store year1 and yday1.
82362         Issue a compile-time diagnostic if long int is not wide enough.
82363
82364         (__mktime_internal): Use long int to store adjusted year and yday.
82365         Use plain C rather than preprocessor commands, if that doesn't
82366         affect efficiency.
82367         Check for overflow (and try to repair) after each probe
82368         rather than checking only at the very end.  This avoids some bugs
82369         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
82370         does not equal GMT offset at maximum time).
82371         Use integer to check for overflow rather than floating point; this
82372         is more portable to non-IEEE hosts, and is a tad faster.
82373         When we detect that we are oscillating between two values,
82374         don't check whether tm_isdst has the requested value, since
82375         we already know the answer.  When tm_isdst has the wrong value,
82376         use a different heuristic to find the right one, based on the
82377         extreme values actually observed in practice in tz2003a,
82378         rather than the (overly optimistic) "previous 3 calendar quarters".
82379
82380         (not_equal_tm, print_tm, check_result): Use "const T" rather than
82381         "T const" to accommodate glibc style.
82382         (check_result): Use less-confusing report format.  "long" -> "long int.
82383         (main): Likewise.
82384         Don't loop if the iteration overflows time_t.
82385         Allow a negative step in the iteration.
82386
82387 2003-07-06  Karl Berry  <karl@gnu.org>
82388
82389         * config/depcomp: update from automake.
82390         * config/config.sub: update from prep.
82391
82392 2003-07-03  Karl Berry  <karl@gnu.org>
82393
82394         * config/config.guess: update from prep.
82395
82396 2003-07-01  Paul Eggert  <eggert@twinsun.com>
82397
82398         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
82399         xreadlink.c now includes it unconditionally.
82400
82401 2003-07-01  Paul Eggert  <eggert@twinsun.com>
82402
82403         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
82404         having it depend on HAVE_SYS_TYPES_H.
82405
82406 2003-07-01  Bruno Haible  <bruno@clisp.org>
82407
82408         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
82409         <sys/types.h> should be sufficient.
82410         Reported by Paul Eggert.
82411
82412 2003-06-26  Karl Berry  <karl@gnu.org>
82413
82414         * config/depcomp: update from automake.
82415
82416 2003-06-26  Bruno Haible  <bruno@clisp.org>
82417
82418         * modules/human: Depend on module stdbool.
82419
82420 2003-06-25  Bruno Haible  <bruno@clisp.org>
82421
82422         * modules/readlink: New file.
82423         * modules/xreadlink: Depend on it.
82424         * MODULES.html.sh (func_all_modules): Add readlink.
82425
82426 2003-06-25  Bruno Haible  <bruno@clisp.org>
82427
82428         * m4/readlink.m4: New file.
82429
82430 2003-06-25  Bruno Haible  <bruno@clisp.org>
82431
82432         * lib/readlink.c: New file.
82433
82434 2003-06-22  Karl Berry  <karl@gnu.org>
82435
82436         * config/srclist.txt: update mkinstalldirs from automake.
82437         * config/mkinstalldirs: update.
82438
82439 2003-06-22  Bruno Haible  <bruno@clisp.org>
82440
82441         Portability to mingw32.
82442         * m4/ssize_t.m4: New file, from GNU gettext.
82443         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
82444         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
82445
82446 2003-06-22  Bruno Haible  <bruno@clisp.org>
82447
82448         * modules/safe-read: Add m4/ssize_t.m4.
82449         * modules/xreadlink: Add m4/ssize_t.m4.
82450
82451 2003-06-20  Bruno Haible  <bruno@clisp.org>
82452
82453         Assume C89, so PARAMS isn't needed.
82454         * lib/unicodeio.h (PARAMS): Remove.
82455         * lib/unicodeio.c: Don't use PARAMS.
82456
82457 2003-06-18  Karl Berry  <karl@gnu.org>
82458
82459         * config/config.{guess,sub}: update from prep.
82460
82461 2003-06-18  Jim Meyering  <jim@meyering.net>
82462
82463         Merge changes from coreutils.
82464         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
82465         Remove explicit declarations of xmalloc and realloc.
82466         Include xalloc.h.
82467         (read_utmp): Remove anachronistic cast of xmalloc.
82468
82469 2003-06-17  Paul Eggert  <eggert@twinsun.com>
82470
82471         Assume C89, so PARAMS isn't needed.
82472         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
82473         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
82474         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
82475         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
82476         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
82477         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
82478         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
82479         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
82480         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
82481         lib/xstrtod.h, lib/xstrtol.h: Likewise.
82482         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
82483         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
82484         no longer needed. Anyway, config.h should always be included before any
82485         other file.
82486
82487 2003-06-11  Simon Josefsson  <jas@extundo.com>
82488
82489         * modules/sysexits: New file.
82490         * MODULES.html.sh (func_all_modules): Add sysexits.
82491
82492 2003-06-11  Simon Josefsson  <jas@extundo.com>
82493
82494         * lib/sysexit_.h: New file.
82495
82496 2003-06-11  Derek Price  <derek@ximbiot.com>
82497
82498         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
82499         necessary.
82500
82501 2003-06-11  Bruno Haible  <bruno@clisp.org>
82502
82503         * m4/sysexits.m4: New file.
82504
82505 2003-06-10  Simon Josefsson  <jas@extundo.com>
82506
82507         * lib/argp.h: New file, from glibc.
82508         * lib/argp-ba.c: New file, from glibc.
82509         * lib/argp-eexst.c: New file, from glibc.
82510         * lib/argp-fmtstream.c: New file, from glibc.
82511         * lib/argp-fmtstream.h: New file, from glibc.
82512         * lib/argp-fs-xinl.c: New file, from glibc.
82513         * lib/argp-help.c: New file, from glibc.
82514         * lib/argp-namefrob.h: New file, from glibc.
82515         * lib/argp-parse.c: New file, from glibc.
82516         * lib/argp-pv.c: New file, from glibc.
82517         * lib/argp-pvh.c: New file, from glibc.
82518         * lib/argp-xinl.c: New file, from glibc.
82519
82520 2003-06-10  Simon Josefsson  <jas@extundo.com>
82521
82522         * modules/strchrnul: New file.
82523
82524 2003-06-10  Simon Josefsson  <jas@extundo.com>
82525
82526         * modules/argp: New file.
82527
82528 2003-06-10  Simon Josefsson  <jas@extundo.com>
82529
82530         * m4/strchrnul.m4: New file.
82531
82532 2003-06-10  Simon Josefsson  <jas@extundo.com>
82533
82534         * lib/strchrnul.h: New file.
82535         * lib/strchrnul.c: New file.
82536
82537 2003-06-10  Bruno Haible  <bruno@clisp.org>
82538
82539         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
82540
82541 2003-06-07  Karl Berry  <karl@gnu.org>
82542
82543         * config/config.{guess,sub}: update from prep.
82544
82545 2003-06-07  Jim Meyering  <jim@meyering.net>
82546
82547         * modules/strtod: Use $(...) notation, not @...@ for
82548         AC_REPLACE'd variables.
82549         * modules/localcharset: Likewise.
82550
82551 2003-06-07  Jim Meyering  <jim@meyering.net>
82552
82553         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
82554         in place of my name in the copyright comment.
82555         Remove definition and uses of __P.
82556
82557         From coreutils.
82558         * lib/stat.c: Don't declare xmalloc explicitly.
82559         Instead, include "xalloc.h".
82560         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
82561         xrealloc, and xcalloc return values.
82562         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
82563         Improve comment.
82564         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
82565
82566 2003-06-07  Bruno Haible  <bruno@clisp.org>
82567
82568         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
82569         avoid AC_CONFIG_LINKS.
82570         * modules/fnmatch (Makefile.am): Use explicit creation rule for
82571         fnmatch.h, to avoid AC_CONFIG_LINKS.
82572         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
82573
82574 2003-06-07  Bruno Haible  <bruno@clisp.org>
82575
82576         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
82577         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
82578         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
82579         directory.
82580         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
82581         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
82582         directory.
82583
82584 2003-06-06  Jim Meyering  <jim@meyering.net>
82585
82586         Merge from coreutils.
82587         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
82588         Consolidate declarations and initializations of *_base* locals.
82589
82590         Merge from coreutils.
82591         This avoids a core dump on systems without GNU putenv,
82592         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
82593         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
82594         (unsetenv): New static function, from GNU libc.
82595         (rpl_putenv): Use it.
82596
82597         * lib/modechange.c: Remove trailing blanks.
82598
82599         Merge from coreutils.
82600         * lib/fsusage.c: Remove declaration of statfs.
82601         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
82602
82603         * lib/posixtm.c: Include <stdbool.h> unconditionally.
82604
82605 2003-06-06  Jim Meyering  <jim@meyering.net>
82606
82607         * lib/stdbool_.h: Renamed from stdbool.h.in.
82608
82609 2003-06-06  Jim Meyering  <jim@meyering.net>
82610             Bruno Haible  <bruno@clisp.org>
82611
82612         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
82613         Adjust Makefile.am snippet not to redirect directly to target.
82614         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
82615
82616 2003-06-05  Paul Eggert  <eggert@twinsun.com>
82617
82618         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
82619         mismatch, look in future quarters as well as past.  This fixes a
82620         bug when processing fall-backwards gaps immediately after a long
82621         period of daylight-saving time.
82622
82623         * lib/mktime.c: Assume freestanding C89 or better.
82624         (HAVE_LIMITS_H): Remove.  Assume it's 1.
82625         (__P): Remove; not used.
82626         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
82627         (mktime, not_equal_tm, print_tm, check_result,
82628         main): Use prototypes.  Use const * where appropriate.
82629         (main): Fix typo in testing code that uncovered by above changes.
82630         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
82631
82632 2003-06-04  Paul Eggert  <eggert@twinsun.com>
82633
82634         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
82635         locale.h, localeconv.  This merges changes from coreutils.
82636
82637         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
82638         It can be removed after the next Autoconf is released.
82639         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
82640         needed.
82641
82642 2003-06-04  Paul Eggert  <eggert@twinsun.com>
82643
82644         * lib/mktime.c: Fix Debian bug 177940
82645         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
82646         (localtime_offset): Now long int, not time_t, because we want it
82647         to be guaranteed to be signed.  All uses changed.
82648         (__mktime_internal): If overflow would occur when adding offset,
82649         don't add it.
82650
82651         Merge 'human' changes from coreutils.  Rewrite to support
82652         locale-specific notations like thousands separators.
82653         * lib/human.c: Simplify authorship notice.
82654         Include human.h immediately after config.h.
82655         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
82656         <limits.h>: Do not include, since human.h does.
82657         (SIZE_MAX, UINTMAX_MAX): New macros.
82658         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
82659         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
82660         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
82661         (power_letter): Renamed from suffixes.
82662         (generate_suffix_backwards): Remove.
82663         (adjust_value): Now takes int style (because of human.h changes)
82664         and long double value (for greater precision on some platforms).
82665         (group_number): New function.
82666         (human_readable): Use it.  Use integer options, not enum.
82667         Put the options before the sizes in the arg list.
82668         Support all the new options.
82669         The old human_readable function has been removed;
82670         use inttostr.h instead.
82671         (human_readable, default_block_size, humblock):
82672         Use uintmax_t, not int, for block sizes.
82673         (human_readable_inexact, block_size_types): Remove.
82674         (block_size_opts): New constant.
82675         (human_options): Renamed from human_block_size, with new signature
82676         that allows block sizes up to UINTMAX_MAX.  All callers changed.
82677         * lib/human.h: Add copyright and authorship notice.
82678         Include <limits.h> and <stdbool.h> unconditionally.
82679         (PARAMS): Remove.  All uses removed.
82680         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
82681         (enum human_inexact_style): Remove tag; now a nameless enum.
82682         (human_floor, human_ceiling, human_round_to_even): Now have
82683         values 2, 0, 1 rather than -1, 1, 0.
82684         (human_group_digits, human_suppress_point_zero, human_autoscale,
82685         human_base_1024, human_SI, human_B): New constants.
82686         (human_readable_inexact, human_block_size): Remove.
82687         (human_readable): Size args are now uintmax_t, not int.
82688         (human_options): New decl.
82689
82690         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
82691         unnecessary now that we assume C89 or better.  This change
82692         imported from coreutils.
82693
82694         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
82695         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
82696         in the 2003-05-30 sync from glibc.
82697
82698         .h files should stand alone, but we shouldn't include <sys/types.h>
82699         if we can get away with just <stddef.h>.
82700
82701         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
82702         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
82703         rather than <sys/types.h>, as we merely need size_t.
82704         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
82705         to get size_t.
82706         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
82707         Include <stdio.h>, to get FILE.
82708         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
82709         memcasecmp.h has included <stddef.h> and all we need is size_t.
82710         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
82711         our interface, instead of including <sys/types.h>
82712
82713 2003-06-04  Paul Eggert  <eggert@twinsun.com>
82714
82715         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
82716         now, as glibc mktime is buggy on non-glibc systems.
82717
82718 2003-06-03  Karl Berry  <karl@gnu.org>
82719
82720         * config/config.sub: update from prep.
82721
82722 2003-06-02  Paul Eggert  <eggert@twinsun.com>
82723
82724         [from coreutils]
82725         Fix some minor time-related bugs with POSIX time arguments.
82726         Some valid time stamps were being rejected (notably -1, and
82727         time stamps before 1900 on 64-bit hosts).  And some invalid
82728         time stamps were being accepted, e.g. September 31.
82729
82730         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
82731         that we can return (time_t) -1 successfully.
82732         * lib/posixtm.c: Likewise.
82733         [HAVE_STDBOOL_H]: Include <stdbool.h>.
82734         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
82735         (t): Remove static var.
82736         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
82737         of static var.  All uses changed.
82738         (year): Do not reject years before 1900; they can occur with
82739         64-bit time_t.
82740         (posix_time_parse): Do not check for out-of-range components;
82741         that is now the caller's responsibility, since our checks were
82742         only approximations.
82743         (posixtime): Use mktime to check for out-of-range components,
82744         since it knows them exactly.
82745         If mktime returns (time_t) -1, check whether an error actually occurred
82746         by invoking localtime on -1.
82747         (main) [TEST_POSIXTIME]: Check for input data errors, and report
82748         posixtime failures better.
82749         Improve the test data (in comments only).
82750
82751 2003-06-02  Karl Berry  <karl@gnu.org>
82752
82753         * config/mkinstalldirs (version): new variable.
82754         (--version): new option.
82755         (usage): improve message.
82756
82757 2003-05-30  Karl Berry  <karl@gnu.org>
82758
82759         * lib/mktime.c: update from libc.
82760
82761 2003-05-30  Bruno Haible  <bruno@clisp.org>
82762
82763         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
82764         * config/config.rpath: Upgrade to gettext-0.12.1.
82765
82766 2003-05-30  Bruno Haible  <bruno@clisp.org>
82767
82768         * m4/gettext.m4: Upgrade to gettext-0.12.1.
82769         * m4/nls.m4: New file, from gettext-0.12.1.
82770         * m4/po.m4: New file, from gettext-0.12.1.
82771         * m4/progtest.m4: Upgrade to gettext-0.12.1.
82772
82773 2003-05-30  Bruno Haible  <bruno@clisp.org>
82774
82775         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
82776         * lib/localcharset.h: Likewise.
82777         * lib/localcharset.c: Likewise.
82778
82779 2003-05-29  Karl Berry  <karl@gnu.org>
82780
82781         * config/config.rpath: update from gettext.
82782
82783 2003-05-28  Paul Eggert  <eggert@twinsun.com>
82784
82785         Assume the headers required for C89 freestanding compilers.
82786         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
82787         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
82788         * m4/human.m4 (gl_HUMAN): Likewise.
82789         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
82790         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
82791         * m4/userspec.m4 (gl_USERSPEC): Likewise.
82792         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
82793         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
82794         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
82795
82796 2003-05-28  Paul Eggert  <eggert@twinsun.com>
82797
82798         Assume the headers required for C89 freestanding compilers.
82799         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
82800         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
82801         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
82802         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
82803         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
82804         define, since <limits.h> is guaranteed to do that.
82805         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
82806         * lib/exclude.c: Include <stdbool.h> unconditionally.
82807         * lib/tempname.c: Include <stddef.h> unconditionally.
82808         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
82809         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
82810         <stddef.h> does that.
82811         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
82812         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
82813         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
82814         needed.
82815         * lib/xstrtol.c: Likewise.
82816         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
82817         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
82818
82819         * lib/addext.c (addext): Use assignment rather than cast, to avoid
82820         warnings on some platforms.
82821
82822         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
82823         arbitrarily.
82824
82825 2003-05-26  Jim Meyering  <jim@meyering.net>
82826
82827         Merge in a change from coreutils:
82828         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
82829         that is guaranteed to be `no'.  Use `no_such_member' to indicate
82830         that condition, rather than `-1' which is slightly misleading.
82831         Change the name of the cache variable to have the gl_ prefix.
82832         Prompted by a patch from Richard Dawe for DJGPP.
82833
82834 2003-05-24  Karl Berry  <karl@gnu.org>
82835
82836         * config/config.guess: update from prep.
82837
82838 2003-05-22  Karl Berry  <karl@gnu.org>
82839
82840         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
82841
82842 2003-05-20  Karl Berry  <karl@gnu.org>
82843
82844         * config/config.guess: update from prep.
82845
82846 2003-05-18  Karl Berry  <karl@gnu.org>
82847
82848         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
82849         might actually be set by the user.
82850
82851         * config/depcomp, install-sh, mdate-sh: update from automake.
82852
82853 2003-05-17  Bruno Haible  <bruno@clisp.org>
82854
82855         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
82856         invalid expansion for AC_EGREP_CPP.
82857         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
82858         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
82859         Suggested by Akim Demaille <akim@epita.fr> in
82860         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
82861
82862 2003-05-12  Jim Meyering  <jim@meyering.net>
82863
82864         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
82865         the space-padded-by-default conversion specifiers, %e, %k, %l.
82866
82867 2003-05-12  Bruno Haible  <bruno@clisp.org>
82868
82869         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
82870         the string is longer than 4 KB.
82871
82872 2003-05-11  Karl Berry  <karl@gnu.org>
82873
82874         * config/config.{guess,sub}: update from prep.
82875
82876 2003-05-09  Bruno Haible  <bruno@clisp.org>
82877
82878         * modules/error: Add m4/strerror_r.m4 to file list.
82879
82880 2003-05-03  Bruno Haible  <bruno@clisp.org>
82881
82882         Upgrade to Unicode-4.0.
82883         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
82884         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
82885         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
82886         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
82887         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
82888         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
82889         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
82890         Change width of U+E0100..U+E01EF from 1 to 0.
82891
82892 2003-04-25  Jim Meyering  <jim@meyering.net>
82893
82894         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
82895         of type size_t, not int.
82896
82897 2003-04-25  Bruno Haible  <bruno@clisp.org>
82898
82899         * lib/copy-file.c: Include <stddef.h>, for size_t.
82900
82901 2003-04-21  Paul Eggert  <eggert@twinsun.com>
82902
82903         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
82904         code which expansion is under static control.  Patch imported from
82905         Akim Demaille's patch to Bison; see
82906         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
82907
82908 2003-04-14  Bruno Haible  <bruno@clisp.org>
82909
82910         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
82911
82912 2003-04-11  Jim Meyering  <jim@meyering.net>
82913
82914         Merge changes from Coreutils.
82915
82916         2003-03-22  Jim Meyering  <jim@meyering.net>
82917
82918         * lib/strftime.c (widen): Cast alloca return value to proper type.
82919
82920         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
82921
82922         From GNU libc.
82923         * lib/strftime.c (my_strftime): Handle very large width
82924         specifications for numeric values correctly.  Improve checks for
82925         overflow.
82926
82927         2003-01-19  Jim Meyering  <jim@meyering.net>
82928
82929         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
82930         definitions.
82931         (nl_get_alt_digit) [! defined my_strftime]: Define.
82932         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
82933         _nl_get_alt_digit and _nl_get_walt_digit.
82934
82935         * lib/strftime.c (my_strftime): Merge in locale-related changes from
82936         libc. These changes have no effect outside of _LIBC.
82937
82938 2003-04-10  Bruno Haible  <bruno@clisp.org>
82939
82940         * modules/findprog: New file.
82941         * MODULES.html.sh (func_all_modules): Add it.
82942
82943 2003-04-10  Bruno Haible  <bruno@clisp.org>
82944
82945         * m4/findprog.m4: New file.
82946         * m4/eaccess.m4: New file.
82947
82948 2003-04-10  Bruno Haible  <bruno@clisp.org>
82949
82950         * lib/findprog.h: New file, from GNU gettext.
82951         * lib/findprog.c: New file, from GNU gettext.
82952
82953 2003-04-05  Jim Meyering  <jim@meyering.net>
82954
82955         Merge changes from Coreutils.
82956
82957         * lib/exclude.h (PARAMS): Remove definition and uses.
82958         * lib/exclude.c: Remove uses of `PARAMS'.
82959
82960         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
82961         Add test-cases for DOS filenames. Declare program_name.
82962         (main): Set up program_name.  Patch by Rich Dawe.
82963
82964         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
82965         error from mntctl.
82966         Use mntctl's return value to drive the entry-processing loop, since
82967         we can't rely on the value of the vmt_length member in the last
82968         entry.  On some systems doing so could result in exhausting
82969         virtual memory.  Based in part on a patch from Mike Jetzer.
82970
82971 2003-04-04  Bruno Haible  <bruno@clisp.org>
82972
82973         * modules/linebreak: New file.
82974         * MODULES.html.sh (func_all_modules): Add it.
82975
82976 2003-04-04  Bruno Haible  <bruno@clisp.org>
82977
82978         * m4/linebreak.m4: New file.
82979
82980 2003-04-04  Bruno Haible  <bruno@clisp.org>
82981
82982         * lib/linebreak.h: New file, from GNU gettext.
82983         * lib/linebreak.c: New file, from GNU gettext with slight
82984         modifications.
82985         * lib/lbrkprop.h: New file, from GNU gettext.
82986
82987 2003-04-03  Bruno Haible  <bruno@clisp.org>
82988
82989         * modules/utf8-ucs4: New file.
82990         * modules/utf16-ucs4: New file.
82991         * modules/ucs4-utf8: New file.
82992         * modules/ucs4-utf16: New file.
82993         * MODULES.html.sh (func_all_modules): Add them.
82994
82995 2003-04-03  Bruno Haible  <bruno@clisp.org>
82996
82997         * m4/utf-ucs4.m4: New file.
82998         * m4/ucs4-utf.m4: New file.
82999
83000 2003-04-03  Bruno Haible  <bruno@clisp.org>
83001
83002         * lib/utf8-ucs4.h: New file, from GNU gettext.
83003         * lib/utf16-ucs4.h: New file, from GNU gettext.
83004         * lib/ucs4-utf8.h: New file, from GNU gettext.
83005         * lib/ucs4-utf16.h: New file, from GNU gettext.
83006
83007 2003-04-02  Bruno Haible  <bruno@clisp.org>
83008
83009         * modules/binary-io: New file.
83010         * MODULES.html.sh (func_all_modules): Add it.
83011
83012 2003-04-02  Bruno Haible  <bruno@clisp.org>
83013
83014         * lib/binary-io.h: New file, from GNU gettext.
83015
83016 2003-04-01  Bruno Haible  <bruno@clisp.org>
83017
83018         * modules/pathname: New file.
83019         * MODULES.html.sh (func_all_modules): Add it.
83020
83021 2003-04-01  Bruno Haible  <bruno@clisp.org>
83022
83023         * lib/pathname.h: New file, from GNU gettext.
83024         * lib/concatpath.c: New file, from GNU gettext.
83025
83026 2003-03-30  Bruno Haible  <bruno@clisp.org>
83027
83028         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
83029
83030 2003-03-30  Bruno Haible  <bruno@clisp.org>
83031
83032         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
83033         function chown() doesn't exist.
83034
83035 2003-03-28  Bruno Haible  <bruno@clisp.org>
83036
83037         * modules/copy-file: New file.
83038         * MODULES.html.sh (func_all_modules): Add it.
83039
83040 2003-03-28  Bruno Haible  <bruno@clisp.org>
83041
83042         * m4/copy-file.m4: New file.
83043
83044 2003-03-28  Bruno Haible  <bruno@clisp.org>
83045
83046         * lib/copy-file.h: New file, from GNU gettext.
83047         * lib/copy-file.c: New file, from GNU gettext.
83048
83049 2003-03-18  Jim Meyering  <jim@meyering.net>
83050
83051         * lib/quote.c (quote_n): Fix typo in comment.
83052
83053 2003-03-18  Bruno Haible  <bruno@clisp.org>
83054
83055         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
83056         checking.
83057         * m4/onceonly_2_57.m4: Likewise.
83058
83059 2003-03-17  Bruno Haible  <bruno@clisp.org>
83060
83061         * m4/onceonly.m4: Require autoconf 2.54 or newer.
83062         (m4_quote): Remove macro.
83063         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
83064
83065 2003-03-14  Jim Meyering  <jim@meyering.net>
83066
83067         Merge changes from Coreutils.
83068         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
83069         to be const, in order to avoid warnings.
83070         (obstack_room): Likewise.
83071         (obstack_empty_p): Likewise.
83072
83073 2003-03-14  Bruno Haible  <bruno@clisp.org>
83074
83075         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
83076         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
83077
83078 2003-03-13  Paul Eggert  <eggert@twinsun.com>
83079
83080         Merge changes from Bison.
83081         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
83082         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
83083         when compiling Bison 1.875's `bitset bset = obstack_alloc
83084         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
83085         * lib/hash.c: Include <stdbool.h> unconditionally.
83086
83087 2003-03-13  Paul Eggert  <eggert@twinsun.com>
83088
83089         * m4/onceonly.m4 (m4_quote): New macro.
83090         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
83091         Quote AC_FOREACH variable-expansions properly.
83092
83093 2003-03-13  Paul Eggert  <eggert@twinsun.com>
83094
83095         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
83096
83097 2003-03-09  Paul Eggert  <eggert@twinsun.com>
83098
83099         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
83100         Reported by Bruce Becker; see:
83101         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
83102
83103 2003-03-03  Paul Eggert  <eggert@twinsun.com>
83104             Bruno Haible  <bruno@clisp.org>
83105
83106         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
83107         Reported by John Hughes, see
83108         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
83109
83110 2003-02-20  Bruno Haible  <bruno@clisp.org>
83111
83112         * MODULES.html.sh (func_all_modules): Add poll.
83113
83114 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
83115
83116         * modules/poll: New file.
83117
83118 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
83119
83120         * lib/poll_.h: New file.
83121         * lib/poll.c: New file.
83122
83123 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
83124
83125         * m4/poll.m4: New file.
83126
83127 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
83128
83129         * modules/mathl: New file.
83130
83131 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
83132
83133         * lib/mathl.h: New file.
83134         * lib/acosl.c: New file.
83135         * lib/asinl.c: New file.
83136         * lib/atanl.c: New file.
83137         * lib/ceill.c: New file.
83138         * lib/cosl.c: New file.
83139         * lib/expl.c: New file.
83140         * lib/floorl.c: New file.
83141         * lib/frexpl.c: New file.
83142         * lib/ldexpl.c: New file.
83143         * lib/logl.c: New file.
83144         * lib/sincosl.c: New file.
83145         * lib/sinl.c: New file.
83146         * lib/sqrtl.c: New file.
83147         * lib/tanl.c: New file.
83148         * lib/trigl.c: New file.
83149         * lib/trigl.h: New file.
83150
83151 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
83152
83153         * m4/mathl.m4: New file.
83154
83155 2003-02-18  Bruno Haible  <bruno@clisp.org>
83156
83157         * MODULES.html.sh (func_all_modules): Add mathl.
83158
83159 2003-02-17  Bruno Haible  <bruno@clisp.org>
83160
83161         * modules/mkdtemp: New module.
83162         * MODULES.html.sh (func_all_modules): Add it.
83163
83164 2003-02-17  Bruno Haible  <bruno@clisp.org>
83165
83166         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
83167
83168 2003-02-17  Bruno Haible  <bruno@clisp.org>
83169
83170         * lib/mkdtemp.h: New file, from GNU gettext.
83171         * lib/mkdtemp.c: New file, from GNU gettext.
83172
83173 2003-02-02  Jim Meyering  <jim@meyering.net>
83174
83175         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
83176         e.g. glibc-2.2.93.
83177
83178 2003-01-31  Bruno Haible  <bruno@clisp.org>
83179
83180         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
83181         'rpl_rename'.
83182         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
83183         'rpl_strnlen'.
83184         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
83185         'rpl_strtod'.
83186         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
83187         'rpl_utime'.
83188
83189 2003-01-31  Bruno Haible  <bruno@clisp.org>
83190
83191         * lib/rename.c: #undef rename before defining rpl_rename.
83192         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
83193
83194 2003-01-30  Bruno Haible  <bruno@clisp.org>
83195
83196         * modules/vasnprintf, modules/vasprintf: New modules.
83197         * MODULES.html.sh (func_all_modules): Add them.
83198
83199 2003-01-30  Bruno Haible  <bruno@clisp.org>
83200
83201         * m4/signed.m4: New file, from GNU gettext.
83202         * m4/longdouble.m4: New file, from GNU gettext.
83203         * m4/wchar_t.m4: New file, from GNU gettext.
83204         * m4/wint_t.m4: New file, from GNU gettext.
83205         * m4/vasnprintf.m4: New file.
83206         * m4/vasprintf.m4: New file.
83207
83208 2003-01-30  Bruno Haible  <bruno@clisp.org>
83209
83210         * lib/printf-args.h: New file, from GNU gettext.
83211         * lib/printf-args.c: New file, from GNU gettext.
83212         * lib/printf-parse.h: New file, from GNU gettext.
83213         * lib/printf-parse.c: New file, from GNU gettext.
83214         * lib/vasnprintf.h: New file, from GNU gettext.
83215         * lib/vasnprintf.c: New file, from GNU gettext.
83216         * lib/asnprintf.c: New file, from GNU gettext.
83217         * lib/vasprintf.h: New file, from GNU gettext with modifications.
83218         * lib/vasprintf.c: New file, from GNU gettext.
83219         * lib/asprintf.c: New file, from GNU gettext.
83220
83221 2003-01-29  Bruno Haible  <bruno@clisp.org>
83222
83223         * modules/stpncpy: New module.
83224         * MODULES.html.sh (func_all_modules): Add it.
83225
83226 2003-01-29  Bruno Haible  <bruno@clisp.org>
83227
83228         * m4/stpncpy.m4: New file.
83229
83230 2003-01-29  Bruno Haible  <bruno@clisp.org>
83231
83232         * lib/stpncpy.h: New file, from GNU gettext with modifications.
83233         * lib/stpncpy.c: New file, from GNU gettext with modifications.
83234
83235 2003-01-28  Bruno Haible  <bruno@clisp.org>
83236
83237         * modules/c-ctype: New module.
83238         * MODULES.html.sh (func_all_modules): Add it.
83239
83240 2003-01-28  Bruno Haible  <bruno@clisp.org>
83241
83242         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
83243         Paul Eggert.
83244         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
83245         Paul Eggert.
83246
83247 2003-01-27  Bruno Haible  <bruno@clisp.org>
83248
83249         * modules/xsetenv: New module.
83250         * MODULES.html.sh (func_all_modules): Add it.
83251
83252 2003-01-27  Bruno Haible  <bruno@clisp.org>
83253
83254         * lib/xsetenv.h: New file, from GNU gettext.
83255         * lib/xsetenv.c: New file, from GNU gettext.
83256
83257 2003-01-23  Jim Meyering  <jim@meyering.net>
83258
83259         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
83260         from working on systems without dirfd (at least Irix and OSF1/Tru64).
83261
83262 2003-01-23  Bruno Haible  <bruno@clisp.org>
83263
83264         * modules/minmax: New module.
83265         * MODULES.html.sh (func_all_modules): Add it.
83266
83267 2003-01-23  Bruno Haible  <bruno@clisp.org>
83268
83269         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
83270         Eggert.
83271
83272 2003-01-22  Bruno Haible  <bruno@clisp.org>
83273
83274         * modules/exit: New module.
83275         * MODULES.html.sh (func_all_modules): Add it.
83276
83277 2003-01-22  Bruno Haible  <bruno@clisp.org>
83278
83279         * lib/exit.h: New file, from GNU gettext.
83280
83281 2003-01-19  Bruno Haible  <bruno@clisp.org>
83282
83283         * gnulib-tool: Recognize option --extract-maintainer.
83284         (func_get_maintainer): New function.
83285         * modules/*: Add Maintainer entry.
83286
83287 2003-01-16  Jim Meyering  <jim@meyering.net>
83288
83289         * m4/regex.m4: The `regex' struct is both input and output.
83290         Initialize it before each use.  Patch by Tim Waugh.
83291
83292 2003-01-16  Bruno Haible  <bruno@clisp.org>
83293
83294         * MODULES.html.sh: Add a table of contents. Add the module name as
83295         leftmost column. Add hyperlinks.
83296
83297 2003-01-15  Bruno Haible  <bruno@clisp.org>
83298
83299         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
83300
83301 2003-01-15  Bruno Haible  <bruno@clisp.org>
83302
83303         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
83304         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
83305         suffix.
83306
83307 2003-01-15  Bruno Haible  <bruno@clisp.org>
83308
83309         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
83310
83311 2003-01-15  Bruno Haible  <bruno@clisp.org>
83312
83313         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
83314         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
83315
83316 2003-01-14  Jim Meyering  <jim@meyering.net>
83317
83318         * lib/same.c (same_name): Tweak a comment.
83319
83320 2003-01-14  Bruno Haible  <bruno@clisp.org>
83321
83322         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
83323         when a string comparison is sufficient.
83324
83325 2003-01-14  Bruno Haible  <bruno@clisp.org>
83326
83327         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
83328         'unsigned int'.
83329
83330 2003-01-14  Bruno Haible  <bruno@clisp.org>
83331
83332         * lib/hash-pjw.c: Add comment about low quality of this function.
83333
83334 2003-01-13  Bruno Haible  <bruno@clisp.org>
83335
83336         * modules/stpcpy: Distribute lib/stpcpy.h.
83337         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
83338
83339 2003-01-13  Bruno Haible  <bruno@clisp.org>
83340
83341         * modules/*: Add a description.
83342         * modules/strpbrk: Fix Makefile.am snippet.
83343         * modules/strtoimax: Fix dependencies.
83344         * modules/strtoumax: Likewise.
83345
83346 2003-01-13  Bruno Haible  <bruno@clisp.org>
83347
83348         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
83349         * modules/alloca (Makefile.am): All object files depend on alloca.h.
83350         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
83351
83352 2003-01-13  Bruno Haible  <bruno@clisp.org>
83353
83354         * gnulib-tool (func_create_testdir): Store config/* files in the main
83355         directory.
83356         * config.rpath: Move to ...
83357         * config/config.rpath: ... here.
83358         * modules/gettext: Contains config/config.rpath, not config.rpath.
83359         * modules/iconv: Likewise.
83360
83361 2003-01-12  Paul Eggert  <eggert@twinsun.com>
83362
83363         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
83364         to avoid collisions with libcurses and libreadline.
83365
83366         * m4/getstr.m4: Remove.
83367         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
83368
83369 2003-01-12  Paul Eggert  <eggert@twinsun.com>
83370
83371         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
83372         to avoid collisions with libcurses and libreadline.
83373
83374         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
83375         * lib/getstr.h, getstr.c: Remove.
83376         * lib/getline.c: Include "getline.h", to check interface.
83377         Move body of old getstr.c here: this defines MIN_CHUNK and
83378         declares getdelim2, which is renamed from getstr.
83379         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
83380
83381         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
83382         All uses changed.
83383         * lib/linebuffer.h: Likewise.
83384         (readline): Remove backward-compatibility macro.
83385
83386 2003-01-12  Paul Eggert  <eggert@twinsun.com>
83387
83388         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
83389         to avoid collisions with libcurses and libreadline.
83390         * getstr: Remove.
83391         * MODULES.html.sh: Remove getstr.
83392         * modules/getline: Depend on unlocked-io, not getstr.
83393
83394 2003-01-12  Jim Meyering  <jim@meyering.net>
83395
83396         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
83397
83398 2003-01-10  Bruno Haible  <bruno@clisp.org>
83399
83400         * modules/alloca: Change Makefile.am requirements. Simplify Include
83401         requirements. Add lib/alloca_.h to file list.
83402
83403 2003-01-10  Bruno Haible  <bruno@clisp.org>
83404
83405         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
83406
83407 2003-01-10  Bruno Haible  <bruno@clisp.org>
83408
83409         * lib/alloca_.h: New file.
83410         * lib/getdate.y: Unconditionally include alloca.h.
83411         * lib/makepath.c: Likewise.
83412         * lib/setenv.c: Likewise.
83413         * lib/userspec.c: Likewise.
83414
83415 2003-01-09  Karl Berry  <karl@gnu.org>
83416
83417         * MODULES.html.sh: include `dirname $0` in PATH, to find
83418         gnulib-tool.
83419
83420 2003-01-09  Bruno Haible  <bruno@clisp.org>
83421
83422         * modules/stdbool: Change configure.ac, Makefile.am requirements.
83423         Simplify Include requirements. Add lib/stdbool.h.in to file list.
83424
83425 2003-01-09  Bruno Haible  <bruno@clisp.org>
83426
83427         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
83428
83429 2003-01-09  Bruno Haible  <bruno@clisp.org>
83430
83431         * lib/stdbool.h.in: New file.
83432
83433 2003-01-09  Bruno Haible  <bruno@clisp.org>
83434
83435         * gnulib-tool (func_all_modules): Ignore files ending in ~.
83436         * MODULES.html.sh: Likewise.
83437
83438 2003-01-08  Jim Meyering  <jim@meyering.net>
83439
83440         * lib/full-write.c: Undefine and define-away `const' after inclusion
83441         of errno.h, not before.  Suggestion from Bruno Haible.
83442
83443 2003-01-08  Bruno Haible  <bruno@clisp.org>
83444
83445         * modules/full-read: Depend on full-write.
83446
83447 2003-01-08  Bruno Haible  <bruno@clisp.org>
83448
83449         * lib/safe-read.c: Include specification header first, to ensure its
83450         selfcontainedness.
83451         * lib/full-write.c: Likewise.
83452
83453 2003-01-07  Jim Meyering  <jim@meyering.net>
83454
83455         * lib/full-write.c: Rework so that it may serve to define full_read,
83456         too.
83457         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
83458
83459 2003-01-07  Bruno Haible  <bruno@clisp.org>
83460
83461         * lib/strtoimax.c: Include <stdint.h> as an alternative to
83462         <inttypes.h>.
83463         * lib/xstrtol.h: Likewise.
83464         * lib/xstrtoimax.c: Likewise.
83465         * lib/xstrtoumax.c: Likewise.
83466         * lib/human.h: Likewise.
83467
83468         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
83469         on systems that have <inttypes.h> but not <stdint.h>.
83470
83471 2003-01-07  Bruno Haible  <bruno@clisp.org>
83472
83473         * MODULES.html.sh: Add copyright notice.
83474         (missed_files): Omit CVS directory entries.
83475         (func_module): Make it work with sed-3.02.
83476         * MODULES.txt: Remove file.
83477
83478 2003-01-06  Jim Meyering  <jim@meyering.net>
83479
83480         * lib/version-etc.c: Update year in translatable copyright string.
83481
83482 2003-01-03  Karl Berry  <karl@gnu.org>
83483
83484         * config/config.{guess,sub}: update from prep.
83485
83486 2003-01-02  Karl Berry  <karl@gnu.org>
83487
83488         * doc/COPYING.DOC: belatedly updated to 1.2.
83489
83490 2003-01-01  Karl Berry  <karl@gnu.org>
83491
83492         * gnulib-tool (func_verify_module): report module name $module in
83493         error message, not $1.
83494         * gnulib-tool (create-testdir): don't complain if destdir couldn't
83495         be created, only if it doesn't exist.
83496         * gnulib-tool (last_checkin_date): don't expand the $Date here.
83497
83498 2002-12-31  Paul Eggert  <eggert@twinsun.com>
83499
83500         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
83501
83502 2002-12-31  Paul Eggert  <eggert@twinsun.com>
83503
83504         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
83505         memcmp if strcoll doesn't work.
83506
83507 2002-12-31  Bruno Haible  <bruno@clisp.org>
83508
83509         * lib/utime.c (utime_null): No need to call ftruncate if the file was
83510         nonempty.
83511
83512 2002-12-31  Bruno Haible  <bruno@clisp.org>
83513
83514         * lib/memcoll.c (STRCOLL): New macro.
83515         (memcoll): Use it.
83516
83517 2002-12-31  Bruno Haible  <bruno@clisp.org>
83518
83519         * lib/localcharset.h: New file.
83520         * lib/localcharset.c: Include it.
83521         * lib/unicodeio.c: Likewise.
83522
83523 2002-12-31  Bruno Haible  <bruno@clisp.org>
83524
83525         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
83526         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
83527
83528 2002-12-31  Bruno Haible  <bruno@clisp.org>
83529
83530         * lib/getline.h: Include <stddef.h>, for size_t.
83531
83532         * lib/unicodeio.h: Include <stddef.h>, for size_t.
83533         * lib/unicodeio.c: Don't include <stddef.h>.
83534
83535 2002-12-31  Bruno Haible  <bruno@clisp.org>
83536
83537         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
83538         HAVE_TM_ZONE.
83539
83540 2002-12-24  Karl Berry  <karl@gnu.org>
83541
83542         * config/config.guess: update from prep.
83543
83544 2002-12-24  Bruno Haible  <bruno@clisp.org>
83545
83546         General infrasructure.
83547         * m4/README: Rewritten.
83548         * m4/onceonly.m4: New file.
83549         * m4/onceonly_2_57.m4: New file.
83550
83551         Module atexit.
83552         * m4/atexit.m4: New file.
83553
83554         Module strtod.
83555         * m4/strtod.m4: New file.
83556
83557         Module strtol.
83558         * m4/strtol.m4: New file.
83559
83560         Module strtoul.
83561         * m4/strtoul.m4: New file.
83562
83563         Module memchr.
83564         * m4/memchr.m4: New file.
83565
83566         Module memcmp.
83567         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
83568         (jm_FUNC_MEMCMP): Invoke it.
83569
83570         Module memcpy.
83571         * m4/memcpy.m4: New file.
83572
83573         Module memmove.
83574         * m4/memmove.m4: New file.
83575
83576         Module memset.
83577         * m4/memset.m4: New file.
83578
83579         Module strcspn.
83580         * m4/strcspn.m4: New file.
83581
83582         Module strpbrk.
83583         * m4/strpbrk.m4: New file.
83584
83585         Module strstr.
83586         * m4/strstr.m4: New file.
83587
83588         Module strerror.
83589         * m4/strerror.m4: New file.
83590
83591         Module mktime.
83592         * m4/mktime.m4: Renamed from jm-mktime.m4.
83593         (gl_PREREQ_MKTIME): New macro.
83594         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
83595
83596         Module malloc.
83597         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
83598         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
83599         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
83600
83601         Module realloc.
83602         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
83603         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
83604         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
83605
83606         Module strftime.
83607         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
83608         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
83609         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
83610         gl_TM_GMTOFF.
83611         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
83612
83613         Module xalloc.
83614         * m4/xalloc.m4: New file.
83615
83616         Module alloca.
83617         * m4/alloca.m4: New file.
83618
83619         Module putenv.
83620         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
83621         (jm_FUNC_PUTENV): Invoke it.
83622
83623         Module setenv.
83624         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
83625         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
83626         when invoked twice.
83627         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
83628         gt_FUNC_SETENV.
83629
83630         Module memrchr.
83631         * m4/memrchr.m4: New file.
83632
83633         Module stpcpy.
83634         * m4/stpcpy.m4: New file.
83635
83636         Module strcase.
83637         * m4/strcase.m4: New file.
83638
83639         Module strdup.
83640         * m4/strdup.m4: New file.
83641
83642         Module strnlen.
83643         * m4/strnlen.m4: New file.
83644
83645         Module strndup.
83646         * m4/strndup.m4: New file.
83647
83648         Module xstrtod.
83649         * m4/xstrtod.m4: New file.
83650
83651         Module xstrtol.
83652         * m4/xstrtol.m4: New file.
83653
83654         Module getdate.
83655         * m4/getdate.m4: New file.
83656
83657         Module unlocked-io.
83658         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
83659         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
83660         * m4/jm-glibc-io.m4n: Remove file.
83661
83662         Module long-options.
83663         * m4/long-options.m4: New file.
83664
83665         Module md5.
83666         * m4/md5.m4: New file.
83667
83668         Module sha.
83669         * m4/sha.m4: New file.
83670
83671         Module getstr.
83672         * m4/getstr.m4: New file.
83673
83674         Module getline.
83675         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
83676         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
83677         <sys/types.h>, for size_t. Use the function name gnu_getline, not
83678         simply getline. Infoke gl_PREREQ_GETLINE.
83679
83680         Module obstack.
83681         * m4/obstack.m4: New file.
83682
83683         Module hash.
83684         * m4/hash.m4: New file.
83685
83686         Module readtokens.
83687         * m4/readtokens.m4: New file.
83688
83689         Module strverscmp.
83690         * m4/strverscmp.m4: New file.
83691
83692         Module stdbool.
83693         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
83694         OSF/1.
83695
83696         Module strtoll.
83697         * m4/strtoll.m4: New file.
83698
83699         Module strtoull.
83700         * m4/strtoull.m4: New file.
83701
83702         Module strtoimax.
83703         * m4/strtoimax.m4: New file.
83704
83705         Module strtoumax.
83706         * m4/strtoumax.m4: New file.
83707
83708         Module xstrtoimax.
83709         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
83710         jm_AC_PREREQ_XSTRTOIMAX.
83711         Moved the strtol prerequisites to strtol.m4.
83712         Moved the strtoll prerequisites to strtoll.m4.
83713         Moved the strtoimax prerequisites to strtoimax.m4.
83714
83715         Module xstrtoumax.
83716         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
83717         jm_AC_PREREQ_XSTRTOUMAX.
83718         Moved the strtoul prerequisites to strtoul.m4.
83719         Moved the strtoull prerequisites to strtoull.m4.
83720         Moved the strtoumax prerequisites to strtoumax.m4.
83721
83722         Module chown.
83723         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
83724         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
83725
83726         Module dup2.
83727         * m4/dup2.m4: New file.
83728
83729         Module ftruncate.
83730         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
83731         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
83732
83733         Module getgroups.
83734         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
83735         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
83736
83737         Module gettimeofday.
83738         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
83739         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
83740         gl_PREREQ_GETTIMEOFDAY.
83741
83742         Module mkdir.
83743         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
83744         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
83745
83746         Module mkstemp.
83747         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
83748         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
83749         jm_AC_TYPE_UINTMAX_T.
83750         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
83751
83752         Module stat.
83753         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
83754         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
83755
83756         Module lstat.
83757         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
83758         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
83759
83760         Module timespec.
83761         * m4/timespec.m4 (gl_TIMESPEC): New macro.
83762         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
83763         * m4/st_mtim.m4: Indentation.
83764
83765         Module nanosleep.
83766         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
83767         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
83768         gl_PREREQ_NANOSLEEP.
83769
83770         Module regex.
83771         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
83772         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
83773         (gl_REGEX): New macro.
83774
83775         Module rename.
83776         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
83777         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
83778
83779         Module rmdir.
83780         * m4/rmdir.m4: New file.
83781
83782         Module utime.
83783         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
83784         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
83785         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
83786
83787         Module dirname.
83788         * m4/dirname.m4: New file.
83789
83790         Module getopt.
83791         * m4/getopt.m4: New file.
83792
83793         Module unistd-safer.
83794         * m4/unistd-safer.m4: New file.
83795
83796         Module fnmatch.
83797         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
83798         declaration.
83799         (gl_PREREQ_FNMATCH_EXTRA): New macro.
83800         (gl_FUNC_FNMATCH_POSIX): New macro.
83801         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
83802         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
83803         simply fnmatch.
83804
83805         Module exclude.
83806         * m4/exclude.m4: New file.
83807
83808         Module human.
83809         * m4/human.m4: New file.
83810
83811         Module acl.
83812         * m4/acl.m4: Nop.
83813
83814         Module backupfile.
83815         * m4/backupfile.m4: New file.
83816         * m4/d-ino.m4: Indentation.
83817
83818         Module fsusage.
83819         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
83820         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
83821         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
83822
83823         Module dirfd.
83824         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
83825         requirements.
83826
83827         Module euidaccess.
83828         * m4/euidaccess.m4: New file.
83829
83830         Module file-type.
83831         * m4/file-type.m4: New file.
83832
83833         Module fileblocks.
83834         * m4/fileblocks.m4: New file.
83835
83836         Module filemode.
83837         * m4/filemode.m4: New file.
83838
83839         Module isdir.
83840         * m4/isdir.m4: New file.
83841
83842         Module lchown.
83843         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
83844         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
83845
83846         Module makepath.
83847         * m4/makepath.m4: New file.
83848
83849         Module modechange.
83850         * m4/modechange.m4: New file.
83851
83852         Module mountlist.
83853         * m4/mountlist.m4: New file.
83854         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
83855         Indentation.
83856
83857         Module path-concat.
83858         * m4/path-concat.m4: New file.
83859
83860         Module pathmax.
83861         * m4/pathmax.m4: New file.
83862
83863         Module same.
83864         * m4/same.m4: New file.
83865
83866         Module save-cwd.
83867         * m4/save-cwd.m4: New file.
83868
83869         Module savedir.
83870         * m4/savedir.m4: New file.
83871
83872         Module xgetcwd.
83873         * m4/xgetcwd.m4: New file.
83874         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
83875
83876         Module xreadlink.
83877         * m4/xreadlink.m4: New file.
83878
83879         Module safe-read.
83880         * m4/safe-read.m4: New file.
83881
83882         Module safe-write.
83883         * m4/safe-write.m4: New file.
83884
83885         Module closeout.
83886         * m4/closeout.m4: New file.
83887
83888         Module stdio-safer.
83889         * m4/stdio-safer.m4: New file.
83890
83891         Module getpass.
83892         * m4/getpass.m4: New file.
83893
83894         Module getugroups.
83895         * m4/getugroups.m4: New file.
83896
83897         Module group-member.
83898         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
83899         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
83900
83901         Module idcache.
83902         * m4/idcache.m4: New file.
83903
83904         Module userspec.
83905         * m4/userspec.m4: New file.
83906
83907         Module gettime.
83908         * m4/clock_time.m4: New file.
83909         * m4/gettime.m4: New file.
83910
83911         Module settime.
83912         * m4/settime.m4: New file.
83913
83914         Module posixtm.
83915         * m4/posixtm.m4: New file.
83916
83917         Module gethostname.
83918         * m4/gethostname.m4: New file.
83919
83920         Module canon-host.
83921         * m4/canon-host.m4: New file.
83922
83923         Module gettext.
83924         * m4/codeset.m4: New file, from gettext-0.11.5.
83925         * m4/gettext.m4: New file, from gettext-0.11.5.
83926         * m4/glibc21.m4: New file, from gettext-0.11.5.
83927         * m4/iconv.m4: New file, from gettext-0.11.5.
83928         * m4/intdiv0.m4: New file, from gettext-0.11.5.
83929         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
83930         * m4/inttypes.m4: New file, from gettext-0.11.5.
83931         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
83932         * m4/isc-posix.m4: New file, from gettext-0.11.5.
83933         * m4/lcmessage.m4: New file, from gettext-0.11.5.
83934         * m4/lib-ld.m4: New file, from gettext-0.11.5.
83935         * m4/lib-link.m4: New file, from gettext-0.11.5.
83936         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
83937         * m4/progtest.m4: New file, from gettext-0.11.5.
83938         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
83939         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
83940         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
83941
83942         Module localcharset.
83943         * m4/localcharset.m4: New file.
83944
83945         Module hard-locale.
83946         * m4/hard-locale.m4: New file.
83947
83948         Module mbswidth.
83949         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
83950         onceonly macros.
83951         * m4/mbrtowc.m4: Add comment.
83952
83953         Module memcasecmp.
83954         * m4/memcasecmp.m4: New file.
83955
83956         Module memcoll.
83957         * m4/memcoll.m4: New file.
83958
83959         Module unicodeio.
83960         * m4/unicodeio.m4: New file.
83961
83962         Module rpmatch.
83963         * m4/rpmatch.m4: New file.
83964
83965         Module yesno.
83966         * m4/yesno.m4: New file.
83967
83968         Module exitfail.
83969         * m4/exitfail.m4: New file.
83970
83971         Module c-stack.
83972         * m4/c-stack.m4 (gl_C_STACK): New macro.
83973         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
83974
83975         Module error.
83976         * m4/error.m4 (gl_ERROR): New macro.
83977         (jm_PREREQ_ERROR): Use onceonly macros.
83978
83979         Module fatal.
83980         * m4/fatal.m4: New file.
83981
83982         Module getloadavg.
83983         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
83984         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
83985
83986         Module getpagesize.
83987         * m4/getpagesize.m4: New file.
83988
83989         Module getusershell.
83990         * m4/getusershell.m4: New file.
83991
83992         Module physmem.
83993         * m4/physmem.m4: New file.
83994
83995         Module posixver.
83996         * m4/posixver.m4: New file.
83997
83998         Module quotearg.
83999         * m4/quotearg.m4: New file.
84000
84001         Module quote.
84002         * m4/quote.m4: New file.
84003
84004         Module readutmp.
84005         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
84006
84007         Module sig2str.
84008         * m4/sig2str.m4: New file.
84009
84010         Other.
84011         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
84012         ulonglong.m4.
84013         * m4/intmax_t.m4: New file.
84014         * m4/d-type.m4: Indentation.
84015         * m4/jm-macros.m4: Update.
84016         * m4/prereq.m4 (jm_PREREQ): Update.
84017         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
84018         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
84019         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
84020         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
84021         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
84022         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
84023         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
84024         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
84025         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
84026         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
84027         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
84028         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
84029         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
84030         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
84031         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
84032         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
84033         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
84034         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
84035         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
84036
84037 2002-12-24  Bruno Haible  <bruno@clisp.org>
84038
84039         * MODULES.txt: Update according to m4/ changes.
84040
84041         Module gettext.
84042         * config.rpath: New file, from gettext-0.11.5.
84043
84044         * modules/*: New module descriptions.
84045         * gnulib-tool: New file.
84046         * MODULES.html.sh: New file.
84047
84048 2002-12-21  Karl Berry  <karl@gnu.org>
84049
84050         * doc/fdl.texi: update to version 1.2.
84051
84052 2002-12-19  Karl Berry  <karl@gnu.org>
84053
84054         * config/config.guess: update from prep.
84055
84056 2002-12-18  Bruno Haible  <bruno@clisp.org>
84057
84058         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
84059         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
84060
84061 2002-12-17  Bruno Haible  <bruno@clisp.org>
84062
84063         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
84064         stdlib.h, string.h.
84065
84066 2002-12-17  Bruno Haible  <bruno@clisp.org>
84067
84068         * lib/canon-host.c (strdup): Remove unused declaration.
84069
84070         * lib/fsusage.c: Include full_read.h.
84071         (get_fs_usage): Use full_read instead of safe_read.
84072
84073         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
84074
84075 2002-12-12  Karl Berry  <karl@gnu.org>
84076
84077         * config/config.guess: update from prep.
84078
84079 2002-12-11  Bruno Haible  <bruno@clisp.org>
84080
84081         * m4/setenv.m4: New file, from gettext-0.11.5.
84082
84083 2002-12-11  Bruno Haible  <bruno@clisp.org>
84084
84085         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
84086         not unsetenv().
84087         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
84088         modifications:
84089
84090         2002-12-11  Bruno Haible  <bruno@clisp.org>
84091
84092                 * setenv.c (alloca): Fall back to malloc.
84093                 (freea): New macro.
84094                 (setenv): Use freea() to free memory allocated with alloca().
84095
84096         2002-11-13  Bruno Haible  <bruno@clisp.org>
84097
84098                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
84099                 function declarations.
84100                 * unsetenv.c (unsetenv): Likewise.
84101
84102         2002-03-04  Bruno Haible  <bruno@clisp.org>
84103
84104                 Portability to AIX 4.3.3.
84105                 * unsetenv.c: New file, extracted from setenv.c.
84106                 * setenv.c: Move the unsetenv() function to unsetenv.c.
84107
84108         2001-12-20  Bruno Haible  <bruno@clisp.org>
84109
84110                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
84111                 use malloc instead. For SunOS 4.
84112
84113         2001-12-11  Bruno Haible  <bruno@clisp.org>
84114
84115                 * setenv.c: Declare alloca.
84116                 (compar_fn_t): New typedef.
84117                 (KNOWN_VALUE, STORE_VALUE): Use it.
84118
84119         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
84120         setenv.h.
84121
84122 2002-12-10  Paul Eggert  <eggert@twinsun.com>
84123
84124         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
84125         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
84126         Choose values that are less likely to collide with system fnmatch
84127         options.
84128         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
84129         defined (e.g., a pure POSIX system).
84130         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
84131         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
84132
84133 2002-12-06  Paul Eggert  <eggert@twinsun.com>
84134
84135         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
84136         a pain in practice to deal with generated m4 files.  This change
84137         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
84138
84139         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
84140         and jm-glibc-io.m4, as they are no longer a special case.
84141         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
84142         kludge and the auto-generation stuff.  Check only whether the
84143         functions are declared, not whether they exist, since older hosts
84144         that don't declare the functions can't use the optimization anyway.
84145
84146 2002-12-06  Jim Meyering  <jim@meyering.net>
84147
84148         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
84149
84150         Merge in changes from libc's misc/error.c, in preparation
84151         for the merge of gnulib's changes back into libc.
84152
84153         * lib/error.c (_): Define only if not already defined.
84154         Move definition to follow all #include directives.
84155         Include unlocked-io.h only if !_LIBC.
84156         [_LIBC]: Include <libio/libioP.h>.
84157         [USE_IN_LIBIO]: Include <libio/iolibio.h>
84158         (fflush): Tweak definition to use INTUSE.
84159         (putc): Define.
84160
84161 2002-12-05  Paul Eggert  <eggert@twinsun.com>
84162
84163         * lib/alloca.c [defined emacs]: Include "lisp.h".
84164         (xalloc_die) [defined emacs]: New macro.
84165         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
84166         [! defined emacs]: Include <xalloc.h>.
84167         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
84168         (pointer): Typedef to POINTER_TYPE *.
84169         (malloc): Remove decl; we now always use xmalloc.
84170         (alloca): Use old-style definition, since Emacs needs this.
84171         Check for arithmetic overflow when computing combined size.
84172
84173 2002-12-04  Paul Eggert  <eggert@twinsun.com>
84174
84175         Do not generate unlocked-io.h automatically, since it's easier to
84176         maintain it by hand.
84177
84178         * lib/unlocked-io.h: New file, from GNU diffutils,
84179         but with proper copyright notice and attribution.
84180         * lib/gen-uio: Remove.
84181         * lib/Makefile.am: Add copyright notice.
84182         (libfetish_a_SOURCES): Add unlocked-io.h.
84183         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
84184         (DISTCLEANFILES, io_functions): Remove macros.
84185         (EXTRA_DIST): Remove gen_uio.
84186         (unlocked-io.h): Remove rule.
84187
84188 2002-12-04  Jim Meyering  <jim@meyering.net>
84189
84190         Reflect the fact that stat.c and lstat.c are no longer generated.
84191         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
84192         (DISTCLEANFILES): Likewise.
84193         (EXTRA_DIST): Likewise.
84194         (all_local): Don't depend on stat.c or lstat.c.
84195         (stat.c, lstat.c): Remove rules.
84196         (EXTRA_DIST): Remove xstat.in.
84197
84198         * lib/xstat.in: Remove file.  Contents moved into stat.c.
84199         * lib/stat.c: New file.  Contents mostly from xstat.in.
84200         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
84201         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
84202
84203         * lib/safe-read.c: Rework so that it may serve to define safe_write,
84204         too.
84205         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
84206
84207 2002-12-03  Jim Meyering  <jim@meyering.net>
84208
84209         * lib/safe-read.c, safe-write.c: Change variable names and comments,
84210         but not semantics, to minimize the differences between these two files.
84211         (safe_read): Change comment to mention SAFE_READ_ERROR.
84212
84213         * lib/safe-read.c (IS_EINTR): Define.
84214         (safe_read): Use IS_EINTR in place of in-function cpp directives.
84215
84216 2002-12-02  Jim Meyering  <jim@meyering.net>
84217
84218         * lib/safe-read.c (EINTR): Define.
84219         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
84220         (INT_MAX): Provide fallback.
84221         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
84222
84223         * lib/safe-read.h (SAFE_READ_ERROR): Define.
84224
84225 2002-12-02  Bruno Haible  <bruno@clisp.org>
84226
84227         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
84228         Define, taken from safe-read.c.
84229         (INT_MAX): Provide fallback.
84230         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
84231         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
84232
84233         * lib/safe-read.c (EINTR): Remove definition.
84234         (safe_read): Don't use EINTR if it is absent.
84235
84236 2002-12-01  Jim Meyering  <jim@meyering.net>
84237
84238         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
84239         zero.
84240         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
84241
84242 2002-11-27  Paul Eggert  <eggert@twinsun.com>
84243
84244         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
84245         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
84246         with `if (! (value < limit)) abort ();', for readability.
84247
84248 2002-11-26  Karl Berry  <karl@gnu.org>
84249
84250         * lib/strdup.c: copy from libc again, with jim's ok.
84251         * lib/.cppi-disable: re-add strdup.c
84252
84253 2002-11-25  Karl Berry  <karl@gnu.org>
84254
84255         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
84256         instead of "strtol.c".
84257
84258 2002-11-25  Karl Berry  <karl@gnu.org>
84259
84260         * config/install-sh: update from automake for variable quoting, $0 in
84261         error msgs, etc.
84262
84263         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
84264         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
84265         entry.
84266
84267 2002-11-25  Jim Meyering  <jim@meyering.net>
84268
84269         * lib/mktime.c: Sync from libc, now that it has the latest fix.
84270
84271 2002-11-24  Karl Berry  <karl@gnu.org>
84272
84273         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
84274         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
84275
84276 2002-11-24  Jim Meyering  <jim@meyering.net>
84277
84278         Update from coreutils:
84279
84280         * lib/mktime.c: Merge in changes from libc.
84281
84282         Avoid a link-time failure on some Linux systems.
84283         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
84284         (otherwise).
84285         (__mon_yday): Declare with the STATIC attribute.
84286         (__mktime_internal): Likewise.
84287         Based on a report from Greg Schafer.
84288
84289 2002-11-23  Jim Meyering  <jim@meyering.net>
84290
84291         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
84292         Use `unsigned', not `int', as type of index.
84293
84294         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
84295
84296         * lib/fsusage.c: Remove unneeded parentheses around operands of
84297         `defined'.
84298
84299 2002-11-22  Paul Eggert  <eggert@twinsun.com>
84300
84301         * lib/quotearg.h: Allow multiple inclusion by surrounding with
84302         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
84303         so that we can be included first.
84304         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
84305         * lib/quotearg.c: Include quotearg.h immediately after config.h.
84306         No need to include stddef.h or sys/types.h any more.
84307         Surround local include files with "", not "<>".
84308         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
84309         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
84310         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
84311         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
84312         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
84313         (ISPRINT): Remove; no longer needed now that we assume C89.
84314
84315         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
84316         Preserve errno.
84317
84318         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
84319         quotearg_char): Use SIZE_MAX rather than
84320         (size_t) -1 when we are talking about "infinity".
84321
84322         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
84323
84324 2002-11-22  Paul Eggert  <eggert@twinsun.com>
84325
84326         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
84327         hint that one should use `if (! x) abort ();' rather than `assert
84328         (x);', and anyway it's one less thing to worry about configuring.
84329         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
84330         hash_rehash, hash_insert): Use abort rather than assert.
84331
84332 2002-11-22  Bruno Haible  <bruno@clisp.org>
84333
84334         * lib/safe-read.h: Assume C89. Add comments.
84335         (safe_read): Change return type to size_t.
84336         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
84337         byte counts > SSIZE_MAX correctly.
84338         * lib/safe-write.h: New file.
84339         * lib/safe-write.c: New file.
84340         * lib/full-read.h: New file.
84341         * lib/full-read.c: New file.
84342         * lib/full-write.h: Assume C89. Add comments.
84343         * lib/full-write.c: Include safe-write.h.
84344         (full_write): Rewritten to use safe_write.
84345         Suggested by Jim Meyering and Paul Eggert.
84346
84347 2002-11-21  Jim Meyering  <jim@meyering.net>
84348
84349         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
84350
84351         Merge in changes from the coreutils.
84352
84353         2002-09-25  Paul Eggert  <eggert@twinsun.com>
84354         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
84355         <stdint.h>.
84356         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
84357         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
84358         int.  Work more efficiently if X is the same width as uintmax_t.
84359         Do not compare X to -1, to avoid bogus compiler warning.
84360         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
84361         Don't assume that f_frsize and f_bsize are the same type.
84362
84363         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
84364         warning on FreeBSD.
84365
84366         * lib/makepath.c (make_path): Restore umask *before* creating the final
84367         component.
84368         (make_path): Minor reformatting.
84369
84370         * lib/xmalloc.c: Adjust to work with new autoconf macros,
84371         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
84372         HAVE_MALLOC/HAVE_REALLOC.
84373
84374         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
84375         dummy ones.  At least on GNU/Linux systems, `auto' means something
84376         else.
84377         From Michael Stone.
84378
84379 2002-11-21  Bruno Haible  <bruno@clisp.org>
84380
84381         Remove case insensitive option matching.
84382         * lib/argmatch.h (argcasematch): Remove declaration.
84383         (ARGCASEMATCH): Remove macro.
84384         (__xargmatch_internal): Remove case_sensitive argument.
84385         (XARGMATCH): Update.
84386         (XARGCASEMATCH): Remove macro.
84387         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
84388         case_sensitive argument.
84389         (argcasematch): Remove function.
84390         (__xargmatch_internal): Remove case_sensitive argument.
84391         (main): Use XARGMATCH instead of XARGCASEMATCH.
84392
84393         * lib/xmalloc.c: Change compile-time error message. Add comment about
84394         required autoconf version.
84395
84396 2002-11-20  Paul Eggert  <eggert@twinsun.com>
84397
84398         Merge argmatch cleanups from Bison.  Assume C89.
84399
84400         * lib/argmatch.c: Include config.h here, not in argmatch.h.
84401         Include stdlib.h, for EXIT_FAILURE.
84402         Always include <string.h>, since we assume C89.
84403         (EXIT_FAILURE): Remove pre-C89 bug workaround.
84404         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
84405         Include <stddef.h> instead, since it's all we need for size_t.
84406         (PARAMS): Remove.  All uses removed.
84407         (ARRAY_CARDINALITY): Do not bother to #undef.
84408         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
84409         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
84410         Remove unnecessary parentheses.
84411         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
84412         Insert necessary parentheses.
84413         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
84414         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
84415
84416 2002-11-19  Bruno Haible  <bruno@clisp.org>
84417
84418         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
84419         * lib/mbswidth.h: Include <stddef.h>, for size_t.
84420
84421         * lib/mbswidth.h (PARAMS): Remove macro.
84422         (mbswidth, mbsnwidth): Use ANSI C function declarations.
84423         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
84424
84425         * lib/gcd.h (PARAMS): Remove macro.
84426         (gcd): Use ANSI C function declarations.
84427         * lib/gcd.c (gcd): Likewise.
84428
84429 2002-11-15  Bruno Haible  <bruno@clisp.org>
84430
84431         * lib/strcspn.c: Include <stddef.h>.
84432         (strcspn): Use ANSI C function declaration. Change return type to
84433         size_t. Use NULL.
84434         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
84435         (strpbrk): Use NULL.
84436         * lib/strpbrk.h (PARAMS): Remove macro.
84437         (strpbrk): Use ANSI C function declaration.
84438         * lib/strstr.c: Don't include <sys/types.h>.
84439         * lib/strstr.h (PARAMS): Remove macro.
84440         (strstr): Use ANSI C function declarations.
84441
84442 2002-11-14  Karl Berry  <karl@gnu.org>
84443
84444         * config/mkinstalldirs: `do' on separate line, instead of
84445         `for var; do'.
84446
84447 2002-11-06  Bruno Haible  <bruno@clisp.org>
84448
84449         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
84450         * lib/gcd.c (gcd): Likewise.
84451
84452 2002-11-05  Bruno Haible  <bruno@clisp.org>
84453
84454         * lib/gcd.h: New file, from gettext-0.11.5.
84455         * lib/gcd.c: New file, from gettext-0.11.5.
84456
84457 2002-11-05  Bruno Haible  <bruno@clisp.org>
84458
84459         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
84460         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
84461         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
84462         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
84463
84464         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
84465         <libintl.h>.
84466         * lib/makepath.c: Include gettext.h instead of <locale.h> and
84467         <libintl.h>.
84468
84469         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
84470         * lib/human.c: Include gettext.h instead of <libintl.h>.
84471         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
84472         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
84473         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
84474         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
84475         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
84476         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
84477         (textdomain): Remove definition.
84478         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
84479
84480         * lib/long-options.c: Remove include of <libintl.h> and definition of
84481         _.
84482         * lib/same.c: Remove include of <libintl.h> and definition of _.
84483
84484 2002-11-04  Owen Taylor  <otaylor@redhat.com>
84485
84486         * lib/config.charset: A few additions for Solaris.
84487
84488 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
84489
84490         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
84491         * lib/localcharset.c (locale_charset): Declare as extern "C".
84492
84493 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
84494
84495         * lib/config.charset: msdos in uk_UA uses CP1125.
84496
84497 2002-11-04  Bruno Haible  <bruno@clisp.org>
84498
84499         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
84500         * lib/strcase.h: New file, from GNU gettext-0.11.5.
84501         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
84502         * lib/strstr.h: New file, from GNU gettext-0.11.5.
84503         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
84504
84505 2002-11-04  Bruno Haible  <bruno@clisp.org>
84506
84507         * lib/localcharset.c (locale_charset): Don't return an empty string.
84508
84509 2002-11-04  Bruno Haible  <bruno@clisp.org>
84510
84511         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
84512         aliases.
84513
84514 2002-11-04  Bruno Haible  <bruno@clisp.org>
84515
84516         * lib/config.charset: Update for newest glibc. Add canonical names
84517         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
84518
84519 2002-11-04  Bruno Haible  <bruno@clisp.org>
84520
84521         * lib/config.charset: Add support for NetBSD.
84522
84523 2002-11-04  Bruno Haible  <bruno@clisp.org>
84524
84525         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
84526
84527 2002-11-01  Bruno Haible  <bruno@clisp.org>
84528
84529         * configure.in: Add AC_CONFIG_AUX_DIR call.
84530         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
84531         test/Makefile.
84532         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
84533
84534 2002-09-28  Karl Berry  <karl@gnu.org>
84535
84536         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
84537         installed automake until the next release, since changes have been
84538         made.
84539
84540 2002-09-25  Karl Berry  <karl@gnu.org>
84541
84542         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
84543         * lib/getopt*: copy from libc/posix.
84544         * lib/gettext.h: copy from gettext.
84545         * lib/.cppi-disable: add strdup.c, gettext.h.
84546
84547 2002-09-25  Karl Berry  <karl@gnu.org>
84548
84549         * config/srclist.txt: enable gettext.h check.
84550         * config/config.{guess,sub}: update from prep.
84551         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
84552                 from automake 1.6.3.
84553         See srclist*.
84554
84555 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
84556
84557         * regex.c (PATFETCH): Remove the translating fetch.
84558         (PATFETCH_RAW): Rename to PATFETCH.
84559         (set_image_of_range): New fun.
84560         (SET_RANGE_TABLE_WORK_AREA): Use it.
84561         (regex_compile): Don't translate the pattern chars so eagerly.
84562         Only do it when inserting an `exactn' bytecode or when handling
84563         a char-range.
84564         (mutually_exclusive_p): Avoid empty statement.
84565
84566 2002-07-06  Jim Meyering  <meyering@lucent.com>
84567
84568         * m4/README: Don't mention Makefile.am.in.
84569         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
84570
84571 2002-07-01  Jim Meyering  <meyering@lucent.com>
84572
84573         * lib/c-stack.c: Include sys/time.h.
84574         From Volker Borchert.
84575
84576 2002-06-26  Paul Eggert  <eggert@twinsun.com>
84577
84578         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
84579
84580 2002-06-26  Paul Eggert  <eggert@twinsun.com>
84581
84582         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
84583         New macro.  Use it uniformly instead of
84584         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
84585         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
84586         reported by Vin Shelton.
84587
84588 2002-06-22  Paul Eggert  <eggert@twinsun.com>
84589
84590         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
84591         Do not assume SA_SIGINFO behavior.
84592         Bug reported by Jim Meyering on NetBSD 1.5.2.
84593
84594 2002-06-22  Jim Meyering  <meyering@lucent.com>
84595
84596         * m4/c-stack.m4: New file, from diffutils-2.8.2.
84597         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
84598
84599         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
84600         now that configure.ac uses AC_GNU_SOURCE.
84601         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
84602         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
84603
84604         Update to latest tools.  Suggestions from Paul Eggert.
84605         * m4/stdbool.m4: New file, from diffutils-2.8.2.
84606         * m4/gnu-source.m4: Update from diffutils-2.8.2.
84607         * m4/fnmatch.m4: Likewise.
84608         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
84609         to AC_HEADER_STDBOOL
84610
84611 2002-06-22  Jim Meyering  <meyering@lucent.com>
84612
84613         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
84614         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
84615
84616 2002-06-22  Jim Meyering  <meyering@lucent.com>
84617
84618         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
84619
84620         * lib/exitfail.c, exitfail.h: Likewise.
84621         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
84622
84623         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
84624         of fnmatch.h.
84625         (EXTRA_DIST): Add fnmatch_loop.c.
84626         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
84627
84628         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
84629         * lib/fnmatch.c: Update from diffutils-2.8.2.
84630         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
84631         * lib/fnmatch.h: Remove file.
84632
84633 2002-06-21  Jim Meyering  <meyering@lucent.com>
84634
84635         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
84636         * m4/mbrtowc.m4: Likewise.
84637
84638         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
84639         * m4/mbswidth.m4: Reflect name change:
84640         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
84641         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
84642
84643         * m4/lib-link.m4: Update from gettext-0.11.2.
84644         * m4/gettext.m4: Likewise.
84645
84646         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
84647         From Alfred M. Szmidt.
84648
84649 2002-06-18  Paul Eggert  <eggert@twinsun.com>
84650
84651         * lib/file-type.h: Report an error if neither S_ISREG nor
84652         S_IFREG is defined, instead of using a test specific to glibc
84653         2.2.  This should be safe, since POSIX requires S_ISREG and
84654         Unix Version 7 had S_IFREG.  We don't need to check for
84655         <sys/types.h> since we don't use any symbols that it defines.
84656
84657 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
84658
84659         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
84660         $@-t, so that each temporary file name is unique and valid in the first
84661         8 characters, for operation under DOS.
84662
84663 2002-06-15  Paul Eggert  <eggert@twinsun.com>
84664
84665         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
84666
84667 2002-06-15  Jim Meyering  <meyering@lucent.com>
84668
84669         Work even with DJGPP 2.03, which lacks support for symlinks.
84670         From Richard Dawe.
84671         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
84672         is defined.
84673         * lib/lchown.c (S_ISLNK): Likewise.
84674
84675 2002-06-15  Jim Meyering  <meyering@lucent.com>
84676
84677         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
84678         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
84679         have been included before this file.
84680
84681 2002-06-14  Jim Meyering  <meyering@lucent.com>
84682
84683         * lib/file-type.h: Use the version from diffutils-2.8.2.
84684         * lib/file-type.c: Likewise.
84685
84686 2002-06-07  Jim Meyering  <meyering@lucent.com>
84687
84688         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
84689         They're needed at least for NetBSD 1.5.2.
84690         ($statxfs_includes): Include those same headers.
84691         ($statxfs_includes): Include sys/vfs.h if available.
84692         ($statxfs_includes): Likewise for sys/statvfs.h.
84693         Check for the following members in both structs statfs and statvfs:
84694         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
84695
84696 2002-06-01  Jim Meyering  <meyering@lucent.com>
84697
84698         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
84699         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
84700
84701 2002-05-28  Jim Meyering  <meyering@lucent.com>
84702
84703         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
84704         Reported by Volker Borchert.
84705
84706 2002-05-27  Jim Meyering  <meyering@lucent.com>
84707
84708         Fix a problem seen only on nonconforming systems whereby ls.c's
84709         use of localtime, and then of gettimeofday would cause trouble:
84710         the localtime call used to initialize rpl_gettimeofday's save
84711         mechanism would clobber ls's current local time information so
84712         that in any long listing the first file would always be listed
84713         with date 1970-01-01.  Analysis by Volker Borchert.
84714
84715         * lib/gettimeofday.c (localtime): Undefine.
84716         (rpl_localtime): New function.
84717
84718 2002-05-27  Jim Meyering  <meyering@lucent.com>
84719
84720         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
84721         localtime.
84722
84723         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
84724         use the replacement function; it wouldn't resolve at link time.
84725         Reported by Volker Borchert.
84726
84727 2002-05-22  Jim Meyering  <meyering@lucent.com>
84728
84729         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
84730         file-type.h.
84731         * lib/file-type.h: New file.
84732         * lib/file-type.c (file_type): New file/function.  Extracted from
84733         diffutils.
84734
84735 2002-04-30  Jim Meyering  <meyering@lucent.com>
84736
84737         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
84738
84739 2002-04-29  Paul Eggert  <eggert@twinsun.com>
84740
84741         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
84742
84743 2002-04-29  Paul Eggert  <eggert@twinsun.com>
84744
84745         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
84746         Do not check for alloca.h (no longer used) or stdbool.h (was never
84747         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
84748
84749 2002-04-29  Paul Eggert  <eggert@twinsun.com>
84750
84751         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
84752
84753 2002-04-29  Jim Meyering  <meyering@lucent.com>
84754
84755         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
84756         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
84757         Use AC_FUNC_STRNLEN here instead.
84758
84759         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
84760         With autoconf-2.53a, it's part of AC_PROG_CC.
84761
84762 2002-04-28  Paul Eggert  <eggert@twinsun.com>
84763
84764         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
84765         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
84766
84767 2002-04-28  Paul Eggert  <eggert@twinsun.com>
84768
84769         * lib/sig2str.h, lib/sig2str.c: New files.
84770         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
84771
84772 2002-04-28  Paul Eggert  <eggert@twinsun.com>
84773
84774         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
84775         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
84776         of 127, since 64 is the largest conceivable number for ancient
84777         nonstandard hosts.
84778         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
84779
84780 2002-04-28  Jim Meyering  <meyering@lucent.com>
84781
84782         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
84783
84784 2002-04-24  Jim Meyering  <meyering@lucent.com>
84785
84786         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
84787         (jm_PREREQ): Use it.
84788
84789         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
84790         mach/mach.h fcntl.h.
84791         Check for this function: setlocale.
84792
84793 2002-04-24  Jim Meyering  <meyering@lucent.com>
84794
84795         * lib/gettext.h: New file, from Gettext.
84796         * lib/Makefile.am (INCLUDES): Remove -I../intl.
84797         (libfetish_a_SOURCES): Add gettext.h.
84798
84799 2002-04-16  Jim Meyering  <meyering@lucent.com>
84800
84801         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
84802         ut_pid, ut_id, ut_exit.
84803
84804 2002-04-16  Jim Meyering  <meyering@lucent.com>
84805
84806         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
84807         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
84808         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
84809
84810 2002-04-12  Jim Meyering  <meyering@lucent.com>
84811
84812         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
84813         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
84814         existence of the getmntinfo function.  Needed for Darwin 5.3.
84815
84816         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
84817         This is necessary at least on Darwin 5.3.
84818
84819         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
84820         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
84821         strnlen.o in the library, and that makes some versions of ranlib
84822         object.
84823
84824 2002-04-12  Jim Meyering  <meyering@lucent.com>
84825
84826         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
84827
84828 2002-04-09  Jim Meyering  <meyering@lucent.com>
84829
84830         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
84831         to be more precise.  Rather than saying we're checking whether the
84832         function `works', say what we're testing.
84833         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
84834         Reported by Bruno Haible.
84835
84836 2002-03-10  Jim Meyering  <meyering@lucent.com>
84837
84838         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
84839         Suggestion from Santiago Vila.
84840
84841 2002-03-08  Jim Meyering  <meyering@lucent.com>
84842
84843         * lib/rename.c: Mention that this wrapper is needed also on
84844         mips-dec-ultrix4.4 systems.
84845
84846 2002-03-02  Jim Meyering  <meyering@lucent.com>
84847
84848         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
84849         not HAVE_CLOCK_SETTIME.
84850
84851 2002-02-27  Paul Eggert  <eggert@twinsun.com>
84852
84853         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
84854         Check for clock_settime.
84855
84856 2002-02-27  Paul Eggert  <eggert@twinsun.com>
84857
84858         * lib/nanosleep.h: Rename to....
84859         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
84860
84861         * lib/gettime.c: New file.
84862         * lib/settime.c: New file.
84863         * lib/stime.c: Remove.
84864
84865         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
84866         timespec.h.  Remove nanosleep.h.
84867
84868 2002-02-25  Paul Eggert  <eggert@twinsun.com>
84869
84870         * m4/acl.m4: New file.
84871         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
84872         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
84873
84874 2002-02-25  Paul Eggert  <eggert@twinsun.com>
84875
84876         * lib/acl.c, lib/acl.h: New files.
84877         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
84878
84879 2002-02-24  Jim Meyering  <meyering@lucent.com>
84880
84881         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
84882         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
84883         cause trouble.  Reported by Nelson Beebe.
84884
84885 2002-02-23  Paul Eggert  <eggert@twinsun.com>
84886
84887         * lib/path-concat.c (xpath_concat): Reorder code to pacify
84888         compilers that don't know that xalloc_die never returns.
84889
84890 2002-02-20  Jim Meyering  <meyering@lucent.com>
84891
84892         * lib/getdate.c: Regenerate using bison-1.33.
84893
84894 2002-02-17  Jim Meyering  <meyering@lucent.com>
84895
84896         * config/config.guess (main): Don't use `head -1'; it's no longer
84897         portable. Use `sed 1q' instead.
84898
84899 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
84900
84901         * m4/codeset.m4: Upgrade to gettext-0.11.
84902         * m4/gettext.m4: Upgrade to gettext-0.11.
84903         * m4/glibc21.m4: Upgrade to gettext-0.11.
84904         * m4/iconv.m4: Upgrade to gettext-0.11.
84905         * m4/isc-posix.m4: Upgrade to gettext-0.11.
84906         * m4/lcmessage.m4: Upgrade to gettext-0.11.
84907         * m4/lib-ld.m4: New file, from gettext-0.11.
84908         * m4/lib-link.m4: New file, from gettext-0.11.
84909         * m4/lib-prefix.m4: New file, from gettext-0.11.
84910         * m4/progtest.m4: Upgrade to gettext-0.11.
84911
84912 2002-02-15  Paul Eggert  <eggert@twinsun.com>
84913
84914         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
84915         (jm_PREREQ): Use it.
84916
84917 2002-02-15  Paul Eggert  <eggert@twinsun.com>
84918
84919         * lib/posixver.c, lib/posixver.h: New files.
84920         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
84921
84922 2002-02-02  Paul Eggert  <eggert@twinsun.com>
84923             Bruno Haible  <bruno@clisp.org>
84924
84925         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
84926         (fwrite_success_callback): New declaration.
84927         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
84928         print_unicode_char. Call failure callback instead of error.
84929         (fwrite_success_callback): New function.
84930         (exit_failure_callback): New function.
84931         (fallback_failure_callback): New function.
84932         (print_unicode_char): Call unicode_to_mb.
84933
84934 2002-01-26  Jim Meyering  <meyering@lucent.com>
84935
84936         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
84937         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
84938
84939 2002-01-26  Jim Meyering  <meyering@lucent.com>
84940
84941         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
84942
84943 2002-01-22  Paul Eggert  <eggert@twinsun.com>
84944
84945         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
84946
84947 2002-01-22  Jim Meyering  <meyering@lucent.com>
84948
84949         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
84950         Otherwise, some versions of automake would omit the rule that makes
84951         Makefile from Makefile.in.
84952
84953 2002-01-21  Paul Eggert  <eggert@twinsun.com>
84954
84955         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
84956         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
84957         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
84958         (memcoll): Set errno to zero if there is no error.
84959
84960         * lib/quotearg.c (quotearg_buffer_restyled):
84961         Fix bug with quoting buffers containing NUL when backslashing escapes.
84962         This bug was exposed by the other changes in this patch.
84963         (quotearg_n_options): New arg ARGSIZE.
84964         All callers changed.
84965         (quoting_options_from_style): New function.
84966         (quotearg_n_style): Use it.
84967         (quotearg_n_style_mem): New function.
84968
84969         * lib/quotearg.h (quotearg_n_style_mem): New function.
84970
84971 2002-01-19  Jim Meyering  <meyering@lucent.com>
84972
84973         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
84974         Remove useless quotes: DF_PROG="df".
84975         * m4/strnlen.m4: New file.
84976
84977 2002-01-16  Paul Eggert  <eggert@twinsun.com>
84978
84979         * lib/backupfile.c (ISDIGIT): Comment fix.
84980         * lib/getdate.y (ISDIGIT): Likewise.
84981         * lib/posixtm.c (ISDIGIT, year): Likewise.
84982         * lib/strverscmp.c (ISDIGIT): Likewise.
84983         * lib/userspec.c (ISDIGIT): Likewise.
84984
84985 2002-01-16  Jim Meyering  <meyering@lucent.com>
84986
84987         * lib/getdate.y: Add three semicolons, each just before a closing
84988         brace. Bison (as of version 1.31) no longer papers over that mistake.
84989
84990 2002-01-05  Jim Meyering  <meyering@lucent.com>
84991
84992         * lib/version-etc.c (version_etc_copyright): Update copyright year.
84993
84994 2001-12-19  Paul Eggert  <eggert@twinsun.com>
84995
84996         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
84997         not silently exit merely because the output buffer happens to
84998         have nothing pending.
84999
85000 2001-12-18  Paul Eggert  <eggert@twinsun.com>
85001
85002         See the big note in ../ChangeLog.
85003         * lib/human.c (suffixes): Prefer K to k for 1024.
85004         (generate_suffix_backwards): New function.
85005         (human_readable_inexact): Use it.
85006         * lib/xstrtol.c (__xstrtol): If there is no number but there
85007         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
85008         Accept 'K' as well as 'k'.
85009
85010 2001-12-15  Jim Meyering  <meyering@lucent.com>
85011
85012         * lib/regex.h (__restrict_arr): Update from libc.
85013
85014         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
85015         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
85016         (STREQ): Define.
85017
85018 2001-12-14  Jim Meyering  <meyering@lucent.com>
85019
85020         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
85021         Suggestion from Bruno Haible.
85022
85023 2001-12-10  Jim Meyering  <meyering@lucent.com>
85024
85025         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
85026         xrealloc, Instead, include "xalloc.h".
85027         (initbuffer): Don't cast xmalloc return value to char*.
85028         (readline): Reword comment.
85029         Don't cast xrealloc return value to char*
85030         Return NULL, not 0.
85031
85032 2001-12-09  Jim Meyering  <meyering@lucent.com>
85033
85034         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
85035         about `signed and unsigned type in conditional expression'.
85036         * lib/posixtm.c (posix_time_parse): Likewise.
85037
85038         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
85039
85040         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
85041         to avoid a pedantic warning.
85042
85043         * lib/getstr.c: Don't include assert.h.
85044         (getstr): Remove warning-evoking assertions.
85045         Return -1 if offset parameter is out of bounds.
85046         Change the type of a local from int to size_t.
85047
85048         * lib/strftime.c (my_strftime_localtime_r): Include this function
85049         definition in the `#if ! HAVE_TM_GMTOFF' block.
85050
85051         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
85052         Include xalloc.h instead.
85053
85054 2001-12-02  Jim Meyering  <meyering@lucent.com>
85055
85056         * lib/tempname.c: Don't declare getenv, thus reverting the change of
85057         2001-11-18.  It's no longer necessary, now that stdlib.h is always
85058         included.
85059
85060         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
85061         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
85062
85063 2001-11-30  Akim Demaille  <akim@epita.fr>
85064
85065         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
85066         before being defined.
85067
85068 2001-11-27  Paul Eggert  <eggert@twinsun.com>
85069
85070         * lib/quotearg.h (quotearg_n, quotearg_n_style):
85071         First arg is int, not unsigned.
85072         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
85073         (SIZE_MAX, UINT_MAX): New macros.
85074         (quotearg_n_options): Abort if N is negative.
85075         Avoid overflow check on hosts where size_t is 64 bits and int
85076         is 32 bits, as overflow is impossible there.
85077         Fix off-by-one typo that caused unnecessary reallocation.
85078
85079 2001-11-27  Jim Meyering  <meyering@lucent.com>
85080
85081         * lib/tempname.c: Merge with version from libc.
85082         * lib/regex.c: Likewise.
85083
85084         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
85085         systems for which STDC_HEADERS is 0, it was not included, resulting in
85086         a warning about an integer-to-pointer conversion problem with getenv.
85087         Reported by Volker Borchert.
85088
85089 2001-11-26  Jim Meyering  <meyering@lucent.com>
85090
85091         * lib/gtod.h: Remove file.
85092         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
85093         * lib/gettimeofday.c: Don't include gtod.h.
85094         (GTOD_init): Remove function.
85095         (rpl_gettimeofday): Do its job here instead, rather than aborting.
85096         Suggestion from Volker Borchert.
85097
85098 2001-11-23  Jim Meyering  <meyering@lucent.com>
85099
85100         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
85101         it.
85102         * lib/hash.c (struct hash_table): Define it here instead.
85103
85104 2001-11-22  Jim Meyering  <meyering@lucent.com>
85105
85106         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
85107
85108 2001-11-20  Jim Meyering  <meyering@lucent.com>
85109
85110         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
85111         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
85112
85113 2001-11-19  Jim Meyering  <meyering@lucent.com>
85114
85115         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
85116         directory.  Use "conftestXXXXXX" as the template.
85117         Suggestion from Paul Eggert.
85118
85119         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
85120         immediately, so the test doesn't mistakenly hit the max-open-files
85121         limit.
85122
85123 2001-11-18  Paul Eggert  <eggert@twinsun.com>
85124
85125         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
85126         (TEMPORARIES): New macro.
85127         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
85128         removes an artificial limitation (e.g. HP-UX 10.20, where
85129         TMP_MAX is 17576).
85130
85131 2001-11-18  Jim Meyering  <meyering@lucent.com>
85132
85133         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
85134
85135 2001-11-18  Jim Meyering  <meyering@lucent.com>
85136
85137         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
85138         on SunOS 4.
85139
85140         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
85141         files will be created before anything else.
85142
85143 2001-11-17  Paul Eggert  <eggert@twinsun.com>
85144
85145         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
85146         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
85147
85148 2001-11-17  Jim Meyering  <meyering@lucent.com>
85149
85150         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
85151         Prompted by a report from Bob Proulx.
85152
85153         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
85154         Instead, require UTILS_FUNC_MKSTEMP.
85155
85156 2001-11-17  Jim Meyering  <meyering@lucent.com>
85157
85158         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
85159         Now, that's done as part of AC_FUNC_STRTOD.
85160
85161 2001-11-17  Jim Meyering  <meyering@lucent.com>
85162
85163         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
85164         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
85165         rather than group writable.  Patch by Juan F. Codagnone.
85166
85167         * lib/readtokens.c: Remove explicit declarations of xmalloc and
85168         xrealloc, Instead, include "xalloc.h".
85169
85170         * lib/mountlist.c: Include unlocked-io.h after all system headers.
85171         Remove explicit declarations of xmalloc, xrealloc,
85172         and xstrdup.  Instead, include "xalloc.h".
85173
85174         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
85175         unlocked-io.h.
85176         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
85177         Likewise.
85178         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
85179
85180         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
85181         Reported by Padraig Brady.
85182
85183         * lib/mkstemp.c: #undef mkstemp.
85184         Include config.h.
85185         (rpl_mkstemp): Rename from mkstemp.
85186         Protoize.
85187
85188 2001-11-16  Jim Meyering  <meyering@lucent.com>
85189
85190         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
85191         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
85192         determine the amount of total physical memory, use pstat_getstatic.
85193         HPUX-11 doesn't define _SC_PHYS_PAGES.
85194         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
85195         If sysconf couldn't be used to determine the amount of available
85196         physical memory, use both pstat_getstatic and pstat_getdynamic.
85197         Based on a patch from Bob Proulx.
85198
85199 2001-11-10  Jim Meyering  <meyering@lucent.com>
85200
85201         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
85202         (jm_PREREQ): Use it.
85203
85204 2001-11-09  Jim Meyering  <meyering@lucent.com>
85205
85206         * m4/jm-macros.m4: Require autoconf-2.52f.
85207         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
85208         Use these AC_-prefixed names, not the AM_-prefixed ones.
85209
85210         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
85211
85212 2001-11-05  Jim Meyering  <meyering@lucent.com>
85213
85214         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
85215
85216 2001-11-04  Jim Meyering  <meyering@lucent.com>
85217
85218         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
85219         $DEFS.
85220
85221 2001-11-03  Jim Meyering  <meyering@lucent.com>
85222
85223         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
85224         of AC_DEFUN.
85225
85226         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
85227         know the name of the variable in the macro definition.
85228
85229 2001-11-03  Jim Meyering  <meyering@lucent.com>
85230
85231         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
85232         in argmatch_to_argument call.
85233
85234         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
85235         argument.
85236
85237         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
85238         e.g., a fault due to an attempt to free a NULL pointer.
85239
85240 2001-11-01  Jim Meyering  <meyering@lucent.com>
85241
85242         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
85243         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
85244
85245 2001-11-01  Jim Meyering  <meyering@lucent.com>
85246
85247         * lib/dirfd.c, lib/dirfd.h: New files.
85248         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
85249
85250         * lib/hash.c (hash_print) [TESTING]: Clean up.
85251
85252 2001-10-22  Paul Eggert  <eggert@twinsun.com>
85253
85254         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
85255         to avoid a warning if -Wall.
85256
85257 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
85258
85259         * README: New file
85260         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
85261         (per RMS's instructions, this is now the canonical source)
85262         * lgpl/, gpl/: New directories.
85263
85264 2001-10-21  Paul Eggert  <eggert@twinsun.com>
85265
85266         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
85267
85268 2001-10-21  Jim Meyering  <meyering@lucent.com>
85269
85270         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
85271         this code would end up calling gettext even in packages built
85272         with --disable-nls.
85273         * lib/getopt.c (_): Likewise.
85274         * lib/regex.c (_): Likewise.
85275
85276 2001-10-20  Paul Eggert  <eggert@twinsun.com>
85277
85278         * m4/error.m4 (jm_PREREQ_ERROR):
85279         Do not invoke AC_CHECK_FUNCS with strerror_r, as
85280         AC_FUNC_STRERROR_R does that.
85281         Check for strerror declaration.
85282
85283         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
85284         are supposed to have them these days.
85285         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
85286         Merge changes from latest Autoconf CVS.
85287         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
85288         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
85289         POSIX decided to standardize on the int flavor of strerror_r.
85290
85291 2001-10-20  Paul Eggert  <eggert@twinsun.com>
85292
85293         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
85294         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
85295         Use strerror_r that is only a macro, even if it is not a function.
85296         (strerror): Check for HAVE_DECL_STRERROR before declaring.
85297         (private_strerror): Use prototypes, not old-style function definition.
85298         (print_errno_message): New function.
85299         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
85300         char*-flavored one.
85301         (error_tail, error, error_at_line): Use it.
85302
85303 2001-10-11  Jim Meyering  <meyering@lucent.com>
85304
85305         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
85306         and quote_n (1, ... to avoid clobbering a buffer.
85307
85308 2001-10-05  Jim Meyering  <meyering@lucent.com>
85309
85310         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
85311         hash-pjw.h.
85312         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
85313         * lib/hash-pjw.h: New file.
85314
85315 2001-09-30  Jim Meyering  <meyering@lucent.com>
85316
85317         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
85318         `struct fsstat' has the `f_fstypename' member.
85319         Use that to define FS_TYPE, which is now used to make
85320         the getfsstat link test tighter.
85321
85322 2001-09-30  Jim Meyering  <meyering@lucent.com>
85323
85324         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
85325         Include <sys/ucred.h>, for Apple Darwin.
85326         Include sys/mount.h and sys/fs_types.h only if available.
85327         (FS_TYPE): Define.
85328         (read_filesystem_list): Use FS_TYPE.
85329
85330 2001-09-29  Paul Eggert  <eggert@twinsun.com>
85331
85332         * lib/exclude.c (excluded_filename): 0 -> false, since it's
85333         a boolean context.
85334
85335 2001-09-29  Jim Meyering  <meyering@lucent.com>
85336
85337         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
85338         [one-argument getmntent function]): Include stdio.h before mntent.h.
85339         SunOS 4.1.x needs it for the declaration of `FILE'.
85340         Patch by Volker Borchert.
85341
85342         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
85343         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
85344         sys/fs_types.h, and make the link-test for getfsstat guard #include
85345         directives with appropriate #if HAVE_*_H tests so that we can
85346         detect getfsstat on Apple Darwin1.3.7 systems.
85347         Reported by Nelson Beebe.
85348         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
85349
85350 2001-09-28  Paul Eggert  <eggert@twinsun.com>
85351
85352         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
85353         #defines strtoimax.  Also treat the other strto* functions
85354         like strtoimax.
85355
85356         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
85357         Check for strtoul and strtoumax,
85358         as those declarations are made even in the signed case.
85359         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
85360         Likewise, for strtol and strtoimax.
85361
85362 2001-09-28  Paul Eggert  <eggert@twinsun.com>
85363
85364         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
85365         #defines strtoimax.  Also treat the other strto* functions
85366         like strtoimax.
85367
85368         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
85369         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
85370         (strtoimax, strtoumax): Do not declare if already defined as a macro.
85371
85372 2001-09-26  Jim Meyering  <meyering@lucent.com>
85373
85374         Most macros in unlocked-io.h had the wrong number of arguments.
85375         * lib/gen-uio: New script.
85376         (USE_UNLOCKED_IO): Define to 1 if not already defined.
85377         * lib/unlocked-io.hin: Remove file.
85378         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
85379         rather than trying to embed it here.
85380         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
85381         Reported by Padraig Brady.
85382
85383 2001-09-25  Volker Borchert  <bt@teknon.de>
85384
85385         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
85386         `result'.
85387
85388 2001-09-24  Jim Meyering  <meyering@lucent.com>
85389
85390         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
85391
85392 2001-09-23  Jim Meyering  <meyering@lucent.com>
85393
85394         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
85395         instead of the mere test for existence of mntent.h.  The latter
85396         would get a false-positive on AIX 3.4 systems.
85397         In the outer getmntent if-block, don't die if neither of the getmntent
85398         tests succeeds.  Instead, just fall through and continue with the
85399         remaining tests.
85400
85401 2001-09-23  Jim Meyering  <meyering@lucent.com>
85402
85403         * lib/mountlist.c: Remove useless parentheses in #if directives.
85404         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
85405         the deprecated MOUNTED symbol is no longer defined in mntent.h.
85406
85407 2001-09-22  Jim Meyering  <meyering@lucent.com>
85408
85409         * m4/gettext.m4: New file.  From gettext.
85410         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
85411         * m4/progtest.m4: Likewise
85412         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
85413         * m4/glibc21.m4: Likewise.
85414
85415         * m4/libintl.m4: Remove.  No longer used.
85416
85417 2001-09-22  Jim Meyering  <meyering@lucent.com>
85418
85419         * lib/localcharset.c: Update from latest gettext.
85420         * lib/config.charset: Likewise.
85421
85422 2001-09-20  Jim Meyering  <meyering@lucent.com>
85423
85424         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
85425         strtoimax.
85426         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
85427         strtoumax.
85428
85429 2001-09-20  Jim Meyering  <meyering@lucent.com>
85430
85431         * lib/xstrtol.c (strtoimax): Guard declaration with
85432         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
85433         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
85434         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
85435         (strtoumax): Likewise, for completeness (it wasn't necessary).
85436
85437 2001-09-17  Paul Eggert  <eggert@twinsun.com>
85438
85439         * lib/strtoimax.c (HAVE_LONG_LONG):
85440         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
85441         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
85442         to work around bug in IBM C compiler.
85443
85444 2001-09-17  Jim Meyering  <meyering@lucent.com>
85445
85446         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
85447         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
85448         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
85449         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
85450         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
85451         whenever the right hand side need not be expanded by the shell.
85452
85453 2001-09-16  Paul Eggert  <eggert@twinsun.com>
85454
85455         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
85456         library.  It's not correct, as some older glibcs are buggy.
85457         fnmatch wasn't fixed until glibc 2.2.
85458
85459         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
85460         special shell magic here.
85461
85462 2001-09-16  Jim Meyering  <meyering@lucent.com>
85463
85464         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
85465         * m4/jm-macros.m4: Require it.
85466
85467 2001-09-16  Jim Meyering  <meyering@lucent.com>
85468
85469         * lib/mkdir.c: New file.
85470
85471 2001-09-15  Jim Meyering  <meyering@lucent.com>
85472
85473         * m4/jm-macros.m4: Check for help2man.
85474
85475 2001-09-11  Jim Meyering  <meyering@lucent.com>
85476
85477         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
85478         The body, by Paul Eggert, was moved here from configure.in.
85479         * m4/jm-macros.m4: Require UTILS_HOST_OS.
85480
85481 2001-09-04  Paul Eggert  <eggert@twinsun.com>
85482
85483         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
85484         (jm_PREREQ): Use it.
85485
85486 2001-09-04  Paul Eggert  <eggert@twinsun.com>
85487
85488         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
85489         Use ssize_t, not int, to store result of readlink.
85490         Check for ssize_t overflow as well as size_t overflow,
85491         as POSIX says the result of readlink is implementation-defined
85492         when ssize_t overflows.
85493         Remove unnecessary cast to char*.
85494         Use free+malloc instead of realloc, as the storage doesn't need
85495         to be preserved and it's clearer and can be more efficient that way.
85496         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
85497         * lib/xreadlink.h (xreadlink): Update prototype.
85498
85499 2001-09-04  Paul Eggert  <eggert@twinsun.com>
85500
85501         * lib/xgetcwd.c: Revert some of the previous change; intead,
85502         fix the HAVE_GETCWD_NULL code to behave more like the
85503         !HAVE_GETCWD_NULL code used to.
85504
85505         Include "xalloc.h".
85506         (xgetcwd): Do not return NULL when memory is exhausted; instead,
85507         invoke xalloc_die.
85508
85509 2001-09-03  Paul Eggert  <eggert@twinsun.com>
85510
85511         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
85512         sys/param.h, as pathmax.h includes them.
85513
85514 2001-09-03  Paul Eggert  <eggert@twinsun.com>
85515
85516         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
85517         (jm_PREREQ_XGETCWD): New macro.
85518
85519         * m4/getcwd.m4: New file.
85520
85521 2001-09-03  Paul Eggert  <eggert@twinsun.com>
85522
85523         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
85524         like the HAVE_GETCWD_NULL code.
85525         Include pathmax.h if not HAVE_GETCWD.
85526         Do not include xalloc.h.
85527         (INITIAL_BUFFER_SIZE): New symbol.
85528         Do not use xmalloc / xrealloc, since the caller is responsible for
85529         handling errors.  Preserve errno around `free' during failure.
85530         Do not overrun buffer when using getwd.
85531
85532 2001-09-03  Paul Eggert  <eggert@twinsun.com>
85533
85534         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
85535         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
85536         getcwd (NULL, 0).
85537
85538 2001-09-03  Paul Eggert  <eggert@twinsun.com>
85539
85540         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
85541         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
85542         spotted by Jim Meyering.
85543
85544 2001-09-03  Jim Meyering  <meyering@lucent.com>
85545
85546         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
85547         failure.
85548
85549 2001-09-02  Jim Meyering  <meyering@lucent.com>
85550
85551         * lib/error.c: Update from GNU libc.
85552
85553 2001-09-01  Jim Meyering  <meyering@lucent.com>
85554
85555         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
85556         Used by df.
85557
85558 2001-09-01  Jim Meyering  <meyering@lucent.com>
85559
85560         * lib/xreadlink.c: New file.
85561         * lib/xreadlink.h: New file.
85562         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
85563         xreadlink.h.
85564
85565         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
85566         doesn't conflict with sparc Solaris 7's definition in
85567         /usr/include/sys/int_types.h.
85568
85569         * lib/exclude.c: Use `""', not `<>' to #include non-system header
85570         files.
85571         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
85572         and strncasecmp as r-values.  Unixware didn't have declarations.
85573
85574 2001-08-31  Paul Eggert  <eggert@twinsun.com>
85575
85576         * lib/xstrtol.h: Add copyright notice.
85577         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
85578         LONGINT_INVALID_SUFFIX_CHAR.
85579
85580 2001-08-31  Paul Eggert  <eggert@twinsun.com>
85581
85582         * lib/xstrtol.c (strtoimax): New decl.
85583
85584 2001-08-31  Paul Eggert  <eggert@twinsun.com>
85585
85586         * lib/xgetcwd.c: Don't include pathmax.h.
85587         Include stdlib.h and unistd.h if available.
85588         Include xalloc.h.
85589         (xmalloc, xstrdup, free): Remove decls.
85590         (xgetcwd): Don't assume sizes fit in unsigned.
85591         Check for overflow when computing sizes.
85592         Simplify reallocation code.
85593
85594 2001-08-31  Paul Eggert  <eggert@twinsun.com>
85595
85596         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
85597         a directory's st_size can have an arbitrary value, so the old
85598         usage could waste an arbitrary amount of memory.  All uses
85599         changed.
85600         * lib/savedir.h: Update prototype.
85601
85602 2001-08-31  Paul Eggert  <eggert@twinsun.com>
85603
85604         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
85605
85606         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
85607         old strtoimax.c.
85608
85609         Also, make the following further changes to make this file's
85610         configuration more similar to that of strtol.c:
85611         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
85612         (strtoumax, uintmax_t, strtoull, strtol): Remove.
85613         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
85614         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
85615         changed to signed values.
85616
85617         And make the following changes as well:
85618         Fix copyright notice, as 1999 was missing.
85619         (verify): New macro.
85620         (strtoimax): Check sizes at compile-time, not run-time.
85621         Prefer strtol to strtoll if both work.
85622         (main): Remove; it was not that useful and was a pain to maintain.
85623
85624         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
85625
85626 2001-08-31  Jim Meyering  <meyering@lucent.com>
85627
85628         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
85629         Use an initial, malloc'd, buffer of length 128 rather than
85630         a statically allocated one of length 1024.
85631
85632 2001-08-30  Paul Eggert  <eggert@twinsun.com>
85633
85634         Simplify code, partly by assuming autoconf 2.52 semantics.
85635
85636         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
85637
85638         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
85639         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
85640         All uses removed.
85641         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
85642         Move AC_REQUIRE to next-to-top level, to avoid confusion.
85643         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
85644         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
85645         jm_AC_HEADER_INTTYPES_H.
85646         * m4/jm-macros.m4 (jm_MACROS): Likewise.
85647
85648         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
85649
85650         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
85651         Quote first arg of AC_DEFUN.
85652         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
85653         since they are needed to parse the include file even if we need
85654         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
85655         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
85656         but with opposite signedness.
85657
85658 2001-08-30  Paul Eggert  <eggert@twinsun.com>
85659
85660         Merge 'exclude' changes from tar 1.13.22.
85661         This fixes one or two unlikely storage allocation overflow bugs,
85662         but doesn't change user-visible behavior otherwise.
85663
85664 2001-08-30  Paul Eggert  <eggert@twinsun.com>
85665
85666         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
85667         (jm_PREREQ_EXCLUDE): New macro.
85668
85669 2001-08-30  Paul Eggert  <eggert@twinsun.com>
85670
85671         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
85672         tm to be declared.
85673
85674 2001-08-30  Paul Eggert  <eggert@twinsun.com>
85675
85676         * lib/hash.c: Remove '2001' from copyright notice.
85677
85678 2001-08-30  Paul Eggert  <eggert@twinsun.com>
85679
85680         * lib/full-write.h: New file.
85681         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
85682         * lib/full-write.c: Correct credits, as cccp.c no longer
85683         exists and anyway it was so heavily changed from the old cccp
85684         code as to be unrecognizable.  Include full-write.h.
85685         (full_write): Return size_t, with short writes meaning failure.
85686         All callers changed.  This fixes a bug with large buffers
85687         on 64-bit hosts.
85688         * lib/utime.c: Include full-write.h.
85689
85690 2001-08-30  Paul Eggert  <eggert@twinsun.com>
85691
85692         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
85693         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
85694         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
85695         Include if available.
85696         (<xalloc.h>): Include
85697         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
85698         (verify): New macro.  Use it to verify that EXCLUDE macros do not
85699         collide with FNM macros.
85700         (struct patopts): New struct.
85701         (struct exclude): Use it, as exclude patterns now come with options.
85702         (new_exclude): Support above changes.
85703         (new_exclude, add_exclude_file):
85704         Initial size must now be a power of two to simplify overflow checking.
85705         (free_exclude, fnmatch_no_wildcards): New function.
85706         (excluded_filename): No longer requires options arg, as the options
85707         are determined by add_exclude.  Now returns bool, not int.
85708         (excluded_filename, add_exclude):
85709         Add support for the fancy new exclusion options.
85710         (add_exclude, add_exclude_file): Now takes int options arg.
85711         Check for arithmetic overflow when computing sizes.
85712         (add_exclude_file): xrealloc might modify errno, so don't
85713         realloc until after errno might be used.
85714
85715         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
85716         New macros.
85717         (free_exclude): New decl.
85718         (add_exclude, add_exclude_file): Now takes int options arg.
85719         (excluded_filename): No longer requires options arg, as the options
85720         are determined by add_exclude.  Now returns bool, not int.
85721
85722 2001-08-30  Paul Eggert  <eggert@twinsun.com>
85723
85724         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
85725
85726 2001-08-27  Jim Meyering  <meyering@lucent.com>
85727
85728         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
85729
85730         * lib/version-etc.c (N_): Remove definition.
85731         Revert most of last change.
85732         Instead, simply don't mark the `Copyright...' string for translation.
85733         Based on advice from Paul Eggert.
85734
85735         * lib/strtoxmax.c: Tweak comment.
85736
85737 2001-08-26  Jim Meyering  <meyering@lucent.com>
85738
85739         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
85740
85741         * m4/xstrtoimax.m4: New file.
85742         * m4/xstrtoumax.m4: Add comments explaining why we
85743         AC_REPLACE_FUNCS(strtol).
85744
85745 2001-08-26  Jim Meyering  <meyering@lucent.com>
85746
85747         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
85748         of copyright with `%s' so translators don't get an untranslated
85749         message in 2002.
85750         (COPYRIGHT_YEAR): Define.
85751         (version_etc): Use fprintf rather than fputs.
85752         Suggestion from Ulrich Drepper.
85753
85754         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
85755
85756         * lib/strtoll.c: New file, from GNU libc.
85757         * lib/xstrtoimax.c: New file.
85758
85759         * lib/xstrtol.h: Add xstrtoimax.
85760         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
85761         * lib/strtoimax.c: New file.  Likewise, but first define
85762         STRTOUXMAX_SIGNED.
85763
85764         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
85765         ...
85766         * lib/strtoxmax.c: ... then renamed to this.
85767
85768 2001-08-18  Paul Eggert  <eggert@twinsun.com>
85769
85770         * m4/inttypes.m4: Add AC_PREREQ(2.13).
85771         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
85772         (jm_AC_TYPE_INTMAX_T): New macro.
85773         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
85774
85775         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
85776
85777         * m4/longlong.m4: Renamed from ulonglong.m4.
85778         * m4/inttypes.m4: Renamed from inttypes_h.m4.
85779         * m4/uintmax_t.m4: Removed.
85780
85781 2001-08-13  Paul Eggert  <eggert@twinsun.com>
85782
85783         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
85784         Port to Solaris 8, where 'sed' requires a space after the 'r'
85785         command, and where sh dislikes "$/".  Clean up the spacing a bit.
85786         Redirect output to $tmp just once.
85787
85788 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
85789
85790         * lib/addext.c (<errno.h>): Include.
85791         (errno): Declare if not defined.
85792         (addext): Work correctly when pathconf returns -1 and leaves
85793         errno alone because there is no limit.  Also, work even if
85794         pathconf returns a value greater than SIZE_MAX.
85795
85796 2001-08-12  Jim Meyering  <meyering@lucent.com>
85797
85798         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
85799         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
85800         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
85801         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
85802         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
85803         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
85804         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
85805         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
85806         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
85807         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
85808         utime.m4, utimes.m4, xstrtoumax.m4:
85809         Quote the first argument in each use of AC_DEFUN.
85810
85811 2001-08-12  Jim Meyering  <meyering@lucent.com>
85812
85813         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
85814         Simply `return getcwd (NULL, 0);'.
85815         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
85816         Use 1300 as initial value for length, not PATH_MAX.
85817
85818         * lib/pathmax.h: Clean up cpp syntax.
85819
85820 2001-08-12  Jim Meyering  <meyering@lucent.com>
85821
85822         * lib/gettimeofday.c: New file.
85823         * lib/gtod.h: New file.
85824         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
85825
85826 2001-08-05  Jim Meyering  <meyering@lucent.com>
85827
85828         * m4/jm-macros.m4: Require autoconf-2.52.
85829
85830 2001-08-04  Jim Meyering  <meyering@lucent.com>
85831
85832         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
85833         stmt, to get in sync with glibc.
85834
85835 2001-08-03  Paul Eggert  <eggert@twinsun.com>
85836
85837         The following changes are from gettext 0.10.39 as maintained by
85838         Bruno Haible.
85839
85840         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
85841         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
85842         with inverted sense.  All uses changed.
85843
85844         * lib/mbswidth.c: Don't include <limits.h>.
85845         Include <stdlib.h> and <string.h> unconditionally.
85846         (iswcntrl, mbsinit, ISCNTRL): New macros.
85847         (mbsnwidth): Use K&R style function declarations.
85848         Don't bother checking for MB_LEN_MAX == 1, since the compiler
85849         can optimize it when MB_CUR_MAX == 1.
85850         The width of control characters is zero, not 1.
85851
85852 2001-08-03  Paul Eggert  <eggert@twinsun.com>
85853
85854         The following changes are from gettext 0.10.39 as maintained by
85855         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
85856
85857         * m4/codeset.m4: Upgrade to serial AM1.
85858         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
85859         all uses changed.  Quote first arg of AC_DEFUN.
85860         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
85861
85862         * m4/iconv.m4: Upgrade to serial AM2.
85863         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
85864         Add --with-libconv-prefix.
85865         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
85866         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
85867         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
85868         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
85869         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
85870
85871         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
85872         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
85873         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
85874         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
85875         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
85876         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
85877         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
85878         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
85879         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
85880
85881         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
85882         string.h any more.
85883
85884         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
85885         not the default value.
85886
85887         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
85888         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
85889         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
85890         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
85891         Also check for iswcntrl, used for wcwidth fallback.
85892         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
85893         to Autoconf 2.13.
85894
85895 2001-08-03  Jim Meyering  <meyering@lucent.com>
85896
85897         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
85898         as it was in the original.  Reported by Paul Eggert.
85899
85900 2001-07-16  Jim Meyering  <meyering@lucent.com>
85901
85902         * m4/gettimeofday.m4: New file.
85903         Prompted by a report from Bernhard Baehr.
85904
85905 2001-07-15  Jim Meyering  <meyering@lucent.com>
85906
85907         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
85908         stuff. Now it's in ../Makefile.cfg.
85909
85910 2001-07-15  Jim Meyering  <meyering@lucent.com>
85911
85912         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
85913         (BUILT_SOURCES): Add unlocked-io.h.
85914         (io_functions): Define.
85915         (unlocked-io.h): New rule.
85916         (DISTCLEANFILES): Add unlocked-io.h.
85917         (all-local): Depend on unlocked-io.h, to ensure it is created.
85918
85919         * lib/unlocked-io.hin: New file
85920
85921         * lib/regex.c: Update from glibc.
85922
85923 2001-07-05  Jim Meyering  <meyering@lucent.com>
85924
85925         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
85926         recommendation.
85927         (libfetish_a_SOURCES): Put all .h files here instead.
85928         Remove a thus-exposed (better checks in automake) duplicate and
85929         two unnecessary .h files.
85930
85931 2001-07-04  Jim Meyering  <meyering@lucent.com>
85932
85933         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
85934         that generates jm-glibc-io.m4 so that it doesn't trigger any make
85935         distcheck failure.
85936
85937 2001-07-02  Jim Meyering  <meyering@lucent.com>
85938
85939         The following changes were prompted by suggestions from Bruno Haible.
85940
85941         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
85942         is now generated.
85943         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
85944         definition of EXTRA_DIST.
85945         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
85946         ensure that the generated file is created/updated whenever the list
85947         of $(unlocked_functions) is changed.
85948         (jm-glibc-io.m4): New rule.
85949         (unlocked-io.h): New rule -- currently unused.
85950
85951 2001-06-24  Jim Meyering  <meyering@lucent.com>
85952
85953         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
85954         unmatched right bracket, rather than kludging it with an extra,
85955         falsely-matching quote in a comment.  Patch by Akim Demaille.
85956
85957 2001-06-11  Jim Meyering  <meyering@lucent.com>
85958
85959         * lib/regex.c: Update from GNU libc.
85960
85961 2001-05-27  Jim Meyering  <meyering@lucent.com>
85962
85963         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
85964         Check for ut_type in struct utmp.
85965
85966 2001-05-27  Jim Meyering  <meyering@lucent.com>
85967
85968         * lib/readutmp.h (UT_TYPE): Define.
85969
85970 2001-05-24  Jim Meyering  <meyering@lucent.com>
85971
85972         * lib/argmatch.c: Include "quote.h".
85973         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
85974         quote function.  Reported by Göran Uddeborg.
85975
85976 2001-05-22  Jim Meyering  <meyering@lucent.com>
85977
85978         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
85979         now that we use the package-supplied version unconditionally.
85980         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
85981
85982 2001-05-21  Jim Meyering  <meyering@lucent.com>
85983
85984         * m4/regex.m4: Change a couple backticks to single quotes to avoid
85985         shell syntax errors.
85986
85987 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
85988
85989         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
85990
85991 2001-05-20  Paul Eggert  <eggert@twinsun.com>
85992
85993         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
85994         Don't bother to check library strftime, since
85995         we'll be using our own my_strftime function anyway.
85996         Define my_strftime instead of strftime.
85997
85998 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
85999
86000         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
86001         which is not yet declared.
86002
86003 2001-05-15  Jim Meyering  <meyering@lucent.com>
86004
86005         * m4/regex.m4: Use proper quoting so brackets appear in the test
86006         program.
86007         Reported by, and with help from, Bruno Haible.
86008
86009 2001-05-13  Jim Meyering  <meyering@lucent.com>
86010
86011         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
86012         undefined.
86013
86014 2001-05-11  Paul Eggert  <eggert@twinsun.com>
86015
86016         dirname code cleanup.  base_name now behaves more compatibly
86017         with POSIX basename when given file names that have trailing
86018         slashes, and similarly for dir_name.  Add new primitives
86019         base_len and dir_len.  Put the directory-name-related decls
86020         into dirname.h.
86021
86022         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
86023         * lib/backupfile.c (base_name): Likewise.
86024         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
86025         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
86026         * lib/makepath.c (strip_trailing_slashes): Likewise.
86027         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
86028         ISSLASH): Likewise.
86029         * lib/rename.c (strip_trailing_slashes): Likewise.
86030         * lib/same.c (base_name): Likewise.
86031         * lib/stripslash.c (ISSLASH): Likewise.
86032
86033         * lib/addext.c: Include <dirname.h> after size_t is defined.
86034         * lib/backupfile.c: Likewise.
86035
86036         * lib/addext.c (addext): Use base_len to trim redundant
86037         trailing slashes instead of doing it ourselves.
86038         But do not trim the last slash if it is not redundant.
86039
86040         * lib/backupfile.c (find_backup_file_name,
86041         max_backup_version): Use base_len instead of rolling it ourselves.
86042         Handle the case of "" and (on DOS) "C:" correctly.
86043
86044         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
86045         needed. Include <string.h>, <dirname.h>.
86046         (base_name): Allow file names ending in slashes, other than names
86047         that are all slashes.  In this case, return the basename followed
86048         by the slashes.  This is more general, and can be used in places
86049         where the original base_name purposely had an assertion failure.
86050         (base_len): New function.
86051
86052         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
86053         Do not include <assert.h>; no longer needed.
86054         Include xalloc.h.
86055         (memrchr): Remove decl.
86056         (dir_name_r): Remove.
86057         (dir_len): Renamed from dirlen.  All callers changed.
86058         Rewrite in terms of base_name, for simplicity and consistency.
86059         (dir_name): Never return NULL.  All callers changed.
86060         Do not include <stdlib.h> in test program; no longer needed.
86061         return 0; is fine for test program.
86062
86063         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
86064         New macros.
86065         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
86066
86067         * lib/path-concat.c (path_concat): Use base_len to compute
86068         base length, not strlen; this means we cannot rely on memcpy
86069         to null-terminate.
86070
86071         * lib/same.c (STREQ): Remove.
86072         (same_name): Handle the case where the basename ends in trailing '/'.
86073
86074         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
86075         a slash was stripped.  Do not strip the last slash after a
86076         file system prefix.
86077
86078 2001-05-11  Paul Eggert  <eggert@twinsun.com>
86079
86080         * lib/Makefile.am (libfetish_a_SOURCES):
86081         Add strftime.c, since we now compile it on all hosts.
86082
86083         * lib/strftime.c (my_strftime):
86084         Define to nstrftime if emacs, but only if my_strftime is not defined.
86085         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
86086         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
86087         Add one more extra argument: a nanoseconds value.
86088         All uses changed.
86089         (ns): New macro.
86090         (my_strftime function): Add %N format.
86091         (emacs_strftimeu): Renamed from emacs_strftime,
86092         with extra ut argument.
86093
86094 2001-05-09  Paul Eggert  <eggert@twinsun.com>
86095
86096         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
86097
86098 2001-04-21  Jim Meyering  <meyering@lucent.com>
86099
86100         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
86101         doesn't interfere.
86102
86103 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
86104
86105         * m4/ftruncate.m4: Check for chsize.
86106         Link with ftruncate.o unconditionally if ftruncate is missing.
86107         This was required when cross-compiling to i586-mingw32msvc.
86108
86109 2001-04-08  Jim Meyering  <meyering@lucent.com>
86110
86111         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
86112         recomputed; that's necessary when the offset spans a DST transition.
86113         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
86114
86115 2001-04-02  Jim Meyering  <meyering@lucent.com>
86116
86117         * lib/regex.h, regex.c: Update from GNU libc.
86118
86119 2001-03-24  Jim Meyering  <meyering@lucent.com>
86120
86121         * m4/jm-macros.m4: Require autoconf-2.49d.
86122
86123 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
86124
86125         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
86126
86127 2001-03-19  Paul Eggert  <eggert@twinsun.com>
86128
86129         * lib/version-etc.c (version_etc_copyright): Update to 2001.
86130
86131 2001-03-17  Jim Meyering  <meyering@lucent.com>
86132
86133         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
86134         now that the version in autoconf is equivalent.
86135         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
86136
86137         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
86138         Suggestion from Akim Demaille.
86139
86140         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
86141         (jm_PREREQ_TEMPNAME): New function.
86142
86143 2001-03-16  Paul Eggert  <eggert@twinsun.com>
86144
86145         * lib/tempname.c (uint64_t): Define to uintmax_t if
86146         not defined, and if UINT64_MAX is not defined.
86147         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
86148         Reported by John David Anglin.
86149
86150 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
86151
86152         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
86153         resolve alias if codeset is empty.
86154         * lib/config.charset (BeOS): Use wildcard syntax.
86155
86156 2001-03-13  Jim Meyering  <meyering@lucent.com>
86157
86158         * lib/path-concat.c (path_concat)
86159         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
86160         concatenating e.g., `C:' and `foo'.
86161         From Bruno Haible.
86162
86163 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
86164
86165         * lib/localcharset.c (locale_charset): Don't use
86166         setlocale(LC_CTYPE,NULL). Don't return NULL.
86167         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
86168
86169 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
86170
86171         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
86172         support for DOS/DJGPP.
86173
86174 2001-03-01  Paul Eggert  <eggert@twinsun.com>
86175
86176         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
86177         lacks mkstemp.  Compile our own tempname.c if we compile our own
86178         mkstemp.c, as mkstemp relies on tempname.
86179
86180 2001-03-01  Jim Meyering  <meyering@lucent.com>
86181
86182         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
86183         AH_VERBATIM really does output its argument verbatim.
86184
86185 2001-02-28  Paul Eggert  <eggert@twinsun.com>
86186
86187         * lib/Makefile.am (libfetish_a_SOURCES):
86188         Add dup-safer.c, fopen-safer.c.
86189         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
86190
86191         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
86192         * lib/unistd-safer.h: New files.
86193
86194 2001-02-25  Paul Eggert  <eggert@twinsun.com>
86195
86196         The mkstemp replacement is taken from glibc 2.2.2, with some
86197         portability fixes for use outside glibc, as follows:
86198
86199         * lib/tempname.c (struct_stat64): New macro.
86200         (direxists, __gen_tempname): Use it.
86201         This avoids a portability problem with Solaris 8.
86202
86203         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
86204         (<stddef.h>, <stdint.h>, <string.h>):
86205         Include only if STDC_HEADERS || _LIBC.
86206         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
86207         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
86208         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
86209         (__set_errno): Define this macro if <errno.h> doesn't.
86210         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
86211         Define these macros if <stdio.h> doesn't.
86212         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
86213         Define these macros if <sys/stat.h>
86214         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
86215         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
86216         __xstat64): Define if not _LIBC.
86217         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
86218         (__gen_tempname): Invoke gettimeofday only if
86219         HAVE_GETTIMEOFDAY || _LIBC;
86220         otherwise, fall back on plain "time".
86221         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
86222
86223         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
86224
86225         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
86226
86227 2001-02-18  Paul Eggert  <eggert@twinsun.com>
86228
86229         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
86230
86231 2001-02-17  Paul Eggert  <eggert@twinsun.com>
86232
86233         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
86234         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
86235         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
86236         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
86237
86238 2001-02-17  Paul Eggert  <eggert@twinsun.com>
86239
86240         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
86241         Remove workaround macros for hosts that have mbrtowc but not
86242         mbstate_t, as we now insist on proper declarations for both
86243         before using mbrtowc.
86244
86245 2001-02-17  Jim Meyering  <meyering@lucent.com>
86246
86247         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
86248         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
86249         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
86250         UnixWare 7.1.1.
86251
86252         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
86253         rather than AC_CACHE_VAL.
86254
86255 2001-02-17  Jim Meyering  <meyering@lucent.com>
86256
86257         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
86258         around included file name.
86259
86260         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
86261
86262         * lib/strftime.c: Update from GNU libc (the only changes were to
86263         comments).
86264
86265 2001-02-17  Jim Meyering  <meyering@lucent.com>
86266
86267         * lib/regex.c: Update from libc.
86268
86269 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
86270
86271         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
86272         clash.
86273
86274 2001-02-16  Paul Eggert  <eggert@twinsun.com>
86275
86276         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
86277         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
86278         Reported by Mark Hounschell via Paul Eggert.
86279
86280 2001-02-07  Jim Meyering  <meyering@lucent.com>
86281
86282         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
86283
86284 2001-02-05  Jim Meyering  <meyering@lucent.com>
86285
86286         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
86287         it includes the patch required for `large file' support with at least
86288         HP-UX's 10.20 /bin/cc.
86289
86290 2001-02-03  Jim Meyering  <meyering@lucent.com>
86291
86292         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
86293         AS_IF, now that it works once again (mysteriously).
86294         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
86295
86296 2001-01-30  Jim Meyering  <meyering@lucent.com>
86297
86298         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
86299         * m4/chown.m4: Rename conftestchown to conftest.chown.
86300         * m4/rename.m4: s/conftestdir/conftest.d1/ and
86301         s/conftestdir2/conftest.d2/.
86302         * m4/utimes.m4: s/conftestdata/conftest.data/
86303         Inspired by Pavel Roskin's change in autoconf.
86304
86305 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
86306
86307         * lib/config.charset: Update for FreeBSD 4.2.
86308
86309 2001-01-27  Jim Meyering  <meyering@lucent.com>
86310
86311         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
86312         a use of AS_IF.
86313         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
86314
86315 2001-01-26  Jim Meyering  <meyering@lucent.com>
86316
86317         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
86318         quotearg.c includes it.
86319
86320 2001-01-26  Jim Meyering  <meyering@lucent.com>
86321
86322         * lib/quotearg.c: Include stddef.h.
86323         * lib/quote.c: Include stddef.h.
86324         Reported by Axel Kittenberger.
86325
86326         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
86327         line in double quotes so that it evokes a better diagnostic.
86328         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
86329         Reported by Axel Kittenberger.
86330
86331 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
86332
86333         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
86334         as if it was a `charset'.
86335
86336 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
86337
86338         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
86339         has const.
86340
86341 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
86342
86343         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
86344         to avoid a warning.  Add back 'const' to inptr.
86345
86346 2001-01-20  Jim Meyering  <meyering@lucent.com>
86347
86348         Be sure that headers are checked before used in code compiled
86349         for the type checks.
86350         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
86351         In place of that, invoke jm_CHECK_ALL_TYPES.
86352         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
86353         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
86354         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
86355         The check for ssize_t was mistakenly run before the test for unistd.h.
86356
86357         The configure-time check for stdbool.h was missing.
86358         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
86359         (jm_PREREQ_HASH): New function.
86360
86361 2001-01-17  Jim Meyering  <meyering@lucent.com>
86362
86363         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
86364         for autoconf-2.49c.
86365         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
86366
86367 2001-01-16  Jim Meyering  <meyering@lucent.com>
86368
86369         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
86370         From Bruno Haible.
86371
86372 2001-01-14  Jim Meyering  <meyering@lucent.com>
86373
86374         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
86375         foo and bar.  Create conftestdir/ in the script, not in the C code.
86376         Remove directories in the script, not in the C code.
86377         Remove conftestdir{,2} before trying to create the directory.
86378         Make the entire configure script fail if the mkdir fails.
86379
86380 2001-01-14  Jim Meyering  <meyering@lucent.com>
86381
86382         * lib/rename.c: New file.  From Volker Borchert.
86383         Include stdlib.h, string.h or strings.h, and xalloc.h.
86384         Use strip_trailing_slashes rather than open-coding it.
86385
86386 2001-01-03  Paul Eggert  <eggert@twinsun.com>
86387
86388         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
86389
86390 2001-01-03  Jim Meyering  <meyering@lucent.com>
86391
86392         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
86393         of local `inptr' to avoid warning with some system declarations of
86394         iconv.
86395
86396 2001-01-02  Volker Borchert  <bt@teknon.de>
86397
86398         * m4/rename.m4: New file.
86399         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
86400
86401 2001-01-01  Jim Meyering  <meyering@lucent.com>
86402
86403         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
86404         even on systems with utmpx.h.  It's necessary for the declaration of
86405         utmp's ut_user member.  Reported by Andreas Jaeger.
86406
86407         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
86408         available. They are required for the declarations of getgrgid and
86409         getpwuid resp.
86410         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
86411         Reported by Andreas Jaeger.
86412
86413 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
86414
86415         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
86416         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
86417         so `make install' also works in VPATH builds.
86418
86419 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
86420
86421         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
86422         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
86423         can be used in subdirectories.
86424
86425 2000-12-29  Paul Eggert  <eggert@twinsun.com>
86426
86427         * lib/modechange.c: Do not assume that mode_t uses the
86428         traditional octal encoding.  E.g. "chmod 1 FOO" should set
86429         the other-execute bit of FOO even if S_IXOTH != 1.
86430
86431         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
86432         WOTH, XOTH, ALLM): New macros.
86433         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
86434          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
86435         Use them.
86436         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
86437         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
86438         (mode_compile):
86439         No need to use uintmax_t; unsigned long is long enough.
86440         Don't bother to get suffix since we don't use it.
86441
86442 2000-12-26  Jim Meyering  <meyering@lucent.com>
86443
86444         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
86445         better with autoheader.
86446
86447 2000-12-24  Jim Meyering  <meyering@lucent.com>
86448
86449         * lib/hash.c (is_prime): Return explicit boolean values.
86450         (hash_get_first): Return NULL to appease Irix5.6's 89.
86451         Reported by Nelson Beebe.
86452
86453 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
86454
86455         * lib/localcharset.c (locale_charset): Add support for Win32.
86456
86457 2000-12-18  Paul Eggert  <eggert@twinsun.com>
86458
86459         * lib/physmem.h, lib/physmem.c: New files.
86460
86461         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
86462         (noinst_HEADERS): Add physmem.h.
86463
86464         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
86465         't' for compatibility with Solaris 8 sort.
86466
86467 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
86468
86469         * lib/config.charset: Add support for BeOS.
86470
86471 2000-12-17  Jim Meyering  <meyering@lucent.com>
86472
86473         * m4/dos.m4 (jm_AC_DOS): New file and macro.
86474         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
86475
86476 2000-12-16  Jim Meyering  <meyering@lucent.com>
86477
86478         This bug had a serious impact on chown: `chown N:M FILE' (for integer
86479         N and M) would have treated it like `chown N:N FILE'.
86480
86481         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
86482
86483 2000-12-16  Jim Meyering  <meyering@lucent.com>
86484
86485         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
86486         SHELLS_FILE to a file name that's useful on djgpp systems.
86487         Include stdlib.h.
86488         (ADDITIONAL_DEFAULT_SHELLS): Define.
86489         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
86490         Based mostly on a patch from Prashant TR.
86491
86492 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
86493
86494         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
86495         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
86496         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
86497
86498 2000-12-08  Andreas Schwab  <schwab@suse.de>
86499
86500         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
86501         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
86502
86503 2000-12-07  Jim Meyering  <meyering@lucent.com>
86504
86505         * lib/stripslash.c (ISSLASH): Define.
86506         (strip_trailing_slashes): Use ISSLASH rather than comparing against
86507         `/'.
86508         From Prashant TR.
86509
86510         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
86511         (dir_name_r): Declare this function as static.
86512         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
86513         manifest itself on a name containing a mix of slashes and
86514         backslashes.
86515         Make this function work with names starting with a DOS-style
86516         drive letter and colon prefix.
86517         (dir_name): Append `.' if necessary.
86518         Based mostly on patches from Prashant TR and Eli Zaretskii.
86519
86520         * lib/dirname.h (dir_name_r): Remove prototype.
86521
86522 2000-12-06  Paul Eggert  <eggert@twinsun.com>
86523
86524         * m4/off_t-format.m4: Remove this file.
86525         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
86526
86527 2000-12-06  Jim Meyering  <meyering@lucent.com>
86528
86529         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
86530         replacement strtoull, we may well need the replacement strtoul, too.
86531         Check for declarations of strtoul and strtoull.
86532         Check for strtol.  Mainly as a cue to cause automake to include
86533         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
86534         Check for limits.h -- strtol.c needs it.
86535
86536 2000-12-05  Jim Meyering  <meyering@lucent.com>
86537
86538         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
86539
86540 2000-12-04  Jim Meyering  <meyering@lucent.com>
86541
86542         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
86543         Also include memory.h, stdlib.h, unistd.h if appropriate.
86544         Reported by Andreas Jaeger (conflicting declaration of malloc).
86545
86546 2000-12-02  Jim Meyering  <meyering@lucent.com>
86547
86548         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
86549         * m4/jm-macros.m4 (jm_MACROS): require it.
86550
86551 2000-12-02  Jim Meyering  <meyering@lucent.com>
86552
86553         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
86554
86555 2000-12-01  Paul Eggert  <eggert@twinsun.com>
86556
86557         * lib/memrchr.c: Include <config.h> before any system include file.
86558
86559 2000-11-30  Jim Meyering  <meyering@lucent.com>
86560
86561         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
86562
86563 2000-11-30  Jim Meyering  <meyering@lucent.com>
86564
86565         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
86566
86567 2000-11-29  Paul Eggert  <eggert@twinsun.com>
86568
86569         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
86570
86571 2000-11-26  Jim Meyering  <meyering@lucent.com>
86572
86573         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
86574
86575 2000-11-22  Paul Eggert  <eggert@twinsun.com>
86576
86577         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
86578         size of (size_t) -1; it's not portable.
86579
86580 2000-11-17  Jim Meyering  <meyering@lucent.com>
86581
86582         * lib/strstr.c: Update from GNU libc.
86583
86584 2000-11-17  Akim Demaille  <akim@epita.fr>
86585
86586         * lib/obstack.h: Formatting changes.
86587         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
86588         prevent type checking.
86589         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
86590         cast the value to (void *): assigning a `foo *' to a `void *'
86591         variable is valid.
86592         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
86593
86594 2000-11-16  Jim Meyering  <meyering@lucent.com>
86595
86596         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
86597
86598 2000-11-11  Jim Meyering  <meyering@lucent.com>
86599
86600         * lib/error.c: Add a couple #includes, merging from GNU libc version.
86601
86602 2000-11-10  Jim Meyering  <meyering@lucent.com>
86603
86604         * lib/obstack.h: Update from GNU libc.
86605         * lib/obstack.c: Likewise.
86606
86607 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
86608
86609         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
86610
86611 2000-11-06  Paul Eggert  <eggert@twinsun.com>
86612
86613         * lib/getusershell.c (setusershell): Use rewind rather than
86614         fseek/fseeko, to avoid configuration hassles with fseeko.
86615         Don't bother opening SHELLS_FILE if shellstream is NULL;
86616         it's not necessary.
86617
86618 2000-11-05  Jim Meyering  <meyering@lucent.com>
86619
86620         * lib/makepath.h (make_dir): Declare.
86621         * lib/makepath.c (make_dir): Remove `static' attribute.
86622         Tweak a comment.
86623
86624 2000-11-04  Jim Meyering  <meyering@lucent.com>
86625
86626         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
86627
86628 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
86629
86630         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
86631         last one in a bucket, advance to the next bucket.
86632
86633 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
86634
86635         * lib/fnmatch.c: Do not comment out all the code if we are using
86636         the GNU C library, because in some cases we are replacing buggy
86637         code in the GNU C library itself.
86638
86639 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
86640
86641         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
86642         (regex_compile): Catch bogus \(\1\).
86643
86644 2000-10-30  Paul Eggert  <eggert@twinsun.com>
86645
86646         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
86647         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
86648         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
86649
86650 2000-10-30  Paul Eggert  <eggert@twinsun.com>
86651
86652         * lib/error.h, getline.h, modechange.h:
86653         Remove "2000" from Copyright line, as the file hasn't been
86654         changed this year other than in the copyright notice.
86655
86656         * lib/xalloc.h: Add "2000" to Copyright line, as this file
86657         was changed this year.
86658
86659 2000-10-29  Jim Meyering  <meyering@lucent.com>
86660
86661         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
86662         renaming.
86663         * m4/ls-mntd-fs.m4: Likewise
86664
86665 2000-10-29  Jim Meyering  <meyering@lucent.com>
86666
86667         * lib/xstat.in: Fix grammar in comment.
86668
86669 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
86670
86671         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
86672         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
86673         doesn't define __restrict_arr.
86674
86675 2000-10-28  Jim Meyering  <meyering@lucent.com>
86676
86677         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
86678         (jm_PREREQ_MEMCHR): New function.
86679
86680 2000-10-28  Jim Meyering  <meyering@lucent.com>
86681
86682         * lib/memchr.c: Update from libc.
86683         Adjust for portability:
86684         [HAVE_STDLIB_H]: Include stdlib.h.
86685         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
86686         Undef __memchr, too.
86687         [!weak_alias]: Define __memchr to memchr.
86688
86689         * lib/regex.c: Update from libc.
86690         * lib/regex.h: Likewise.
86691         * lib/getopt1.c: Likewise.
86692         * lib/memcmp.c: Likewise.
86693
86694         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
86695         Avoid using fseek, when possible -- it's broken by design.
86696         Patch by Ulrich Drepper.
86697
86698 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
86699
86700         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
86701         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
86702         Giving in to popular pressure to shut up the compiler with casts.
86703
86704 2000-10-26  Jim Meyering  <meyering@lucent.com>
86705
86706         * lib/strftime.c: Update from libc.
86707
86708 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
86709
86710         * regex.c: More `unsigned char' -> `re_char' changes.
86711         Also change several `int' into `re_wchar_t'.
86712         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
86713         (PUSH_FAILURE_POINTER): Don't cast any more.
86714         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
86715         We want GCC to complain, since this piece of code makes
86716         re_match non-reentrant, which *should* be fixed.
86717         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
86718         (EXTEND_BUFFER): Use RETALLOC.
86719         (SET_LIST_BIT): Don't cast.
86720         (re_wchar_t): New type.
86721         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
86722         that those two functions will always properly return.
86723         (IMMEDIATE_QUIT_CHECK): Cast to void.
86724         (analyse_first): Use recursion rather than an explicit stack.
86725         (re_compile_fastmap): Can't fail anymore.
86726         (re_search_2): Don't check re_compile_fastmap for failure.
86727         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
86728         Now also sets the new value (passed in a new argument).
86729         (re_match_2_internal): Use it.
86730         Also, use a new var `reg' of type size_t when looping through regs
86731         rather than reuse the inappropriate `mcnt'.
86732
86733 2000-10-25  Jim Meyering  <meyering@lucent.com>
86734
86735         * lib/obstack.c: Update from libc.
86736
86737 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
86738
86739         * regex.c (regex_compile): Change the way of handling a range from
86740         a char less than 256 to a char not less than 256.
86741
86742 2000-10-24  Andrew Innes  <andrewi@gnu.org>
86743
86744         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
86745         NT-Emacs only.
86746         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
86747         so that re_search functions only quit when callers expect them to.
86748
86749 2000-10-23  Jim Meyering  <meyering@lucent.com>
86750
86751         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
86752         wrong.  That set_locale call must not have any side effects.
86753         From Paul Eggert.
86754
86755 2000-10-22  Jim Meyering  <meyering@lucent.com>
86756
86757         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
86758         [CYCLIC]: Remove now-unused definition.
86759
86760         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
86761         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
86762         Suggestion from Ulrich Drepper.
86763
86764 2000-10-21  Jim Meyering  <meyering@lucent.com>
86765
86766         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
86767         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
86768         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
86769
86770 2000-10-21  Jim Meyering  <meyering@lucent.com>
86771
86772         * lib/dirname.c (memrchr): Declare if necessary.
86773         (dir_name): Remove the restriction that there be no
86774         trailing slashes.  Now, this code skips past them, effectively
86775         ignoring them.
86776         [TEST_DIRNAME] (main): New unit tests.
86777
86778         * lib/memrchr.c: New file from GNU libc.
86779         Undef __memrchr, too.
86780         [!weak_alias]: Define __memrchr to memrchr.
86781         Guard weak_alias use with `#ifdef weak_alias'.
86782
86783 2000-10-21  Jim Meyering  <meyering@lucent.com>
86784
86785         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
86786         (dir_name): Use dir_name_r.
86787         * lib/dirname.h (dir_name_r): Declare it.
86788
86789 2000-10-17  Jim Meyering  <meyering@lucent.com>
86790
86791         * lib/quote.h (PARAMS): Define and use.
86792         Reported by Akim Demaille.
86793
86794         * lib/getopt.c: Update from libc.
86795
86796 2000-10-16  Jim Meyering  <meyering@lucent.com>
86797
86798         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
86799         setlocale.
86800         From Jan Fedak.
86801
86802 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
86803
86804         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
86805
86806 2000-09-25  Jim Meyering  <meyering@lucent.com>
86807
86808         * lib/md5.h (rol): Define (from GnuPG).
86809
86810         * lib/sha.c: Give credit (GnuPG) where due.
86811         (M): Use rol rather than open-coding it.
86812         Add a FIXME comment.
86813
86814 2000-09-21  Jim Meyering  <meyering@lucent.com>
86815
86816         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
86817         Reported by Michael Stone.
86818
86819 2000-09-20  Jim Meyering  <meyering@lucent.com>
86820
86821         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
86822         (noinst_HEADERS): Add sha.h.
86823         Based on code from Scott G. Miller and from GnuPG.
86824
86825 2000-09-18  Jim Meyering  <meyering@lucent.com>
86826
86827         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
86828         LIBS. Otherwise, everyone ends up linking with -lelf for some
86829         configurations.
86830         Reported by Mike Stone.
86831
86832 2000-09-15  Jim Meyering  <meyering@lucent.com>
86833
86834         * lib/regex.c: Update from libc.
86835
86836 2000-09-10  Jim Meyering  <meyering@lucent.com>
86837
86838         * lib/getopt.c (_getopt_internal): Update from glibc.
86839
86840 2000-09-09  Jim Meyering  <meyering@lucent.com>
86841
86842         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
86843         think it should be used as a general replacement for isascii.
86844         * lib/fnmatch.c: Likewise.
86845         * lib/mbswidth.c: Likewise
86846         * lib/regex.c: Likewise.
86847
86848         Don't use atoi.
86849         * lib/userspec.c: Include sys/param.h and limits.h.
86850         Include xstrtol.h.
86851         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
86852         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
86853         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
86854         UID, GID.  Check range.
86855
86856 2000-09-06  Jim Meyering  <meyering@lucent.com>
86857
86858         * lib/getopt.c (_getopt_internal): Update from glibc.
86859
86860 2000-08-30  Jim Meyering  <meyering@lucent.com>
86861
86862         * lib/strftime.c: Merge in changes from GNU libc.
86863
86864 2000-08-26  Jim Meyering  <meyering@lucent.com>
86865
86866         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
86867         * m4/fpending.m4: New file.
86868
86869 2000-08-26  Jim Meyering  <meyering@lucent.com>
86870
86871         * lib/closeout.c: Include "__fpending.h".
86872         (close_stdout_status): Return right away if there's nothing to flush.
86873
86874         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
86875         * lib/__fpending.c: New file.
86876         * lib/__fpending.h: New file.
86877
86878 2000-08-20  Jim Meyering  <meyering@lucent.com>
86879
86880         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
86881         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
86882         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
86883
86884 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
86885
86886         Improve fileutils installation on systems where running
86887         programs (like install) can't be unlinked.
86888         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
86889         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
86890
86891 2000-08-07  Paul Eggert  <eggert@twinsun.com>
86892
86893         Standardize on "memory exhausted" instead of "Memory exhausted"
86894         or "virtual memory exhausted".
86895         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
86896         "virtual memory exhausted".
86897         * lib/same.c (same_name): Invoke xalloc_die instead of printing
86898         our own message.
86899         * lib/userspec.c (parse_user_spec): Likewise.
86900         * lib/bumpalloc.h: comment fix
86901         * lib/same.c, userspec.c: Include xalloc.h.
86902
86903         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
86904         not char *const and pointing to a constant array.
86905         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
86906         (xrealloc): Comment fix.
86907
86908         * lib/userspec.c (parse_user_spec):
86909         Don't translate a message until just before returning,
86910         to avoid unnecessary translation.
86911
86912 2000-08-07  Jim Meyering  <meyering@lucent.com>
86913
86914         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
86915         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
86916         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
86917         getgroups.c, gethostname.c, getopt.h, group-member.c,
86918         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
86919         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
86920         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
86921         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
86922         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
86923         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
86924         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
86925         yesno.c: Back out Copyright date changes for each file with no change
86926         this year.  This eases coordination with other programs using the same
86927         source code modules.  From Paul Eggert.
86928
86929 2000-08-06  Paul Eggert  <eggert@twinsun.com>
86930
86931         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
86932         not char, for compatibility with glibc 2.1.3 strftime.c.
86933
86934 2000-08-03  Greg McGary  <greg@mcgary.org>
86935
86936         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
86937         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
86938         (EXTEND_BUFFER): Use them.
86939
86940 2000-08-01  Jim Meyering  <meyering@lucent.com>
86941
86942         * lib/dirname.c (ISSLASH): Define.
86943         (BACKSLASH_IS_PATH_SEPARATOR): Define.
86944         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
86945         both `\' and `/' may be use as path separators.
86946         Based on a patch from Prashant TR.
86947
86948 2000-07-31  Paul Eggert  <eggert@twinsun.com>
86949
86950         * lib/quotearg.c (quotearg_n_options): Don't make the initial
86951         slot vector a constant, since it might get modified.
86952
86953 2000-07-31  Jim Meyering  <meyering@lucent.com>
86954
86955         * lib/xmalloc.c: Use `virtual memory exhausted', not
86956         `Memory exhausted'.
86957         * lib/obstack.c (print_and_abort): Likewise.
86958
86959 2000-07-30  Paul Eggert  <eggert@twinsun.com>
86960
86961         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
86962         buffer, so that the caller can always quote one small
86963         component of a "memory exhausted" message in slot 0.
86964         From a suggestion by Jim Meyering.
86965
86966 2000-07-30  Jim Meyering  <meyering@lucent.com>
86967
86968         * lib/makepath.c (make_path): Quote the other instance, too.
86969
86970         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
86971         (STATIC_BUF_SIZE): Define.
86972         (quotearg_n_options): Use only statically allocated storage when
86973         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
86974         than STATIC_BUF_SIZE.
86975
86976 2000-07-29  Jim Meyering  <meyering@lucent.com>
86977
86978         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
86979         * lib/dirname.c (dir_name): Likewise.
86980
86981         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
86982         `/'.
86983
86984         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
86985         (dir_name): Assert that there are no trailing slashes.
86986
86987 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
86988
86989         * lib/mbswidth.h (mbswidth): Add a flags argument.
86990         (mbswidth): New declaration.
86991         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
86992         * lib/mbswidth.c (mbswidth): Add a flags argument.
86993         (mbsnwidth): New function.
86994
86995 2000-07-24  Jim Meyering  <meyering@lucent.com>
86996
86997         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
86998
86999 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87000
87001         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
87002
87003 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87004
87005         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
87006         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
87007         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
87008         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
87009         invoke multibyte primitives.
87010
87011 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87012
87013         * lib/quotearg.c:
87014         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
87015         so that mbstate_t is always defined.
87016
87017         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
87018         be 1 in at least one GCC installation, and this configuration
87019         error is likely to be common.  Ignoring MB_LEN_MAX hurts
87020         performance on hosts that have mbrtowc but have only unibyte
87021         locales, but I assume these hosts are rare.
87022
87023 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87024
87025         * lib/mbswidth.c (_XOPEN_SOURCE):
87026         Don't define; this causes problems on Solaris 7.
87027         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
87028
87029 2000-07-23  Jim Meyering  <meyering@lucent.com>
87030
87031         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
87032         too: getgrgid, getpwuid, getuid.
87033
87034 2000-07-23  Jim Meyering  <meyering@lucent.com>
87035
87036         * lib/basename.c (base_name): Add an assertion.
87037
87038 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
87039
87040         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
87041         shadow its mbsinit function.
87042
87043 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
87044
87045         * lib/mbswidth.h: New file.
87046         * lib/mbswidth.c: New file.
87047         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
87048         (noinst_HEADERS): Add mbswidth.h.
87049
87050 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
87051
87052         * lib/config.charset: Add support for FreeBSD. Improve support for
87053         HP-UX and IRIX 6.
87054
87055 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
87056
87057         * m4/mbswidth.m4: New file.
87058         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
87059
87060 2000-07-15  Jim Meyering  <meyering@lucent.com>
87061
87062         * lib/makepath.c: Include quote.h.
87063         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
87064         corresponding argument in a `quote (...)' call.
87065         Give better diagnostics.
87066
87067         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
87068         (noinst_HEADERS): Add quote.h.
87069
87070         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
87071         from tar's src/misc.c.
87072         * lib/quote.h: New file.  Prototypes for same.
87073
87074 2000-07-14  Paul Eggert  <eggert@twinsun.com>
87075
87076         From a suggestion by Bruno Haible.
87077         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
87078         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
87079         to decide whether to define the BeOS workaround macro;
87080         this adjusts to the change to AC_MBSTATE_T.
87081
87082 2000-07-14  Jim Meyering  <meyering@lucent.com>
87083
87084         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
87085         jm_AC_TYPE_UINTMAX_T.
87086
87087 2000-07-13  Paul Eggert  <eggert@twinsun.com>
87088
87089         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
87090
87091         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
87092         quotearg_buffer_restyled): Add support for
87093         clocale_quoting_style.  Undo previous change to
87094         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
87095         and "{RIGHT QUOTATION MARK}" msgids.
87096
87097 2000-07-10  Paul Eggert  <eggert@twinsun.com>
87098
87099         From a suggestion by Bruno Haible.
87100         * m4/mbstate_t.m4 (AC_MBSTATE_T):
87101         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
87102         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
87103         and mbstate_t, to a single-part test that simply defines mbstate_t.
87104         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
87105         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
87106
87107 2000-07-10  Jim Meyering  <meyering@lucent.com>
87108
87109         * m4/strerror_r.m4: Mirror the correction made in autoconf.
87110
87111         * m4/gnu-source.m4: Output to confdefs.h directly.
87112         Suggestion from Akim Demaille.
87113
87114 2000-07-09  Paul Eggert  <eggert@twinsun.com>
87115
87116         The old behavior of quoting `like this' doesn't look good with
87117         newer, ISO-style fonts.  See:
87118         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
87119
87120         Instead, quote "like this" by default.  Let the translator
87121         tailor the locale-specific quoting behavior by providing
87122         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
87123
87124         * lib/quotearg.c (N_): New macro.
87125         (gettext_default): New function.
87126         (quotearg_buffer_restyled): Use
87127         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
87128         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
87129
87130 2000-07-09  Jim Meyering  <meyering@lucent.com>
87131
87132         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
87133         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
87134
87135         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
87136         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
87137
87138 2000-07-09  Jim Meyering  <meyering@lucent.com>
87139
87140         * lib/Most files: Update copyright dates to include 2000.
87141
87142 2000-07-08  Jim Meyering  <meyering@lucent.com>
87143
87144         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
87145         if not defined.
87146         (xgethostname): Remove now-unnecessary #ifdef.
87147         Move declaration of `err' into loop where it's used.
87148
87149 2000-07-05  Paul Eggert  <eggert@twinsun.com>
87150         and Bruno Haible  <haible@clisp.cons.org>
87151
87152         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
87153         only if the test for an object-type mbstate_t fails.  This
87154         prevents us from mistakenly reporting that mbstate_t is a
87155         system object type after we "#define mbstate_t int" to work
87156         around its lack.
87157
87158 2000-07-05  Paul Eggert  <eggert@twinsun.com>
87159         and Bruno Haible  <haible@clisp.cons.org>
87160
87161         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
87162
87163 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
87164
87165         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
87166         to strerror_r.
87167         Include <ctype.h> for use of isalpha.
87168
87169 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
87170
87171         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
87172         by allocating a larger buffer. Test the gethostname return value for
87173         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
87174         returns an error and ENAMETOOLONG isn't defined.
87175
87176 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
87177
87178         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
87179         dimension.
87180
87181 2000-07-04  Jim Meyering  <meyering@lucent.com>
87182
87183         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
87184         of the deprecated AC_CHECKING.
87185
87186 2000-07-04  Jim Meyering  <meyering@lucent.com>
87187
87188         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
87189         Reported by Bruno Haible.
87190
87191 2000-07-04  Jim Meyering  <meyering@lucent.com>
87192
87193         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
87194         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
87195         lacks mbrtowc.
87196
87197 2000-07-03  Paul Eggert  <eggert@twinsun.com>
87198
87199         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
87200         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
87201
87202 2000-07-03  Paul Eggert  <eggert@twinsun.com>
87203         and Bruno Haible  <haible@clisp.cons.org>
87204
87205         * lib/quotearg.c (mbrtowc):
87206         Assign to *pwc, and return 1 only if result is nonzero.
87207         (iswprint): Use ISPRINT when substituting our own mbrtowc.
87208
87209 2000-07-03  Jim Meyering  <meyering@lucent.com>
87210
87211         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
87212
87213 2000-07-03  Jim Meyering  <meyering@lucent.com>
87214
87215         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
87216         This is necessary to get a definition of e.g., UTMP_FILE on
87217         HP-UX 10.20.
87218         From Bob Proulx.
87219
87220 2000-07-02  Jim Meyering  <meyering@lucent.com>
87221
87222         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
87223
87224         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
87225         AC_LIBOBJ(function_name).
87226         * m4/chown.m4: Likewise.
87227         * m4/fnmatch.m4: Likewise.
87228         * m4/ftruncate.m4: Likewise.
87229         * m4/getgroups.m4: Likewise.
87230         * m4/getline.m4: Likewise.
87231         * m4/group-member.m4: Likewise.
87232         * m4/jm-macros.m4: Likewise.
87233         * m4/lstat.m4: Likewise.
87234         * m4/malloc.m4: Likewise.
87235         * m4/memcmp.m4: Likewise.
87236         * m4/nanosleep.m4: Likewise.
87237         * m4/putenv.m4: Likewise.
87238         * m4/realloc.m4: Likewise.
87239         * m4/regex.m4: Likewise.
87240         * m4/stat.m4: Likewise.
87241         * m4/strftime.m4: Likewise.
87242
87243 2000-07-02  Jim Meyering  <meyering@lucent.com>
87244
87245         * lib/quotearg.c (mbstate_t): Don't define here.
87246
87247 2000-07-02  Jim Meyering  <meyering@lucent.com>
87248
87249         * lib/nanosleep.c (SIGCONT): Define if not already defined.
87250
87251 2000-07-01  Jim Meyering  <meyering@lucent.com>
87252
87253         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
87254
87255 2000-07-01  Jim Meyering  <meyering@lucent.com>
87256
87257         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
87258         problem.
87259
87260 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
87261
87262         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
87263         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
87264
87265 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
87266
87267         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
87268         per change in ../m4/ls-mntd-fs.m4.
87269         (read_filesystem_list): Ignore symbolic links.
87270
87271 2000-06-29  Jim Meyering  <meyering@lucent.com>
87272
87273         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
87274         for declaration of strcmp.
87275
87276         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
87277
87278         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
87279         Avoid warning by casting result to `char *' to remove `const'.
87280
87281 2000-06-28  Jim Meyering  <meyering@lucent.com>
87282
87283         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
87284         included by quotearg.c, for which we perform this test.  From
87285         Bruno Haible.
87286
87287 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
87288
87289         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
87290         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
87291         <utmpx.h> exists, put readutmp.o into LIBOBJS.
87292
87293 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
87294
87295         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
87296
87297 2000-06-26  Paul Eggert  <eggert@twinsun.com>
87298
87299         savedir now sets errno on failure and invokes xmalloc to get memory.
87300         Fix a couple of other minor bugs while we're at it.
87301
87302         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
87303         (NAMLEN): Remove macro.
87304         (malloc, realloc): Remove decls.
87305         (stpcpy): Likewise.
87306         ("xalloc.h"): Include.
87307         (NAME_SIZE_DEFAULT): New macro.
87308         (savedir): Use xmalloc / xrealloc to allocate memory.
87309         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
87310         Skip "" directory entries.
87311         Use strlen to calculate directory entry length, since the old method
87312         is rarely used these days and isn't worth supporting.
87313         Don't use a pointer after freeing it.
87314         Check for integer overflow when calculating allocation size.
87315         Use memcpy to copy entries, instead of stpcpy.
87316         Set errno properly when returning NULL.
87317         Check for readdir error.
87318
87319 2000-06-26  Jim Meyering  <meyering@lucent.com>
87320
87321         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
87322
87323 2000-06-25  Jim Meyering  <meyering@lucent.com>
87324
87325         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
87326         Linux header bug when _XOPEN_SOURCE is defined to 500.
87327
87328 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
87329
87330         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
87331         deficiency.
87332
87333 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
87334
87335         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
87336         Include xalloc.h.
87337         Don't include <stdlib.h>.  Don't declare malloc, realloc.
87338
87339 2000-06-24  Jim Meyering  <meyering@lucent.com>
87340
87341         * m4/strerror_r.m4: Revive this file -- to try out an experimental
87342         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
87343         for which strerror does return char*, but which lacks a conveniently
87344         accessible declaration of the function.  If the compile-test says
87345         strerror_r doesn't work, then resort to a `run'-test that works on
87346         BeOS and segfaults on DEC Unix.
87347
87348 2000-06-24  Jim Meyering  <meyering@lucent.com>
87349
87350         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
87351
87352 2000-06-23  Paul Eggert  <eggert@twinsun.com>
87353
87354         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
87355         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
87356
87357 2000-06-23  Paul Eggert  <eggert@twinsun.com>
87358
87359         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
87360         (mbrtowc, mbstate_t): Define substitutes if
87361         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
87362         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
87363         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
87364
87365 2000-06-23  Jim Meyering  <meyering@lucent.com>
87366
87367         * m4/afs.m4: Add missing AC_MSG_RESULT.
87368         Reported by Bruno Haible.
87369
87370         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
87371         Suggestion from Bruno Haible.
87372
87373 2000-06-23  Jim Meyering  <meyering@lucent.com>
87374
87375         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
87376
87377 2000-06-21  Jim Meyering  <meyering@lucent.com>
87378
87379         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
87380
87381 2000-06-21  Jim Meyering  <meyering@lucent.com>
87382
87383         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
87384         (noinst_HEADERS): Add getstr.h.
87385
87386         * lib/getline.c (getstr): Move into a separate file.
87387         * lib/getstr.c (getstr): New file, extracted from getline.c, with
87388         the following changes: new parameter, delim2; both delim[12]
87389         parameters have type `int', not `char'.  The latter would lose
87390         with 8-bit delimiters.
87391         * lib/getstr.h: New file.
87392
87393 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
87394
87395         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
87396         than 1024, return a memory chunk of least possible size, instead
87397         of size PATH_MAX + 2. In the loop, increment the size proportionally.
87398         Use free/xmalloc instead of xrealloc to avoid copying for very long
87399         paths.
87400
87401 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
87402
87403         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
87404         the empty string.
87405
87406 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
87407
87408         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
87409         address, not strdup.  Include <stdlib.h> and don't declare free().
87410
87411 2000-06-19  Jim Meyering  <meyering@lucent.com>
87412
87413         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
87414
87415 2000-06-18  Jim Meyering  <meyering@lucent.com>
87416
87417         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
87418
87419         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
87420         `checking whether...' message to be consistent with that of the
87421         lstat test.
87422
87423 2000-06-18  Jim Meyering  <meyering@lucent.com>
87424
87425         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
87426         Besides, these days every porting target provides a mkdir function.
87427
87428         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
87429         needed. (this snippet comes from src/system.h).
87430
87431 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
87432
87433         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
87434
87435 2000-06-15  Paul Eggert  <eggert@twinsun.com>
87436
87437         * lib/human.c (adjust_value): New function.
87438         (human_readable_inexact): Apply rounding style even when
87439         printing approximate values.
87440
87441 2000-06-14  Paul Eggert  <eggert@twinsun.com>
87442
87443         * lib/human.c (human_readable_inexact): Allow an input block
87444         size that is not a multiple of the output block size, and vice versa.
87445         Reported by Piergiorgio Sartor.
87446
87447 2000-06-14  Paul Eggert  <eggert@twinsun.com>
87448
87449         * lib/getdate.y (get_date): Apply relative times after time
87450         zone indicator, not before.  Reported by Todd A. Jacobs.
87451
87452 2000-06-13  Jim Meyering  <meyering@lucent.com>
87453
87454         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
87455
87456         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
87457
87458 2000-06-12  Paul Eggert  <eggert@twinsun.com>
87459
87460         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
87461
87462 2000-06-12  Jim Meyering  <meyering@lucent.com>
87463
87464         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
87465         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
87466         optional argument.
87467         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
87468         the optional argument, `lib'.
87469
87470 2000-06-08  Jim Meyering  <meyering@lucent.com>
87471
87472         * m4/largefile.m4: Remove file (now that it's part of autoconf).
87473
87474 2000-06-04  Paul Eggert  <eggert@twinsun.com>
87475
87476         Rewrite largefile configuration so that we don't need to run
87477         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
87478         AC_CANONICAL_HOST in configure.in -- jmm]
87479
87480         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
87481         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
87482         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
87483         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
87484         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
87485         All uses changed.
87486         Instead of inspecting the output of getconf, try to compile the
87487         test program without and with the macro definition.
87488         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
87489         for getconf.  Instead, check for the needed flags by compiling
87490         test programs.
87491
87492 2000-06-04  Paul Eggert  <eggert@twinsun.com>
87493
87494         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
87495
87496 2000-06-04  Jim Meyering  <meyering@lucent.com>
87497
87498         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
87499         SunOS 4.1.4 for which gid_t is an unsigned type.
87500
87501 2000-06-03  Jim Meyering  <meyering@lucent.com>
87502
87503         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
87504         now that autoconf requires that.
87505
87506         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
87507         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
87508         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
87509
87510 2000-06-03  Jim Meyering  <meyering@lucent.com>
87511
87512         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
87513
87514 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
87515
87516         * m4/glibc21.m4: New file.
87517         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
87518
87519 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
87520
87521         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
87522         newer, don't install charset.alias.
87523         * lib/config.charset: Change the Linux/glibc rules so they become empty
87524         on glibc-2.1 or newer.
87525
87526 2000-06-02  Jim Meyering  <meyering@lucent.com>
87527
87528         * lib/mountlist.c: Back out last change.  Instead, do this...
87529         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
87530         me_dummy member using the same `ignore'-testing code.
87531         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
87532         fs_type strings.
87533         From Mark D. Roth.
87534
87535 2000-05-29  Jim Meyering  <meyering@lucent.com>
87536
87537         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
87538         mounts with the `ignore' attribute.  Based on a patch from
87539         Mark D. Roth.
87540
87541 2000-05-28  Jim Meyering  <meyering@lucent.com>
87542
87543         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
87544         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
87545         * m4/stat.m4: Likewise.
87546         * m4/lstat.m4: Likewise.
87547         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
87548
87549         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
87550         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
87551
87552 2000-05-26  Jim Meyering  <meyering@lucent.com>
87553
87554         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
87555
87556 2000-05-24  Jim Meyering  <meyering@lucent.com>
87557
87558         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
87559         autoconf requires that.
87560         * m4/lib-check.m4: Likewise.
87561         * m4/jm-macros.m4: Likewise.
87562         * m4/strftime.m4: Likewise.
87563
87564         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
87565         AC_CHECK_DECLS, now that autoconf requires that.
87566
87567 2000-05-22  Jim Meyering  <meyering@lucent.com>
87568
87569         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
87570         * m4/lstat.m4: Likewise.
87571
87572 2000-05-22  Jim Meyering  <meyering@lucent.com>
87573
87574         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
87575
87576 2000-05-20  Jim Meyering  <meyering@lucent.com>
87577
87578         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
87579         (jm_PREREQ): Use it.
87580
87581 2000-05-18  Jim Meyering  <meyering@lucent.com>
87582
87583         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
87584         back, too, since it may have been modified by allocate_entry.
87585         (hash_delete): Rewrite to use neither the assignment operator
87586         nor the comma operator in an if-expression.
87587
87588 2000-05-15  Paul Eggert  <eggert@twinsun.com>
87589
87590         * lib/closeout.c:
87591         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
87592         Remove; no longer needed.
87593         "quotearg.h": Add include.
87594         (file_name): Do not bother to explicitly initialize to NULL; it's less
87595         efficient on some hosts.
87596         (close_stdout_status): Remove test as to whether stdout was already
87597         closed; it breaks for the case "echo x | sort >&-".
87598         Quote file name colons.
87599         Do not assume that _("write error") lacks format strings.
87600
87601 2000-05-15  Jim Meyering  <meyering@lucent.com>
87602
87603         * lib/version-etc.c (version_etc_copyright): Update the copyright
87604         string used in all --version output.
87605
87606 2000-05-14  Jim Meyering  <meyering@lucent.com>
87607
87608         * lib/closeout.c (close_stdout_set_file_name): New function.
87609         (close_stdout_status): Use new file-scoped global.
87610         Return right away if fstat says the stdout file descriptor is invalid.
87611         * lib/closeout.h (close_stdout_set_file_name): Declare.
87612
87613 2000-05-10  Jim Meyering  <meyering@lucent.com>
87614
87615         * lib/closeout.c [default_exit_status]: New file-scoped variable.
87616         (close_stdout_set_status): New function.
87617         * lib/closeout.h (close_stdout_set_status): Declare.
87618
87619 2000-05-09  Jim Meyering  <meyering@lucent.com>
87620
87621         * m4/gettext.m4: Rename this...
87622         * m4/libintl.m4: ...to this.
87623
87624 2000-05-08  Jim Meyering  <meyering@lucent.com>
87625
87626         * lib/long-options.c: Don't include closeout.h.
87627         (parse_long_options): Don't call close_stdout for --version.
87628
87629 2000-05-06  Paul Eggert  <eggert@twinsun.com>
87630
87631         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
87632         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
87633         2.1.3 bug.  This avoids a clash when files like regex.c define
87634         _GNU_SOURCE.
87635
87636 2000-05-06  Jim Meyering  <meyering@lucent.com>
87637
87638         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
87639         (AC_REPLACE_FUNCS): Add strnlen.
87640
87641         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
87642         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
87643
87644         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
87645         AC_SEARCH_LIBS call for nanosleep.
87646         (LIB_NANOSLEEP): Set and AC_SUBST.
87647
87648 2000-05-06  Jim Meyering  <meyering@lucent.com>
87649
87650         * lib/strnlen.c: Undefine __strnlen and strnlen.
87651         [!weak_alias]: Define __strnlen to strnlen.
87652
87653         * lib/atexit.c: New file, from libiberty.
87654
87655 2000-05-06  Jim Meyering  <meyering@lucent.com>
87656
87657         * lib/closeout.c (close_stdout_status): Also check for errors on the
87658         stderr stream.
87659
87660 2000-05-05  Jim Meyering  <meyering@lucent.com>
87661
87662         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
87663         AC_SEARCH_LIBS call for clock_gettime.
87664         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
87665
87666         * m4/search-libs.m4: Update from autoconf.
87667
87668         su doesn't work on Solaris 2.6.
87669         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
87670         <shadow.h>.  Reported by Dragos Harabor.
87671
87672 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
87673
87674         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
87675         memcpy instead of xmalloc, xrealloc, path_concat.
87676         (locale_charset): Treat empty environment variables as absent.
87677         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
87678
87679 2000-05-04  Jim Meyering  <meyering@lucent.com>
87680
87681         * lib/getopt.c: Update from glibc.
87682         * lib/obstack.c: Likewise.
87683         * lib/obstack.h: Likewise.
87684         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
87685         file
87686
87687         * lib/regex.h: Likewise.
87688         * lib/strndup.c: Likewise.
87689         * lib/strnlen.c: New file, from glibc.
87690
87691 2000-05-03  Jim Meyering  <meyering@lucent.com>
87692
87693         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
87694
87695 2000-05-02  Paul Eggert  <eggert@twinsun.com>
87696
87697         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
87698         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
87699         compile-time test, rather than inspecting host and OS, to
87700         decide whether to define _LARGEFILE_SOURCE.
87701
87702 2000-05-01  Jim Meyering  <meyering@lucent.com>
87703
87704         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
87705
87706         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
87707         Based on a patch from Bruno Haible.
87708
87709 2000-05-01  Jim Meyering  <meyering@lucent.com>
87710
87711         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
87712
87713 2000-04-29  Jim Meyering  <meyering@lucent.com>
87714
87715         * lib/path-concat.c: Declare strdup only if it's not defined.
87716         * lib/canon-host.c: Likewise.
87717
87718 2000-04-28  Jim Meyering  <meyering@lucent.com>
87719
87720         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
87721         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
87722         is included first, then limits.h is included by locale.h by libintl.h.
87723         From John David Anglin.
87724
87725 2000-04-25  Jim Meyering  <meyering@lucent.com>
87726
87727         * lib/makepath.c (S_IRWXUGO): Define.
87728         (make_path): Always perform explicit chmod if MODE specifies any
87729         of the `special' permission bits.  Prompted by a bug report against
87730         install from Mate Wierdl and Joost van Baal.
87731
87732 2000-04-18  Jim Meyering  <meyering@lucent.com>
87733
87734         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
87735         (jm_PREREQ): Use it.
87736
87737 2000-04-18  Jim Meyering  <meyering@lucent.com>
87738
87739         * lib/README: New file.
87740
87741         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
87742         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
87743
87744 2000-04-17  Jim Meyering  <meyering@lucent.com>
87745
87746         Get it right :-)
87747         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
87748         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
87749         Suggestion from Akim Demaille.
87750
87751 2000-04-17  Jim Meyering  <meyering@lucent.com>
87752
87753         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
87754         the definition of it to rpl_strftime also defined-away the system's
87755         declaration.
87756
87757 2000-04-15  Jim Meyering  <meyering@lucent.com>
87758
87759         Use `C' to denote so-called `contiguous' files, the same way
87760         that tar does.
87761         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
87762         (ftypelet): Use S_ISCTG.
87763         From Michael Deutschmann.
87764
87765 2000-04-14  Jim Meyering  <meyering@lucent.com>
87766
87767         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
87768         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
87769         clobbered.
87770
87771 2000-04-14  Jim Meyering  <meyering@lucent.com>
87772
87773         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
87774
87775 2000-04-13  Jim Meyering  <meyering@lucent.com>
87776
87777         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
87778         AH_VERBATIM to insert required #ifndef into config.h.in.
87779         Suggestion from Akim Demaille.
87780
87781 2000-04-12  Jim Meyering  <meyering@lucent.com>
87782
87783         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
87784         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
87785         Christian Krackowizer.
87786
87787         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
87788         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
87789         (AC_SYS_LARGEFILE): Require.
87790         (AM_C_PROTOTYPES): Require.
87791
87792 2000-04-08  Jim Meyering  <meyering@lucent.com>
87793
87794         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
87795         names don't conflict.  Reported by Eli Zaretskii.
87796
87797 2000-04-07  Jim Meyering  <meyering@lucent.com>
87798
87799         * lib/putenv.c: Move inclusion of errno.h so it follows that of
87800         sys/types.h, to work around system header problems on AIX 3.2.5.
87801         From Bruno Haible.
87802
87803 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
87804
87805         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
87806         bug.  Deal with the different error behavior of Irix iconv.
87807
87808 2000-04-05  Paul Eggert  <eggert@twinsun.com>
87809
87810         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
87811         IRIX if the installer said otherwise.
87812
87813 2000-04-05  Jim Meyering  <meyering@lucent.com>
87814
87815         Portability tweaks required for ultrix4.3.
87816         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
87817         (jm_CHECK_DECLS): Add getutent to the list of functions.
87818         (_jm_DECL_HEADERS): Add utmpx.h.
87819         From John David Anglin.
87820
87821         * m4/strftime.m4: Back out the 2000-04-02 change.
87822         Instead of that change, simply undefine putenv in the test program.
87823
87824 2000-04-05  Jim Meyering  <meyering@lucent.com>
87825
87826         Portability tweaks required for ultrix4.3.
87827         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
87828         getutent.
87829         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
87830         * lib/canon-host.c: Declare strdup.
87831         * lib/path-concat.c: Likewise.
87832         From John David Anglin.
87833
87834 2000-04-04  Jim Meyering  <meyering@lucent.com>
87835
87836         Be more DOS 8.3-friendly.
87837         * lib/ref-add.sin: Renamed from ref-add.sed.in.
87838         * lib/ref-del.sin: Renamed from ref-del.sed.in.
87839         * lib/Makefile.am: Reflect renaming.
87840         Reported by Eli Zaretskii.
87841
87842         Use a temporary file name that won't clash with `charset.alias'
87843         in the DOS 8.3 name space.
87844         * lib/Makefile.am (charset_tmp): Define.
87845         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
87846         (uninstall-local): Likewise.
87847         Reported by Eli Zaretskii.
87848
87849 2000-04-03  Jim Meyering  <meyering@lucent.com>
87850
87851         * m4/gettext.m4: Fix typo in comment.
87852
87853         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
87854         textutils/configure.in).  Suggestion from Paul Eggert.
87855         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
87856
87857 2000-04-02  Paul Eggert  <eggert@twinsun.com>
87858
87859         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
87860         variable in the shell rather than using putenv, which isn't
87861         portable.  This avoids the configure-time inter-test dependency
87862         on the potentially-renamed putenv function.
87863
87864 2000-03-30  Paul Eggert  <eggert@twinsun.com>
87865
87866         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
87867         before checking struct stat.st_blksize, so that
87868         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
87869
87870 2000-03-29  Paul Eggert  <eggert@twinsun.com>
87871
87872         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
87873         since strftime.c uses HAVE_STRFTIME to decide whether to use
87874         the underlying strftime.
87875
87876 2000-03-29  Paul Eggert  <eggert@twinsun.com>
87877
87878         * lib/time/strftime.c (my_strftime): Make sure we call the system
87879         strftime, not ourselves, when invoking the underlying strftime.
87880
87881 2000-03-24  Jim Meyering  <meyering@lucent.com>
87882
87883         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
87884         (charset_alias): Define.
87885         (install-exec-local): Factor out common code.
87886         (uninstall-local): Split lines longer than 80.
87887         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
87888         (SUFFIXES): Define.
87889         (.sed.in.sed): New rule.  Don't redirect directly to $@.
87890         (CLEANFILES): Add ref-add.sed and ref-del.sed.
87891
87892 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
87893
87894         * lib/config.charset: Output a line containing "Packages using this
87895         file".
87896         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
87897         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
87898         ref-del.sed): New rules.
87899
87900 2000-03-17  Jim Meyering  <meyering@lucent.com>
87901
87902         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
87903         Otherwise, include <strings.h>
87904
87905 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
87906
87907         * lib/unicodeio.c (utf8_wctomb): New function.
87908         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
87909         format instead of in UCS-4 with platform dependent endianness.
87910
87911 2000-03-10  Jim Meyering  <meyering@lucent.com>
87912
87913         * m4/lib-check.m4: Look for getspnam in -lgen, too.
87914         From Marco Franzen.
87915
87916 2000-03-07  Paul Eggert  <eggert@twinsun.com>
87917
87918         * lib/savedir.c (savedir): Work even if directory size is
87919         negative; this can happen with some screwy NFS configurations.
87920
87921 2000-03-06  Jim Meyering  <meyering@lucent.com>
87922
87923         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
87924         if it's NULL (because we ran out of memory).  From Bruno Haible.
87925
87926 2000-03-05  Jim Meyering  <meyering@lucent.com>
87927
87928         * lib/localcharset.c ("path-concat.h"): Include.
87929         (get_charset_aliases): Use path_concat instead of ANSI string
87930         concatenation.
87931
87932         * lib/unicodeio.h (PARAMS): Define.
87933         Use it to guard prototype.
87934
87935 2000-03-04  Jim Meyering  <meyering@lucent.com>
87936
87937         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
87938         for lib/localcharset.c.
87939
87940 2000-03-04  Jim Meyering  <meyering@lucent.com>
87941
87942         * lib/Makefile.am (install-exec-local): Create $(libdir) before
87943         installing into it.
87944         (uninstall-local): Uncomment this rule so `make distcheck' works
87945         once again.
87946
87947         * lib/unicodeio.c (<errno.h>): Include it.
87948         (errno): Declare if not defined.
87949
87950         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
87951
87952         * lib/config.charset: New version, incorporating remarks from a linux
87953         i18n mailing list.  From Bruno Haible.
87954
87955 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
87956
87957         * m4/codeset.m4: New file.
87958         * m4/iconv.m4: New file.
87959         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
87960
87961 2000-03-03  Jim Meyering  <meyering@lucent.com>
87962
87963         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
87964
87965 2000-03-02  Jim Meyering  <meyering@lucent.com>
87966
87967         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
87968         the messages come out on separate lines.
87969
87970         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
87971         rather than jm_CHECK_DECLARATIONS.
87972         * m4/decl.m4: Remove now-unused file.
87973
87974         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
87975         geteuid.
87976
87977 2000-03-02  Jim Meyering  <meyering@lucent.com>
87978
87979         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
87980
87981 2000-03-01  Jim Meyering  <meyering@lucent.com>
87982
87983         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
87984         * lib/unicodeio.c: Likewise.
87985
87986 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
87987
87988         * lib/config.charset: New file.
87989         * lib/localcharset.c: New file.
87990         * lib/unicodeio.h, lib/unicodeio.c: New files.
87991         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
87992         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
87993         (noinst_HEADERS): Add unicodeio.h.
87994         (all-local, install-exec-local, charset.alias): New targets.
87995
87996 2000-02-28  Paul Eggert  <eggert@twinsun.com>
87997
87998         * lib/quotearg.c (ALERT_CHAR): New macro.
87999         (quotearg_buffer_restyled): Use it.
88000
88001 2000-02-27  Jim Meyering  <meyering@lucent.com>
88002
88003         * m4/check-decl.m4: Add getenv to the list.
88004
88005 2000-02-27  Jim Meyering  <meyering@lucent.com>
88006
88007         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
88008         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
88009
88010         * lib/backupfile.c: Guard inclusion of stdlib.h with
88011         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
88012         Declare malloc if needed.
88013
88014         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
88015         `#ifndef HAVE_DECL..'
88016         now that autoconf always defines the HAVE_DECL_ symbols.
88017         * lib/human.c: Likewise.
88018         * lib/same.c: Likewise.
88019         * lib/strtoumax.c: Likewise.
88020
88021         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
88022         declaration check was not run.
88023         * lib/hash.c: Likewise.
88024         * lib/human.c: Likewise.
88025         * lib/same.c: Likewise.
88026         * lib/strtoumax.c: Likewise.
88027
88028         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
88029         `.', then first look up the entire `.'-containing string as a login
88030         name.
88031
88032 2000-02-23  Jim Meyering  <meyering@lucent.com>
88033
88034         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
88035         in place of my hack.
88036
88037 2000-02-18  Paul Eggert  <eggert@twinsun.com>
88038
88039         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
88040         (textint): New typedef.
88041         (parser_control): Member year changed from int to textint.
88042         All uses changed.
88043         (YYSTYPE): Removed; replaced by %union with int and textint members.
88044         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
88045         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
88046         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
88047         (tSNUMBER, tUNUMBER): Now of type <textintval>.
88048         (date, number, to_year): Use width of number in digits, not its value,
88049         to determine whether it's a 2-digit year, or a 2-digit time.
88050         (yylex): Store number of digits of numeric tokens.
88051         Reported by John Kendall.
88052
88053         (parser_control): Changed from struct parser_control to typedef (for
88054         consistency).  All uses changed.
88055
88056         (tID): Removed; not used.
88057         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
88058
88059 2000-02-14  Paul Eggert  <eggert@twinsun.com>
88060
88061         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
88062         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
88063
88064 2000-02-12  Jim Meyering  <meyering@lucent.com>
88065
88066         * lib/userspec.c (ISDIGIT): Define it.
88067         (isdigit): Remove definition.
88068         (is_number): Use ISDIGIT, not isdigit.
88069         <libintl.h>: Include.
88070         (_ and N_): Define.
88071         (parse_user_spec): Mark translatable strings.
88072
88073 2000-02-10  Jim Meyering  <meyering@lucent.com>
88074
88075         With these changes, nanosleep.[ch] are finally enough like the other
88076         lib/* replacement files to compile on a few more losing systems.
88077
88078         * lib/nanosleep.h: Don't include config.h.
88079         Remove prototype from declaration of nanosleep.
88080         (PARAMS): Remove now-unneeded definition.
88081         * lib/nanosleep.c: #undef nanosleep.
88082         (rpl_nanosleep): Rename from nanosleep.
88083
88084 2000-02-10  Jim Meyering  <meyering@lucent.com>
88085
88086         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
88087         gnu_nanosleep to rpl_nanosleep.
88088
88089 2000-02-09  Jim Meyering  <meyering@lucent.com>
88090
88091         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
88092         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
88093
88094 2000-02-08  Akim Demaille  <akim@epita.fr>
88095
88096         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
88097         `[' and `]' and remove uses of `changequote'.
88098         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
88099         (AC_SYS_LARGEFILE): Likewise.
88100         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
88101         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
88102         of changequote.
88103         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
88104         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
88105         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
88106         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
88107
88108 2000-02-05  Jim Meyering  <meyering@lucent.com>
88109
88110         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
88111         Remove explicit use of AC_HEADER_TIME.  It is required by
88112         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
88113         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
88114         in autoconf whereby the expansion of the latter ended up preceding
88115         the expansion of its prerequisite, AC_HEADER_TIME.
88116         Reported by Volker Borchert.
88117
88118 2000-02-03  Jim Meyering  <meyering@lucent.com>
88119
88120         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
88121
88122 2000-02-03  Jim Meyering  <meyering@lucent.com>
88123
88124         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
88125         rather than with `#if HAVE_UTMPNAME'.
88126
88127 2000-02-02  Jim Meyering  <meyering@lucent.com>
88128
88129         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
88130         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
88131         Reported by Eli Zaretskii.
88132
88133 2000-02-01  Jim Meyering  <meyering@lucent.com>
88134
88135         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
88136
88137 2000-01-31  Jim Meyering  <meyering@lucent.com>
88138
88139         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
88140         functions.  Add the time.h and sys/time.h headers along with the
88141         AC_REQUIRE'ment of AC_HEADER_TIME.
88142
88143 2000-01-31  Jim Meyering  <meyering@lucent.com>
88144
88145         * lib/nanosleep.h (nanosleep): Guard declaration with
88146         `#if ! HAVE_DECL_NANOSLEEP'.
88147         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
88148         the declaration in that vendor's sys/timers.h.
88149         Reported by Christian Krackowizer.
88150
88151         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
88152         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
88153         (ISPRINT): Likewise.
88154         Reported by Tom Tromey.
88155
88156 2000-01-30  Jim Meyering  <meyering@lucent.com>
88157
88158         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
88159
88160         * m4/prereq.m4 (utmp_includes): Define.
88161         Check for ut_user and ut_name members in both struct utmpx
88162         and struct utmp.
88163
88164 2000-01-30  Jim Meyering  <meyering@lucent.com>
88165
88166         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
88167         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
88168         header files where only utmpx.ut_user is declared.
88169
88170         * lib/readutmp.h (UT_USER): Define.
88171
88172 2000-01-29  Jim Meyering  <meyering@lucent.com>
88173
88174         * m4/lib-check.m4: New file containing library-related checks from
88175         fileutils and sh-utils (textutils had none).
88176
88177 2000-01-28  Jim Meyering  <meyering@lucent.com>
88178
88179         * m4/perl.m4: Change format of warning message to look more like that
88180         from the missing script.  Suggestion from François Pinard.
88181
88182 2000-01-25  Jim Meyering  <meyering@lucent.com>
88183
88184         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
88185         well as time.h in the compile check.
88186         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
88187         Fix typo in cross-compiling case: s/yes/no/.
88188
88189 2000-01-23  Jim Meyering  <meyering@lucent.com>
88190
88191         * m4/jm-macros.m4: Move df-related tests here from
88192         fileutils/configure.in
88193
88194         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
88195         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
88196
88197         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
88198         s/space/ac_fsusage_space/.
88199         (jm_FILE_SYSTEM_USAGE): Take two parameters.
88200
88201         * m4/ftruncate.m4: New file (derived from part of
88202         fileutils/configure.in).
88203         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
88204         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
88205
88206         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
88207         AC_SUBST these here, rather than just in sh-util/configure.in, so
88208         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
88209         all the same.
88210         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
88211         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
88212         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
88213         (AC_SUBST(POW_LIBM)): Likewise.
88214         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
88215
88216 2000-01-23  Jim Meyering  <meyering@lucent.com>
88217
88218         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
88219         obstack.c.
88220
88221 2000-01-22  Jim Meyering  <meyering@lucent.com>
88222
88223         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
88224
88225         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
88226
88227         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
88228         configure.in
88229         (AC_CHECK_HEADERS): Likewise for sh-utils.
88230         (AC_CHECK_HEADERS): Likewise for textutils.
88231         Merge the three lists of headers.
88232
88233         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
88234         from fileutils' configure.in.
88235
88236         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
88237         code. Moved tests into their own function (_jm_DECL_HEADERS) in
88238         check-decl.m4.
88239
88240         * m4/check-decl.m4: Use #if rather than #ifdef.
88241         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
88242         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
88243         (_jm_DECL_HEADERS): Define new function.
88244         (jm_CHECK_DECLARATIONS): Require it.
88245
88246 2000-01-22  Jim Meyering  <meyering@lucent.com>
88247
88248         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
88249         [! HAVE_DECL_STRTOULL]: Declare strtoull.
88250         Required for some AIX systems.  Reported by Christian Krackowizer.
88251         [TESTING] (main): New function.
88252
88253         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
88254         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
88255         letters.
88256
88257         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
88258         iswprint.
88259
88260         * lib/strverscmp.c (ISDIGIT): Define.
88261         (strverscmp): Use ISDIGIT, not isdigit.
88262
88263 2000-01-19  Jim Meyering  <meyering@lucent.com>
88264
88265         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
88266         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
88267         defines `struct timespec' in <sys/time.h>
88268
88269         * m4/c-bs-a.m4: Remove uses of changequote altogether.
88270         Thanks to Akim for explaining.
88271
88272 2000-01-17  Paul Eggert  <eggert@twinsun.com>
88273
88274         * lib/nanosleep.c (nanosleep):
88275         Don't use SA_INTERRUPT to decide whether to call sigaction, as
88276         POSIX.1 doesn't require SA_INTERRUPT and some systems
88277         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
88278         it's been part of POSIX.1 since day 1 (in 1988).
88279
88280 2000-01-17  Jim Meyering  <meyering@lucent.com>
88281
88282         * lib/interlock: Remove unused file.  Reported by François Pinard.
88283
88284 2000-01-16  Paul Eggert  <eggert@twinsun.com>
88285
88286         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
88287         alert, backslash, formfeed, and vertical tab unnecessarily in
88288         shell quoting style.
88289
88290 2000-01-16  Jim Meyering  <meyering@lucent.com>
88291
88292         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
88293         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
88294         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
88295         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
88296
88297 2000-01-16  Jim Meyering  <meyering@lucent.com>
88298
88299         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
88300         because the latter didn't work.
88301
88302 2000-01-15  Jim Meyering  <meyering@lucent.com>
88303
88304         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
88305         (AC_REPLACE_FUNCS): Add memcpy and memset.
88306         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
88307         Add strpbrk.
88308         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
88309
88310 2000-01-12  Jim Meyering  <meyering@lucent.com>
88311
88312         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
88313         (jm_PREREQ): Use it.
88314         (jm_PREREQ_READUTMP): New macro.
88315         (jm_PREREQ): Use it.
88316
88317 2000-01-11  Paul Eggert  <eggert@twinsun.com>
88318
88319         Quote multibyte characters correctly.
88320         * m4/c-bs-a.m4: New file.
88321         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
88322         (jm_PREREQ): Use it.
88323
88324 2000-01-11  Paul Eggert  <eggert@twinsun.com>
88325
88326         * m4/uintmax_t.m4: Port to autoconf 2.13.
88327
88328 2000-01-08  Jim Meyering  <meyering@ascend.com>
88329
88330         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
88331         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
88332
88333 2000-01-04  Jim Meyering  <meyering@ascend.com>
88334
88335         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
88336         jm_STRUCT_DIRENT_D_TYPE.
88337         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
88338         jm_STRUCT_DIRENT_D_INO.
88339         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
88340         jm_STRUCT_UTIMBUF.
88341         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
88342         renamings.
88343         * m4/utime.m4: Likewise.
88344
88345         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
88346         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
88347
88348 2000-01-03  Paul Eggert  <eggert@twinsun.com>
88349
88350         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
88351         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
88352
88353 2000-01-02  Jim Meyering  <meyering@ascend.com>
88354
88355         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
88356         remember if this is necessary.
88357
88358 1999-12-26  Jim Meyering  <meyering@ascend.com>
88359
88360         * m4/jm-macros.m4: Use it here.
88361         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
88362
88363 1999-12-23  Jim Meyering  <meyering@ascend.com>
88364
88365         * m4/jm-macros.m4: Check for clock_gettime (moved from
88366         fileutils/configure.in)
88367         Check for gettimeofday.
88368
88369 1999-12-20  Jim Meyering  <meyering@ascend.com>
88370
88371         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
88372         autoconf-2.14a-1999-12-20.
88373
88374 1999-12-19  Jim Meyering  <meyering@ascend.com>
88375
88376         * m4/lstat-slash.m4: New file.
88377         * m4/jm-macros.m4: Use the new macro:
88378         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
88379
88380 1999-12-07  Jim Meyering  <meyering@ascend.com>
88381
88382         * m4/perl.m4: Require that File::Compare be available, too.
88383         Too many systems seem to lack it.
88384
88385         * m4/strftime.m4: Add checks for most of the cpp macros tested in
88386         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
88387
88388 1999-11-18  Paul Eggert  <eggert@twinsun.com>
88389
88390         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
88391         problem with the QNX 4.25 shell, which doesn't propagate exit
88392         status of failed commands inside shell assignments.
88393
88394 1999-11-17  Jim Meyering  <meyering@ascend.com>
88395
88396         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
88397
88398 1999-11-07  Jim Meyering  <meyering@ascend.com>
88399
88400         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
88401
88402 1999-11-06  Jim Meyering  <meyering@ascend.com>
88403
88404         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
88405         * m4/jm-macros.m4 (jm_MACROS): Use it here.
88406
88407 1999-11-05  Jim Meyering  <meyering@ascend.com>
88408
88409         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
88410         configure.in of textutils, fileutils, and sh-utils into this one
88411         (shared between those packages) file.
88412         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
88413         AC_STRUCT_ST_BLKSIZE.
88414
88415 1999-11-03  Jim Meyering  <meyering@ascend.com>
88416
88417         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
88418         of AC_CHECK_TYPE checks includes unistd.h.
88419         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
88420         Suggestion from Akim Demaille.
88421
88422 1999-10-30  Jim Meyering  <meyering@ascend.com>
88423
88424         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
88425         m4-quoted string.
88426         * m4/ls-mntd-fs.m4: Likewise.
88427         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
88428         * m4/jm-winsz1.m4: Likewise.
88429
88430         * m4/const.m4: Remove file, since the fix made it into the experimental
88431         version of autoconf.
88432         * m4/mktime.m4: Likewise.
88433
88434         * m4/check-type.m4: Remove file, now that the latest version of
88435         AC_CHECK_TYPE takes a third arg to specify additional #includes.
88436
88437         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
88438         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
88439         AC_CHECK_TYPE.
88440
88441 1999-10-04  Jim Meyering  <meyering@ascend.com>
88442
88443         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
88444
88445 1999-09-22  Paul Eggert  <eggert@twinsun.com>
88446
88447         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
88448         2.95.1 bug with HP-UX 10.20.
88449
88450 1999-09-17  Jim Meyering  <meyering@ascend.com>
88451
88452         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
88453         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
88454         due to missing strdup (against sh-utils-2.0).
88455
88456 1999-08-29  Jim Meyering  <meyering@ascend.com>
88457
88458         * m4/jm-macros.m4: Require jm_BISON.
88459         * m4/bison.m4: New file.
88460
88461 1999-08-17  Paul Eggert  <eggert@twinsun.com>
88462
88463         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
88464         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
88465
88466 1999-08-05  Jim Meyering  <meyering@ascend.com>
88467
88468         * m4/getline.m4: Rename test file from conftestdata to conftest.data
88469         to avoid conflicts with `conftest' on 8+3 filesystems.
88470         Suggestion from Eli Zaretskii.
88471
88472 1999-08-04  Jim Meyering  <meyering@ascend.com>
88473
88474         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
88475         fileutils and sh-utils (textutils's getline test was inadequate).
88476         (AM_FUNC_GETLINE): Run this test.
88477         (AC_CHECK_FUNCS): Check for getdelim.
88478         Reported by Bob Proulx.
88479
88480 1999-08-02  Jim Meyering  <meyering@ascend.com>
88481
88482         * m4/jm-macros.m4: Add a comment.
88483
88484 1999-08-01  Paul Eggert  <eggert@twinsun.com>
88485
88486         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
88487         <inttypes.h> defines strtoumax as a macro (and not as a
88488         function).
88489
88490 1999-08-01  Paul Eggert  <eggert@twinsun.com>
88491
88492         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
88493         that we can shift, multiply and divide unsigned long long
88494         values; Ultrix cc can't do it.
88495
88496 1999-08-01  Paul Eggert  <eggert@twinsun.com>
88497
88498         * m4/mktime.m4: New file, which is a preview of what should appear
88499         in the next public autoconf release.
88500
88501 1999-08-01  Paul Eggert  <eggert@twinsun.com>
88502
88503         * m4/lfs.m4: Remove this file.
88504         * m4/largefile.m4: New file.  It contains the old contents of
88505         lfs.m4, except that all names with prefix AC_LFS have been
88506         changed to use the prefix AC_SYS_LARGEFILE instead, to be
88507         compatible with future autoconf versions.  Also, some minor m4
88508         quoting problems have been fixed.
88509
88510 1999-08-01  Paul Eggert  <eggert@twinsun.com>
88511
88512         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
88513         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
88514         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
88515         and simplify the shell code.
88516
88517 1999-08-01  Jim Meyering  <meyering@ascend.com>
88518
88519         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
88520         m4.
88521
88522 1999-07-20  Jim Meyering  <meyering@ascend.com>
88523
88524         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
88525
88526 1999-07-15  Jim Meyering  <meyering@ascend.com>
88527
88528         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
88529
88530 1999-05-22  Jim Meyering  <meyering@ascend.com>
88531
88532         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
88533
88534 1999-05-20  Jim Meyering  <meyering@ascend.com>
88535
88536         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
88537         Add a colon after each `then' in case $4 is empty.
88538
88539 1999-05-16  Jim Meyering  <meyering@ascend.com>
88540
88541         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
88542
88543 1999-05-10  Jim Meyering  <meyering@ascend.com>
88544
88545         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
88546
88547         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
88548         AC_FUNC_MKTIME.
88549
88550 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
88551
88552         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
88553
88554 1999-05-04  Paul Eggert  <eggert@twinsun.com>
88555
88556         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
88557         not CPPFLAGS, so that linking works correctly in IRIX.
88558
88559 1999-04-30  Paul Eggert  <eggert@twinsun.com>
88560
88561         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
88562
88563 1999-04-20  Paul Eggert  <eggert@twinsun.com>
88564
88565         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
88566         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
88567         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
88568         jm_AC_TYPE_UNSIGNED_LONG_LONG.
88569         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
88570
88571         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
88572
88573 1999-04-20  Jim Meyering  <meyering@ascend.com>
88574
88575         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
88576         AC_REPLACE xstroull if necessary.  From Paul Eggert.
88577         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
88578
88579 1999-04-18  Jim Meyering  <meyering@ascend.com>
88580
88581         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
88582         * m4/jm-macros.m4: Use it.
88583
88584 1999-04-06  Jim Meyering  <meyering@ascend.com>
88585
88586         * m4/strftime.m4: Remove test for %f.
88587
88588 1999-03-29  Jim Meyering  <meyering@ascend.com>
88589
88590         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
88591         superset of the AC_TYPE_* checks in the textutils, fileutils,
88592         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
88593         AC_TYPE_PID_T.
88594
88595 1999-03-28  Jim Meyering  <meyering@ascend.com>
88596
88597         * m4/jm-macros.m4: Define GNU_PACKAGE here.
88598         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
88599         replaced e.g., in the *.sh files of the sh-utils.
88600
88601 1999-03-20  Jim Meyering  <meyering@ascend.com>
88602
88603         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
88604         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
88605         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
88606
88607 1999-03-19  Jim Meyering  <meyering@ascend.com>
88608
88609         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
88610
88611 1999-03-12  Jim Meyering  <meyering@ascend.com>
88612
88613         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
88614
88615 1999-03-07  Jim Meyering  <meyering@ascend.com>
88616
88617         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
88618         declared.
88619
88620 1999-02-17  Jim Meyering  <meyering@ascend.com>
88621
88622         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
88623         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
88624
88625 1999-02-07  Jim Meyering  <meyering@ascend.com>
88626
88627         * m4/group-member.m4: New file -- extracted from sh-utils'
88628         configure.in.
88629
88630         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
88631         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
88632
88633 1999-02-06  Jim Meyering  <meyering@ascend.com>
88634
88635         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
88636         * m4/fnmatch.m4: Likewise.
88637         * m4/getgroups.m4: Likewise.
88638         * m4/lstat.m4: Likewise.
88639         * m4/malloc.m4: Likewise.
88640         * m4/putenv.m4: Likewise.
88641         * m4/realloc.m4: Likewise.
88642         * m4/regex.m4: Likewise.
88643         * m4/stat.m4: Likewise.
88644         * m4/strftime.m4: Likewise.
88645         Suggestion from Alain Magloire.
88646
88647         * m4/chown.m4: Use `.$ac_objext', not `.o'.
88648         * m4/fnmatch.m4: Likewise.
88649         * m4/getgroups.m4: Likewise.
88650         * m4/getline.m4: Likewise.
88651         * m4/lstat.m4: Likewise.
88652         * m4/malloc.m4: Likewise.
88653         * m4/memcmp.m4: Likewise.
88654         * m4/putenv.m4: Likewise.
88655         * m4/realloc.m4: Likewise.
88656         * m4/regex.m4: Likewise.
88657         * m4/stat.m4: Likewise.
88658         * m4/strftime.m4: Likewise.
88659         Suggestion from Alain Magloire.
88660
88661         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
88662         an argument.
88663
88664         * m4/regex.m4: Add a run-time Test for proper operation of
88665         re_compile_pattern.
88666
88667 1999-01-31  Jim Meyering  <meyering@ascend.com>
88668
88669         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
88670
88671 1999-01-30  Jim Meyering  <meyering@ascend.com>
88672
88673         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
88674
88675         * m4/jm-mktime.m4: Make this a wrapper around the official
88676         AM_FUNC_MKTIME rather than my private copy, now that the official one
88677         is up to date.
88678         * m4/mktime.m4: Remove file.
88679
88680         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
88681         * m4/uptime.m4: Likewise.
88682         * m4/uintmax_t.m4: Likewise.
88683
88684 1999-01-28  Jim Meyering  <meyering@ascend.com>
88685
88686         * m4/jm-macros.m4: Use jm_AFS.
88687         * m4/afs.m4: New file (from fileutils' configure.in).
88688
88689         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
88690         * m4/chown.m4: Likewise.
88691         * m4/d-ino.m4: Likewise.
88692         * m4/d-type.m4: Likewise.
88693         * m4/fnmatch.m4: Likewise.
88694         * m4/getgroups.m4: Likewise.
88695         * m4/gettext.m4: Likewise.
88696         * m4/jm-mktime.m4: Likewise.
88697         * m4/jm-winsz2.m4: Likewise.
88698         * m4/lcmessage.m4: Likewise.
88699         * m4/ls-mntd-fs.m4: Likewise.
88700         * m4/malloc.m4: Likewise.
88701         * m4/memcmp.m4: Likewise.
88702         * m4/putenv.m4: Likewise.
88703         * m4/realloc.m4: Likewise.
88704         * m4/st_mtim.m4: Likewise.
88705         * m4/strftime.m4: Likewise.
88706
88707 1999-01-16  Jim Meyering  <meyering@ascend.com>
88708
88709         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
88710         (ARGMATCH_DIE_DECL): Define.
88711
88712 1999-01-12  Jim Meyering  <meyering@ascend.com>
88713
88714         * m4/Makefile.am.in: Rewrite to avoid using fmt.
88715         Reported by Lars Hecking.
88716
88717 1999-01-10  Jim Meyering  <meyering@ascend.com>
88718
88719         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
88720         gross kludge.
88721         * m4/inttypes_h.m4: Likewise.
88722         * m4/lstat.m4: Likewise.
88723         * m4/malloc.m4: Likewise.
88724         * m4/readdir.m4: Likewise.
88725         * m4/realloc.m4: Likewise.
88726         * m4/st_dm_mode.m4: Likewise.
88727         * m4/stat.m4: Likewise.
88728         * m4/utimbuf.m4: Likewise.
88729         * m4/utimes.m4: Likewise.
88730
88731         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
88732         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
88733         comments in config.h.in are meaningful.
88734
88735         * m4/jm-macros.m4: Require autoconf-2.13 here.
88736
88737         * m4/regex.m4: By default, don't use the included regex.c on systems
88738         with glibc 2.  Suggestion from Uli Drepper.
88739
88740 1999-01-02  Jim Meyering  <meyering@ascend.com>
88741
88742         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
88743
88744 1998-12-18  Jim Meyering  <meyering@ascend.com>
88745
88746         * m4/Makefile.am.in (Makefile.am): Simplify rule.
88747         Based on a suggestion from Lars Hecking.
88748
88749 1998-11-16  Paul Eggert  <eggert@twinsun.com>
88750
88751         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
88752
88753 1998-11-16  Jim Meyering  <meyering@ascend.com>
88754
88755         * m4/lfs.m4: Double-quote the `uname...` expression.
88756
88757 1998-11-14  Jim Meyering  <meyering@ascend.com>
88758
88759         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
88760         * m4/stat.m4: Likewise.
88761
88762 1998-11-03  Jim Meyering  <meyering@ascend.com>
88763
88764         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
88765         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
88766
88767 1998-10-18  Jim Meyering  <meyering@ascend.com>
88768
88769         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
88770
88771 1998-10-17  Jim Meyering  <meyering@ascend.com>
88772
88773         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
88774         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
88775         calls for those previously hard-coded headers.  Instead, take a new
88776         parameter.
88777         (jm_CHECK_DECLARATIONS): Reflect interface change.
88778         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
88779         (jm_CHECK_DECL_LOCALTIME_R): New macro.
88780
88781         * m4/mktime.m4: Test for spring-forward gap before long-running test.
88782
88783 1998-10-14  Jim Meyering  <meyering@ascend.com>
88784
88785         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
88786         instead of "TZ=America/Vancouver".  From Paul Eggert.
88787
88788 1998-10-11  Jim Meyering  <meyering@ascend.com>
88789
88790         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
88791         This adds a test for a recently added compatibility fix for mktime.c.
88792         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
88793
88794 1998-09-27  Jim Meyering  <meyering@ascend.com>
88795
88796         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
88797
88798         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
88799         ../configure.in, including a change from Gordon Matzigkeit to allow
88800         cross-compiling for the Hurd.
88801
88802         * m4/glibc.m4: New file/macro to test for the GNU C Library
88803         versions 1 and 2.  From Gordon Matzigkeit.
88804         Indent.
88805
88806 1998-09-21  Jim Meyering  <meyering@ascend.com>
88807
88808         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
88809
88810 1998-08-18  Paul Eggert  <eggert@twinsun.com>
88811
88812         Port nanosecond-resolution times to UnixWare 2.1.2 and
88813         pedantic Solaris 2.6.
88814
88815         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
88816         AC_STRUCT_ST_MTIM.
88817         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
88818         Generate name of ns member, instead of just 1 or undef.
88819         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
88820
88821 1998-08-15  Jim Meyering  <meyering@ascend.com>
88822
88823         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
88824         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
88825         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
88826         instead of jm_TYPE_SSIZE_T.
88827
88828 1998-08-12  Jim Meyering  <meyering@ascend.com>
88829
88830         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
88831
88832 1998-08-02  Jim Meyering  <meyering@ascend.com>
88833
88834         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
88835         in acconfig.h manually.
88836
88837 1998-07-31  Paul Eggert  <eggert@twinsun.com>
88838
88839         * m4/st_mtim.m4: New file.
88840
88841 1998-07-28  Jim Meyering  <meyering@ascend.com>
88842
88843         * m4/utimes.m4: Undef stat.
88844
88845 1998-07-25  Jim Meyering  <meyering@ascend.com>
88846
88847         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
88848         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
88849
88850 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
88851
88852         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
88853         uid and gid actually remain unchanged.
88854
88855 1998-07-07  Jim Meyering  <meyering@ascend.com>
88856
88857         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
88858
88859 1998-07-04  Jim Meyering  <meyering@ascend.com>
88860
88861         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
88862         to prove that this macro can be used in packages without regex.c.
88863
88864 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
88865
88866         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
88867         is to be used.
88868
88869 1998-07-03  Jim Meyering  <meyering@ascend.com>
88870
88871         * m4/gettext.m4: Add -lintl if it's found to be necessary.
88872
88873         * m4/gettext.m4: New file -- from gettext-0.10.35.
88874         * m4/lcmessage.m4: Likewise.
88875         * m4/progtest.m4: Likewise.
88876
88877         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
88878         * m4/jm-macros.m4: Require the new macro.
88879
88880 1998-06-29  Jim Meyering  <meyering@ascend.com>
88881
88882         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
88883         for the definition of NGROUPS (used in a system header included
88884         by sys/mount.h).
88885
88886 1998-06-28  Jim Meyering  <meyering@ascend.com>
88887
88888         * m4/ls-mntd-fs.m4: New file.
88889         * m4/fstypename.m4: New file.
88890
88891         * m4/jm-macros.m4: Require the new macro.
88892         * m4/jm-glibc-io.m4: New file.
88893
88894 1998-05-19  Jim Meyering  <meyering@ascend.com>
88895
88896         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
88897         * m4/lchown.m4: New file.
88898
88899         * m4/Makefile.am.in: New file.
88900         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
88901
88902 1998-05-14  Jim Meyering  <meyering@ascend.com>
88903
88904         * m4/Makefile.am (EXTRA_DIST): Add them.
88905         * m4/jm-macros.m4: New file.
88906         * m4/utimbuf.m4: New file.
88907
88908 1998-05-12  Jim Meyering  <meyering@ascend.com>
88909
88910         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
88911
88912 1998-05-11  Jim Meyering  <meyering@ascend.com>
88913
88914         * m4/isc-posix.m4: New file.
88915
88916 1998-05-10  Jim Meyering  <meyering@ascend.com>
88917
88918         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
88919
88920 1998-05-09  Jim Meyering  <meyering@ascend.com>
88921
88922         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
88923         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
88924         with automake.
88925
88926         * m4/ssize_t.m4: New file.
88927         * m4/mktime.m4: Remove file -- the new automake has this now.
88928
88929 1998-04-26  Jim Meyering  <meyering@ascend.com>
88930
88931         * m4/assert.m4: New file.
88932         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
88933
88934 1998-04-05  Jim Meyering  <meyering@ascend.com>
88935
88936         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
88937         (jm_PREREQ): Use it here.
88938
88939 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
88940
88941         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
88942         in acconfig.h.
88943
88944 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
88945
88946         * m4/prereq.m4: New file.
88947         * m4/error.m4: New file.
88948         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
88949
88950 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
88951
88952         * m4/getline.m4: Don't set am_cv_func_working_getline before the
88953         cache-check for the same variable -- that defeated the purpose of
88954         the test; the test program was never run.  This was a problem only
88955         on systems with losing getline functions -- HP-UX 10.20 is one.
88956         Reported by Bjorn Helgaas.
88957
88958 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
88959
88960         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
88961
88962 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
88963
88964         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
88965
88966         * m4/const.m4: New file.  Use an initializer in this declaration
88967         typedef int charset[2]; const charset x;
88968         Reported by Bob Glickstein.
88969
88970 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
88971
88972         * m4/chown.m4: Fix reversed types on -1 args to chown.
88973         From Kaveh Ghazi.
88974
88975 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
88976
88977         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
88978         Add lseek and memchr.
88979
88980         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
88981         T.E.Dickey <dickey@clark.net> said that some older preprocessors
88982         have a 20-character limit on names.
88983
88984 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
88985
88986         * m4/inttypes_h.m4: New file.
88987         * m4/uintmax_t.m4: New file.
88988         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
88989
88990
88991         -----
88992
88993         Local Variables:
88994         coding: utf-8
88995         End:
88996
88997         Copyright (C) 1997-2011 Free Software Foundation, Inc.
88998
88999         Copying and distribution of this file, with or without
89000         modification, are permitted provided the copyright notice
89001         and this notice are preserved.