521aefa8514516c9b906c11999a9ff1f8db11a25
[gnulib.git] / ChangeLog
1 2011-04-09  Jim Meyering  <meyering@redhat.com>
2
3         maint.mk: prohibit \<the the\>
4         * top/maint.mk (sc_prohibit_the_the): New rule.
5
6         maint: fix "the the" in comment
7         * lib/count-one-bits.h: s/the the/the/
8
9         maint: change "can not" to "cannot"
10         But do not change the occurrences in maintain.texi or in
11         build-aux/po/Makefile.in.in, which I presume comes from gettext.
12         * doc/gnulib-tool.texi: s/can not/cannot/
13         * doc/posix-functions/accept.texi (accept): Likewise.
14         * doc/posix-functions/socket.texi (socket): Likewise.
15         * lib/mbrtowc.c: Likewise.
16
17         maint.mk: prohibit use of "can not"
18         * top/maint.mk (sc_prohibit_can_not): New rule.
19         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
20
21 2011-04-09  Bruno Haible  <bruno@clisp.org>
22
23         careadlinkat: Guard against misuse of careadlinkatcwd.
24         * lib/careadlinkat.c: Include <stdlib.h>.
25         (careadlinkatcwd): Check that the fd argument is as expected.
26
27 2011-04-09  Bruno Haible  <bruno@clisp.org>
28
29         careadlinkat: Use common coding style.
30         * lib/careadlinkat.c: Move gnulib includes after system includes.
31
32 2011-04-09  Bruno Haible  <bruno@clisp.org>
33
34         careadlinkat: Clarify specification.
35         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
36         (careadlinkatcwd): Add comment.
37         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
38
39 2011-04-09  Bruno Haible  <bruno@clisp.org>
40
41         areadlinkat: Avoid link error on many platforms.
42         * modules/areadlinkat (Depends-on): Add areadlink.
43
44 2011-04-09  Bruno Haible  <bruno@clisp.org>
45
46         allocator, careadlinkat: Fix double-inclusion guard.
47         * lib/allocator.h: Fix double-inclusion guard.
48         * lib/careadlinkat.h: Likewise.
49
50 2011-04-09  Bruno Haible  <bruno@clisp.org>
51
52         relocatable-prog-wrapper: Update after module 'areadlink' changed.
53         * lib/relocwrapper.c: Update dependencies hierarchy.
54         * build-aux/install-reloc: Update list of files to be compiled.
55         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
56         lib/allocator.[hc].
57
58 2011-04-08  Eric Blake  <eblake@redhat.com>
59
60         strftime: silence gnulib-tool warning
61         * modules/strftime-tests (Depends-on): Drop automatic dependency.
62
63 2011-04-08  Bruno Haible  <bruno@clisp.org>
64
65         verify: Fix syntax error with GCC 4.6 in C++ mode.
66         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
67         (HAVE_STATIC_ASSERT): New macro.
68         (verify_true, verify): Use 'static_assert' if it is supported and
69         '_Static_assert' is not supported.
70
71 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
72
73         allocator: New module.
74         * modules/allocator, lib/allocator.c: New files.
75         * lib/allocator.h (stdlib_allocator): New decl.
76         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
77         Remove.  Do not include <stdlib.h>.
78         (careadlinkat): Use stdlib_allocator instead of rolling our own.
79         * modules/careadlinkat (Files): Remove lib/allocator.h.
80         (Depends-on): Add allocator.
81
82         stdlib: let modules use system malloc, realloc
83         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
84         if !_GL_USE_STDLIB_ALLOC.
85         (malloc, realloc): Limit this change to a smaller scope.
86
87         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
88         (malloc, realloc): Don't #undef; no longer needed.
89         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
90         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
91         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
92         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
93         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
94         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
95         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
96         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
97
98         careadlinkat: rename members to avoid problem
99         * lib/allocator.h (struct allocator): Rename members from
100         malloc/realloc to allocate/reallocate, to avoid problems if malloc
101         and realloc are #define'd.  Reported by Eric Blake in
102         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
103         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
104
105 2011-04-08  Eric Blake  <eblake@redhat.com>
106
107         nonblocking: reduce dependency
108         * tests/test-nonblocking.c: Only test sockets when in use.
109         * modules/nonblocking-tests (Depends-on): Drop socket.
110         (Makefile.am): Link even if sockets are not present.
111         * modules/pipe2-tests (Makefile.am): Likewise.
112         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
113
114         pipe2: fix O_NONBLOCK support on mingw
115         * modules/pipe2 (Depends-on): Add nonblocking.
116         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
117         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
118         * tests/test-nonblocking.c (main): Likewise.
119         * modules/pipe2-tests (Makefile.am): Avoid link failure.
120
121         fcntl-h: fix O_ACCMODE on cygwin
122         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
123         * lib/fcntl.in.h (O_ACCMODE): Fix it.
124
125         pipe-filter: drop O_NONBLOCK workarounds
126         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
127         * modules/pipe-filter-ii (Depends-on): Likewise.
128         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
129
130         nonblocking: provide O_NONBLOCK for mingw
131         * modules/nonblocking (Depends-on): Add open.
132         (configure.ac): Set new witness macro.
133         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
134         * modules/fcntl-h (Makefile.am): Substitute it.
135         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
136         nonblocking module is in use.
137         * lib/nonblocking.c: Adjust portability test.
138         * lib/open.c (open): Don't let native open see gnulib flag.
139         * tests/test-fcntl-h.c (main): Enhance test.
140         * tests/test-open.h (test_open): Likewise.
141         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
142
143         careadlink: fix compilation error on mingw
144         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
145         within struct allocator.
146
147 2011-04-06  Eric Blake  <eblake@redhat.com>
148
149         binary-io: relicense under LGPLv2+
150         * modules/binary-io (License): Relax to LGPLv2+.
151         Requested for libvirt, and required by pipe2.
152
153 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
154
155         verify: use _Static_assert if available
156         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
157         (verify_true, verify): Use it if available.  This generates better
158         diagnostics with GCC 4.6.0 and later.
159
160 2011-04-05  Bruno Haible  <bruno@clisp.org>
161
162         Remove leftover generated .h files after config.status changed.
163
164         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
165         GL_GENERATE_ALLOCA_H.
166         * modules/alloca-opt (Makefile.am): Remove alloca.h if
167         GL_GENERATE_ALLOCA_H evaluates to false.
168
169         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
170         GL_GENERATE_ARGZ_H.
171         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
172         evaluates to false.
173
174         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
175         GL_GENERATE_BYTESWAP_H.
176         * modules/byteswap (Makefile.am): Remove byteswap.h if
177         GL_GENERATE_BYTESWAP_H evaluates to false.
178
179         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
180         GL_GENERATE_ERRNO_H.
181         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
182         evaluates to false.
183
184         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
185         GL_GENERATE_FLOAT_H.
186         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
187         evaluates to false.
188
189         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
190         GL_GENERATE_FNMATCH_H.
191         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
192         GL_GENERATE_FNMATCH_H evaluates to false.
193
194         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
195         GL_GENERATE_GLOB_H.
196         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
197         evaluates to false.
198
199         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
200         automake conditional GL_GENERATE_ICONV_H.
201         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
202         evaluates to false.
203
204         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
205         GL_GENERATE_NETINET_IN_H.
206         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
207         GL_GENERATE_NETINET_IN_H evaluates to false.
208
209         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
210         conditional GL_GENERATE_PTHREAD_H.
211         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
212         * modules/pthread (Makefile.am): Remove pthread.h if
213         GL_GENERATE_PTHREAD_H evaluates to false.
214
215         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
216         GL_GENERATE_SCHED_H.
217         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
218         evaluates to false.
219
220         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
221         conditional GL_GENERATE_SELINUX_CONTEXT_H.
222         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
223         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
224
225         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
226         GL_GENERATE_STDARG_H.
227         * modules/stdarg (Makefile.am): Remove stdarg.h if
228         GL_GENERATE_STDARG_H evaluates to false.
229
230         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
231         GL_GENERATE_STDBOOL_H.
232         * modules/stdbool (Makefile.am): Remove stdbool.h if
233         GL_GENERATE_STDBOOL_H evaluates to false.
234
235         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
236         conditional GL_GENERATE_STDDEF_H.
237         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
238         * modules/stddef (Makefile.am): Remove stddef.h if
239         GL_GENERATE_STDDEF_H evaluates to false.
240
241         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
242         GL_GENERATE_STDINT_H.
243         * modules/stdint (Makefile.am): Remove stdint.h if
244         GL_GENERATE_STDINT_H evaluates to false.
245
246         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
247         GL_GENERATE_SYSEXITS_H.
248         * modules/sysexits (Makefile.am): Remove sysexits.h if
249         GL_GENERATE_SYSEXITS_H evaluates to false.
250
251         Reported by Karl Berry and Ralf Wildenhues.
252
253 2011-04-05  Bruno Haible  <bruno@clisp.org>
254
255         Ensure to rebuild generated .h files when config.status has changed.
256         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
257         config.status.
258         * modules/ctype (Makefile.am): Likewise.
259         * modules/dirent (Makefile.am): Likewise.
260         * modules/errno (Makefile.am): Likewise.
261         * modules/fcntl-h (Makefile.am): Likewise.
262         * modules/float (Makefile.am): Likewise.
263         * modules/getopt-posix (Makefile.am): Likewise.
264         * modules/glob (Makefile.am): Likewise.
265         * modules/iconv-h (Makefile.am): Likewise.
266         * modules/inttypes (Makefile.am): Likewise.
267         * modules/langinfo (Makefile.am): Likewise.
268         * modules/locale (Makefile.am): Likewise.
269         * modules/math (Makefile.am): Likewise.
270         * modules/netdb (Makefile.am): Likewise.
271         * modules/netinet_in (Makefile.am): Likewise.
272         * modules/poll-h (Makefile.am): Likewise.
273         * modules/pthread (Makefile.am): Likewise.
274         * modules/pty (Makefile.am): Likewise.
275         * modules/sched (Makefile.am): Likewise.
276         * modules/search (Makefile.am): Likewise.
277         * modules/selinux-h (Makefile.am): Likewise.
278         * modules/signal (Makefile.am): Likewise.
279         * modules/spawn (Makefile.am): Likewise.
280         * modules/stdarg (Makefile.am): Likewise.
281         * modules/stdbool (Makefile.am): Likewise.
282         * modules/stddef (Makefile.am): Likewise.
283         * modules/stdint (Makefile.am): Likewise.
284         * modules/stdio (Makefile.am): Likewise.
285         * modules/stdlib (Makefile.am): Likewise.
286         * modules/string (Makefile.am): Likewise.
287         * modules/strings (Makefile.am): Likewise.
288         * modules/sys_file (Makefile.am): Likewise.
289         * modules/sys_ioctl (Makefile.am): Likewise.
290         * modules/sys_select (Makefile.am): Likewise.
291         * modules/sys_socket (Makefile.am): Likewise.
292         * modules/sys_stat (Makefile.am): Likewise.
293         * modules/sys_time (Makefile.am): Likewise.
294         * modules/sys_times (Makefile.am): Likewise.
295         * modules/sys_utsname (Makefile.am): Likewise.
296         * modules/sys_wait (Makefile.am): Likewise.
297         * modules/sysexits (Makefile.am): Likewise.
298         * modules/termios (Makefile.am): Likewise.
299         * modules/time (Makefile.am): Likewise.
300         * modules/unistd (Makefile.am): Likewise.
301         * modules/wchar (Makefile.am): Likewise.
302         * modules/wctype-h (Makefile.am): Likewise.
303         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
304
305 2011-04-05  Bruno Haible  <bruno@clisp.org>
306
307         pipe2: Relicense under LGPLv2+.
308         * modules/pipe2 (License): Change to LGPLv2+.
309         Requested by Eric Blake, for libvirt.
310
311 2011-04-05  Bruce Korb  <bkorb@gnu.org>
312
313         bootstrap: compute gnulib_extra_files after updating build_aux
314         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
315         change build_aux or also supply gnulib_extra_files.  Handle correctly.
316
317 2011-04-05  Eric Blake  <eblake@redhat.com>
318
319         bootstrap: preserve git whitelist item sorting
320         * build-aux/bootstrap (sort_patterns): New function.
321         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
322
323 2011-04-05  Simon Josefsson  <simon@josefsson.org>
324
325         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
326         sc_space_tab check.
327
328 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
329
330         areadlink, areadlinkat: rewrite in terms of careadlinkat
331         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
332         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
333         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
334         (malloc, realloc): Remove #undefs.
335         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
336         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
337         readlink, ssize_t, stdint, unistd.
338         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
339         areadlink, stdint.
340
341         careadlinkat: new module
342         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
343         * modules/careadlinkat: New files, written by me with
344         a review and feedback from Ben Pfaff in
345         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
346
347 2011-04-01  Bruno Haible  <bruno@clisp.org>
348
349         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
350         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
351         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
352         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
353         Reported by Bruce Korb <bruce.korb@gmail.com>.
354
355 2011-04-01  Bruno Haible  <bruno@clisp.org>
356
357         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
358         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
359         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
360         * modules/wcpcpy (Depends-on): Add extensions.
361         * modules/wcpncpy (Depends-on): Likewise.
362         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
363         systems.
364         * doc/posix-functions/wcpncpy.texi: Likewise.
365         * doc/posix-functions/wcwidth.texi: Likewise.
366
367 2011-03-31  Eric Blake  <eblake@redhat.com>
368
369         nonblocking: fix mingw test failures
370         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
371         non-blocking flag on regular file.
372         (get_nonblocking_flag): Set errno on invalid fd.
373         * tests/test-nonblocking.c (main): Avoid test failure on
374         directories if fchdir is not active.
375         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
376
377 2011-03-31  Bruno Haible  <bruno@clisp.org>
378
379         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
380         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
381         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
382         Reported by Simon Josefsson <simon@josefsson.org>.
383
384 2011-03-31  Bruno Haible  <bruno@clisp.org>
385         and Eric Blake  <eblake@redhat.com>
386
387         nonblocking: new module
388         * modules/nonblocking: New module.
389         * modules/nonblocking-tests: Likewise.
390         * lib/nonblocking.h: New file.
391         * lib/nonblocking.c: Likewise.
392         * tests/test-nonblocking.c: New test.
393         * lib/ioctl.c (ioctl) [mingw]: Update comment.
394
395 2011-03-30  Bruno Haible  <bruno@clisp.org>
396
397         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
398         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
399         instead of 'printf' format for GCC >= 4.4.
400         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
401         (fprintf, printf, vfprintf, vprintf): Declare with
402         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
403         the system's vfprintf() function.
404         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
405
406 2011-03-30  Eric Blake  <eblake@redhat.com>
407
408         passfd: fix scoping bug
409         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
410         before sendmsg/recvmsg.
411
412         passfd: standardize coding conventions
413         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
414         can be learned at compile time.
415         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
416         ifdefs.
417         (sendfd, recvfd): Follow gnulib code conventions.
418
419         passfd: fix incorrect sendmsg arguments
420         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
421         incorrect msg_controllen value.
422         * modules/passfd-tests (Depends-on): Check for alarm.
423         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
424         Reported by Bastien ROUCARIES.
425
426 2011-03-30  Bruno Haible  <bruno@clisp.org>
427
428         c-strcasestr: Relicense under LGPLv2+.
429         * modules/c-strcasestr (License): Change to LGPLv2+.
430         Requested by Eric Blake, for libvirt.
431
432 2011-03-30  Simon Josefsson  <simon@josefsson.org>
433
434         * users.txt: Add libidn2.  Fix libtasn1 link.
435
436 2011-03-30  Jim Meyering  <meyering@redhat.com>
437
438         tests: readlink* ("",... fails with EINVAL on newer kernels
439         readlink and readlinkat have typically failed with ENOENT for
440         the invalid, empty file name,  "".  However, with the advent
441         of linux-2.6.39, they fail with EINVAL.
442         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
443         when operating on the empty file name.
444         * tests/test-readlink.h (test_readlink): Likewise.
445
446 2011-03-29  Bruno Haible  <bruno@clisp.org>
447
448         Relicense some modules under LGPLv2+, for libidn2.
449         * modules/array-mergesort (License): Change to LGPLv2+.
450         * modules/c-strcaseeq (License): Likewise.
451         * modules/striconveh (License): Likewise.
452         * modules/striconveha (License): Likewise.
453         * modules/uniconv/base (License): Likewise.
454         * modules/uniconv/u8-conv-from-enc (License): Likewise.
455         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
456         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
457         * modules/unictype/base (License): Likewise.
458         * modules/unictype/bidiclass-of (License): Likewise.
459         * modules/unictype/category-M (License): Likewise.
460         * modules/unictype/category-none (License): Likewise.
461         * modules/unictype/category-of (License): Likewise.
462         * modules/unictype/category-test (License): Likewise.
463         * modules/unictype/category-test-withtable (License): Likewise.
464         * modules/unictype/combining-class (License): Likewise.
465         * modules/unictype/joiningtype-of (License): Likewise.
466         * modules/unictype/scripts (License): Likewise.
467         * modules/uninorm/base (License): Likewise.
468         * modules/uninorm/canonical-decomposition (License): Likewise.
469         * modules/uninorm/composition (License): Likewise.
470         * modules/uninorm/decompose-internal (License): Likewise.
471         * modules/uninorm/decomposition-table (License): Likewise.
472         * modules/uninorm/nfc (License): Likewise.
473         * modules/uninorm/nfd (License): Likewise.
474         * modules/uninorm/u32-normalize (License): Likewise.
475         * modules/unistr/base (License): Likewise.
476         * modules/unistr/u32-cpy (License): Likewise.
477         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
478         * modules/unistr/u32-to-u8 (License): Likewise.
479         * modules/unistr/u32-uctomb (License): Likewise.
480         * modules/unistr/u8-check (License): Likewise.
481         * modules/unistr/u8-mblen (License): Likewise.
482         * modules/unistr/u8-mbtouc (License): Likewise.
483         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
484         * modules/unistr/u8-mbtoucr (License): Likewise.
485         * modules/unistr/u8-prev (License): Likewise.
486         * modules/unistr/u8-strlen (License): Likewise.
487         * modules/unistr/u8-to-u32 (License): Likewise.
488         * modules/unistr/u8-uctomb (License): Likewise.
489         * modules/unitypes (License): Likewise.
490         Requested by Simon Josefsson.
491
492 2011-03-29  Simon Josefsson  <simon@josefsson.org>
493
494         lib-symbol-visibility: Add a notice.
495         * modules/lib-symbol-visibility (Notice): New field.
496
497 2011-03-29  Bruno Haible  <bruno@clisp.org>
498
499         getaddrinfo: Doc fix.
500         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
501         section "fixed in Gnulib".
502
503 2011-03-28  Simon Josefsson  <simon@josefsson.org>
504
505         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
506         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
507
508 2011-03-26  Bruno Haible  <bruno@clisp.org>
509
510         unictype/property-byname: Reduce the number of load-time relocations.
511         * lib/unictype/pr_byname.c: Include <stdlib.h>.
512         (UC_PROPERTY_INDEX_*): New enumeration values.
513         (uc_property_byname): Convert an index from the lookup table to an
514         uc_property_t.
515         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
516         values.
517
518 2011-03-26  Bruno Haible  <bruno@clisp.org>
519
520         unictype/property-byname: Allow omitted word separators and aliases.
521         * lib/unictype/pr_byname.gperf: Add property names without word
522         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
523         for 'space'.
524
525 2011-03-26  Bruno Haible  <bruno@clisp.org>
526
527         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
528         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
529         also hyphens to space.
530         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
531         without spaces.
532         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
533
534 2011-03-26  Bruno Haible  <bruno@clisp.org>
535
536         unictype/joiningtype-byname: Recognize long names as well.
537         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
538         a long name.
539         * lib/unictype/joiningtype_byname.c: Include <string.h>,
540         unictype/joiningtype_byname.h.
541         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
542         * lib/unictype/joiningtype_byname.gperf: New file.
543         * modules/unictype/joiningtype-byname (Files): Add
544         lib/unictype/joiningtype_byname.gperf.
545         (Depends-on): Add gperf.
546         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
547         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
548         long names.
549
550         Tests for module 'unictype/joiningtype-longname'.
551         * modules/unictype/joiningtype-longname-tests: New file.
552         * tests/unictype/test-joiningtype_longname.c: New file.
553
554         New module 'unictype/joiningtype-longname'.
555         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
556         * lib/unictype/joiningtype_longname.c: New file.
557         * modules/unictype/joiningtype-longname: New file.
558         * modules/unictype/joiningtype-all (Depends-on): Add
559         unictype/joiningtype-longname.
560
561 2011-03-26  Bruno Haible  <bruno@clisp.org>
562
563         unictype/bidiclass-byname: Recognize long names as well.
564         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
565         name.
566         * lib/unictype/bidi_byname.c: Include <string.h>,
567         unictype/bidi_byname.h.
568         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
569         * lib/unictype/bidi_byname.gperf: New file.
570         * modules/unictype/bidiclass-byname (Files): Add
571         lib/unictype/bidi_byname.gperf.
572         (Depends-on): Add gperf.
573         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
574         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
575         long names.
576
577         Tests for module 'unictype/bidiclass-longname'.
578         * modules/unictype/bidiclass-longname-tests: New file.
579         * tests/unictype/test-bidi_longname.c: New file.
580
581         New module 'unictype/bidiclass-longname'.
582         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
583         * lib/unictype/bidi_longname.c: New file.
584         * modules/unictype/bidiclass-longname: New file.
585         * modules/unictype/bidiclass-all (Depends-on): Add
586         unictype/bidiclass-longname.
587
588 2011-03-26  Bruno Haible  <bruno@clisp.org>
589
590         unictype/bidi*: Rename modules.
591         * modules/unictype/bidiclass-all: Renamed from
592         modules/unictype/bidicategory-all.
593         * modules/unictype/bidiclass-name: Renamed from
594         modules/unictype/bidiclass-name.
595         (Description): Update.
596         * modules/unictype/bidiclass-name-tests: Renamed from
597         modules/unictype/bidicategory-name-tests.
598         * modules/unictype/bidiclass-byname: Renamed from
599         modules/unictype/bidicategory-byname.
600         (Description): Update.
601         * modules/unictype/bidiclass-byname-tests: Renamed from
602         modules/unictype/bidicategory-byname-tests.
603         * modules/unictype/bidiclass-of: Renamed from
604         modules/unictype/bidicategory-of.
605         (Description): Update.
606         * modules/unictype/bidiclass-of-tests: Renamed from
607         modules/unictype/bidicategory-of-tests.
608         * modules/unictype/bidiclass-test: Renamed from
609         modules/unictype/bidicategory-test.
610         (Description): Update.
611         * modules/unictype/bidiclass-test-tests: Renamed from
612         modules/unictype/bidicategory-test-tests.
613         * modules/unictype/bidicategory-all: New file, a simple redirection.
614         * modules/unictype/bidicategory-name: Likewise.
615         * modules/unictype/bidicategory-byname: Likewise.
616         * modules/unictype/bidicategory-of: Likewise.
617         * modules/unictype/bidicategory-test: Likewise.
618         * modules/unictype/property-bidi-* (Dependencies): Update.
619         * lib/unictype/bidi_*.c: Update comment.
620
621 2011-03-26  Bruno Haible  <bruno@clisp.org>
622
623         unictype/bidi*: Rename functions, part 2.
624         * modules/unictype/bidicategory-name (configure.ac): Update required
625         libunistring version.
626         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
627
628 2011-03-25  Bruno Haible  <bruno@clisp.org>
629
630         New module 'unictype/combining-class-all'.
631         * modules/unictype/combining-class-all: New file.
632
633         Tests for module 'unictype/combining-class-byname'.
634         * modules/unictype/combining-class-byname-tests: New file.
635         * tests/unictype/test-combiningclass_byname.c: New file.
636
637         New module 'unictype/combining-class-byname'.
638         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
639         * lib/unictype/combiningclass_byname.c: New file.
640         * lib/unictype/combiningclass_byname.gperf: New file.
641         * modules/unictype/combining-class-byname: New file.
642
643         Tests for module 'unictype/combining-class-longname'.
644         * modules/unictype/combining-class-longname-tests: New file.
645         * tests/unictype/test-combiningclass_longname.c: New file.
646
647         New module 'unictype/combining-class-longname'.
648         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
649         * lib/unictype/combiningclass_longname.c: New file.
650         * modules/unictype/combining-class-longname: New file.
651
652         Tests for module 'unictype/combining-class-name'.
653         * modules/unictype/combining-class-name-tests: New file.
654         * tests/unictype/test-combiningclass_name.c: New file.
655
656         New module 'unictype/combining-class-name'.
657         * lib/unictype.in.h (uc_combining_class_name): New declaration.
658         * lib/unictype/combiningclass_name.c: New file.
659         * modules/unictype/combining-class-name: New file.
660
661 2011-03-25  Bruno Haible  <bruno@clisp.org>
662
663         unictype/combining-class: Rename source files.
664         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
665         of unictype/combining.h.
666         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
667         Update.
668         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
669         * modules/unictype/combining-class (Description): Fix.
670         (Files, Makefile.am): Update.
671         * tests/unictype/test-combiningclass.c: Renamed from
672         tests/unictype/test-combining.c.
673         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
674
675 2011-03-25  Bruno Haible  <bruno@clisp.org>
676
677         unictype: Update list of canonical combining classes.
678         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
679
680 2011-03-25  Bruno Haible  <bruno@clisp.org>
681
682         unictype/category-byname: Recognize long names as well.
683         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
684         a long name.
685         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
686         unictype/categ_byname.h.
687         (UC_CATEGORY_INDEX_*): New enumeration values.
688         (uc_general_category_byname): Use uc_general_category_lookup and
689         convert from index to value.
690         * lib/unictype/categ_byname.gperf: New file.
691         * modules/unictype/category-byname (Files): Add
692         lib/unictype/categ_byname.gperf.
693         (Depends-on): Add gperf.
694         (Makefile.am): Add rule for generating unictype/categ_byname.h.
695         * tests/unictype/test-categ_byname.c (main): Test the recognition of
696         long names.
697
698         Tests for module 'unictype/category-longname'.
699         * modules/unictype/category-longname-tests: New file.
700         * tests/unictype/test-categ_longname.c: New file.
701
702         New module 'unictype/category-longname'.
703         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
704         * lib/unictype/categ_longname.c: New file.
705         * modules/unictype/category-longname: New file.
706         * modules/unictype/category-all (Depends-on): Add it.
707
708 2011-03-25  Bruno Haible  <bruno@clisp.org>
709
710         Tests for module 'unictype/category-LC'.
711         * modules/unictype/category-LC-tests: New file.
712         * tests/unictype/test-categ_LC.c: New file, automatically generated.
713
714         New module 'unictype/category-LC'.
715         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
716         (UC_CATEGORY_LC): New declaration.
717         (UC_CASED_LETTER): New macro.
718         * lib/gen-uni-tables.c (is_category_LC): New function.
719         (output_categories): Also handle category LC.
720         (UC_CATEGORY_MASK_LC): New enumeration value.
721         (general_category_byname): Also handle category LC.
722         * lib/unictype/categ_LC.c: New file.
723         * lib/unictype/categ_LC.h: New file, automatically generated.
724         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
725         category LC.
726         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
727         * modules/unictype/category-LC: New file.
728         * modules/unictype/category-byname (Depends-on): Add
729         unictype/category-LC.
730         * modules/unictype/category-all (Depends-on): Likewise.
731
732 2011-03-25  Eric Blake  <eblake@redhat.com>
733
734         xmalloc: revert yesterday's regression
735         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
736         realloc's underlying behavior (allowing allocation of zero-size
737         objects, especially if malloc-gnu is also in use).
738
739 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
740
741         maint.mk: add missing version to VC-tag
742         * top/maint.mk: git tag was missing actual tag name; add it.
743
744         valgrind: do leak checking, and exit with code 1 on error (not 0)
745         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
746         to VALGRIND.
747
748 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
749
750         posix-modules: say what it does.
751         * posix-modules: Add a line to the --help output saying what it does.
752
753 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
754
755         xmalloc: Do not leak if underlying realloc is C99 compatible.
756         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
757         This avoids a leak on C99-based systems.  See
758         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
759
760 2011-03-24  Eric Blake  <eblake@redhat.com>
761
762         realloc: document portability problem
763         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
764         passing 0 size to realloc.
765
766 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
767
768         doc: update users.txt
769         * users.txt: Add cvsps, tmpwatch
770
771 2011-03-23  Matt Rice  <ratmice@gmail.com>
772
773         doc: update users.txt
774         * users.txt: Add gdb.
775
776 2011-03-23  Jim Meyering  <meyering@redhat.com>
777
778         doc: update users.txt
779         Looking through matches up to the following URL (there are still
780         several more pages), I found several projects that use gnulib:
781         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
782         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
783         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
784
785 2011-03-22  Bruno Haible  <bruno@clisp.org>
786
787         unictype/bidi*: Rename functions.
788         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
789         uc_bidi_class, uc_is_bidi_class): New declarations.
790         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
791         uc_bidi_category_byname.
792         (uc_bidi_category_byname): New function.
793         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
794         u_bidi_category_name.
795         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
796         (uc_bidi_category_name): New function.
797         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
798         uc_bidi_category.
799         (uc_bidi_category): New function.
800         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
801         uc_is_bidi_category. Invoke uc_bidi_class.
802         (uc_is_bidi_category): New function.
803         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
804         instead of uc_bidi_category_byname.
805         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
806         instead of uc_bidi_category_name.
807         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
808         uc_bidi_category.
809         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
810         instead of uc_is_bidi_category.
811
812 2011-03-21  Bruno Haible  <bruno@clisp.org>
813
814         New module 'unictype/joininggroup-all'.
815         * modules/unictype/joininggroup-all: New file.
816
817         Tests for module 'unictype/joininggroup-of'.
818         * modules/unictype/joininggroup-of-tests: New file.
819         * tests/unictype/test-joininggroup_of.c: New file.
820         * tests/unictype/test-joininggroup_of.h: New file, automatically
821         generated by gen-uni-tables.
822
823         New module 'unictype/joininggroup-of'.
824         * modules/unictype/joininggroup-of: New file.
825         * lib/unictype/joininggroup_of.c: New file.
826         * lib/unictype/joininggroup_of.h: New file, automatically generated by
827         gen-uni-tables.
828
829         Tests for module 'unictype/joininggroup-byname'.
830         * modules/unictype/joininggroup-byname-tests: New file.
831         * tests/unictype/test-joininggroup_byname.c: New file.
832
833         New module 'unictype/joininggroup-byname'.
834         * modules/unictype/joininggroup-byname: New file.
835         * lib/unictype/joininggroup_byname.c: New file.
836         * lib/unictype/joininggroup_byname.gperf: New file.
837
838         Tests for module 'unictype/joininggroup-name'.
839         * modules/unictype/joininggroup-name-tests: New file.
840         * tests/unictype/test-joininggroup_name.c: New file.
841
842         New module 'unictype/joininggroup-name'.
843         * modules/unictype/joininggroup-name: New file.
844         * lib/unictype/joininggroup_name.c: New file.
845         * lib/unictype/joininggroup_name.h: New file.
846
847         New module 'unictype/joiningtype-all'.
848         * modules/unictype/joiningtype-all: New file.
849
850         Tests for module 'unictype/joiningtype-of'.
851         * modules/unictype/joiningtype-of-tests: New file.
852         * tests/unictype/test-joiningtype_of.c: New file.
853         * tests/unictype/test-joiningtype_of.h: New file, automatically
854         generated by gen-uni-tables.
855
856         New module 'unictype/joiningtype-of'.
857         * modules/unictype/joiningtype-of: New file.
858         * lib/unictype/joiningtype_of.c: New file.
859         * lib/unictype/joiningtype_of.h: New file, automatically generated by
860         gen-uni-tables.
861
862         Tests for module 'unictype/joiningtype-byname'.
863         * modules/unictype/joiningtype-byname-tests: New file.
864         * tests/unictype/test-joiningtype_byname.c: New file.
865
866         New module 'unictype/joiningtype-byname'.
867         * modules/unictype/joiningtype-byname: New file.
868         * lib/unictype/joiningtype_byname.c: New file.
869
870         Tests for module 'unictype/joiningtype-name'.
871         * modules/unictype/joiningtype-name-tests: New file.
872         * tests/unictype/test-joiningtype_name.c: New file.
873
874         New module 'unictype/joiningtype-name'.
875         * modules/unictype/joiningtype-name: New file.
876         * lib/unictype/joiningtype_name.c: New file.
877
878         unictype: Add support for Arabic shaping properties.
879         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
880         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
881         declarations.
882         (UC_JOINING_GROUP_*): New enumeration values.
883         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
884         declarations.
885         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
886         (unicode_joining_type): New variable.
887         (UC_JOINING_GROUP_*): New enumeration values.
888         (unicode_joining_group): New variable.
889         (fill_arabicshaping, joining_type_as_c_identifier,
890         output_joining_type_test, output_joining_type,
891         joining_group_as_c_identifier, output_joining_group_test,
892         output_joining_group): New functions.
893         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
894         fill_arabicshaping and output_joining_type_test, output_joining_type,
895         output_joining_group_test, output_joining_group.
896         Reported by Simon Josefsson.
897
898 2011-03-21  Jim Meyering  <meyering@redhat.com>
899
900         strftime: fix a bug in yesterday's change
901         * lib/strftime.c (add): Accommodate width's initial value of -1.
902         Otherwise, nstrftime would copy uninitialized data into
903         the result buffer.
904
905 2011-03-21  Jim Meyering  <meyering@redhat.com>
906
907         tests: add strftime-tests module
908         * tests/test-strftime.c: New file.
909         * modules/strftime-tests: New module.
910
911 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
912
913         strftime: don't assume a byte count fits in 'int'
914         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
915         found this problem by static analysis, using gcc -Wstrict-overflow
916         (GCC 4.5.2, x86-64).  This reported an optimization that depended
917         on an integer overflow having undefined behavior, but it turns out
918         that the argument is a size, which might not fit in 'int' anyway,
919
920 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
921
922         stdio: don't require ignore_value around fwrite
923
924         This patch works around libc bug 11959
925         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
926         Without this patch, applications must often write
927         ignore_value (fwrite (...)) even though the ignore_value is
928         not helpful here.  It's common to write many objects, using
929         fwrite/printf/etc., and then use ferror to detect output error.
930
931         I considered making this patch optional, but decided against it,
932         because libc is obviously being inconsistent here: there is no
933         reason libc should insist that user code must inspect fwrite
934         return's value without also insisting that it inspect printf's,
935         putchar's, etc.  If user code wants to have a strict style where
936         all these functions' values are checked (so that ferror need not
937         be checked), we could add support for that style in a new gnulib
938         module, but in the meantime it's better to be consistent and to
939         support common usage.
940
941         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
942         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
943         that we are compiling in checking mode, and if not C++, and
944         if not already wrapping fwrite for some other reason.
945         (fwrite): #define to rpl_fwrite if the latter is defined.
946
947 2011-03-20  Bruno Haible  <bruno@clisp.org>
948
949         verror: Fix compilation error introduced on 2011-02-13.
950         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
951         instead of __attribute__.
952         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
953
954 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
955             Bruno Haible  <bruno@clisp.org>
956
957         socklen: do not depend on sys_socket
958         While trying to modify Emacs to use gnulib's socklen module,
959         I discovered a circular dependency: socklen depends on sys_socket
960         and vice versa.  Emacs can use socklen, but it does not need
961         sys_socket because it has its own substitute for sys/socket.h.
962         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
963         gl_TYPE_SOCKLEN_T.
964         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
965         gl_PREREQ_SYS_H_SOCKET.
966         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
967         gl_PREREQ_SYS_H_SOCKET.
968         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
969         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
970         * modules/socklen (Depends-on): Do not depend on sys_socket.
971         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
972
973 2011-03-20  Jim Meyering  <meyering@redhat.com>
974
975         maint.mk: sort file names *after* new transformation
976         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
977         prefix would have led to an unwarranted failure in GNU parted.
978         Sort after that transformation.
979
980 2011-03-19  Jim Meyering  <meyering@redhat.com>
981
982         maint.mk: fix po-file syntax-check rule
983         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
984         Patch by Bruno Haible.
985
986 2011-03-19  Bruno Haible  <bruno@clisp.org>
987
988         socklen: Update comment.
989         * m4/socklen.m4: Update comment about platforms.
990
991 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
992             Bruno Haible  <bruno@clisp.org>
993
994         inet_ntop, inet_pton: Simplify.
995         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
996         documented to provide socklen_t and we already depend on sys_socket.
997         * modules/inet_pton (Depends-on): Likewise.
998         * lib/arpa_inet.in.h: Adjust comment.
999
1000 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
1001             Bruno Haible  <bruno@clisp.org>
1002
1003         netdb: Simplify.
1004         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
1005         documented to provide socklen_t and we already depend on sys_socket.
1006         * lib/netdb.in.h: Adjust comment.
1007
1008 2011-03-19  Bruno Haible  <bruno@clisp.org>
1009
1010         sys_socket, netdb: Document problem with socklen_t.
1011         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
1012         platforms.
1013         * doc/posix-headers/netdb.texi: Likewise.
1014
1015 2011-03-18  Eric Blake  <eblake@redhat.com>
1016
1017         maint.mk: let po check work in VPATH build
1018         * top/maint.mk (po_file): Allow cfg.mk override.
1019         (sc_po_check): Allow VPATH use.
1020         Reported by Jiri Denemark.
1021
1022 2011-03-16  Jim Meyering  <meyering@redhat.com>
1023
1024         maint.mk: allow fine-grained syntax-check exclusion via Make variables
1025         Before, you would have had to create one .x-sc_ file per rule in order
1026         to exempt offending files.  Now, you may instead use a Make variable --
1027         usually defined in cfg.mk -- whose name identifies the affected rule.
1028         * top/maint.mk (_sc_excl): Define.
1029         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
1030         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
1031
1032 2011-03-13  Bruno Haible  <bruno@clisp.org>
1033
1034         ignore-value tests: Avoid warnings.
1035         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
1036         empty for gcc < 3.4.
1037
1038 2011-03-13  Bruno Haible  <bruno@clisp.org>
1039
1040         passfd: Fix link error on Solaris.
1041         * modules/passfd (Description): Correct.
1042         (Depends-on): Add socketlib.
1043         (Link): New section.
1044         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
1045
1046 2011-03-13  Bruno Haible  <bruno@clisp.org>
1047
1048         passfd: Fix link error on AIX 5.2.
1049         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
1050
1051 2011-03-13  Bruno Haible  <bruno@clisp.org>
1052
1053         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
1054         * lib/sys_socket.in.h: Include <stddef.h>.
1055         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
1056         CMSG_FIRSTHDR. Remove unused variable.
1057
1058 2011-03-13  Bruno Haible  <bruno@clisp.org>
1059
1060         passfd: Fix compilation error on OpenBSD.
1061         * lib/passfd.c: Include <sys/uio.h>.
1062
1063 2011-03-13  Bruno Haible  <bruno@clisp.org>
1064
1065         passfd test: Fix warnings.
1066         * tests/test-passfd.c: Include <sys/wait.h>.
1067         (main): Fix typo.
1068
1069 2011-03-13  Bruno Haible  <bruno@clisp.org>
1070
1071         passfd module, part 4, tweaks.
1072         * tests/test-passfd.c: Reorder includes.
1073         (main): Fix perror and printf calls.
1074
1075 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
1076
1077         passfd module, part 4.
1078         * modules/passfd-tests: New file.
1079         * tests/test-passfd.c: New file.
1080
1081 2011-03-13  Jim Meyering  <meyering@redhat.com>
1082
1083         Makefile: rely on GNU make; derive syntax-check rule names
1084         Rather than requiring that each sc_ rule be listed as a dependent
1085         of "check", use features of GNU make to derive the list.
1086         * Makefile (syntax-check-rules): Define.
1087         (check): Depend on the new variable, not the hard-coded list.
1088
1089 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
1090             Bruno Haible  <bruno@clisp.org>
1091
1092         passfd module, part 3.
1093         * lib/passfd.h (recvfd): Add a flags argument.
1094         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
1095         (recvfd): Add a flags argument.
1096         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
1097         exists.
1098         * modules/passfd (Depends-on): Add cloexec.
1099         Suggested by Eric Blake.
1100
1101 2011-03-13  Bruno Haible  <bruno@clisp.org>
1102
1103         passfd module, part 2, tweaks.
1104         * modules/passfd (Files): Reorder.
1105         (Depends-on): Remove errno.
1106         (Include): Remove <sys/socket.h>, <sys/un.h>.
1107         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
1108         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
1109         specification header. Include <sys/socket.h> always. Don't include
1110         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
1111         (sendfd): Clarify that it sets errno when it fails.
1112         (recvfd): Fix specification.
1113
1114 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
1115
1116         passfd module, part 2.
1117         * modules/passfd: New file.
1118         * lib/passfd.h: New file.
1119         * lib/passfd.c: New file.
1120
1121 2011-03-12  Bruno Haible  <bruno@clisp.org>
1122
1123         wcswidth, mbswidth: Avoid integer overflow.
1124         * lib/wcswidth.c: Include <limits.h>.
1125         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
1126         * lib/mbswidth.c: Include <limits.h>.
1127         (mbsnwidth): Avoid 'int' overflow.
1128         Reported by Jim Meyering.
1129
1130 2011-03-12  Bruno Haible  <bruno@clisp.org>
1131
1132         futimens, utimensat: Avoid endless recursion on Solaris 10.
1133         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
1134         Solaris.
1135         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
1136         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
1137
1138 2011-03-11  Jim Meyering  <meyering@redhat.com>
1139
1140         maint.mk: relax a regexp to accommodate other formatting styles
1141         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
1142         between "ngettext" and the following "(".
1143
1144 2011-03-11  Pádraig Brady <P@draigBrady.com>
1145
1146         maint.mk: suppress a false positive warning
1147         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
1148         diagnostics are marked with ngettext.
1149
1150 2011-03-10  Eric Blake  <eblake@redhat.com>
1151
1152         wchar: add explicit dependencies, for Tru64
1153         * modules/mbmemcasecoll (Depends-on): Add wchar.
1154         * modules/mbtowc (Depends-on): Likewise.
1155         * modules/vasnprintf (Depends-on): Likewise.
1156         * modules/unistdio/u-printf-args (Depends-on): Likewise.
1157         * modules/wctomb (Depends-on): Likewise.
1158         Reported by Peter O'Gorman.
1159
1160 2011-03-08  Bruno Haible  <bruno@clisp.org>
1161
1162         passfd module, part 1, tweaks.
1163         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
1164         Improve indentation. Improve AC_MSG_CHECKING messages.
1165         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
1166         gl_SOCKET_FAMILIES.
1167
1168 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
1169
1170         passfd module, part 1.
1171         * m4/afunix.m4: New file.
1172         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
1173         sockets.
1174
1175 2011-03-08  Bruno Haible  <bruno@clisp.org>
1176
1177         regex-quote: New API.
1178         * lib/regex-quote.h: Include <stdbool.h>.
1179         (struct regex_quote_spec): New type.
1180         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
1181         New declarations.
1182         (regex_quote_length, regex_quote_copy, regex_quote): Take a
1183         'const struct regex_quote_spec *' argument.
1184         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
1185         (pcre_special): New constant.
1186         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
1187         New functions.
1188         (regex_quote_length, regex_quote_copy, regex_quote): Take a
1189         'const struct regex_quote_spec *' argument.
1190         * modules/regex-quote (Depends-on): Add stdbool.
1191         * tests/test-regex-quote.c (check): Update for new API. Add test for
1192         anchored results.
1193         * NEWS: Mention the API change.
1194         Reported by Reuben Thomas and Eric Blake.
1195
1196 2011-03-06  Bruno Haible  <bruno@clisp.org>
1197
1198         regex-quote: Fix creation of POSIX extended regular expressions.
1199         * lib/regex-quote.c (ere_special): Add grouping and alternation
1200         operators.
1201
1202 2011-03-05  Bruno Haible  <bruno@clisp.org>
1203
1204         doc: Improve doc regarding autopoint vs. gnulib.
1205         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
1206         disable autopoint while running autoreconf.
1207         Suggested by Ralf Wildenhues.
1208
1209 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1210
1211         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
1212         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
1213
1214 2011-03-03  Bruce Korb  <bkorb@gnu.org>
1215
1216         parse-duration: remove xalloc.h dependency
1217         * lib/parse-duration.c (parse_period): handle NULL return from
1218         strdup instead of calling xstrdup().
1219         * modules/parse-duration: remove "xalloc" dependency
1220
1221 2011-03-03  Matthew Booth  <mbooth@redhat.com>
1222
1223         bootstrap: honor m4_base when running aclocal
1224         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
1225
1226 2011-03-02  Jim Meyering  <meyering@redhat.com>
1227
1228         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
1229         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
1230         on request from Matt Booth.
1231
1232 2011-03-01  Eric Blake  <eblake@redhat.com>
1233
1234         test-link: work on Hurd
1235         * tests/test-link.h (test_link): Hurd rejects linking directories
1236         with EISDIR instead of the POSIX-mandated EPERM.
1237
1238 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
1239
1240         stdio: simplify by moving files to printf-posix, sigpipe
1241         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
1242         since this symbol is needed only if printf is replaced.
1243         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
1244         Require gl_ASM_SYMBOL_PREFIX.
1245         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
1246         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
1247         (Depends-on): Add 'raise'.
1248         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
1249         * modules/stdio (Files): Remove lib/stdio-write.c,
1250         m4/asm-underscore.m4.
1251         (Depends-on): Remove 'raise'.
1252
1253         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
1254         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
1255         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
1256         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
1257
1258 2011-02-28  Bruno Haible  <bruno@clisp.org>
1259
1260         localcharset: Assume ANSI C behaviour of free().
1261         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
1262         calling free().
1263         Suggested by Simon Josefsson <simon@josefsson.org>.
1264
1265 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
1266             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
1267             Bruno Haible  <bruno@clisp.org>  (tiny change)
1268
1269         On Cygwin, use /proc file system instead of win32 API.
1270         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
1271         Win32 file names.
1272         (DllMain): Simplify by removing Cygwin specific code.
1273         (find_shared_library_fullname): Use Linux specific implementation also
1274         for Cygwin.
1275         (get_shared_library_fullname): Update accordingly.
1276         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
1277         Win32 file names.
1278         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
1279         Cygwin specific code.
1280
1281 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
1282             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
1283
1284         Fix OpenMP flag detection for various Fortran compilers.
1285         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
1286         OpenMP-conditional compilation construct, to force compile
1287         failure with missing OpenMP flag.
1288         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
1289
1290 2011-02-25  Eric Blake  <eblake@redhat.com>
1291
1292         strstr: expand test coverage
1293         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
1294         compilation.
1295         * tests/test-memmem.c (main): Duplicate tests.
1296         * tests/test-strcasestr.c (main): Likewise.
1297         * tests/test-c-strcasestr.c (main): Likewise.
1298
1299 2011-02-25  Jim Meyering  <meyering@redhat.com>
1300
1301         maint.mk: detect missing-NL-at-EOF, too
1302         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
1303         it also detects when a file lacks a newline at EOF.
1304         (require_exactly_one_NL_at_EOF_): Renamed from
1305         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
1306         since people may well have .x-sc_... file names tied to the
1307         existing name.  Suggested by Eric Blake.
1308
1309 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
1310
1311         dirname: move m4/dos.m4 functionality into lib/dosname.h
1312
1313         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
1314         extracts symbols from it, puts them into config.h; but it's much
1315         easier to use the symbols directly.  filename.h already does this,
1316         but it disagrees with dos.m4 in some respects.  This patch
1317         introduces a different include file dosname.h that packages up
1318         dos.m4, and then later we can work on merging filename.h and
1319         dosname.h.  Applications that need only the easy-to-configure
1320         symbols should consider including dosname.h rather than dirname.h.
1321         * NEWS: Mention incompatible changes.
1322         * m4/dos.m4: Remove.
1323         * lib/dosname.h, modules/dosname: New files.
1324         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
1325         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
1326         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
1327         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
1328         Include dosname.h, not dirname.h.
1329         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
1330         Include dosname.h, for definitions of symbols like ISSLASH
1331         that used to be in config.h.
1332         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
1333         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
1334         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
1335         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
1336         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
1337         * modules/rmdir (Files): Likewise.
1338         * modules/stat (Files): Likewise.
1339         * modules/unlink (Files): Likewise.
1340         * modules/dirname-lgpl (Depends-on): Add dosname.
1341         * modules/lstat (Depends-on): Likewise.
1342         * modules/openat (Depends-on): Likewise.
1343         * modules/rmdir (Depends-on): Likewise.
1344         * modules/savewd (Depends-on): Likewise.
1345         * modules/stat (Depends-on): Likewise.
1346         * modules/unlink (Depends-on): Likewise.
1347         * modules/openat (Depends-on): Remove dirname-lgpl.
1348         * modules/savewd (Depends-on): Likewise.
1349         * tests/test-dirname.c: Do not use removed symbols like
1350         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
1351         the remaining symbols, e.g., ISSLASH ('\\').
1352
1353 2011-02-25  Eric Blake  <eblake@redhat.com>
1354
1355         strstr: revert patches that introduced bug and pessimization
1356         * lib/str-two-way.h: Add another reference.
1357         (two_way_short_needle, two_way_long_needle): Revert changes from
1358         2011-02-24; they pessimize search speed.
1359         (critical_factorization): Partially revert changes from
1360         2010-06-22; they violate the requirement that the left half of the
1361         needle be smaller than the period of the needle.
1362
1363 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
1364
1365         filenamecat: remove unnecessary dependency on dirname-lgpl
1366         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
1367         is no direct dependency, just an indirect one via filenamecat-lgpl.
1368
1369         remove: remove unnecessary use of m4/dos.m4
1370         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
1371         * modules/remove (FILES): Remove m4/dos.m4.
1372
1373         * lib/openat-proc.c: Don't include dirname.h; not needed.
1374
1375         backupfile: remove unnecessary use of m4/dos.m4
1376         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
1377         of its symbols are used by the backupfile code.  backupfile.c does
1378         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
1379         for the rare case of programs that want all their backup file
1380         names to live within 8+3 limits, and dos.m4 doesn't address that.
1381         * modules/backupfile (Files): Remove m4/dos.m4.
1382
1383 2011-02-24  Jim Meyering  <meyering@redhat.com>
1384
1385         strstr: fix a bug whereby strstr would mistakenly return NULL
1386         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
1387         in period calculation.
1388         (two_way_long_needle): Likewise.
1389         The original problem was reported by Mike Stump in
1390         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
1391         Ralf Wildenhues provided the short needle and haystack.
1392         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
1393         Add a more involved test to trigger the bug in two_way_long_needle.
1394
1395 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
1396
1397         gnulib-tool: remove use of bold display in help screen
1398         * gnulib-tool (func_usage): Do not use bold display anymore in the
1399         help screen.  That was just meant to be a temporary emphasis for a
1400         backward-incompatible change.
1401
1402 2011-02-23  Bruno Haible  <bruno@clisp.org>
1403
1404         Fix misindentation of preprocessor directives.
1405         * lib/argp-namefrob.h: Reindent preprocessor directives.
1406         * lib/getopt_int.h (struct _getopt_data): Likewise.
1407         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
1408         * lib/vasnprintf.c (decode_long_double): Likewise.
1409         * tests/test-argmatch.c: Insert blank lines, for clarity.
1410         * tests/test-exclude.c: Likewise.
1411
1412 2011-02-22  Bruno Haible  <bruno@clisp.org>
1413
1414         ioctl: Fix for MacOS X in 64-bit mode.
1415         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
1416         value.
1417         Suggested by Eric Blake.
1418         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
1419
1420 2011-02-22  Jim Meyering  <meyering@redhat.com>
1421
1422         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
1423         * Makefile (sc_cpp_indent_check): Don't limit the check to files
1424         in lib/.
1425
1426 2011-02-22  Eric Blake  <eblake@redhat.com>
1427
1428         maint: avoid any CDPATH issue
1429         * Makefile (sc_cpp_indent_check): Anchor cd argument.
1430
1431         maint: adjust cpp indentation for my modules, as well
1432         * Makefile (sc_cpp_indent_check): Add my name.
1433         * lib/fbufmode.c: Filter through cppi.
1434         * lib/fpurge.c: Likewise.
1435         * lib/freadable.c: Likewise.
1436         * lib/freading.c: Likewise.
1437         * lib/fwritable.c: Likewise.
1438         * lib/fwriting.c: Likewise.
1439         * lib/sigaction.c: Likewise.
1440
1441 2011-02-22  Jim Meyering  <meyering@redhat.com>
1442
1443         maint: adjust cpp indentation to reflect nesting depth
1444         I.e., in a block of code that begins with an unnested "#if",
1445         put one space between the "#" in column 1 and following token.
1446         For example,
1447         -#include <sys/vfs.h>
1448         +# include <sys/vfs.h>
1449         Do this only in .c files that are part of a module I maintain.
1450         * lib/linkat.c: Filter through cppi.
1451         * lib/nanosleep.c: Likewise.
1452         * lib/openat.c: Likewise.
1453         * lib/openat-die.c: Likewise.
1454         * lib/dup3.c: Likewise.
1455         * lib/fchownat.c: Likewise.
1456         * lib/flock.c: Likewise.
1457         * lib/fsync.c: Likewise.
1458         * lib/fts.c: Likewise.
1459         * lib/getpass.c: Likewise.
1460         * lib/gettimeofday.c: Likewise.
1461         * lib/userspec.c: Likewise.
1462         * Makefile (sc_cpp_indent_check): New rule, to check this.
1463
1464 2011-02-22  Bruno Haible  <bruno@clisp.org>
1465
1466         New module 'wctomb'.
1467         * lib/stdlib.in.h (wctomb): New declaration.
1468         * lib/wctomb.c: New file.
1469         * lib/wctomb-impl.h: New file.
1470         * m4/wctomb.m4: New file.
1471         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
1472         REPLACE_WCTOMB.
1473         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
1474         REPLACE_WCTOMB.
1475         * modules/wctomb: New file.
1476         * tests/test-stdlib-c++.cc: Test signature of wctomb.
1477         * doc/posix-functions/wctomb.texi: Mention the new module.
1478         * modules/wctob (Depends-on): Add wctomb.
1479
1480 2011-02-22  Bruno Haible  <bruno@clisp.org>
1481
1482         New module 'mbtowc'.
1483         * lib/stdlib.in.h (mbtowc): New declaration.
1484         * lib/mbtowc.c: New file.
1485         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
1486         * m4/mbtowc.m4: New file.
1487         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
1488         REPLACE_MBTOWC.
1489         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
1490         REPLACE_MBTOWC.
1491         * modules/mbtowc: New file.
1492         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
1493         * doc/posix-functions/mbtowc.texi: Mention the new module.
1494         * modules/btowc (Depends-on): Add mbtowc.
1495
1496 2011-02-22  Bruno Haible  <bruno@clisp.org>
1497
1498         wcrtomb: Add more tests for native Windows platforms.
1499         * tests/test-wcrtomb-w32-1.sh: New file.
1500         * tests/test-wcrtomb-w32-2.sh: New file.
1501         * tests/test-wcrtomb-w32-3.sh: New file.
1502         * tests/test-wcrtomb-w32-4.sh: New file.
1503         * tests/test-wcrtomb-w32-5.sh: New file.
1504         * tests/test-wcrtomb-w32.c: New file.
1505         * modules/wcrtomb-tests (Files): Add them.
1506         (Makefile.am): Arrange to run these tests.
1507         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
1508         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
1509
1510 2011-02-20  Bruno Haible  <bruno@clisp.org>
1511
1512         wcrtomb: Enhance test.
1513         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
1514
1515 2011-02-20  Bruno Haible  <bruno@clisp.org>
1516
1517         mbrtowc: Tiny optimization.
1518         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
1519
1520 2011-02-20  Jim Meyering  <meyering@redhat.com>
1521
1522         test-exclude.c: remove unmatched #endif
1523         * tests/test-exclude.c: Remove stray #endif, left over from
1524         the change of a week ago.
1525
1526 2011-02-19  Jim Meyering  <meyering@redhat.com>
1527
1528         git-version-gen: skip "-dirty" check when appropriate
1529         * build-aux/git-version-gen: Don't run any git commands when the
1530         version string comes from .tarball-version.  Prior to this, we
1531         would run git update-index --refresh even from a just-unpacked
1532         tarball directory, and that could affect a .git/ directory in a
1533         parent of the build directory.  Reported by Mike Frysinger.
1534
1535 2011-02-19  Bruno Haible  <bruno@clisp.org>
1536
1537         unictype/property-byname: Reduce the size of the 'data' segment.
1538         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
1539
1540 2011-02-19  Bruno Haible  <bruno@clisp.org>
1541
1542         unictype/scripts: Reduce the size of the 'data' segment.
1543         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
1544         '%pic'.
1545         * lib/unictype/scripts_byname.gperf: Regenerated.
1546
1547 2011-02-19  Bruno Haible  <bruno@clisp.org>
1548
1549         stdint: Update documentation.
1550         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
1551
1552 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
1553
1554         stdint: omit redundant check for wchar.h
1555         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
1556         always tests whether wchar.h exists, so remove the now-redundant test.
1557
1558 2011-02-18  Bruno Haible  <bruno@clisp.org>
1559
1560         stdint: Cut dependency to module 'wchar'.
1561         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
1562         include the necessary prerequisites.
1563         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
1564         * modules/stdint (Depends-on): Remove wchar.
1565         (Makefile.am): Substitute HAVE_WCHAR_H.
1566         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
1567
1568 2011-02-18  Eric Blake  <eblake@redhat.com>
1569
1570         longlong: skip, rather than fail, on cross-compilation
1571         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
1572         when cross-compiling; regression from 2011-02-16.
1573
1574 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
1575
1576         * NEWS: Mention 2011-02-08 change to stdlib.
1577
1578 2011-02-17  Bruno Haible  <bruno@clisp.org>
1579
1580         getloadavg: Add comments about platforms.
1581         * m4/getloadavg.m4: Add comment.
1582         * lib/getloadavg.c: Likewise.
1583
1584 2011-02-17  Bruno Haible  <bruno@clisp.org>
1585
1586         getloadavg: Fix link error on Solaris 2.6.
1587         * modules/getloadavg (Link): New section.
1588         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
1589         linking test-getloadavg.
1590         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
1591         getloadavg.
1592
1593 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
1594
1595         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
1596         It was 'int', but this doesn't match the IRIX 6.5 manual.
1597         Suggested by Bruno Haible in
1598         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
1599
1600 2011-02-17  Bruno Haible  <bruno@clisp.org>
1601
1602         havelib: Fix comments.
1603         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
1604         change.
1605
1606 2011-02-17  Bruno Haible  <bruno@clisp.org>
1607
1608         havelib: Update config.rpath.
1609         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
1610
1611 2011-02-17  Bruno Haible  <bruno@clisp.org>
1612
1613         getloadavg test: Add some plausibility checks.
1614         * tests/test-getloadavg.c (check_avg): Print a warning when the value
1615         is improbable.
1616
1617 2011-02-16  Eric Blake  <eblake@redhat.com>
1618
1619         maintainer-makefile: make syntax-check a no-op from tarballs
1620         * top/maint.mk (no-vc-detected): New rule.
1621         (local-checks-available): Use it to avoid hanging if someone tries
1622         'make syntax-check' from a tarball.  Also append to any non-syntax
1623         checks already defined in cfg.mk.
1624
1625 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
1626
1627         longlong: tune, particularly for common case of c99
1628
1629         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
1630         or running anything if c99, or if unsigned long long int does not
1631         work.  In either case, we know the answer without further tests.
1632         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
1633         it at most once, and use its results for both long long int and
1634         unsigned long long int.  This is more likely to be efficient in
1635         the common case where the program wants to check for both long
1636         long int and unsigned long long int.
1637         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
1638         since the answer is already known.
1639
1640 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
1641
1642         getloadavg: set errno
1643         * lib/getloadavg.c: Set errno when returning -1.  If no other
1644         error number looks appropriate, set it to ENOSYS if the getloadavg
1645         looks like it can't possibly ever work, ENOTSUP otherwise.
1646         Suggested by Bruno Haible in
1647         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
1648
1649         getloadavg: trim unused parts and speed up 'configure'
1650         * NEWS: Document this.
1651         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
1652         always compiled if getloadavg is absent.
1653         Move test code to ...
1654         * tests/test-getloadavg.c: New file, containing previous
1655         contents of test from lib/getloadavg.c.  It also contains
1656         suggestions by Bruno Haible in
1657         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
1658         * modules/getloadavg-tests: New file.
1659         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
1660         Do tests in the same order as they're needed for getloadavg.c.
1661         Omit setgid-related tests that generate symbols KMEM_GROUP,
1662         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
1663         Do only the tests that are needed to see whether the system has
1664         getloadavg, moving the other tests into ...
1665         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
1666         NLIST_NAME_UNION; nobody should be using it.  Do not define
1667         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
1668         relevant, as the user of this module shouldn't care how getloadavg
1669         is implemented.
1670
1671         getloadavg: omit unused var
1672         * lib/getloadavg.c (getloadavg): Omit unused local variable.
1673
1674 2011-02-15  Jim Meyering  <meyering@redhat.com>
1675
1676         doc: update users.txt
1677         * users.txt: Update iwhd's URL.
1678
1679 2011-02-13  Bruno Haible  <bruno@clisp.org>
1680
1681         Consistent macro naming for macros that use GCC __attribute__.
1682         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
1683         _ATTRIBUTE_NONNULL_.
1684         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
1685         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
1686         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
1687         ATTRIBUTE_DEPRECATED.
1688         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
1689         ATTRIBUTE_NORETURN.
1690         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
1691         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
1692         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
1693         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
1694         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
1695         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
1696         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
1697         ATTRIBUTE_SENTINEL.
1698         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
1699         ATTRIBUTE_RETURN_CHECK.
1700         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
1701         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
1702         ATTRIBUTE_NORETURN.
1703         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
1704         Reported by Paul Eggert.
1705
1706 2011-02-13  Bruno Haible  <bruno@clisp.org>
1707
1708         Don't interfere with a program's definition of __attribute__.
1709         * lib/argp.h (__attribute__): Remove definition.
1710         (_GL_ATTRIBUTE_FORMAT): New macro.
1711         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
1712         * lib/argp-fmtstream.h (__attribute__): Remove definition.
1713         (_GL_ATTRIBUTE_FORMAT): New macro.
1714         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
1715         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
1716         GCC 3 or newer.
1717         * lib/error.h (__attribute__): Remove definition.
1718         (_GL_ATTRIBUTE_FORMAT): New macro.
1719         (error, error_at_line): Use it.
1720         * lib/hash.h (__attribute__): Remove definition.
1721         (ATTRIBUTE_WUR): Update definition. Define always.
1722         * lib/openat.h (__attribute__): Remove definition.
1723         (ATTRIBUTE_NORETURN): Update definition. Define always.
1724         * lib/sigpipe-die.h (__attribute__): Remove definition.
1725         (ATTRIBUTE_NORETURN): Update definition. Define always.
1726         * lib/vasnprintf.h (__attribute__): Remove definition.
1727         (_GL_ATTRIBUTE_FORMAT): New macro.
1728         (asnprintf, vasnprintf): Use it.
1729         * lib/xalloc.h (__attribute__): Remove definition.
1730         (ATTRIBUTE_NORETURN): Update definition. Define always.
1731         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
1732         * lib/xmemdup0.h (__attribute__): Remove definition.
1733         (ATTRIBUTE_NORETURN): Update definition. Define always.
1734         * lib/xprintf.h (__attribute__): Remove definition.
1735         (_GL_ATTRIBUTE_FORMAT): New macro.
1736         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
1737         * lib/xstrtol.h (__attribute__): Remove definition.
1738         (ATTRIBUTE_NORETURN): Update definition. Define always.
1739         * lib/xvasprintf.h (__attribute__): Remove definition.
1740         (_GL_ATTRIBUTE_FORMAT): New macro.
1741         (xasprintf, xvasprintf): Use it.
1742         * tests/test-argmatch.c (__attribute__): Remove definition.
1743         (ATTRIBUTE_NORETURN): Update definition. Define always.
1744         * tests/test-exclude.c (__attribute__): Remove definition.
1745         (ATTRIBUTE_NORETURN): Update definition. Define always.
1746         Reported by Paul Eggert.
1747
1748 2011-02-13  Bruno Haible  <bruno@clisp.org>
1749
1750         mbrtowc: Add more tests for native Windows platforms.
1751         * tests/test-mbrtowc-w32-1.sh: New file.
1752         * tests/test-mbrtowc-w32-2.sh: New file.
1753         * tests/test-mbrtowc-w32-3.sh: New file.
1754         * tests/test-mbrtowc-w32-4.sh: New file.
1755         * tests/test-mbrtowc-w32-5.sh: New file.
1756         * tests/test-mbrtowc-w32.c: New file.
1757         * modules/mbrtowc-tests (Files): Add them.
1758         (Makefile.am): Arrange to run these tests.
1759         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
1760         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
1761
1762 2011-02-13  Bruno Haible  <bruno@clisp.org>
1763
1764         mbrtowc: Work around native Windows bug.
1765         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
1766         guess when no suitable locale for testing was found.
1767         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
1768
1769 2011-02-13  Bruno Haible  <bruno@clisp.org>
1770
1771         mbsinit: Work around mingw bug.
1772         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
1773         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
1774         Windows.
1775         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
1776
1777 2011-02-13  Bruno Haible  <bruno@clisp.org>
1778
1779         mbsinit: Don't crash for a NULL argument.
1780         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
1781         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
1782
1783 2011-02-13  Bruno Haible  <bruno@clisp.org>
1784
1785         Don't interfere with a program's definition of __attribute__.
1786         * lib/stdio.in.h (__attribute__): Remove definition.
1787         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
1788         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
1789         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
1790         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
1791         * lib/string.in.h (__attribute__): Remove definition.
1792         Reported by Paul Eggert.
1793
1794 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
1795
1796         stdlib: don't get in the way of non-GCC __attribute__
1797         See thread starting at
1798         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
1799         Revert previous stdlib change, installing the following instead:
1800         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
1801         to get in the way of a non-GCC compiler that supports __attribute__.
1802         (_GL_ATTRIBUTE_RETURN): New macro.
1803         (_Exit): Use it instead of __attribute__.
1804
1805 2011-02-12  Bruno Haible  <bruno@clisp.org>
1806
1807         quotearg test: Avoid test failure on mingw.
1808         * tests/test-quotearg.sh: Convert the locale identifier from native
1809         Windows syntax to Unix syntax.
1810
1811 2011-02-12  Bruno Haible  <bruno@clisp.org>
1812
1813         setlocale: Prefer gnulib's override over libintl's override.
1814         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
1815         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
1816         GNULIB_defined_setlocale is set.
1817
1818 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
1819
1820         stdlib: support non-GCC __attribute__
1821
1822         Fix a serious and tricky problem encountered when attempting to
1823         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
1824         5.5, but it crashed due to memory corruption on Solaris 10 with
1825         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
1826         bits that are otherwise zero.  This tagging is optional inside
1827         Emacs but is preferred and is used when __attribute__ ((__aligned
1828         (8))) works, as it does with both recent-enough GCC and with Sun C
1829         5.11.  However, Sun C 5.11 is not GCC and does not #define
1830         __GNUC__ and __GNUC_MINOR__.
1831
1832         When I added the getloadavg module to Emacs, it brought in
1833         stdlib.in.h, which contained this fragment:
1834
1835            #ifndef __attribute__
1836            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
1837            #  define __attribute__(Spec)   /* empty */
1838            # endif
1839            #endif
1840
1841         When files that include <stdlib.h> were compiled with Sun C 5.11,
1842         the above code disabled __attribute__ ((__aligned (8))), which
1843         caused variables to not be properly aligned, which eventually led
1844         to the pointer corruption mentioned above.  (This was a bit hard
1845         to diagnose, unfortunately.)
1846
1847         Several "#define __attribute__(X) /* empty */" code snippets need
1848         to be eradicated from Gnulib to work with non-GCC compilers that
1849         support __attribute__.  The Autoconf way to do this is to test for
1850         each kind of attribute that we want support for, and selectively
1851         enable that in source code.
1852
1853         Fix this problem just for stdlib.h, by adding a test for the
1854         __noreturn__ attribute, and change stdlib.in.h to use that test
1855         when needed.  This technique can be easily generalized to the
1856         other *.in.h files and attributes, and a similar technique can be
1857         used for *.h and *.c files.  This patch is enough to solve the
1858         problem for Emacs + getloadavg, and I thought I'd publish it for
1859         feedback before undertaking further, similar fixes in other
1860         modules.
1861
1862         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
1863         because it's not needed for stdlib.h.  It merely substitutes the
1864         value directly into stdlib.h.  We may well need to #define it, or
1865         similar symbols, for other modules, but it's nice to also have an
1866         option to not #define it for applications like Emacs that do not
1867         need it.
1868
1869         * lib/stdlib.in.h (__attribute__): Do not #define.
1870         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
1871         be defined only if the _Exit module is also used.
1872         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
1873         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
1874         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
1875         platforms.
1876         * modules/_Exit (Files): Add m4/attribute.m4.
1877         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
1878         * m4/attribute.m4: New file.
1879
1880 2011-02-12  Bruno Haible  <bruno@clisp.org>
1881
1882         wcsrtombs: Work around bug on native Windows.
1883         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
1884         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
1885         instead of len.
1886         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
1887
1888 2011-02-12  Bruno Haible  <bruno@clisp.org>
1889
1890         mbsrtowcs: Work around bug on native Windows.
1891         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
1892         against mingw bug.
1893         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
1894
1895 2011-02-12  Bruno Haible  <bruno@clisp.org>
1896
1897         Avoid setlocale bugs in tests.
1898         * modules/btowc (Dependencies): Add setlocale.
1899         * modules/c-strcase (Dependencies): Likewise.
1900         * modules/mbmemcasecmp (Dependencies): Likewise.
1901         * modules/mbmemcasecoll (Dependencies): Likewise.
1902         * modules/mbrtowc (Dependencies): Likewise.
1903         * modules/mbscasecmp (Dependencies): Likewise.
1904         * modules/mbscasestr (Dependencies): Likewise.
1905         * modules/mbschr (Dependencies): Likewise.
1906         * modules/mbscspn (Dependencies): Likewise.
1907         * modules/mbsinit (Dependencies): Likewise.
1908         * modules/mbsncasecmp (Dependencies): Likewise.
1909         * modules/mbsnrtowcs (Dependencies): Likewise.
1910         * modules/mbspbrk (Dependencies): Likewise.
1911         * modules/mbspcasecmp (Dependencies): Likewise.
1912         * modules/mbsrchr (Dependencies): Likewise.
1913         * modules/mbsrtowcs (Dependencies): Likewise.
1914         * modules/mbsspn (Dependencies): Likewise.
1915         * modules/mbsstr (Dependencies): Likewise.
1916         * modules/nl_langinfo (Dependencies): Likewise.
1917         * modules/quotearg (Dependencies): Likewise.
1918         * modules/unicase/locale-language (Dependencies): Likewise.
1919         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
1920         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
1921         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
1922         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
1923         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
1924         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
1925         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
1926         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
1927         * modules/vasnprintf-posix (Dependencies): Likewise.
1928         * modules/wcrtomb (Dependencies): Likewise.
1929         * modules/wcsnrtombs (Dependencies): Likewise.
1930         * modules/wcsrtombs (Dependencies): Likewise.
1931
1932 2011-02-12  Bruno Haible  <bruno@clisp.org>
1933
1934         setlocale: Workaround native Windows bug.
1935         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
1936         succeeds but sets LC_CTYPE to "C", report a failure.
1937         * tests/test-setlocale2.sh: New file.
1938         * tests/test-setlocale2.c: New file.
1939         * modules/setlocale-tests (Files): Add the new files.
1940         (Makefile.am): Enable test-setlocale2.sh test.
1941         * doc/posix-functions/setlocale.texi: Mention workaround.
1942
1943 2011-02-11  Bruno Haible  <bruno@clisp.org>
1944
1945         Tests for module 'setlocale'.
1946         * modules/setlocale-tests: New file.
1947         * tests/test-setlocale1.sh: New file.
1948         * tests/test-setlocale1.c: New file.
1949
1950         New module 'setlocale'.
1951         * lib/locale.in.h (setlocale): New declaration.
1952         * lib/setlocale.c: New file, based on
1953         gettext/gettext-runtime/intl/setlocale.c.
1954         * m4/setlocale.m4: New file.
1955         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
1956         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
1957         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
1958         REPLACE_SETLOCALE.
1959         * modules/setlocale: New file.
1960         * tests/test-locale-c++.cc: Test the declaration of setlocale.
1961         * doc/posix-functions/setlocale.texi: Mention the new module.
1962
1963 2011-02-11  Bruno Haible  <bruno@clisp.org>
1964
1965         Prepare for locale dependent tests on mingw.
1966         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
1967         because it has the wrong locale encoding.
1968         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
1969         French_France.1252 instead of "fr".
1970         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
1971         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
1972         because it has the wrong locale encoding.
1973         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
1974         native Windows, try Turkish_Turkey.65001.
1975         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
1976         Chinese_China.54936.
1977
1978         Prepare for locale dependent tests on mingw.
1979         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
1980         differently.
1981         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
1982         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
1983         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
1984         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
1985
1986 2011-02-11  Eric Blake  <eblake@redhat.com>
1987
1988         strptime: avoid compiler warnings
1989         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
1990         compiler warnings about dead code.
1991         Reported by Daniel P. Berrange.
1992
1993 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
1994
1995         doc: update users.txt
1996         * users.txt: Add rcs.
1997
1998 2011-02-10  John W. Eaton  <jwe@gnu.org>
1999
2000         doc: update users.txt
2001         * users.txt: Add octave.
2002
2003 2011-02-10  Jim Meyering  <meyering@redhat.com>
2004
2005         doc: update users.txt
2006         * users.txt: Add iwhd.
2007
2008 2011-02-09  Bruno Haible  <bruno@clisp.org>
2009
2010         gnulib-tool: Make copyright notice adjustment more robust.
2011         * gnulib-tool (func_import): In sed_transform_main_lib_file,
2012         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
2013         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
2014         License".
2015         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
2016
2017 2011-02-06  Bruno Haible  <bruno@clisp.org>
2018
2019         New module 'towctrans'.
2020         * modules/towctrans: New file.
2021         * lib/wctype.in.h (towctrans): New declaration.
2022         * lib/towctrans.c: New file.
2023         * lib/towctrans-impl.h: New file.
2024         * m4/towctrans.m4: New file.
2025         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
2026         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
2027         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
2028         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
2029         * doc/posix-functions/towctrans.texi: Mention the new module.
2030
2031 2011-02-06  Bruno Haible  <bruno@clisp.org>
2032
2033         New module 'wctrans'.
2034         * modules/wctrans: New file.
2035         * lib/wctype.in.h (wctrans): New declaration.
2036         * lib/wctrans.c: New file.
2037         * lib/wctrans-impl.h: New file.
2038         * m4/wctrans.m4: New file.
2039         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
2040         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
2041         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
2042         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
2043         * doc/posix-functions/wctrans.texi: Mention the new module.
2044
2045 2011-02-06  Bruno Haible  <bruno@clisp.org>
2046
2047         New module 'iswctype'.
2048         * modules/iswctype: New file.
2049         * lib/wctype.in.h (iswctype): New declaration.
2050         * lib/iswctype.c: New file.
2051         * lib/iswctype-impl.h: New file.
2052         * m4/iswctype.m4: New file.
2053         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
2054         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
2055         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
2056         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
2057         * doc/posix-functions/iswctype.texi: Mention the new module and the
2058         HP-UX 11.00 problem.
2059
2060 2011-02-06  Bruno Haible  <bruno@clisp.org>
2061
2062         New module 'wctype'.
2063         * modules/wctype: Change to represent the wctype() substitute.
2064         * lib/wctype.in.h (wctype): New declaration.
2065         * lib/wctype.c: New file.
2066         * lib/wctype-impl.h: New file.
2067         * m4/wctype.m4: New file.
2068         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
2069         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
2070         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
2071         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
2072         * doc/posix-functions/wctype.texi: Mention the new module and the
2073         HP-UX 11.00 problem.
2074
2075 2011-02-06  Bruno Haible  <bruno@clisp.org>
2076
2077         wctype-h: Ensure wctype_t and wctrans_t are defined.
2078         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
2079         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
2080         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
2081         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
2082         HAVE_WCTRANS_T.
2083         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
2084
2085 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
2086
2087         flock: fix license typo
2088
2089         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
2090         omitted.
2091
2092 2011-02-08  Bruno Haible  <bruno@clisp.org>
2093
2094         Split large sed scripts, for HP-UX sed.
2095         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
2096         to avoid HP-UX limit of 99 commands, in the near future.
2097         * modules/stdlib (Makefile.am): Likewise.
2098         * modules/unistd (Makefile.am): Likewise.
2099         * modules/wchar (Makefile.am): Likewise.
2100         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
2101         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
2102         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
2103
2104 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
2105             Bruno Haible  <bruno@clisp.org>
2106
2107         stdlib: improve random_r modularization
2108         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
2109         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
2110         you also need the random_r module to get this material right.
2111         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
2112         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
2113         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
2114
2115 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
2116
2117         stdlib: don't depend on stdint
2118         * lib/stdlib.in.h: Don't include <stdint.h> merely because
2119         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
2120         be independent of whether stdint.h is needed.
2121         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
2122         here, instead of ...
2123         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
2124         struct random_data should be using the random_r module, not just
2125         the stdlib module (which wouldn't make sense: what package needs
2126         just struct random_data without also needing random_r?).
2127         * modules/stdlib (Depends-on): Remove stdint.
2128
2129         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
2130         See the thread rooted at
2131         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
2132         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
2133         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
2134         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
2135         __VMS)); previously it was always included (via fcntl--.h).
2136         (getloadavg): Do not use c_strtod.  Instead, approximate it by
2137         hand; this is good enough for load averages.  Also, do not use
2138         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
2139         flags directly if available and don't bother otherwise.  (Packages
2140         that need the extra reliability should use the modules that define
2141         these flags on older platforms that lack them.)
2142         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
2143         fcntl-safer.
2144
2145 2011-02-08  Jim Meyering  <meyering@redhat.com>
2146
2147         di-set.h, ino-map.h: add multiple-inclusion guard
2148         Technically, the guard is required only for ino-map.h, due to its
2149         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
2150         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
2151         * lib/ino-map.h: Likewise.
2152
2153 2011-02-06  Bruno Haible  <bruno@clisp.org>
2154
2155         iswblank: Ensure declaration on glibc systems.
2156         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
2157         * modules/iswblank (Dependencies): Add 'extensions'.
2158         * doc/posix-functions/iswblank.texi: Document the glibc problem.
2159
2160 2011-02-06  Bruno Haible  <bruno@clisp.org>
2161
2162         New module 'iswblank'.
2163         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
2164         * modules/iswblank: New file.
2165         * modules/wctype-h (Files): Remove lib/iswblank.c.
2166         (Makefile.am): Substitute GNULIB_ISWBLANK.
2167         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
2168         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
2169         (gl_WCTYPE_H_DEFAULTS): New macro.
2170         (gl_WCTYPE_H): Require it. Remove iswblank related code.
2171         * modules/iswblank-tests: New file.
2172         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
2173         * tests/test-wctype-h.c (main): Remove iswblank tests.
2174         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
2175         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
2176         of 'wctype-h'.
2177         * NEWS: Mention the change.
2178         * modules/mbchar (Depends-on): Add iswblank.
2179
2180 2011-02-08  Bruno Haible  <bruno@clisp.org>
2181
2182         di-set tests: Refactor.
2183         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
2184         unnecessary includes.
2185         (ASSERT): Remove macro.
2186         (main): Make C90 compliant by avoiding variable declaration after
2187         statement.
2188         * modules/di-set-tests (Files): Add tests/macros.h.
2189
2190 2011-02-08  Bruno Haible  <bruno@clisp.org>
2191
2192         ino-map tests: Refactor.
2193         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
2194         unnecessary includes.
2195         (ASSERT): Remove macro.
2196         (main): Make C90 compliant by avoiding variable declaration after
2197         statement.
2198         * modules/ino-map-tests (Files): Add tests/macros.h.
2199
2200 2011-02-08  Jim Meyering  <meyering@redhat.com>
2201
2202         di-set: add "const" to a cast
2203         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
2204         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
2205
2206 2011-02-06  Bruno Haible  <bruno@clisp.org>
2207
2208         Rename module 'wctype' to 'wctype-h'.
2209         * modules/wctype-h: Renamed from modules/wctype.
2210         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
2211         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
2212         (Files, Depends-on, Makefile.am): Update.
2213         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
2214         (Files, Makefile.am): Update.
2215         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
2216         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
2217         * doc/posix-headers/wctype.texi: Update.
2218         * doc/posix-functions/iswalnum.texi: Update.
2219         * doc/posix-functions/iswalpha.texi: Update.
2220         * doc/posix-functions/iswblank.texi: Update.
2221         * doc/posix-functions/iswcntrl.texi: Update.
2222         * doc/posix-functions/iswdigit.texi: Update.
2223         * doc/posix-functions/iswgraph.texi: Update.
2224         * doc/posix-functions/iswlower.texi: Update.
2225         * doc/posix-functions/iswprint.texi: Update.
2226         * doc/posix-functions/iswpunct.texi: Update.
2227         * doc/posix-functions/iswspace.texi: Update.
2228         * doc/posix-functions/iswupper.texi: Update.
2229         * doc/posix-functions/iswxdigit.texi: Update.
2230         * doc/posix-functions/towlower.texi: Update.
2231         * doc/posix-functions/towupper.texi: Update.
2232         * NEWS: Mention the change.
2233         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
2234         * modules/mbchar (Dependencies): Likewise.
2235         * modules/mbswidth (Dependencies): Likewise.
2236         * modules/quotearg (Dependencies): Likewise.
2237         * modules/regex (Dependencies): Likewise.
2238         * modules/wcscasecmp (Dependencies): Likewise.
2239         * modules/wcsncasecmp (Dependencies): Likewise.
2240         * modules/wcwidth (Dependencies): Likewise.
2241
2242 2011-02-06  Bruno Haible  <bruno@clisp.org>
2243
2244         New module 'wcswidth'.
2245         * modules/wcswidth: New file.
2246         * lib/wchar.in.h (wcswidth): New declaration.
2247         * lib/wcswidth.c: New file.
2248         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
2249         * m4/wcswidth.m4: New file.
2250         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
2251         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
2252         REPLACE_WCSWIDTH.
2253         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
2254         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
2255         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
2256         * doc/posix-functions/wcswidth.texi: Mention the new module.
2257
2258 2011-02-06  Bruno Haible  <bruno@clisp.org>
2259
2260         New module 'wcstok'.
2261         * modules/wcstok: New file.
2262         * lib/wchar.in.h (wcstok): New declaration.
2263         * lib/wcstok.c: New file.
2264         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
2265         * m4/wcstok.m4: New file.
2266         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
2267         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
2268         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
2269         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
2270         * doc/posix-functions/wcstok.texi: Mention the new module.
2271
2272 2011-02-06  Bruno Haible  <bruno@clisp.org>
2273
2274         New module 'wcsstr'.
2275         * modules/wcsstr: New file.
2276         * lib/wchar.in.h (wcsstr): New declaration.
2277         * lib/wcsstr.c: New file.
2278         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
2279         * m4/wcsstr.m4: New file.
2280         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
2281         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
2282         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
2283         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
2284         * doc/posix-functions/wcsstr.texi: Mention the new module.
2285
2286 2011-02-06  Bruno Haible  <bruno@clisp.org>
2287
2288         New module 'wcspbrk'.
2289         * modules/wcspbrk: New file.
2290         * lib/wchar.in.h (wcspbrk): New declaration.
2291         * lib/wcspbrk.c: New file.
2292         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
2293         * m4/wcspbrk.m4: New file.
2294         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
2295         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
2296         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
2297         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
2298         * doc/posix-functions/wcspbrk.texi: Mention the new module.
2299
2300 2011-02-06  Bruno Haible  <bruno@clisp.org>
2301
2302         New module 'wcsspn'.
2303         * modules/wcsspn: New file.
2304         * lib/wchar.in.h (wcsspn): New declaration.
2305         * lib/wcsspn.c: New file.
2306         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
2307         * m4/wcsspn.m4: New file.
2308         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
2309         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
2310         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
2311         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
2312         * doc/posix-functions/wcsspn.texi: Mention the new module.
2313
2314 2011-02-06  Bruno Haible  <bruno@clisp.org>
2315
2316         New module 'wcscspn'.
2317         * modules/wcscspn: New file.
2318         * lib/wchar.in.h (wcscspn): New declaration.
2319         * lib/wcscspn.c: New file.
2320         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
2321         * m4/wcscspn.m4: New file.
2322         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
2323         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
2324         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
2325         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
2326         * doc/posix-functions/wcscspn.texi: Mention the new module.
2327
2328 2011-02-06  Bruno Haible  <bruno@clisp.org>
2329
2330         New module 'wcsrchr'.
2331         * modules/wcsrchr: New file.
2332         * lib/wchar.in.h (wcsrchr): New declaration.
2333         * lib/wcsrchr.c: New file.
2334         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
2335         * m4/wcsrchr.m4: New file.
2336         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
2337         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
2338         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
2339         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
2340         * doc/posix-functions/wcsrchr.texi: Mention the new module.
2341
2342 2011-02-06  Bruno Haible  <bruno@clisp.org>
2343
2344         New module 'wcschr'.
2345         * modules/wcschr: New file.
2346         * lib/wchar.in.h (wcschr): New declaration.
2347         * lib/wcschr.c: New file.
2348         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
2349         * m4/wcschr.m4: New file.
2350         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
2351         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
2352         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
2353         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
2354         * doc/posix-functions/wcschr.texi: Mention the new module.
2355
2356 2011-02-06  Bruno Haible  <bruno@clisp.org>
2357
2358         New module 'wcsdup'.
2359         * modules/wcsdup: New file.
2360         * lib/wchar.in.h (wcsdup): New declaration.
2361         * lib/wcsdup.c: New file.
2362         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
2363         * m4/wcsdup.m4: New file.
2364         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
2365         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
2366         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
2367         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
2368         * doc/posix-functions/wcsdup.texi: Mention the new module.
2369
2370 2011-02-06  Bruno Haible  <bruno@clisp.org>
2371
2372         New module 'wcsxfrm'.
2373         * modules/wcsxfrm: New file.
2374         * lib/wchar.in.h (wcsxfrm): New declaration.
2375         * lib/wcsxfrm.c: New file.
2376         * lib/wcsxfrm-impl.h: New file.
2377         * m4/wcsxfrm.m4: New file.
2378         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
2379         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
2380         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
2381         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
2382         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
2383
2384 2011-02-06  Bruno Haible  <bruno@clisp.org>
2385
2386         New module 'wcscoll'.
2387         * modules/wcscoll: New file.
2388         * lib/wchar.in.h (wcscoll): New declaration.
2389         * lib/wcscoll.c: New file.
2390         * lib/wcscoll-impl.h: New file.
2391         * m4/wcscoll.m4: New file.
2392         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
2393         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
2394         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
2395         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
2396         * doc/posix-functions/wcscoll.texi: Mention the new module.
2397
2398 2011-02-06  Bruno Haible  <bruno@clisp.org>
2399
2400         New module 'wcsncasecmp'.
2401         * modules/wcsncasecmp: New file.
2402         * lib/wchar.in.h (wcsncasecmp): New declaration.
2403         * lib/wcsncasecmp.c: New file.
2404         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
2405         * m4/wcsncasecmp.m4: New file.
2406         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
2407         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
2408         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
2409         HAVE_WCSNCASECMP.
2410         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
2411         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
2412
2413 2011-02-06  Bruno Haible  <bruno@clisp.org>
2414
2415         New module 'wcscasecmp'.
2416         * modules/wcscasecmp: New file.
2417         * lib/wchar.in.h (wcscasecmp): New declaration.
2418         * lib/wcscasecmp.c: New file.
2419         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
2420         * m4/wcscasecmp.m4: New file.
2421         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
2422         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
2423         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
2424         HAVE_WCSCASECMP.
2425         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
2426         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
2427
2428 2011-02-05  Bruno Haible  <bruno@clisp.org>
2429
2430         New module 'wcsncmp'.
2431         * modules/wcsncmp: New file.
2432         * lib/wchar.in.h (wcsncmp): New declaration.
2433         * lib/wcsncmp.c: New file.
2434         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
2435         * m4/wcsncmp.m4: New file.
2436         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
2437         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
2438         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
2439         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
2440         * doc/posix-functions/wcsncmp.texi: Mention the new module.
2441
2442 2011-02-05  Bruno Haible  <bruno@clisp.org>
2443
2444         New module 'wcscmp'.
2445         * modules/wcscmp: New file.
2446         * lib/wchar.in.h (wcscmp): New declaration.
2447         * lib/wcscmp.c: New file.
2448         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
2449         * m4/wcscmp.m4: New file.
2450         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
2451         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
2452         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
2453         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
2454         * doc/posix-functions/wcscmp.texi: Mention the new module.
2455
2456 2011-02-05  Bruno Haible  <bruno@clisp.org>
2457
2458         New module 'wcsncat'.
2459         * modules/wcsncat: New file.
2460         * lib/wchar.in.h (wcsncat): New declaration.
2461         * lib/wcsncat.c: New file.
2462         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
2463         * m4/wcsncat.m4: New file.
2464         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
2465         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
2466         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
2467         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
2468         * doc/posix-functions/wcsncat.texi: Mention the new module.
2469
2470 2011-02-05  Bruno Haible  <bruno@clisp.org>
2471
2472         New module 'wcscat'.
2473         * modules/wcscat: New file.
2474         * lib/wchar.in.h (wcscat): New declaration.
2475         * lib/wcscat.c: New file.
2476         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
2477         * m4/wcscat.m4: New file.
2478         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
2479         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
2480         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
2481         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
2482         * doc/posix-functions/wcscat.texi: Mention the new module.
2483
2484 2011-02-05  Bruno Haible  <bruno@clisp.org>
2485
2486         New module 'wcpncpy'.
2487         * modules/wcpncpy: New file.
2488         * lib/wchar.in.h (wcpncpy): New declaration.
2489         * lib/wcpncpy.c: New file.
2490         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
2491         * m4/wcpncpy.m4: New file.
2492         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
2493         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
2494         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
2495         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
2496         * doc/posix-functions/wcpncpy.texi: Mention the new module.
2497
2498 2011-02-05  Bruno Haible  <bruno@clisp.org>
2499
2500         New module 'wcsncpy'.
2501         * modules/wcsncpy: New file.
2502         * lib/wchar.in.h (wcsncpy): New declaration.
2503         * lib/wcsncpy.c: New file.
2504         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
2505         * m4/wcsncpy.m4: New file.
2506         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
2507         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
2508         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
2509         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
2510         * doc/posix-functions/wcsncpy.texi: Mention the new module.
2511
2512 2011-02-05  Bruno Haible  <bruno@clisp.org>
2513
2514         New module 'wcpcpy'.
2515         * modules/wcpcpy: New file.
2516         * lib/wchar.in.h (wcpcpy): New declaration.
2517         * lib/wcpcpy.c: New file.
2518         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
2519         * m4/wcpcpy.m4: New file.
2520         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
2521         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
2522         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
2523         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
2524         * doc/posix-functions/wcpcpy.texi: Mention the new module.
2525
2526 2011-02-05  Bruno Haible  <bruno@clisp.org>
2527
2528         New module 'wcscpy'.
2529         * modules/wcscpy: New file.
2530         * lib/wchar.in.h (wcscpy): New declaration.
2531         * lib/wcscpy.c: New file.
2532         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
2533         * m4/wcscpy.m4: New file.
2534         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
2535         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
2536         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
2537         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
2538         * doc/posix-functions/wcscpy.texi: Mention the new module.
2539
2540 2011-02-05  Bruno Haible  <bruno@clisp.org>
2541
2542         New module 'wcsnlen'.
2543         * modules/wcsnlen: New file.
2544         * lib/wchar.in.h (wcsnlen): New declaration.
2545         * lib/wcsnlen.c: New file.
2546         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
2547         * m4/wcsnlen.m4: New file.
2548         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
2549         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
2550         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
2551         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
2552         * doc/posix-functions/wcsnlen.texi: Mention the new module.
2553
2554 2011-02-05  Bruno Haible  <bruno@clisp.org>
2555
2556         New module 'wcslen'.
2557         * modules/wcslen: New file.
2558         * lib/wchar.in.h (wcslen): New declaration.
2559         * lib/wcslen.c: New file.
2560         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
2561         * m4/wcslen.m4: New file.
2562         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
2563         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
2564         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
2565         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
2566         * doc/posix-functions/wcslen.texi: Mention the new module.
2567
2568 2011-02-05  Bruno Haible  <bruno@clisp.org>
2569
2570         New module 'wmemset'.
2571         * modules/wmemset: New file.
2572         * lib/wchar.in.h (wmemset): New declaration.
2573         * lib/wmemset.c: New file.
2574         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
2575         * m4/wmemset.m4: New file.
2576         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
2577         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
2578         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
2579         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
2580         * doc/posix-functions/wmemset.texi: Mention the new module.
2581
2582 2011-02-05  Bruno Haible  <bruno@clisp.org>
2583
2584         New module 'wmemmove'.
2585         * modules/wmemmove: New file.
2586         * lib/wchar.in.h (wmemmove): New declaration.
2587         * lib/wmemmove.c: New file.
2588         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
2589         * m4/wmemmove.m4: New file.
2590         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
2591         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
2592         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
2593         HAVE_WMEMMOVE.
2594         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
2595         * doc/posix-functions/wmemmove.texi: Mention the new module.
2596
2597 2011-02-05  Bruno Haible  <bruno@clisp.org>
2598
2599         New module 'wmemcpy'.
2600         * modules/wmemcpy: New file.
2601         * lib/wchar.in.h (wmemcpy): New declaration.
2602         * lib/wmemcpy.c: New file.
2603         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
2604         * m4/wmemcpy.m4: New file.
2605         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
2606         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
2607         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
2608         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
2609         * doc/posix-functions/wmemcpy.texi: Mention the new module.
2610
2611 2011-02-05  Bruno Haible  <bruno@clisp.org>
2612
2613         New module 'wmemcmp'.
2614         * modules/wmemcmp: New file.
2615         * lib/wchar.in.h (wmemcmp): New declaration.
2616         * lib/wmemcmp.c: New file.
2617         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
2618         * m4/wmemcmp.m4: New file.
2619         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
2620         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
2621         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
2622         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
2623         * doc/posix-functions/wmemcmp.texi: Mention the new module.
2624
2625 2011-02-07  Jim Meyering  <meyering@redhat.com>
2626
2627         di-set, ino-map: new modules, from coreutils
2628         * lib/di-set.c: New file.
2629         * lib/di-set.h: Likewise.
2630         * lib/ino-map.c: Likewise.
2631         * lib/ino-map.h: Likewise.
2632         * modules/di-set: Likewise.
2633         * modules/di-set-tests: Likewise.
2634         * modules/ino-map: Likewise.
2635         * modules/ino-map-tests: Likewise.
2636         * tests/test-di-set.c: Likewise.
2637         * tests/test-ino-map.c: Likewise.
2638
2639 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
2640
2641         getloadavg: merge minor changes from Emacs
2642
2643         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
2644         (getloadavg): Use memset, not bzero.
2645
2646         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
2647         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
2648         clash (bug#86).
2649
2650 2010-11-14  Bruno Haible  <bruno@clisp.org>
2651
2652         Allow multiple gnulib generated replacements to coexist.
2653         * lib/getopt.in.h (struct option): Avoid identical redefinition.
2654         * lib/inttypes.in.h (imaxdiv_t): Likewise.
2655         * lib/langinfo.in.h (nl_item): Likewise.
2656         * lib/math.in.h (_NaN, NAN): Likewise.
2657         * lib/netdb.in.h (struct addrinfo): Likewise.
2658         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
2659         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
2660         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
2661         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
2662         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
2663         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
2664         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
2665         pthread_mutexattr_init, pthread_mutexattr_settype,
2666         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
2667         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
2668         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
2669         pthread_spin_trylock, pthread_spin_unlock): Likewise.
2670         * lib/sched.in.h (struct sched_param): Likewise.
2671         * lib/se-selinux.in.h (security_class_t, security_context_t,
2672         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
2673         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
2674         lsetfilecon, fsetfilecon, security_check_context,
2675         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
2676         Likewise.
2677         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
2678         Likewise.
2679         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
2680         _gl_function_taking_int_returning_void_t, union sigval,
2681         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
2682         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
2683         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
2684         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
2685         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
2686         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
2687         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
2688         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
2689         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
2690         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
2691         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
2692         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
2693         socklen_t, rpl_fd_isset): Likewise.
2694         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
2695         * lib/sys_time.in.h (struct timeval): Likewise.
2696         * lib/sys_times.in.h (struct tms): Likewise.
2697         * lib/sys_utsname.in.h (struct utsname):
2698         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
2699         * lib/unistd.in.h (getpagesize): Likewise.
2700         * lib/wchar.in.h (mbstate_t): Likewise.
2701         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
2702         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
2703         towlower, towupper): Likewise.
2704         Reported by Sam Steingold <sds@gnu.org>.
2705
2706 2011-02-05  Eric Blake  <eblake@redhat.com>
2707
2708         unsetenv: work around Haiku issues
2709         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
2710         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
2711
2712 2010-12-30  Bruce Korb  <bkorb@gnu.org>
2713
2714         libposix: avoid calling error() within libposix
2715         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
2716         is defined.
2717
2718 2011-02-05  Eric Blake  <eblake@redhat.com>
2719
2720         strerror_r-posix: port to cygwin
2721         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
2722         implementation.
2723         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
2724         * tests/test-strerror_r.c (main): Fix test.
2725         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
2726         issue.
2727
2728 2011-02-05  Bruno Haible  <bruno@clisp.org>
2729
2730         New module 'wmemchr'.
2731         * modules/wmemchr: New file.
2732         * lib/wchar.in.h (wmemchr): New declaration.
2733         * lib/wmemchr.c: New file.
2734         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
2735         * m4/wmemchr.m4: New file.
2736         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
2737         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
2738         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
2739         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
2740         * doc/posix-functions/wmemchr.texi: Mention the new module.
2741
2742 2011-02-04  Eric Blake  <eblake@redhat.com>
2743
2744         fdopendir: detect FreeBSD bug
2745         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
2746         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
2747
2748 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
2749
2750         stdbool: do not define HAVE_STDBOOL_H
2751         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
2752         AC_HEADER_STDBOOL.  All uses changed.  Do not define
2753         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
2754         imported from the latest Autoconf git.  It was motivated by Emacs,
2755         which uses gnulib but does not need HAVE_STDBOOL_H.
2756
2757 2011-02-04  Bruno Haible  <bruno@clisp.org>
2758
2759         wcsnrtombs: Prepare for new module wwcsnrtombs.
2760         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
2761         * lib/wcsnrtombs.c: Include it.
2762         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
2763
2764         wcsrtombs: Prepare for new module wwcsrtombs.
2765         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
2766         * lib/wcsrtombs.c: Include it.
2767         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
2768
2769         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
2770         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
2771         * lib/mbsnrtowcs.c: Include it.
2772         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
2773
2774         mbsrtowcs: Prepare for new module mbsrtowwcs.
2775         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
2776         * lib/mbsrtowcs.c: Include it.
2777         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
2778
2779 2011-02-04  Bruno Haible  <bruno@clisp.org>
2780
2781         vasnprintf: Reduce use of malloc for small format strings.
2782         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
2783         (arguments): Add room for the first 7 arguments.
2784         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
2785         (char_directives, u8_directives, u16_directives, u32_directives): Add
2786         room for the first 7 directives.
2787         * lib/printf-parse.c: Include <string.h>.
2788         (PRINTF_PARSE): Change memory handling code so that it uses the first
2789         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
2790         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
2791         Reported by Pádraig Brady <P@draigbrady.com>.
2792
2793 2011-01-31  Eric Blake  <eblake@redhat.com>
2794
2795         dup2: work around Haiku bug
2796         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
2797         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
2798         * doc/posix-functions/dup2.texi (dup2): Document the bug.
2799         * tests/test-dup2.c (main): Enhance test.
2800
2801 2011-01-31  Simon Josefsson  <simon@josefsson.org>
2802
2803         doc: off_t is not available in eglibc 2.11.2 stdio.h.
2804         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
2805         declared by eglibc 2.11.2.
2806         * lib/stdio.in.h: Likewise.
2807
2808 2011-01-31  Eric Blake  <eblake@redhat.com>
2809
2810         ignore-value: add missing test dependency
2811         * tests/test-ignore-value.c: Revert previous change; stdio.h
2812         provides off_t.
2813         * modules/ignore-value-tests (Depends-on): Add missing dependency.
2814
2815 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
2816
2817         mktime: clarify long_int width checking
2818         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
2819         the top level, to make it clearer that the assumption about
2820         long_int width is being checked.  See
2821         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
2822
2823 2011-01-30  Simon Josefsson  <simon@josefsson.org>
2824
2825         ignore-value: Fix self-test.
2826         * tests/test-ignore-value.c: Include sys/types.h for off_t.
2827
2828 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
2829
2830         TYPE_MAXIMUM: avoid theoretically undefined behavior
2831         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
2832         negative number, which the C Standard says has undefined behavior.
2833         In practice this is not a problem, but might as well do it by the book.
2834         Reported by Rich Felker and Eric Blake; see
2835         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
2836         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
2837         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
2838         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
2839         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
2840         * m4/stdint.m4 (gl_STDINT_H): Likewise.
2841         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
2842
2843         mktime: #undef mktime before #defining it
2844         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
2845
2846         mktime: systematically normalize tm_isdst comparisons
2847         * lib/mktime.c (isdst_differ): New function.
2848         (__mktime_internal): Use it systematically for all isdst comparisons.
2849         This completes the fix for libc BZ #6723, and removes the need for
2850         normalizing tm_isdst.  See
2851         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
2852         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
2853
2854         mktime: fix some integer overflow issues and sidestep the rest
2855
2856         This was prompted by a bug report by Benjamin Lindner for MinGW
2857         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
2858         His bug is due to signed integer overflow (0 - INT_MIN), and I
2859         I scanned through mktime.c looking for other integer overflow
2860         problems, fixing all the bugs I found.
2861
2862         Although the C Standard says the resulting code is still not safe
2863         in the presence of integer overflow, in practice it should be good
2864         enough for all real-world two's-complement implementations, except
2865         for debugging environments that deliberately trap on integer
2866         overflow (e.g., gcc -ftrapv).
2867
2868         * lib/mktime.c (WRAPV): New macro.
2869         (SHR): Also check that long_int and time_t shift right in the
2870         usual way, before using the fast-but-unportable method.
2871         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
2872         used.  The code already assumed two's complement, so there's
2873         no need to test for alternatives.  All uses removed.
2874         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
2875         the C standard.  Problem reported by Rich Felker in
2876         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
2877         (twos_complement_arithmetic): Also check long_int and time_t.
2878         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
2879         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
2880         (__mktime_internal): Avoid integer overflow with unary subtraction
2881         in two instances where -1 - X is an adequate replacement for -X,
2882         since the calculations are approximate.
2883
2884 2011-01-29  Eric Blake  <eblake@redhat.com>
2885
2886         mktime: avoid infinite loop
2887         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
2888         type; behavior is still undefined but portable to all known targets.
2889         Reported by Rich Felker.
2890
2891 2011-01-29  Simon Josefsson  <simon@josefsson.org>
2892
2893         rename, unlink, same-inode: Relicense.
2894         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
2895         * modules/unlink (License): Likewise.
2896         * modules/same-inode (License): Likewise.
2897
2898 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
2899
2900         mktime: avoid problems on NetBSD 5 / i386
2901         * lib/mktime.c (long_int): New type.  This works around a problem
2902         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
2903         but time_t is 64 bits, and where I expect the existing code is
2904         wrong in some cases.
2905         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
2906         (ydhms_diff): Bring back the compile-time check for wide-enough
2907         year and yday.
2908
2909         mktime: fix misspelling in comment
2910         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
2911         This merges all recent glibc changes of importance.
2912
2913 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2914
2915         move-if-change: cope with concurrent mv of identical file.
2916         * build-aux/move-if-change (CMPPROG): Accept environment
2917         variable as an override for `cmp'.
2918         (usage): Document CMPPROG.
2919         Adjust comparison to drop stdout.  Cope with failure of mv if
2920         the target file exists and is identical to the source, for
2921         parallel builds.
2922         Report from H.J. Lu against binutils in PR binutils/12283.
2923
2924 2011-01-28  Bruce Korb  <bkorb@gnu.org>
2925
2926         * users.txt: Mention sharutils.
2927
2928 2011-01-28  Simon Josefsson  <simon@josefsson.org>
2929
2930         * users.txt: Mention OATH Toolkit.
2931
2932 2011-01-27  Bruno Haible  <bruno@clisp.org>
2933
2934         Prepare for supporting FreeBSD 10.
2935         * build-aux/config.libpath: Remove handling of freebsd1*.
2936
2937 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
2938
2939         Prepare for supporting FreeBSD 10.
2940         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
2941         match FreeBSD 10.0.
2942
2943 2011-01-27  Bruno Haible  <bruno@clisp.org>
2944
2945         vma-iter, get-rusage-as: Add OpenBSD support.
2946         * modules/vma-iter (configure.ac): Test for mquery.
2947         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
2948         * lib/vma-iter.c: Include <sys/mman.h>.
2949         (vma_iterate): Add an implementation based on mquery().
2950         * lib/resource-ext.h (get_rusage_as): Update comments.
2951         * lib/get-rusage-as.c: Likewise.
2952         * lib/get-rusage-data.c: Likewise.
2953
2954 2011-01-26  Karl Berry  <karl@gnu.org>
2955
2956         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
2957         variables to make it easier to override the makeinfo program used.
2958
2959 2011-01-26  Eric Blake  <eblake@redhat.com>
2960
2961         fcntl: work around Haiku F_DUPFD bugs
2962         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
2963         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
2964         cloexec bit on duplication.
2965         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
2966
2967 2011-01-26  Bruno Haible  <bruno@clisp.org>
2968
2969         Enable memory leak tests on AIX.
2970         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
2971         * tests/test-fprintf-posix3.c (main): Likewise.
2972
2973 2011-01-26  Bruno Haible  <bruno@clisp.org>
2974
2975         Tests for module 'get-rusage-data'.
2976         * modules/get-rusage-data-tests: New file.
2977         * tests/test-get-rusage-data.c: New file.
2978
2979         New module 'get-rusage-data'.
2980         * lib/resource-ext.h (get_rusage_data): New declaration.
2981         * lib/get-rusage-data.c: New file.
2982         * modules/get-rusage-data: New file.
2983
2984 2011-01-25  Bruno Haible  <bruno@clisp.org>
2985
2986         get-rusage-as: Allow for easier testing.
2987         * lib/resource-ext.h (get_rusage_as): Add comment.
2988         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
2989         (main): New function for interactive testing.
2990
2991 2011-01-25  Bruno Haible  <bruno@clisp.org>
2992
2993         vma-iter: Treat Haiku like BeOS.
2994         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
2995         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
2996
2997 2011-01-25  Eric Blake  <eblake@redhat.com>
2998
2999         c-stack: fix regression on cygwin when libsigsegv is present
3000         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
3001
3002 2011-01-24  Bruno Haible  <bruno@clisp.org>
3003
3004         vma-iter: Avoid empty intervals.
3005         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
3006         on an empty interval.
3007
3008 2011-01-24  Jim Meyering  <meyering@redhat.com>
3009
3010         u64: remove unnecessary #include
3011         * lib/u64.h: Don't include <stddef.h>.  It was not used.
3012
3013 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
3014
3015         Allow the user to avoid the HAVE_RAW_DECL_* macros.
3016         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
3017
3018 2011-01-23  Bruno Haible  <bruno@clisp.org>
3019
3020         New module 'vma-iter'.
3021         * lib/vma-iter.h: New file.
3022         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
3023         * modules/vma-iter: New file.
3024         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
3025         for get_rusage_as_via_iterator.
3026         (vma_iterate_callback): New function.
3027         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
3028         * modules/get-rusage-as (Depends-on): Add vma-iter.
3029
3030 2011-01-23  Bruno Haible  <bruno@clisp.org>
3031
3032         uninorm: Tweak includes.
3033         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
3034         Reported by Jim Meyering.
3035
3036 2011-01-23  Bruno Haible  <bruno@clisp.org>
3037
3038         get-rusage-as: Improve on NetBSD.
3039         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
3040         /proc, like on FreeBSD.
3041
3042 2011-01-23  Jim Meyering  <meyering@redhat.com>
3043
3044         xreadlink.h: remove unnecessary #include
3045         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
3046
3047         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
3048         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
3049
3050 2011-01-23  Bruno Haible  <bruno@clisp.org>
3051
3052         get-rusage-as: Fix bug.
3053         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
3054         original limit when aborting the first loop.
3055
3056 2011-01-23  Bruno Haible  <bruno@clisp.org>
3057
3058         wctype: Ensure valid C syntax.
3059         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
3060         unconditionally, instead of gl_NEXT_HEADERS conditionally.
3061
3062 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
3063
3064         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
3065         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
3066         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
3067         as they are needed only for configure's test case.
3068         This removes two unnecessary symbols from config.h.
3069
3070         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
3071         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
3072         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
3073         AC_CHECK_HEADERS_ONCE on a header that we also invoke
3074         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
3075         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
3076         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
3077         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
3078         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
3079         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
3080         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
3081         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
3082         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
3083         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
3084         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
3085         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
3086         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
3087         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
3088
3089 2011-01-21  Eric Blake  <eblake@redhat.com>
3090
3091         maintainer-makefile: work with older git for submodule check
3092         * top/maint.mk (public-submodule-commit): Rewrite to avoid
3093         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
3094         Reported by Matthias Bolte.
3095
3096         bootstrap: minor portability fixes
3097         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
3098         (usage): Omit leading capital and trailing . on help phrases, per
3099         GNU Coding Standards.
3100         (check_versions, top level): Prefix messages with script name.
3101
3102 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
3103
3104         bootstrap: support --no-git option
3105         * build-aux/bootstrap: Add --no-git option, to be used when
3106         --gnulib-srcdir points to the exact desired checkout.
3107
3108 2011-01-21  Eric Blake  <eblake@redhat.com>
3109
3110         strerror_r-posix: work with glibc 2.13
3111         * lib/strerror_r.c (strerror_r): Fix return type.
3112
3113 2011-01-21  Pádraig Brady  <P@draigBrady.com>
3114             Bruno Haible  <bruno@clisp.org>
3115
3116         uN_strstr: New unit tests.
3117         * modules/unistr/u8-strstr-tests: New file.
3118         * modules/unistr/u16-strstr-tests: New file.
3119         * modules/unistr/u32-strstr-tests: New file.
3120         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
3121         * tests/unistr/test-u8-strstr.c: New file.
3122         * tests/unistr/test-u16-strstr.c: New file.
3123         * tests/unistr/test-u32-strstr.c: New file.
3124
3125 2011-01-21  Pádraig Brady  <P@draigBrady.com>
3126             Bruno Haible  <bruno@clisp.org>
3127
3128         Make uN_strstr functions O(n) worst-case.
3129         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
3130         16-bit and 32-bit unit cases, use the unibyte algorithm from
3131         lib/mbsstr.c.
3132         * lib/unistr/u8-strstr.c: Include <string.h>.
3133         (UNIT_IS_UINT8_T): New macro.
3134         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
3135         (U_STRLEN, U_STRNLEN): New macros.
3136         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
3137         (U_STRLEN, U_STRNLEN): New macros.
3138         * modules/unistr/u8-strstr (Depends-on): Add strstr.
3139         (configure.ac): Update required libunistring version.
3140         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
3141         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
3142         malloca.
3143         (configure.ac): Update required libunistring version.
3144         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
3145         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
3146         malloca.
3147         (configure.ac): Update required libunistring version.
3148
3149 2011-01-21  Pádraig Brady  <P@draigBrady.com>
3150             Bruno Haible  <bruno@clisp.org>
3151
3152         Prepare for faster uN_strstr functions.
3153         * lib/str-kmp.h: Support definable UNITs.
3154         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
3155         needle_len argument.
3156         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
3157         * lib/mbscasestr.c (mbscasestr): Likewise.
3158
3159 2011-01-21  Pádraig Brady <P@draigBrady.com>
3160
3161         malloca-tests: make faster by unsetting MALLOC_PERTURB_
3162         * tests/test-malloca.c (main): Unset the environment variable
3163         to greatly speed up the test.
3164         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
3165         * modules/malloca-tests: Depend on unsetenv.
3166
3167 2011-01-21  Pádraig Brady <P@draigBrady.com>
3168
3169         ignore-value: remove stdint dependency
3170         * lib/ignore-value.h: Remove <stdint.h>
3171         * modules/ignore-value: Remove stdint dependency.
3172
3173 2011-01-21  Jim Meyering  <meyering@redhat.com>
3174
3175         maint.mk: adjust variable name to be consistent with other gl_ vars
3176         * top/maint.mk (gl_public_submodule_commit): Rename the variable
3177         to be lower case.
3178
3179 2011-01-20  Jim Meyering  <meyering@redhat.com>
3180
3181         maint.mk: make "check" depend on public-submodule-commit by default
3182         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
3183
3184 2011-01-20  Bruno Haible  <bruno@clisp.org>
3185
3186         mbfile, mbiter: Complete change from 2008-12-21.
3187         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
3188         * m4/mbiter.m4 (gl_MBITER): Likewise.
3189
3190 2011-01-20  Jim Meyering  <meyering@redhat.com>
3191
3192         init.sh: insert space between each function name and "()"
3193         * tests/init.sh: Make it a little easier to see that a function's
3194         name is "warn_", and not "warn" when looking at the first part of
3195         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
3196
3197 2011-01-20  Jim Meyering  <meyering@redhat.com>
3198
3199         mountlist: clean up code formatting
3200         * lib/mountlist.c (read_file_system_list): Split a long line,
3201         correct bracing style, use NULL in place of "(struct statfs *)0",
3202         don't parenthesize return value, add spaces around "=" and after
3203         ";-in-for-stmt".
3204
3205 2011-01-14  Markus Duft <mduft@gentoo.org>
3206
3207         mountlist: add support for Interix
3208         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
3209         Apply statvfs to all entries of /dev/fs.
3210         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
3211         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
3212
3213 2011-01-20  Jim Meyering  <meyering@redhat.com>
3214
3215         maint.mk: improve the public-submodule-commit rule
3216         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
3217         to suppress printing of its commands... unless V=1.
3218         Add git submodule's --quiet option to suppress printing of e.g.,
3219         "Entering gnulib" output.
3220         "cd" into $(srcdir) before running git submodule.
3221
3222 2011-01-20  Bruno Haible  <bruno@clisp.org>
3223
3224         include_next: Fix bug introduced on 2011-01-18.
3225         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
3226         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
3227         ac_cv_header_... variable if the second argument is not 'check'.
3228         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
3229         gl_NEXT_HEADERS_INTERNAL.
3230
3231 2011-01-20  Bruno Haible  <bruno@clisp.org>
3232
3233         Allow the user to avoid the GNULIB_TEST_* macros.
3234         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
3235         Suggested by Paul Eggert.
3236
3237 2011-01-14  Jim Meyering  <meyering@redhat.com>
3238
3239         bootstrap: avoid failure when there is no .gitmodules file
3240         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
3241         has been assigned to, even when its value is the empty string.
3242         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
3243         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
3244         Reported by John W. Eaton <jwe@gnu.org>.
3245
3246 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
3247
3248         assume <ctype.h>, ..., <time.h> exist
3249         For years gnulib has been assuming the existence of the headers
3250         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
3251         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
3252         them, since they don't appear to be needed.
3253         * README (Portability guidelines): Document this.
3254         * lib/flock.c: Assume <fcntl.h> exists.
3255         * lib/regex_internal.h: Assume <locale.h> exists.
3256         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
3257         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
3258         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
3259         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
3260         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
3261         * m4/regex.m4 (gl_REGEX): Likewise.
3262         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
3263         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
3264         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
3265         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
3266         * tests/test-argp.c: Likewise.
3267         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
3268
3269         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
3270         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
3271         AA_APPLE_UNIVERSAL_BUILD.  See
3272         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
3273         * NEWS: Document this.
3274
3275 2011-01-19  Eric Blake  <eblake@redhat.com>
3276
3277         c-stack: assume stack overflow if SA_SIGINFO unsupported
3278         * lib/c-stack.c (SIGACTION_WORKS): Rename...
3279         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
3280         sigaction will work.
3281         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
3282         behavior match Linux.
3283         * tests/test-c-stack.c (main): Prefer NULL for pointers.
3284
3285         stdbool-tests: accomodate Haiku
3286         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
3287
3288         binary-io: fix O_TEXT on Haiku
3289         * modules/binary-io (Depends-on): Add fcntl-h.
3290         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
3291         than blindly undefining O_TEXT.
3292         Reported by Scott McCreary.
3293
3294 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
3295
3296         include_next: do not check for standard headers like stddef.h
3297
3298         I found this problem when modifying Emacs to use gnulib.
3299         I noticed that it added HAVE_STDDEF_H to config.h, even though
3300         gnulib always assumes <stddef.h> exists as per README and this
3301         symbol is unnecessary.
3302         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
3303         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
3304         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
3305         faster for headers like stddef.h that are known to exist.
3306         (gl_CHECK_NEXT_HEADERS): Use it.
3307         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
3308         rather than gl_CHECK_NEXT_HEADERS.
3309         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
3310         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
3311
3312 2011-01-18  Eric Blake  <eblake@redhat.com>
3313
3314         ansi-c++-opt: skip C++ dependency style if C++ is unused
3315         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
3316         tests when we know C++ compilation is not desired.
3317         Reported by Scott McCreary.
3318
3319 2011-01-18  Bruno Haible  <bruno@clisp.org>
3320
3321         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
3322         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
3323         (main): Perform test also when getrlimit and setrlimit don't exist or
3324         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
3325         limiting the address space size using setrlimit, compare the address
3326         space size before and after the the test.
3327         * tests/test-dprintf-posix2.c: Likewise.
3328         * tests/test-fprintf-posix3.sh: Update skip messages.
3329         * tests/test-dprintf-posix2.sh: Likewise.
3330         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
3331         * modules/dprintf-posix-tests (Depends-on): Likewise.
3332         Reported by Bruce Korb <bkorb@gnu.org> and
3333         Gary V. Vaughan <gary@gnu.org>.
3334
3335 2011-01-18  Bruno Haible  <bruno@clisp.org>
3336
3337         get-rusage-as: Improvement for Cygwin.
3338         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
3339         areas that are merely reserved.
3340
3341 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
3342
3343         strftime: remove dependencies on multibyte modules
3344
3345         strftime depended on mbrlen, mbsinit, and wchar, but these modules
3346         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
3347         only if __osf__ is defined, and I suspect OSF doesn't need these
3348         other modules.  If my guess is wrong, we'll need to come up with a
3349         variant of strftime that doesn't need the multibyte modules.
3350
3351         I discovered this problem when attempting modify Emacs to use the
3352         strftime module.  With the previous gnulib, this caused Emacs to
3353         need 31 new files, ranging from lib/config.charset to
3354         m4/wint_t.m4.  This was overkill and I expect would be offputting
3355         to the Emacs maintainers.  After this change, only 6 new files are
3356         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
3357         stdbool.m4, and tm_gmtoff.m4.
3358
3359         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
3360         Suggested by Bruno Haible in
3361         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
3362         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
3363         and do not check for wchar.h.
3364         * modules/strftime (Files): Remove m4/mbstate_t.m4.
3365         (Depends-on): Remove mbrlen, mbsinit, wchar.
3366
3367 2011-01-18  Bruno Haible  <bruno@clisp.org>
3368
3369         Tests for module 'get-rusage-as'.
3370         * modules/get-rusage-as-tests: New file.
3371         * tests/test-get-rusage-as.c: New file.
3372
3373         New module 'get-rusage-as'.
3374         * modules/get-rusage-as: New file.
3375         * lib/resource-ext.h: New file.
3376         * lib/get-rusage-as.c: New file.
3377
3378 2011-01-17  Eric Blake  <eblake@redhat.com>
3379
3380         sigaction: relax license from LGPLv3+ to LGPLv2+
3381         * modules/sigaction (License): Relax to LGPLv2+.
3382
3383 2011-01-14  Bruno Haible  <bruno@clisp.org>
3384
3385         filemode: Make function declarations usable in C++ mode.
3386         * lib/filemode.h: Enclose function declarations in extern "C" block.
3387         Reported by John W. Eaton <jwe@gnu.org>.
3388
3389 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
3390
3391         save-cwd: no longer include "xgetcwd.h"
3392         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
3393         This avoids a compilation failure in projects that use save-cwd
3394         without also using the xgetcwd module.
3395
3396 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
3397
3398         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
3399         This is so that a program like Emacs, which needs only dtoastr,
3400         does not have to bother with distributing and compiling ftoastr
3401         and ldtoastr.
3402         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
3403         * modules/dtoastr, modules/ldtoastr: New files.
3404         * modules/ftoastr: Now works just for 'float'.
3405         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
3406         (Makefile.am): Remove ftoastr.h (not needed and no effect),
3407         dtoastr.c, ldtoastr.c.
3408
3409 2011-01-11  Jim Meyering  <meyering@redhat.com>
3410
3411         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
3412         There is no need to work around the lack of the fchdir function,
3413         since gnulib can now provide a replacement when required.
3414         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
3415         * modules/save-cwd (Depends-on): Add fchdir.
3416
3417 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
3418
3419         openat, save-cwd: avoid xmalloc
3420
3421         This removes a direct (but undocumented) dependency of openat on
3422         xalloc, along with an indirect dependency via save-cwd.  It also
3423         removes a dependency of save-cwd on xgetcwd, and thereby
3424         indirectly on xalloc.  This change causes the openat substitute
3425         to fall back on save_cwd when memory is tight, and for save_cwd to
3426         fail instead of dying when memory is tight, but that's good enough.
3427         Problem and initial idea for fix reported by Bastien Roucaries in
3428         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
3429
3430         * lib/openat-proc.c: Include stdlib.h (for malloc), not
3431         xalloc.h (for xmalloc).
3432         (openat_proc_name): Use malloc, not xmalloc.
3433         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
3434         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
3435
3436         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
3437         This avoids heap allocation for file names whose lengths are in
3438         the range 512..1023, with the upper bound increasing to at most
3439         4031 depending on the platform's PATH_MAX.  (We do not want
3440         pathmax.h here as it might supply a non-constant PATH_MAX.)
3441         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
3442         Perhaps they should be moved to malloca.h?
3443         (OPENAT_BUFFER_SIZE): Use them.
3444
3445 2011-01-10  Bruno Haible  <bruno@clisp.org>
3446
3447         doc: Update users.txt.
3448         * users.txt: Add recutils.
3449
3450 2011-01-09  Karl Berry  <karl@gnu.org>
3451
3452         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
3453
3454         * doc/configmake.texi: New file.
3455         * doc/gnulib.texi: Include it.
3456         * modules/configmake: Move documentation from here.
3457
3458 2011-01-09  Bruno Haible  <bruno@clisp.org>
3459
3460         Update to Unicode 6.0.0.
3461         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
3462         (get_lbp): Update for Unicode 6.0.0.
3463         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
3464         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
3465         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
3466         U+11001, U+11038..U+11046. Remove U+06DE.
3467         (uc_width): Fix bounds of planes.
3468         * tests/uniwidth/test-uc_width2.sh: Same updates as in
3469         lib/uniwidth/width.c.
3470         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
3471         trailing whitespace removed.
3472         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
3473         without comments, but with the original copyright notice.
3474         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
3475         * lib/unicase/ignorable.h: Likewise.
3476         * lib/unicase/tocasefold.h: Likewise.
3477         * lib/unicase/tolower.h: Likewise.
3478         * lib/unicase/totitle.h: Likewise.
3479         * lib/unicase/toupper.h: Likewise.
3480         * lib/unictype/bidi_of.h: Likewise.
3481         * lib/unictype/blocks.h: Likewise.
3482         * lib/unictype/categ_C.h: Likewise.
3483         * lib/unictype/categ_Cn.h: Likewise.
3484         * lib/unictype/categ_L.h: Likewise.
3485         * lib/unictype/categ_Ll.h: Likewise.
3486         * lib/unictype/categ_Lm.h: Likewise.
3487         * lib/unictype/categ_Lo.h: Likewise.
3488         * lib/unictype/categ_Lu.h: Likewise.
3489         * lib/unictype/categ_M.h: Likewise.
3490         * lib/unictype/categ_Mc.h: Likewise.
3491         * lib/unictype/categ_Me.h: Likewise.
3492         * lib/unictype/categ_Mn.h: Likewise.
3493         * lib/unictype/categ_N.h: Likewise.
3494         * lib/unictype/categ_Nd.h: Likewise.
3495         * lib/unictype/categ_No.h: Likewise.
3496         * lib/unictype/categ_P.h: Likewise.
3497         * lib/unictype/categ_Po.h: Likewise.
3498         * lib/unictype/categ_S.h: Likewise.
3499         * lib/unictype/categ_Sc.h: Likewise.
3500         * lib/unictype/categ_Sk.h: Likewise.
3501         * lib/unictype/categ_Sm.h: Likewise.
3502         * lib/unictype/categ_So.h: Likewise.
3503         * lib/unictype/categ_of.h: Likewise.
3504         * lib/unictype/combining.h: Likewise.
3505         * lib/unictype/ctype_alnum.h: Likewise.
3506         * lib/unictype/ctype_alpha.h: Likewise.
3507         * lib/unictype/ctype_graph.h: Likewise.
3508         * lib/unictype/ctype_lower.h: Likewise.
3509         * lib/unictype/ctype_print.h: Likewise.
3510         * lib/unictype/ctype_punct.h: Likewise.
3511         * lib/unictype/ctype_upper.h: Likewise.
3512         * lib/unictype/decdigit.h: Likewise.
3513         * lib/unictype/digit.h: Likewise.
3514         * lib/unictype/numeric.h: Likewise.
3515         * lib/unictype/pr_alphabetic.h: Likewise.
3516         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
3517         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
3518         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
3519         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
3520         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
3521         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
3522         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
3523         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
3524         * lib/unictype/pr_case_ignorable.h: Likewise.
3525         * lib/unictype/pr_cased.h: Likewise.
3526         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
3527         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
3528         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
3529         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
3530         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
3531         * lib/unictype/pr_combining.h: Likewise.
3532         * lib/unictype/pr_composite.h: Likewise.
3533         * lib/unictype/pr_currency_symbol.h: Likewise.
3534         * lib/unictype/pr_decimal_digit.h: Likewise.
3535         * lib/unictype/pr_deprecated.h: Likewise.
3536         * lib/unictype/pr_format_control.h: Likewise.
3537         * lib/unictype/pr_grapheme_base.h: Likewise.
3538         * lib/unictype/pr_grapheme_extend.h: Likewise.
3539         * lib/unictype/pr_grapheme_link.h: Likewise.
3540         * lib/unictype/pr_id_continue.h: Likewise.
3541         * lib/unictype/pr_id_start.h: Likewise.
3542         * lib/unictype/pr_ideographic.h: Likewise.
3543         * lib/unictype/pr_lowercase.h: Likewise.
3544         * lib/unictype/pr_math.h: Likewise.
3545         * lib/unictype/pr_numeric.h: Likewise.
3546         * lib/unictype/pr_other_alphabetic.h: Likewise.
3547         * lib/unictype/pr_other_id_continue.h: Likewise.
3548         * lib/unictype/pr_other_math.h: Likewise.
3549         * lib/unictype/pr_punctuation.h: Likewise.
3550         * lib/unictype/pr_sentence_terminal.h: Likewise.
3551         * lib/unictype/pr_terminal_punctuation.h: Likewise.
3552         * lib/unictype/pr_unassigned_code_value.h: Likewise.
3553         * lib/unictype/pr_unified_ideograph.h: Likewise.
3554         * lib/unictype/pr_uppercase.h: Likewise.
3555         * lib/unictype/pr_xid_continue.h: Likewise.
3556         * lib/unictype/pr_xid_start.h: Likewise.
3557         * lib/unictype/scripts.h: Likewise.
3558         * lib/unictype/scripts_byname.gperf: Likewise.
3559         * lib/unictype/sy_java_ident.h: Likewise.
3560         * lib/unigbrk/gbrkprop.h: Likewise.
3561         * lib/unilbrk/lbrkprop1.h: Likewise.
3562         * lib/unilbrk/lbrkprop2.h: Likewise.
3563         * lib/uninorm/decomposition-table2.h: Likewise.
3564         * lib/uniwbrk/wbrkprop.h: Likewise.
3565         * tests/unicase/test-cased.c: Likewise.
3566         * tests/unicase/test-ignorable.c: Likewise.
3567         * tests/unicase/test-uc_tolower.c: Likewise.
3568         * tests/unicase/test-uc_totitle.c: Likewise.
3569         * tests/unicase/test-uc_toupper.c: Likewise.
3570         * tests/unictype/test-categ_C.c: Likewise.
3571         * tests/unictype/test-categ_Cn.c: Likewise.
3572         * tests/unictype/test-categ_L.c: Likewise.
3573         * tests/unictype/test-categ_Ll.c: Likewise.
3574         * tests/unictype/test-categ_Lm.c: Likewise.
3575         * tests/unictype/test-categ_Lo.c: Likewise.
3576         * tests/unictype/test-categ_Lu.c: Likewise.
3577         * tests/unictype/test-categ_M.c: Likewise.
3578         * tests/unictype/test-categ_Mc.c: Likewise.
3579         * tests/unictype/test-categ_Me.c: Likewise.
3580         * tests/unictype/test-categ_Mn.c: Likewise.
3581         * tests/unictype/test-categ_N.c: Likewise.
3582         * tests/unictype/test-categ_Nd.c: Likewise.
3583         * tests/unictype/test-categ_No.c: Likewise.
3584         * tests/unictype/test-categ_P.c: Likewise.
3585         * tests/unictype/test-categ_Po.c: Likewise.
3586         * tests/unictype/test-categ_S.c: Likewise.
3587         * tests/unictype/test-categ_Sc.c: Likewise.
3588         * tests/unictype/test-categ_Sk.c: Likewise.
3589         * tests/unictype/test-categ_Sm.c: Likewise.
3590         * tests/unictype/test-categ_So.c: Likewise.
3591         * tests/unictype/test-ctype_alnum.c: Likewise.
3592         * tests/unictype/test-ctype_alpha.c: Likewise.
3593         * tests/unictype/test-ctype_graph.c: Likewise.
3594         * tests/unictype/test-ctype_lower.c: Likewise.
3595         * tests/unictype/test-ctype_print.c: Likewise.
3596         * tests/unictype/test-ctype_punct.c: Likewise.
3597         * tests/unictype/test-ctype_upper.c: Likewise.
3598         * tests/unictype/test-decdigit.h: Likewise.
3599         * tests/unictype/test-digit.h: Likewise.
3600         * tests/unictype/test-numeric.h: Likewise.
3601         * tests/unictype/test-pr_alphabetic.c: Likewise.
3602         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
3603         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
3604         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
3605         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
3606         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
3607         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
3608         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
3609         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
3610         * tests/unictype/test-pr_case_ignorable.c: Likewise.
3611         * tests/unictype/test-pr_cased.c: Likewise.
3612         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
3613         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
3614         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
3615         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
3616         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
3617         * tests/unictype/test-pr_combining.c: Likewise.
3618         * tests/unictype/test-pr_composite.c: Likewise.
3619         * tests/unictype/test-pr_currency_symbol.c: Likewise.
3620         * tests/unictype/test-pr_decimal_digit.c: Likewise.
3621         * tests/unictype/test-pr_deprecated.c: Likewise.
3622         * tests/unictype/test-pr_format_control.c: Likewise.
3623         * tests/unictype/test-pr_grapheme_base.c: Likewise.
3624         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
3625         * tests/unictype/test-pr_grapheme_link.c: Likewise.
3626         * tests/unictype/test-pr_id_continue.c: Likewise.
3627         * tests/unictype/test-pr_id_start.c: Likewise.
3628         * tests/unictype/test-pr_ideographic.c: Likewise.
3629         * tests/unictype/test-pr_lowercase.c: Likewise.
3630         * tests/unictype/test-pr_math.c: Likewise.
3631         * tests/unictype/test-pr_numeric.c: Likewise.
3632         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
3633         * tests/unictype/test-pr_other_id_continue.c: Likewise.
3634         * tests/unictype/test-pr_other_math.c: Likewise.
3635         * tests/unictype/test-pr_punctuation.c: Likewise.
3636         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
3637         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
3638         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
3639         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
3640         * tests/unictype/test-pr_uppercase.c: Likewise.
3641         * tests/unictype/test-pr_xid_continue.c: Likewise.
3642         * tests/unictype/test-pr_xid_start.c: Likewise.
3643         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
3644         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
3645         changes.
3646         * lib/unictype/categ_Cc.h: Likewise.
3647         * lib/unictype/categ_Cf.h: Likewise.
3648         * lib/unictype/categ_Co.h: Likewise.
3649         * lib/unictype/categ_Cs.h: Likewise.
3650         * lib/unictype/categ_Lt.h: Likewise.
3651         * lib/unictype/categ_Nl.h: Likewise.
3652         * lib/unictype/categ_Pc.h: Likewise.
3653         * lib/unictype/categ_Pd.h: Likewise.
3654         * lib/unictype/categ_Pe.h: Likewise.
3655         * lib/unictype/categ_Pf.h: Likewise.
3656         * lib/unictype/categ_Pi.h: Likewise.
3657         * lib/unictype/categ_Ps.h: Likewise.
3658         * lib/unictype/categ_Z.h: Likewise.
3659         * lib/unictype/categ_Zl.h: Likewise.
3660         * lib/unictype/categ_Zp.h: Likewise.
3661         * lib/unictype/categ_Zs.h: Likewise.
3662         * lib/unictype/ctype_blank.h: Likewise.
3663         * lib/unictype/ctype_cntrl.h: Likewise.
3664         * lib/unictype/ctype_digit.h: Likewise.
3665         * lib/unictype/ctype_space.h: Likewise.
3666         * lib/unictype/ctype_xdigit.h: Likewise.
3667         * lib/unictype/mirror.h: Likewise.
3668         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
3669         * lib/unictype/pr_bidi_block_separator.h: Likewise.
3670         * lib/unictype/pr_bidi_common_separator.h: Likewise.
3671         * lib/unictype/pr_bidi_control.h: Likewise.
3672         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
3673         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
3674         * lib/unictype/pr_bidi_european_digit.h: Likewise.
3675         * lib/unictype/pr_bidi_pdf.h: Likewise.
3676         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
3677         * lib/unictype/pr_bidi_whitespace.h: Likewise.
3678         * lib/unictype/pr_dash.h: Likewise.
3679         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
3680         * lib/unictype/pr_diacritic.h: Likewise.
3681         * lib/unictype/pr_extender.h: Likewise.
3682         * lib/unictype/pr_hex_digit.h: Likewise.
3683         * lib/unictype/pr_hyphen.h: Likewise.
3684         * lib/unictype/pr_ids_binary_operator.h: Likewise.
3685         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
3686         * lib/unictype/pr_ignorable_control.h: Likewise.
3687         * lib/unictype/pr_iso_control.h: Likewise.
3688         * lib/unictype/pr_join_control.h: Likewise.
3689         * lib/unictype/pr_left_of_pair.h: Likewise.
3690         * lib/unictype/pr_line_separator.h: Likewise.
3691         * lib/unictype/pr_logical_order_exception.h: Likewise.
3692         * lib/unictype/pr_non_break.h: Likewise.
3693         * lib/unictype/pr_not_a_character.h: Likewise.
3694         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
3695         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
3696         * lib/unictype/pr_other_id_start.h: Likewise.
3697         * lib/unictype/pr_other_lowercase.h: Likewise.
3698         * lib/unictype/pr_other_uppercase.h: Likewise.
3699         * lib/unictype/pr_paired_punctuation.h: Likewise.
3700         * lib/unictype/pr_paragraph_separator.h: Likewise.
3701         * lib/unictype/pr_pattern_syntax.h: Likewise.
3702         * lib/unictype/pr_pattern_white_space.h: Likewise.
3703         * lib/unictype/pr_private_use.h: Likewise.
3704         * lib/unictype/pr_quotation_mark.h: Likewise.
3705         * lib/unictype/pr_radical.h: Likewise.
3706         * lib/unictype/pr_soft_dotted.h: Likewise.
3707         * lib/unictype/pr_space.h: Likewise.
3708         * lib/unictype/pr_titlecase.h: Likewise.
3709         * lib/unictype/pr_variation_selector.h: Likewise.
3710         * lib/unictype/pr_white_space.h: Likewise.
3711         * lib/unictype/pr_zero_width.h: Likewise.
3712         * lib/unictype/sy_c_ident.h: Likewise.
3713         * lib/unictype/sy_c_whitespace.h: Likewise.
3714         * lib/unictype/sy_java_whitespace.h: Likewise.
3715         * lib/uninorm/composition-table.gperf: Likewise.
3716         * lib/uninorm/decomposition-table1.h: Likewise.
3717         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
3718         LB8.
3719         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
3720         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
3721         * modules/unictype/*: Bump version number of expected libunistring
3722         version.
3723
3724 2011-01-09  Bruno Haible  <bruno@clisp.org>
3725
3726         Update to Unicode 5.2.0.
3727         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
3728         trailing whitespace removed.
3729
3730 2011-01-09  Bruno Haible  <bruno@clisp.org>
3731
3732         New Unicode character properties, from Unicode 5.2.0.
3733         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
3734         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
3735         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
3736         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
3737         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
3738         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
3739         uc_is_property_cased, uc_is_property_case_ignorable,
3740         uc_is_property_changes_when_lowercased,
3741         uc_is_property_changes_when_uppercased,
3742         uc_is_property_changes_when_titlecased,
3743         uc_is_property_changes_when_casefolded,
3744         uc_is_property_changes_when_casemapped): New declarations.
3745         * lib/unictype/pr_byname.gperf: Add the new properties.
3746         * modules/unictype/property-byname (Depends-on): Depend on the new
3747         properties modules.
3748         * modules/unictype/property-all (Depends-on): Likewise.
3749         * MODULES.html.sh (Unicode string functions): Add
3750         unictype/property-case-ignorable, unictype/property-cased,
3751         unictype/property-changes-when-casefolded,
3752         unictype/property-changes-when-casemapped,
3753         unictype/property-changes-when-lowercased,
3754         unictype/property-changes-when-titlecased,
3755         unictype/property-changes-when-uppercased.
3756
3757         New module 'unictype/property-changes-when-casemapped'.
3758         * modules/unictype/property-changes-when-casemapped: New file.
3759         * lib/unictype/pr_changes_when_casemapped.c: New file.
3760         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
3761         generated by gen-uni-tables.
3762         * modules/unictype/property-changes-when-casemapped-tests: New file.
3763         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
3764         automatically generated by gen-uni-tables.
3765
3766         New module 'unictype/property-changes-when-casefolded'.
3767         * modules/unictype/property-changes-when-casefolded: New file.
3768         * lib/unictype/pr_changes_when_casefolded.c: New file.
3769         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
3770         generated by gen-uni-tables.
3771         * modules/unictype/property-changes-when-casefolded-tests: New file.
3772         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
3773         automatically generated by gen-uni-tables.
3774
3775         New module 'unictype/property-changes-when-titlecased'.
3776         * modules/unictype/property-changes-when-titlecased: New file.
3777         * lib/unictype/pr_changes_when_titlecased.c: New file.
3778         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
3779         generated by gen-uni-tables.
3780         * modules/unictype/property-changes-when-titlecased-tests: New file.
3781         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
3782         automatically generated by gen-uni-tables.
3783
3784         New module 'unictype/property-changes-when-uppercased'.
3785         * modules/unictype/property-changes-when-uppercased: New file.
3786         * lib/unictype/pr_changes_when_uppercased.c: New file.
3787         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
3788         generated by gen-uni-tables.
3789         * modules/unictype/property-changes-when-uppercased-tests: New file.
3790         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
3791         automatically generated by gen-uni-tables.
3792
3793         New module 'unictype/property-changes-when-lowercased'.
3794         * modules/unictype/property-changes-when-lowercased: New file.
3795         * lib/unictype/pr_changes_when_lowercased.c: New file.
3796         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
3797         generated by gen-uni-tables.
3798         * modules/unictype/property-changes-when-lowercased-tests: New file.
3799         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
3800         automatically generated by gen-uni-tables.
3801
3802         New module 'unictype/property-case-ignorable'.
3803         * modules/unictype/property-case-ignorable: New file.
3804         * lib/unictype/pr_case_ignorable.c: New file.
3805         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
3806         by gen-uni-tables.
3807         * modules/unictype/property-case-ignorable-tests: New file.
3808         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
3809         generated by gen-uni-tables.
3810
3811         New module 'unictype/property-cased'.
3812         * modules/unictype/property-cased: New file.
3813         * lib/unictype/pr_cased.c: New file.
3814         * lib/unictype/pr_cased.h: New file, automatically generated by
3815         gen-uni-tables.
3816         * modules/unictype/property-cased-tests: New file.
3817         * tests/unictype/test-pr_cased.c: New file, automatically generated by
3818         gen-uni-tables.
3819
3820 2011-01-09  Bruno Haible  <bruno@clisp.org>
3821
3822         Update to Unicode 5.2.0.
3823         * lib/gen-uni-tables.c (output_predicate, output_category,
3824         output_combclass, output_bidi_category, output_decimal_digit_test,
3825         output_decimal_digit, output_digit_test, output_digit,
3826         output_numeric_test, output_numeric, output_mirror, output_scripts,
3827         output_scripts_byname, output_blocks, output_ident_category): Fix
3828         comment header.
3829         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
3830         get_wbp.
3831         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
3832         items.
3833         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
3834         Changes_When_Lowercased, Changes_When_Uppercased,
3835         Changes_When_Titlecased, Changes_When_Casefolded,
3836         Changes_When_Casemapped.
3837         (is_property_alphabetic, is_property_default_ignorable_code_point):
3838         Update for Unicode 5.2.0.
3839         (is_property_cased, is_property_case_ignorable,
3840         is_property_changes_when_lowercased,
3841         is_property_changes_when_uppercased,
3842         is_property_changes_when_titlecased,
3843         is_property_changes_when_casefolded,
3844         is_property_changes_when_casemapped): New functions.
3845         (output_properties): Output also the properties cased, case_ignorable,
3846         changes_when_lowercased, changes_when_uppercased,
3847         changes_when_titlecased, changes_when_casefolded,
3848         changes_when_casemapped.
3849         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
3850         Unicode TR#11 revision 17 -> 19.
3851         (LBP_CP): New enumeration value.
3852         (LBP_*): Adjust values accordingly.
3853         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
3854         TR#14 revision 22 -> 24.
3855         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
3856         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
3857         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
3858         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
3859         is_WBP_MIDLETTER.
3860         (output_composition_tables): Allow for 24 bits instead of 16 bits in
3861         the code1 and code2 of each composition rule.
3862         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
3863         * lib/unicase/ignorable.h: Likewise.
3864         * lib/unicase/tocasefold.h: Likewise.
3865         * lib/unicase/tolower.h: Likewise.
3866         * lib/unicase/totitle.h: Likewise.
3867         * lib/unicase/toupper.h: Likewise.
3868         * lib/unictype/bidi_of.h: Likewise.
3869         * lib/unictype/blocks.h: Likewise.
3870         * lib/unictype/categ_C.h: Likewise.
3871         * lib/unictype/categ_Cf.h: Likewise.
3872         * lib/unictype/categ_Cn.h: Likewise.
3873         * lib/unictype/categ_L.h: Likewise.
3874         * lib/unictype/categ_Ll.h: Likewise.
3875         * lib/unictype/categ_Lm.h: Likewise.
3876         * lib/unictype/categ_Lo.h: Likewise.
3877         * lib/unictype/categ_Lu.h: Likewise.
3878         * lib/unictype/categ_M.h: Likewise.
3879         * lib/unictype/categ_Mc.h: Likewise.
3880         * lib/unictype/categ_Mn.h: Likewise.
3881         * lib/unictype/categ_N.h: Likewise.
3882         * lib/unictype/categ_Nd.h: Likewise.
3883         * lib/unictype/categ_Nl.h: Likewise.
3884         * lib/unictype/categ_No.h: Likewise.
3885         * lib/unictype/categ_P.h: Likewise.
3886         * lib/unictype/categ_Pd.h: Likewise.
3887         * lib/unictype/categ_Po.h: Likewise.
3888         * lib/unictype/categ_S.h: Likewise.
3889         * lib/unictype/categ_Sc.h: Likewise.
3890         * lib/unictype/categ_So.h: Likewise.
3891         * lib/unictype/categ_of.h: Likewise.
3892         * lib/unictype/combining.h: Likewise.
3893         * lib/unictype/ctype_alnum.h: Likewise.
3894         * lib/unictype/ctype_alpha.h: Likewise.
3895         * lib/unictype/ctype_graph.h: Likewise.
3896         * lib/unictype/ctype_lower.h: Likewise.
3897         * lib/unictype/ctype_print.h: Likewise.
3898         * lib/unictype/ctype_punct.h: Likewise.
3899         * lib/unictype/ctype_upper.h: Likewise.
3900         * lib/unictype/decdigit.h: Likewise.
3901         * lib/unictype/digit.h: Likewise.
3902         * lib/unictype/numeric.h: Likewise.
3903         * lib/unictype/pr_alphabetic.h: Likewise.
3904         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
3905         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
3906         * lib/unictype/pr_bidi_european_digit.h: Likewise.
3907         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
3908         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
3909         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
3910         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
3911         * lib/unictype/pr_combining.h: Likewise.
3912         * lib/unictype/pr_composite.h: Likewise.
3913         * lib/unictype/pr_currency_symbol.h: Likewise.
3914         * lib/unictype/pr_dash.h: Likewise.
3915         * lib/unictype/pr_decimal_digit.h: Likewise.
3916         * lib/unictype/pr_deprecated.h: Likewise.
3917         * lib/unictype/pr_diacritic.h: Likewise.
3918         * lib/unictype/pr_extender.h: Likewise.
3919         * lib/unictype/pr_grapheme_base.h: Likewise.
3920         * lib/unictype/pr_grapheme_extend.h: Likewise.
3921         * lib/unictype/pr_grapheme_link.h: Likewise.
3922         * lib/unictype/pr_id_continue.h: Likewise.
3923         * lib/unictype/pr_id_start.h: Likewise.
3924         * lib/unictype/pr_ideographic.h: Likewise.
3925         * lib/unictype/pr_ignorable_control.h: Likewise.
3926         * lib/unictype/pr_logical_order_exception.h: Likewise.
3927         * lib/unictype/pr_lowercase.h: Likewise.
3928         * lib/unictype/pr_numeric.h: Likewise.
3929         * lib/unictype/pr_other_alphabetic.h: Likewise.
3930         * lib/unictype/pr_punctuation.h: Likewise.
3931         * lib/unictype/pr_sentence_terminal.h: Likewise.
3932         * lib/unictype/pr_terminal_punctuation.h: Likewise.
3933         * lib/unictype/pr_unassigned_code_value.h: Likewise.
3934         * lib/unictype/pr_unified_ideograph.h: Likewise.
3935         * lib/unictype/pr_uppercase.h: Likewise.
3936         * lib/unictype/pr_xid_continue.h: Likewise.
3937         * lib/unictype/pr_xid_start.h: Likewise.
3938         * lib/unictype/pr_zero_width.h: Likewise.
3939         * lib/unictype/scripts.h: Likewise.
3940         * lib/unictype/scripts_byname.gperf: Likewise.
3941         * lib/unictype/sy_java_ident.h: Likewise.
3942         * lib/unigbrk/gbrkprop.h: Likewise.
3943         * lib/unilbrk/lbrkprop1.h: Likewise.
3944         * lib/unilbrk/lbrkprop2.h: Likewise.
3945         * lib/unilbrk/lbrktables.h: Likewise.
3946         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
3947         LBP_CP. Implement rule LB30.
3948         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
3949         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
3950         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
3951         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
3952         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
3953         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
3954         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
3955         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
3956         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
3957         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
3958         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
3959         bits instead of 16 bits in the code1 and code2 of each composition
3960         rule.
3961         (uc_composition): Update for Unicode 5.2.0.
3962         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
3963         * lib/uninorm/decomposition-table2.h: Likewise.
3964         * lib/uniwbrk/wbrkprop.h: Likewise.
3965         * tests/unicase/test-cased.c: Likewise.
3966         * tests/unicase/test-ignorable.c: Likewise.
3967         * tests/unicase/test-uc_tolower.c: Likewise.
3968         * tests/unicase/test-uc_totitle.c: Likewise.
3969         * tests/unicase/test-uc_toupper.c: Likewise.
3970         * tests/unictype/test-categ_C.c: Likewise.
3971         * tests/unictype/test-categ_Cf.c: Likewise.
3972         * tests/unictype/test-categ_Cn.c: Likewise.
3973         * tests/unictype/test-categ_L.c: Likewise.
3974         * tests/unictype/test-categ_Ll.c: Likewise.
3975         * tests/unictype/test-categ_Lm.c: Likewise.
3976         * tests/unictype/test-categ_Lo.c: Likewise.
3977         * tests/unictype/test-categ_Lu.c: Likewise.
3978         * tests/unictype/test-categ_M.c: Likewise.
3979         * tests/unictype/test-categ_Mc.c: Likewise.
3980         * tests/unictype/test-categ_Mn.c: Likewise.
3981         * tests/unictype/test-categ_N.c: Likewise.
3982         * tests/unictype/test-categ_Nd.c: Likewise.
3983         * tests/unictype/test-categ_Nl.c: Likewise.
3984         * tests/unictype/test-categ_No.c: Likewise.
3985         * tests/unictype/test-categ_P.c: Likewise.
3986         * tests/unictype/test-categ_Pd.c: Likewise.
3987         * tests/unictype/test-categ_Po.c: Likewise.
3988         * tests/unictype/test-categ_S.c: Likewise.
3989         * tests/unictype/test-categ_Sc.c: Likewise.
3990         * tests/unictype/test-categ_So.c: Likewise.
3991         * tests/unictype/test-ctype_alnum.c: Likewise.
3992         * tests/unictype/test-ctype_alpha.c: Likewise.
3993         * tests/unictype/test-ctype_graph.c: Likewise.
3994         * tests/unictype/test-ctype_lower.c: Likewise.
3995         * tests/unictype/test-ctype_print.c: Likewise.
3996         * tests/unictype/test-ctype_punct.c: Likewise.
3997         * tests/unictype/test-ctype_upper.c: Likewise.
3998         * tests/unictype/test-decdigit.h: Likewise.
3999         * tests/unictype/test-digit.h: Likewise.
4000         * tests/unictype/test-numeric.h: Likewise.
4001         * tests/unictype/test-pr_alphabetic.c: Likewise.
4002         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
4003         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
4004         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
4005         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
4006         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
4007         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
4008         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
4009         * tests/unictype/test-pr_combining.c: Likewise.
4010         * tests/unictype/test-pr_composite.c: Likewise.
4011         * tests/unictype/test-pr_currency_symbol.c: Likewise.
4012         * tests/unictype/test-pr_dash.c: Likewise.
4013         * tests/unictype/test-pr_decimal_digit.c: Likewise.
4014         * tests/unictype/test-pr_deprecated.c: Likewise.
4015         * tests/unictype/test-pr_diacritic.c: Likewise.
4016         * tests/unictype/test-pr_extender.c: Likewise.
4017         * tests/unictype/test-pr_grapheme_base.c: Likewise.
4018         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
4019         * tests/unictype/test-pr_grapheme_link.c: Likewise.
4020         * tests/unictype/test-pr_id_continue.c: Likewise.
4021         * tests/unictype/test-pr_id_start.c: Likewise.
4022         * tests/unictype/test-pr_ideographic.c: Likewise.
4023         * tests/unictype/test-pr_ignorable_control.c: Likewise.
4024         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
4025         * tests/unictype/test-pr_lowercase.c: Likewise.
4026         * tests/unictype/test-pr_numeric.c: Likewise.
4027         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
4028         * tests/unictype/test-pr_punctuation.c: Likewise.
4029         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
4030         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
4031         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
4032         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
4033         * tests/unictype/test-pr_uppercase.c: Likewise.
4034         * tests/unictype/test-pr_xid_continue.c: Likewise.
4035         * tests/unictype/test-pr_xid_start.c: Likewise.
4036         * tests/unictype/test-pr_zero_width.c: Likewise.
4037         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
4038         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
4039         changed behaviour: line breaking is now disallowed between a letter
4040         or '=' and '('.
4041         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
4042         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
4043         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
4044         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
4045         * tests/uniwidth/test-uc_width2.sh: Same updates as in
4046         lib/uniwidth/width.c.
4047         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
4048         without comments, but with the original copyright notice.
4049         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
4050         changes.
4051         * lib/unictype/categ_Cc.h: Likewise.
4052         * lib/unictype/categ_Co.h: Likewise.
4053         * lib/unictype/categ_Cs.h: Likewise.
4054         * lib/unictype/categ_Lt.h: Likewise.
4055         * lib/unictype/categ_Me.h: Likewise.
4056         * lib/unictype/categ_Pc.h: Likewise.
4057         * lib/unictype/categ_Pe.h: Likewise.
4058         * lib/unictype/categ_Pf.h: Likewise.
4059         * lib/unictype/categ_Pi.h: Likewise.
4060         * lib/unictype/categ_Ps.h: Likewise.
4061         * lib/unictype/categ_Sk.h: Likewise.
4062         * lib/unictype/categ_Sm.h: Likewise.
4063         * lib/unictype/categ_Z.h: Likewise.
4064         * lib/unictype/categ_Zl.h: Likewise.
4065         * lib/unictype/categ_Zp.h: Likewise.
4066         * lib/unictype/categ_Zs.h: Likewise.
4067         * lib/unictype/ctype_blank.h: Likewise.
4068         * lib/unictype/ctype_cntrl.h: Likewise.
4069         * lib/unictype/ctype_digit.h: Likewise.
4070         * lib/unictype/ctype_space.h: Likewise.
4071         * lib/unictype/ctype_xdigit.h: Likewise.
4072         * lib/unictype/mirror.h: Likewise.
4073         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
4074         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
4075         * lib/unictype/pr_bidi_block_separator.h: Likewise.
4076         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
4077         * lib/unictype/pr_bidi_common_separator.h: Likewise.
4078         * lib/unictype/pr_bidi_control.h: Likewise.
4079         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
4080         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
4081         * lib/unictype/pr_bidi_pdf.h: Likewise.
4082         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
4083         * lib/unictype/pr_bidi_whitespace.h: Likewise.
4084         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
4085         * lib/unictype/pr_format_control.h: Likewise.
4086         * lib/unictype/pr_hex_digit.h: Likewise.
4087         * lib/unictype/pr_hyphen.h: Likewise.
4088         * lib/unictype/pr_ids_binary_operator.h: Likewise.
4089         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
4090         * lib/unictype/pr_iso_control.h: Likewise.
4091         * lib/unictype/pr_join_control.h: Likewise.
4092         * lib/unictype/pr_left_of_pair.h: Likewise.
4093         * lib/unictype/pr_line_separator.h: Likewise.
4094         * lib/unictype/pr_math.h: Likewise.
4095         * lib/unictype/pr_non_break.h: Likewise.
4096         * lib/unictype/pr_not_a_character.h: Likewise.
4097         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
4098         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
4099         * lib/unictype/pr_other_id_continue.h: Likewise.
4100         * lib/unictype/pr_other_id_start.h: Likewise.
4101         * lib/unictype/pr_other_lowercase.h: Likewise.
4102         * lib/unictype/pr_other_math.h: Likewise.
4103         * lib/unictype/pr_other_uppercase.h: Likewise.
4104         * lib/unictype/pr_paired_punctuation.h: Likewise.
4105         * lib/unictype/pr_paragraph_separator.h: Likewise.
4106         * lib/unictype/pr_pattern_syntax.h: Likewise.
4107         * lib/unictype/pr_pattern_white_space.h: Likewise.
4108         * lib/unictype/pr_private_use.h: Likewise.
4109         * lib/unictype/pr_quotation_mark.h: Likewise.
4110         * lib/unictype/pr_radical.h: Likewise.
4111         * lib/unictype/pr_soft_dotted.h: Likewise.
4112         * lib/unictype/pr_space.h: Likewise.
4113         * lib/unictype/pr_titlecase.h: Likewise.
4114         * lib/unictype/pr_variation_selector.h: Likewise.
4115         * lib/unictype/pr_white_space.h: Likewise.
4116         * lib/unictype/sy_c_ident.h: Likewise.
4117         * lib/unictype/sy_c_whitespace.h: Likewise.
4118         * lib/unictype/sy_java_whitespace.h: Likewise.
4119         * modules/uni*/*: Bump version number of expected libunistring version.
4120         Reported by Simon Josefsson.
4121
4122 2011-01-09  Karl Heuer  <kwzh@gnu.org>
4123
4124         useless-if-before-free: fix typo in --help and make the internal,
4125         automatic version date update process work once again.
4126         --help output contained a NUL character instead of the
4127         backslash-zero that was intended.  Also, the "must lie within
4128         the first 8 lines" line is on line 9, and hence not getting
4129         automatically updated.
4130         * build-aux/useless-if-before-free: Fix the former by adding a
4131         backslash, and the latter by condensing the three lines of what-it-does
4132         to a single line, leaving one line of slack for the future.
4133
4134 2011-01-09  Bruno Haible  <bruno@clisp.org>
4135
4136         uniwidth/width: Fix width of U+1D173..U+1D17A.
4137         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
4138         symbolic_width, output_width_property_test): New functions.
4139         (main): Invoke output_nonspacing_property, output_width_property_test.
4140         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
4141         U+1D173..U+1D17A.
4142         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
4143         1.
4144         * modules/uniwidth/*: Bump version number of expected libunistring
4145         version.
4146         * modules/unilbrk/*: Likewise.
4147
4148 2011-01-08  Bruno Haible  <bruno@clisp.org>
4149
4150         uninorm tests: Preserve copyright of Unicode data file.
4151         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
4152         Mention modifications.
4153
4154 2011-01-08  Bruno Haible  <bruno@clisp.org>
4155
4156         gen-uni-tables: Prepare for Unicode 5.2.0.
4157         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
4158         (debug_output_lbp, output_lbp): Update.
4159
4160 2011-01-08  Bruno Haible  <bruno@clisp.org>
4161
4162         unilbrk: Clarify gen-uni-tables.c code.
4163         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
4164         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
4165         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
4166
4167 2011-01-07  Bruno Haible  <bruno@clisp.org>
4168
4169         strtod: Restore errno when successfully parsing Infinity or NaN.
4170         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
4171         restore the original errno.
4172
4173 2011-01-07  Bruno Haible  <bruno@clisp.org>
4174
4175         remove test: Avoid failure on HP-UX 11.
4176         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
4177
4178 2011-01-07  Bruno Haible  <bruno@clisp.org>
4179
4180         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
4181         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
4182         error code.
4183
4184 2011-01-07  Pádraig Brady <P@draigBrady.com>
4185
4186         ignore-value: fixup comments, and add Eric Blake
4187         as an author since he rewrote the macros.
4188         * lib/ignore-value.h (ignore_value):  State that
4189         we now support aggregates.  Also specify exactly
4190         when the GCC warn_unused_result feature was added.
4191
4192 2011-01-06  Eric Blake  <eblake@redhat.com>
4193
4194         ignore-value: support aggregate types
4195         * lib/ignore-value.h (ignore_value): Provide separate gcc
4196         definition.
4197         * modules/ignore-value-tests: New test module.
4198         * tests/test-ignore-value.c: New test.
4199
4200         maint.mk: improve sc_prohibit_strcmp regex
4201         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
4202         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
4203         definition of STRNEQ.
4204
4205         signal: work around Haiku issue with SIGBUS
4206         * lib/siglist.h: Add comment.
4207         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
4208         strsignal's favoring of SIGSEGV.
4209         * tests/test-signal.c (main): Avoid test failure.
4210         * doc/posix-headers/signal.texi (signal.h): Document the issue.
4211         Reported by Scott McCreary.
4212
4213         maint.mk: add pre-release check to ensure submodule commits are public
4214         * top/maint.mk (public-submodule-commit): New rule.
4215         (submodule-checks): New variable.
4216         (alpha beta stable): Depend on the variable.
4217
4218 2011-01-05  Pádraig Brady <P@draigBrady.com>
4219         and Jim Meyering  <meyering@redhat.com>
4220
4221         ignore-value: make ignore_value more generic; deprecate ignore_ptr
4222         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
4223         (ATTRIBUTE_DEPRECATED): Define.
4224         (_ignore_case): New function.
4225         (ignore_value): New macro, to replace the old function.
4226         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
4227         * modules/ignore-value (Depends-on): Add stdint.
4228
4229 2011-01-04  Eric Blake  <eblake@redhat.com>
4230
4231         doc: regenerate INSTALL
4232         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
4233         @firstparagraphindent support, now that autoconf dropped it.
4234         (INSTALL_PRELUDE): Reinstate old macro.
4235         * doc/install.texi: Resync from autoconf.
4236         * doc/INSTALL: Reflect recent autoconf update.
4237         * doc/INSTALL.ISO: Likewise.
4238         * doc/INSTALL.UTF-8: Likewise.
4239         Reported by Karl Berry.
4240
4241 2011-01-04  Bruce Korb  <address@hidden>
4242
4243         git-version-gen: avoid a sub-shell
4244         * build-aux/git-version-gen: Redirect stderr in `...` via
4245         "exec 2>...", rather than via an added sub-shell.
4246
4247 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
4248
4249         git-version-gen: use (...) rather than sh -c '...'
4250         * build-aux/git-version-gen: Rather than hard-coding a shell's name
4251         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
4252
4253 2011-01-03  Jim Meyering  <meyering@redhat.com>
4254
4255         git-version-gen: convert leading TABs to spaces
4256         * build-aux/git-version-gen: Expand leading TABs.
4257
4258         git-version-gen: handle failed "git rev-list"
4259         * build-aux/git-version-gen: Rather than leaking a "fatal" error
4260         from git and proceeding as if it had succeeded but printed no SHA1
4261         checksums, suppress the diagnostic and handle the failure.
4262         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
4263
4264         git-version-gen: include command name in one more diagnostic
4265         * build-aux/git-version-gen: When the required .tarball-version file
4266         was missing or unreadable, you might see the diagnostic from "cat",
4267         but no trace of the name of the invoking script.  Now, you still see
4268         the diagnostic from cat, but also get one from "git-version-gen: ".
4269         Inspired by a patch from Bruce Korb.
4270
4271         update-copyright: adjust test to match changed code
4272         * tests/test-update-copyright.sh: Change test's expected output
4273         to match new actual output.
4274
4275 2011-01-02  Bruno Haible  <bruno@clisp.org>
4276
4277         getlogin_r: Avoid test failure on HP-UX 11.
4278         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
4279         ERANGE when the second argument is zero.
4280         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
4281         portability problem.
4282
4283 2011-01-02  Bruce Korb  <bkorb@gnu.org>
4284
4285         * build-aux/update-copyright: doc Simon's changes
4286
4287 2011-01-02  Simon Josefsson  <simon@josefsson.org>
4288
4289         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
4290         environment variable.
4291
4292 2011-01-02  Bruno Haible  <bruno@clisp.org>
4293
4294         unigbrk: Avoid gcc warnings.
4295         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
4296         unused variable.
4297         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
4298         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
4299         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
4300         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
4301         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
4302         Change type of first argument to 'const char *'.
4303         (main): Remove unused variable.
4304         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
4305         type of first argument to 'const char *'.
4306         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
4307         Likewise.
4308         (main): Change type of variable 's'.
4309         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
4310         to 'int'.
4311
4312 2011-01-02  Bruno Haible  <bruno@clisp.org>
4313
4314         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
4315         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
4316         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
4317         bug.
4318         * lib/pwrite.c: Undo 2010-12-31 patch.
4319         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
4320
4321 2011-01-02  Bruno Haible  <bruno@clisp.org>
4322
4323         pread: Fix test whether it works.
4324         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
4325
4326 2011-01-02  Bruno Haible  <bruno@clisp.org>
4327
4328         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
4329         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
4330         ends in "6". Don't require a specific month name. Try also the locale
4331         names found on HP-UX 11 and Solaris 7.
4332
4333 2011-01-02  Bruno Haible  <bruno@clisp.org>
4334
4335         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
4336         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
4337         C linkage.
4338         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
4339
4340 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
4341
4342         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
4343         for consistency, since the "cluster" term is not used elsewhere.
4344         * lib/unigbrk.in.h: Update name.
4345         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
4346         * lib/unigbrk/u16-grapheme-next.c: Update name.
4347         * lib/unigbrk/u16-grapheme-prev.c: Update name.
4348         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
4349         * lib/unigbrk/u32-grapheme-next.c: Update name.
4350         * lib/unigbrk/u32-grapheme-prev.c: Update name.
4351         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
4352         * lib/unigbrk/u8-grapheme-next.c: Update name.
4353         * lib/unigbrk/u8-grapheme-prev.c: Update name.
4354         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
4355         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
4356         Suggested by Bruno Haible.
4357
4358 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
4359
4360         Remove module 'u8-grapheme-len' as too redundant with
4361         'u8-grapheme-next'.
4362         * modules/unigbrk/u8-grapheme-len: Delete file.
4363         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
4364         * lib/unigbrk.in.h: Remove prototype for deleted function.
4365         * lib/unigbrk/u8-grapheme-len.c: Delete file.
4366         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
4367
4368         Remove module 'u16-grapheme-len' as too redundant with
4369         'u16-grapheme-next'.
4370         * modules/unigbrk/u16-grapheme-len: Delete file.
4371         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
4372         * lib/unigbrk.in.h: Remove prototype for deleted function.
4373         * lib/unigbrk/u16-grapheme-len.c: Delete file.
4374         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
4375
4376         Remove module 'u32-grapheme-len' as too redundant with
4377         'u32-grapheme-next'.
4378         * modules/unigbrk/u32-grapheme-len: Delete file.
4379         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
4380         * lib/unigbrk.in.h: Remove prototype for deleted function.
4381         * lib/unigbrk/u32-grapheme-len.c: Delete file.
4382         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
4383
4384         Suggested by Bruno Haible.
4385
4386 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
4387
4388         * unigbrk.in.h: Fix typo: "ben" => "been".
4389         Reported by Bruno Haible.
4390
4391 2011-01-01  Jim Meyering  <meyering@redhat.com>
4392
4393         maint: update almost all copyright ranges to include 2011
4394         Run the new "make update-copyright" rule.
4395
4396 2011-01-01  Jim Meyering  <meyering@redhat.com>
4397
4398         maint: update-copyright: exempt doc/INSTALL*
4399         * Makefile (update-copyright): Also exclude doc/INSTALL*,
4400         since they are generated.  Suggested by Bruno Haible.
4401
4402 2011-01-01  Jim Meyering  <meyering@redhat.com>
4403
4404         maint: refine the update-copyright rule
4405         * Makefile (update-copyright): Also exclude any file that includes
4406         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
4407         code that merely generates the comment.
4408
4409 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
4410
4411         New module 'u8-grapheme-len'.
4412         * modules/unigbrk/u8-grapheme-len: New file.
4413         * modules/unigbrk/u8-grapheme-len-tests: New file.
4414         * lib/unigbrk.in.h: Add prototype for new function.
4415         * lib/unigbrk/u8-grapheme-len.c: New file.
4416         * tests/unigbrk/test-u8-grapheme-len.c: New file.
4417
4418         New module 'u16-grapheme-len'.
4419         * modules/unigbrk/u16-grapheme-len: New file.
4420         * modules/unigbrk/u16-grapheme-len-tests: New file.
4421         * lib/unigbrk.in.h: Add prototype for new function.
4422         * lib/unigbrk/u16-grapheme-len.c: New file.
4423         * tests/unigbrk/test-u16-grapheme-len.c: New file.
4424
4425         New module 'u32-grapheme-len'.
4426         * modules/unigbrk/u32-grapheme-len: New file.
4427         * modules/unigbrk/u32-grapheme-len-tests: New file.
4428         * lib/unigbrk.in.h: Add prototype for new function.
4429         * lib/unigbrk/u32-grapheme-len.c: New file.
4430         * tests/unigbrk/test-u32-grapheme-len.c: New file.
4431
4432         New module 'u8-grapheme-next'.
4433         * modules/unigbrk/u8-grapheme-next: New file.
4434         * modules/unigbrk/u8-grapheme-next-tests: New file.
4435         * lib/unigbrk.in.h: Add prototype for new function.
4436         * lib/unigbrk/u8-grapheme-next.c: New file.
4437         * tests/unigbrk/test-u8-grapheme-next.c: New file.
4438
4439         New module 'u16-grapheme-next'.
4440         * modules/unigbrk/u16-grapheme-next: New file.
4441         * modules/unigbrk/u16-grapheme-next-tests: New file.
4442         * lib/unigbrk.in.h: Add prototype for new function.
4443         * lib/unigbrk/u16-grapheme-next.c: New file.
4444         * tests/unigbrk/test-u16-grapheme-next.c: New file.
4445
4446         New module 'u32-grapheme-next'.
4447         * modules/unigbrk/u32-grapheme-next: New file.
4448         * modules/unigbrk/u32-grapheme-next-tests: New file.
4449         * lib/unigbrk.in.h: Add prototype for new function.
4450         * lib/unigbrk/u32-grapheme-next.c: New file.
4451         * tests/unigbrk/test-u32-grapheme-next.c: New file.
4452
4453         New module 'u8-grapheme-prev'.
4454         * modules/unigbrk/u8-grapheme-prev: New file.
4455         * modules/unigbrk/u8-grapheme-prev-tests: New file.
4456         * lib/unigbrk.in.h: Add prototype for new function.
4457         * lib/unigbrk/u8-grapheme-prev.c: New file.
4458         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
4459
4460         New module 'u16-grapheme-prev'.
4461         * modules/unigbrk/u16-grapheme-prev: New file.
4462         * modules/unigbrk/u16-grapheme-prev-tests: New file.
4463         * lib/unigbrk.in.h: Add prototype for new function.
4464         * lib/unigbrk/u16-grapheme-prev.c: New file.
4465         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
4466
4467         New module 'u32-grapheme-prev'.
4468         * modules/unigbrk/u32-grapheme-prev: New file.
4469         * modules/unigbrk/u32-grapheme-prev-tests: New file.
4470         * lib/unigbrk.in.h: Add prototype for new function.
4471         * lib/unigbrk/u32-grapheme-prev.c: New file.
4472         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
4473
4474         New module 'u8-grapheme-breaks'.
4475         * modules/unigbrk/u8-grapheme-breaks: New file.
4476         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
4477         * lib/unigbrk.in.h: Add prototype for new function.
4478         * lib/unigbrk/u8-grapheme-breaks.c: New file.
4479         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
4480
4481         New module 'u16-grapheme-breaks'.
4482         * modules/unigbrk/u16-grapheme-breaks: New file.
4483         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
4484         * lib/unigbrk.in.h: Add prototype for new function.
4485         * lib/unigbrk/u16-grapheme-breaks.c: New file.
4486         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
4487
4488         New module 'u32-grapheme-breaks'.
4489         * modules/unigbrk/u32-grapheme-breaks: New file.
4490         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
4491         * lib/unigbrk.in.h: Add prototype for new function.
4492         * lib/unigbrk/u32-grapheme-breaks.c: New file.
4493         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
4494
4495         New module 'ulc-grapheme-breaks'.
4496         * modules/unigbrk/ulc-grapheme-breaks: New file.
4497         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
4498         * m4/locale-ar.m4: New file.
4499         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
4500         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
4501         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
4502
4503 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
4504
4505         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
4506         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
4507         modified how this file was generated before I initially submitted
4508         the module, but failed to regenerate it.  This meant that several
4509         of the level2 entries were wrong.
4510         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
4511         Remove the division-by-2 that is folded into the table now that
4512         gbrkprop.h has been regenerated properly.  Now -1 entries are
4513         handled correctly.
4514
4515         New module 'unigbrk/uc-gbrk-prop-tests'.
4516         * modules/unigbrk/uc-gbrk-prop-tests: New file.
4517         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
4518         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
4519         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
4520
4521 2011-01-01  Bruno Haible  <bruno@clisp.org>
4522
4523         Avoid use of hexadecimal escapes.
4524         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
4525         instead of hexadecimal escapes.
4526
4527 2011-01-01  Jim Meyering  <meyering@redhat.com>
4528
4529         maint: new rule to update copyright year ranges
4530         * Makefile (update-copyright): New rule.
4531
4532         maint: indent with TABs in Makefile
4533         * Makefile: Expand leading sequences of spaces to TABs
4534
4535         version-etc: update the copyright year it reports
4536         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
4537
4538 2010-12-31  Bruno Haible  <bruno@clisp.org>
4539
4540         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
4541         * lib/isfinite.c (zerof, zerod, zerol): New variables.
4542         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
4543         zero.
4544
4545 2010-12-31  Bruno Haible  <bruno@clisp.org>
4546
4547         pwrite: Work around HP-UX 11.11 bug.
4548         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
4549         works and set REPLACE_PWRITE if not.
4550         * lib/pwrite.c (pwrite): Add an implementation that uses the system
4551         function.
4552         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
4553
4554 2010-12-31  Bruno Haible  <bruno@clisp.org>
4555
4556         pread: Work around HP-UX 11 bugs.
4557         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
4558         and set REPLACE_PREAD if not.
4559         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
4560
4561 2010-12-31  Eric Blake  <eblake@redhat.com>
4562
4563         nl_langinfo: fix YESEXPR on Irix 6.5
4564         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
4565         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
4566         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
4567         it.
4568
4569 2010-12-31  Bruno Haible  <bruno@clisp.org>
4570
4571         iconv: Document HP-UX 11 bug.
4572         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
4573
4574 2010-12-31  Bruno Haible  <bruno@clisp.org>
4575
4576         ldexpl: Fix link error on HP-UX 11.
4577         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
4578         LDEXPL_LIBM, using $ISNANL_LIBM.
4579
4580 2010-12-31  Eric Blake  <eblake@redhat.com>
4581
4582         ftello: avoid compilation failure with SunStudio c89
4583         * lib/ftello.c (ftello): Use lseek, not llseek.
4584
4585         tests: avoid failing coreutils tests on cygwin
4586         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
4587         (create_exe_shims_): Return 0 when skipping.
4588
4589 2010-12-31  Bruno Haible  <bruno@clisp.org>
4590
4591         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
4592         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
4593
4594 2010-12-31  Bruno Haible  <bruno@clisp.org>
4595
4596         waitpid: Fix link error in C++ mode.
4597         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
4598
4599 2010-12-31  Bruno Haible  <bruno@clisp.org>
4600
4601         isnan: Use GCC built-ins when possible.
4602         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
4603         __builtin_isnan.
4604         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
4605         (isnan): Define using GCC built-ins for GCC >= 4.0.
4606
4607 2010-12-31  Bruno Haible  <bruno@clisp.org>
4608
4609         isnand: Fix mistake.
4610         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
4611         __builtin_isnand.
4612
4613 2010-12-31  Bruno Haible  <bruno@clisp.org>
4614
4615         open: Avoid C++ error on HP-UX 11.
4616         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
4617
4618 2010-12-31  Bruno Haible  <bruno@clisp.org>
4619
4620         time_r: Add missing declarations on HP-UX 11.
4621         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
4622         instead of HAVE_LOCALTIME_R.
4623         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
4624         HAVE_LOCALTIME_R always.
4625         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
4626         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
4627         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
4628         HAVE_LOCALTIME_R.
4629         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
4630         * doc/posix-functions/localtime_r.texi: Likewise.
4631
4632 2010-12-29  Eric Blake  <eblake@redhat.com>
4633
4634         mountlist: tweak previous commit
4635         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
4636         Reported by Paul Eggert.
4637
4638         mountlist: fix local drive detection on cygwin
4639         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
4640         that works for cygwin.
4641
4642 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
4643
4644         ftoastr, snprintf: ftoastr + snprintf module
4645         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
4646         since the snprintf module now should be good enough here.
4647         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
4648         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
4649         and gl_MODULE_INDICATOR([snprintf]), but the former enables
4650         GNULIB_SNPRINTF only for the test directory, and the latter
4651         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
4652         seems to suffice by itself.
4653
4654 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
4655
4656         alloca: one step towards thread-safety
4657         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
4658         need for a static variable.  All callers changed.  This does not
4659         make the alloca replacement thread-safe, but it's one step.
4660
4661         tests: minor indenting change
4662         * tests/init.sh: Sync from coreutils housekeeping patch
4663         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
4664         to keep lines within 80 columns.
4665
4666 2010-12-28  Jim Meyering  <meyering@redhat.com>
4667
4668         regex: don't infloop on persistent failing calloc
4669         * lib/regexec.c (build_trtable): Return failure indication upon
4670         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
4671         In glibc, this was fixed for version 2.13:
4672         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
4673
4674 2010-12-28  Bruno Haible  <bruno@clisp.org>
4675             Paul Eggert <eggert@cs.ucla.edu>
4676
4677         linkat: Make implementation robust against system behaviour variations.
4678         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
4679         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
4680         way, and to -2 if it needs a generic runtime test.
4681         * lib/linkat.c (solaris_optimized_link_immediate,
4682         solaris_optimized_link_follow): New functions.
4683         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
4684         (check_same_link): Use it.
4685
4686 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
4687
4688         New module 'unigbrk/base'.
4689         * modules/unigbrk/base: New file.
4690         * lib/unigbrk.in.h: New file.
4691
4692         New module 'unigbrk/uc-gbrk-prop'.
4693         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
4694         * modules/unigbrk/uc-gbrk-prop: New file.
4695         * lib/unigbrk/gbrkprop.h: New file.
4696         * lib/unigbrk/uc-gbrk-prop.c: New file.
4697
4698         New module 'unigbrk/uc-is-grapheme-break'.
4699         * modules/unigbrk/uc-is-grapheme-break: New file.
4700         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
4701         * lib/unigbrk/uc-is-grapheme-break.c: New file.
4702         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
4703         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
4704         * tests/unigbrk/GraphemeBreakTest.txt: New file.
4705
4706         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
4707
4708 2010-12-27  Bruno Haible  <bruno@clisp.org>
4709
4710         linkat test: Avoid failure on Solaris 11 2010-11.
4711         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
4712
4713 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
4714
4715         utimens: work around glibc rounding bug on more platforms
4716         * lib/utimens.c (fdutimens): Work around rounding bug even if
4717         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
4718         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
4719
4720 2010-12-27  Bruno Haible  <bruno@clisp.org>
4721
4722         select tests: Improve comments.
4723         * tests/test-select.c (do_select): Add comments.
4724
4725 2010-12-27  Bruno Haible  <bruno@clisp.org>
4726
4727         select tests: Safer way of handling timeout.
4728         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
4729         at every invocation.
4730
4731 2010-12-27  Bruno Haible  <bruno@clisp.org>
4732
4733         select tests: Use 'bool' where appropriate.
4734         * tests/test-select.c (connect_to_socket): Change argument type to
4735         'bool'.
4736
4737 2010-12-27  Bruno Haible  <bruno@clisp.org>
4738
4739         select tests: Use existing modules.
4740         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
4741         (configure.ac): Don't test for unistd.h.
4742         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
4743         declared in <unistd.h>.
4744
4745 2010-12-27  Bruno Haible  <bruno@clisp.org>
4746
4747         mbrtowc: Work around a Solaris 7 bug.
4748         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
4749         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
4750         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
4751         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
4752         MBRTOWC_NULL_ARG1_BUG.
4753         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
4754         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
4755         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
4756         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
4757
4758 2010-12-27  Jim Meyering  <meyering@redhat.com>
4759
4760         read-file.c: tweak syntax
4761         * lib/read-file.c (fread_file): Remove space after "*" in function
4762         definitions.
4763
4764 2010-12-27  Bruno Haible  <bruno@clisp.org>
4765
4766         times test: Avoid gcc warnings on OSF/1.
4767         * tests/test-times.c (main): Cast printf arguments from clock_t to
4768         'long int'.
4769
4770 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
4771
4772         utimens: work around glibc rounding bug on older Linux kernels
4773         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
4774         on Linux with a glibc whose utimes might not work, then work
4775         around a longstanding glibc bug involving rounding rather than
4776         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
4777         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
4778
4779 2010-12-26  Bruno Haible  <bruno@clisp.org>
4780
4781         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
4782         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
4783         _GL_CXXALIAS_SYS.
4784         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
4785
4786 2010-12-26  Bruno Haible  <bruno@clisp.org>
4787
4788         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
4789         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
4790         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
4791         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
4792         looking for the declaration.
4793         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
4794         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
4795         problem.
4796         * doc/posix-functions/inet_pton.texi: Likewise.
4797
4798 2010-12-26  Bruno Haible  <bruno@clisp.org>
4799
4800         arpa_inet: Use the common idioms with C++ support.
4801         * lib/arpa_inet.in.h: Include c++defs.h.
4802         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
4803         support.
4804         * modules/arpa_inet (Depends-on): Add c++defs.
4805         (Makefile.am): Substitute the contents of c++defs.h.
4806         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
4807         * modules/arpa_inet-c++-tests: New file.
4808         * tests/test-arpa_inet-c++.cc: New file.
4809
4810 2010-12-25  Bruno Haible  <bruno@clisp.org>
4811
4812         Fix more C++ link errors on Solaris 8.
4813         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
4814         $(LIB_EACCESS).
4815         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
4816         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
4817         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
4818         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
4819         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
4820
4821 2010-12-25  Bruno Haible  <bruno@clisp.org>
4822
4823         printf-posix: Fix link error when a non-GCC compiler is used.
4824         * lib/stdio.in.h (printf): When not using GCC, override printf
4825         correctly.
4826         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
4827
4828 2010-12-25  Bruno Haible  <bruno@clisp.org>
4829
4830         strerror_r-posix: Update doc.
4831         * doc/posix-functions/strerror_r.texi: Update doc about the return
4832         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
4833
4834 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
4835
4836         utimens: simplify the logic of the previous change
4837         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
4838         This should not affect whether the test succeeds or fails.
4839
4840         utimens: configure better on hosts with NFS clock skew
4841         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
4842         uses the clock of the local host.  It might use the clock of the
4843         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
4844         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
4845
4846 2010-12-25  Bruno Haible  <bruno@clisp.org>
4847
4848         ptsname test: Avoid failure on Solaris.
4849         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
4850         open a pseudo-terminal; don't use BSD-style ptys.
4851         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
4852
4853 2010-12-25  Bruno Haible  <bruno@clisp.org>
4854
4855         ptsname: Avoid ERANGE failure on some systems.
4856         * lib/ptsname.c (buffer): Increase size.
4857
4858 2010-12-25  Bruno Haible  <bruno@clisp.org>
4859
4860         rename, renameat: Avoid test failures at NFS mounted locations.
4861         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
4862         so that subsequent mkdir calls succeed.
4863
4864 2010-12-25  Bruno Haible  <bruno@clisp.org>
4865
4866         iswblank: Fix C++ link error on Solaris 8.
4867         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
4868         _GL_FUNCDECL_SYS.
4869
4870 2010-12-25  Bruno Haible  <bruno@clisp.org>
4871
4872         unistd: Fix C++ link error on Solaris 8.
4873         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
4874
4875 2010-12-25  Bruno Haible  <bruno@clisp.org>
4876
4877         readlink doc: Mention an old glibc bug.
4878         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
4879
4880 2010-12-25  Bruno Haible  <bruno@clisp.org>
4881
4882         fcntl-h: Fix for use of C++ on glibc systems.
4883         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
4884         also on glibc systems in C++ mode.
4885         Reported by Gary V. Vaughan <gary@gnu.org>.
4886
4887 2010-12-25  Bruno Haible  <bruno@clisp.org>
4888
4889         roundl-ieee: Make it work on OSF/1 5.1 with cc.
4890         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
4891
4892 2010-12-25  Bruno Haible  <bruno@clisp.org>
4893
4894         truncl-ieee: Make it work on OSF/1 5.1 with cc.
4895         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
4896         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
4897         test whether truncl works according to ISO C 99 with IEC 60559.
4898         * m4/truncl-ieee.m4: New file.
4899         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
4900         m4/signbit.m4.
4901         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
4902
4903 2010-12-25  Bruno Haible  <bruno@clisp.org>
4904
4905         ceill-ieee: Make it work on OSF/1 5.1 with cc.
4906         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
4907         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
4908         test whether ceill works according to ISO C 99 with IEC 60559.
4909         * m4/ceill-ieee.m4: New file.
4910         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
4911         m4/signbit.m4.
4912         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
4913
4914 2010-12-25  Bruno Haible  <bruno@clisp.org>
4915
4916         Ensure all prerequisites of <wchar.h> are included.
4917         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
4918         before <wchar.h>.
4919         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
4920         gl_MBRLEN_NUL_RETVAL): Likewise.
4921         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
4922         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
4923         AC_FUNC_MBRTOWC): Likewise.
4924         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
4925         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
4926         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
4927         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
4928         Likewise.
4929         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
4930         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
4931         (gl_WCHAR_H): Improve comments.
4932         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
4933
4934 2010-12-25  Bruno Haible  <bruno@clisp.org>
4935
4936         strtok_r: Fix C syntax error in autoconf macro.
4937         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
4938         characters in test program.
4939
4940 2010-12-24  Bruno Haible  <bruno@clisp.org>
4941
4942         ceil, trunc, round: Fix gcc warnings.
4943         * lib/ceil.c (MIN): Undefine before redefining.
4944         * lib/trunc.c (MIN): Likewise.
4945         * lib/round.c (MIN): Likewise.
4946         Include <math.h> first.
4947
4948 2010-12-24  Bruno Haible  <bruno@clisp.org>
4949
4950         select tests: Avoid failures on OSF/1 5.1.
4951         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
4952         failure of closing the last socket; it may fail with ECONNRESET.
4953
4954 2010-12-24  Eric Blake  <eblake@redhat.com>
4955
4956         stdint: avoid HP-UX 10.20 preprocessor bug
4957         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
4958         than #if.
4959         * tests/test-floor2.c (main): Likewise.
4960         Reported by Peter O'Gorman.
4961
4962         pipe: make obsoletion transition easier
4963         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
4964         * modules/pipe (Files): Include revived file.
4965         (Include): Drop reference, to mirror getdate's behavior.
4966
4967 2010-12-24  Bruno Haible  <bruno@clisp.org>
4968
4969         sys_socket: Hide mismatch of declarations on NonStop Kernel.
4970         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
4971         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
4972         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
4973
4974 2010-12-24  Bruno Haible  <bruno@clisp.org>
4975
4976         gethostname: Ensure declaration on NonStop Kernel.
4977         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
4978         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
4979
4980 2010-12-24  Bruno Haible  <bruno@clisp.org>
4981
4982         sys_select: Ensure all necessary types on NonStop Kernel.
4983         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
4984         include <sys/time.h>.
4985         * doc/posix-headers/sys_select.texi: Mention that it's missing on
4986         NonStop Kernel.
4987         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
4988
4989 2010-12-24  Bruno Haible  <bruno@clisp.org>
4990
4991         sys_select: Remove unneeded include.
4992         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
4993         have <sys/select.h>.
4994
4995 2010-12-24  Bruno Haible  <bruno@clisp.org>
4996
4997         gethostname: Provide a fallback for HOST_NAME_MAX.
4998         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
4999         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
5000         instead.
5001         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5002
5003 2010-12-24  Bruno Haible  <bruno@clisp.org>
5004
5005         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
5006         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
5007         (SA_RESTART): Likewise.
5008         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5009
5010 2010-12-24  Bruno Haible  <bruno@clisp.org>
5011
5012         signal: Define NSIG.
5013         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
5014         * tests/test-signal.c (nsig): New variable.
5015         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5016
5017 2010-12-24  Bruno Haible  <bruno@clisp.org>
5018
5019         rename, renameat: Avoid test failures on OSF/1 5.1.
5020         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
5021         alternative error codes.
5022         * tests/test-renameat.c (main): Likewise.
5023
5024 2010-12-24  Bruno Haible  <bruno@clisp.org>
5025
5026         *printf: Detect large precisions bug on Solaris 10/SPARC.
5027         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
5028         by Paul Eggert.
5029         * tests/test-snprintf-posix.h (test_function): Add this test code here
5030         too.
5031         * tests/test-sprintf-posix.h (test_function): Likewise.
5032         * tests/test-vasnprintf-posix.c (test_function): Likewise.
5033         * tests/test-vasprintf-posix.c (test_function): Likewise.
5034         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
5035         around by gnulib.
5036         * doc/posix-functions/printf.texi: Likewise.
5037         * doc/posix-functions/snprintf.texi: Likewise.
5038         * doc/posix-functions/sprintf.texi: Likewise.
5039         * doc/posix-functions/vfprintf.texi: Likewise.
5040         * doc/posix-functions/vprintf.texi: Likewise.
5041         * doc/posix-functions/vsnprintf.texi: Likewise.
5042         * doc/posix-functions/vsprintf.texi: Likewise.
5043         * doc/posix-functions/dprintf.texi: Undo last commit.
5044         * doc/posix-functions/vdprintf.texi: Likewise.
5045
5046 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
5047
5048         tests: port test-fdutimensat.c to Solaris 8
5049         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
5050         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
5051         On Solaris 8, it fails with errno == ENOSYS, because there is no
5052         futimens (so it can't use the fd), and there is no lutimens (so it
5053         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
5054
5055         vsnprintf: make more consistent with snprintf; doc fixes
5056
5057         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
5058         the byte count return problem was promoted from the snprintf-posix
5059         to the snprintf module.
5060         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
5061         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
5062         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
5063         * tests/test-snprintf.c (main): Check the byte count returned.
5064         * tests/test-vsnprintf.c (main): Likewise.
5065
5066 2010-12-23  Eric Blake  <eblake@redhat.com>
5067
5068         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
5069         * modules/sigpipe (License): Relax license.
5070
5071 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
5072
5073         doc: document Solaris printf bug with large float precisions
5074         * doc/posix-functions/dprintf.texi (dprintf):
5075         * doc/posix-functions/fprintf.texi (fprintf):
5076         * doc/posix-functions/printf.texi (printf):
5077         * doc/posix-functions/snprintf.texi (snprintf):
5078         * doc/posix-functions/sprintf.texi (sprintf):
5079         * doc/posix-functions/vdprintf.texi (vdprintf):
5080         * doc/posix-functions/vfprintf.texi (vfprintf):
5081         * doc/posix-functions/vprintf.texi (vprintf):
5082         * doc/posix-functions/vsnprintf.texi (vsnprintf):
5083         * doc/posix-functions/vsprintf.texi (vsprintf):
5084         Mention that these functions mishandle large floating point
5085         precisions on Solaris 10.  The same bug is also present in Solaris
5086         8, and I assume earlier.  This causes "cd gnulib-tests; make
5087         check" to fail on Solaris 8 (and I assume, later) when building
5088         the latest coreutils, in test-vasprintf-posix's call to
5089         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
5090         the wide flavors (e.g., wprintf) so this patch just updates the
5091         documentation for the narrow ones.
5092
5093         test-posixtm.c: add two tests
5094         * tests/test-posixtm.c: Add two tests, to highlight the
5095         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
5096         around this bug; this is merely to document it.
5097
5098 2010-12-22  Bruno Haible  <bruno@clisp.org>
5099
5100         getlogin_r: Work around portability problem on OSF/1.
5101         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
5102         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
5103         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
5104         test for a truncated result.
5105         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
5106         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
5107         * modules/getlogin_r (Depends-on): Add memchr.
5108         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
5109
5110 2010-12-22  Bruno Haible  <bruno@clisp.org>
5111
5112         ptsname: Avoid test failure on OSF/1 5.1.
5113         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
5114         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
5115         (same_slave): New function.
5116         (main): Use it to compare ptsname's result with the expected file name.
5117
5118 2010-12-22  Bruno Haible  <bruno@clisp.org>
5119
5120         Port extended stdio modules to HP NonStop Kernel.
5121         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
5122         macros.
5123         * lib/fbufmode.c: Update comments.
5124         * lib/fflush.c: Likewise.
5125         * lib/fpurge.c: Likewise.
5126         * lib/freadable.c: Likewise.
5127         * lib/freadahead.c: Likewise.
5128         * lib/freading.c: Likewise.
5129         * lib/freadptr.c: Likewise.
5130         * lib/freadseek.c: Likewise.
5131         * lib/fseeko.c: Likewise.
5132         * lib/fseterr.c: Likewise.
5133         * lib/fwritable.c: Likewise.
5134         * lib/fwriting.c: Likewise.
5135         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5136
5137 2010-12-22  Bruno Haible  <bruno@clisp.org>
5138
5139         ttyname_r: Work around bug on OSF/1 5.1.
5140         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
5141         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
5142         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
5143         present.
5144         * lib/ttyname_r.c (ttyname_r): Update comments.
5145
5146 2010-12-22  Bruno Haible  <bruno@clisp.org>
5147
5148         round: Implement result sign according to IEEE 754.
5149         * lib/round.c (MIN, MINUS_ZERO): New macros.
5150         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
5151         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
5152         * tests/test-round-ieee.c (main): Likewise.
5153         * tests/test-roundl-ieee.c (main): Likewise.
5154
5155         trunc: Implement result sign according to IEEE 754.
5156         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
5157         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
5158         * tests/test-trunc2.c: Include minus-zero.h.
5159         (MINUS_ZERO): New macro.
5160         (trunc_reference): Keep in sync with lib/trunc.c.
5161         * tests/test-truncf2.c: Include minus-zero.h.
5162         (MINUS_ZERO): New macro.
5163         (truncf_reference): Keep in sync with lib/trunc.c.
5164         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
5165         * tests/test-trunc-ieee.c (main): Likewise.
5166         * tests/test-truncl-ieee.c (main): Likewise.
5167
5168         ceil: Implement result sign according to IEEE 754.
5169         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
5170         (FUNC): Return -0.0 for -1 < x < 0.
5171         * tests/test-ceil2.c: Include minus-zero.h.
5172         (MINUS_ZERO): New macro.
5173         (ceil_reference): Keep in sync with lib/ceil.c.
5174         * tests/test-ceilf2.c: Include minus-zero.h.
5175         (MINUS_ZERO): New macro.
5176         (ceilf_reference): Keep in sync with lib/ceil.c.
5177         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
5178         * tests/test-ceil-ieee.c (main): Likewise.
5179         * tests/test-ceill-ieee.c (main): Likewise.
5180
5181         floor: Implement result sign according to IEEE 754.
5182         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
5183         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
5184         * tests/test-floorf2.c (floorf_reference): Likewise.
5185         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
5186         * tests/test-floor-ieee.c (main): Likewise.
5187         * tests/test-floorl-ieee.c (main): Likewise.
5188
5189 2010-12-22  Bruno Haible  <bruno@clisp.org>
5190
5191         getaddrinfo: Update doc.
5192         * doc/posix-functions/gai_strerror.texi: Return type is also different
5193         on AIX and HP-UX.
5194
5195 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
5196
5197         getaddrinfo, inet_ntop: Update doc for Solaris.
5198         * doc/posix-functions/gai_strerror.texi: Return type is also an
5199         issue on Solaris 9 and earlier.
5200         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
5201         on Solaris 10 and earlier.
5202
5203 2010-12-21  Bruno Haible  <bruno@clisp.org>
5204
5205         New module 'roundl-ieee'.
5206         * modules/roundl-ieee: New file.
5207         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
5208         test whether roundl works according to ISO C 99 with IEC 60559.
5209         * m4/roundl-ieee.m4: New file.
5210         * modules/roundl-ieee-tests: New file.
5211         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
5212         * tests/test-roundl.c (main): Remove signbit tests.
5213         * modules/roundl-tests (Depends-on): Remove signbit.
5214         * doc/posix-functions/roundl.texi: Mention the new module.
5215
5216 2010-12-21  Bruno Haible  <bruno@clisp.org>
5217
5218         New module 'truncl-ieee'.
5219         * modules/truncl-ieee: New file.
5220         * modules/truncl-ieee-tests: New file.
5221         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
5222         * tests/test-truncl.c (main): Remove signbit tests.
5223         * modules/truncl-tests (Depends-on): Remove signbit.
5224         * doc/posix-functions/truncl.texi: Mention the new module.
5225
5226 2010-12-21  Bruno Haible  <bruno@clisp.org>
5227
5228         New module 'ceill-ieee'.
5229         * modules/ceill-ieee: New file.
5230         * modules/ceill-ieee-tests: New file.
5231         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
5232         * tests/test-ceill.c (main): Remove signbit tests.
5233         * modules/ceill-tests (Depends-on): Remove signbit.
5234         * doc/posix-functions/ceill.texi: Mention the new module.
5235
5236 2010-12-21  Bruno Haible  <bruno@clisp.org>
5237
5238         New module 'floorl-ieee'.
5239         * modules/floorl-ieee: New file.
5240         * modules/floorl-ieee-tests: New file.
5241         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
5242         * tests/test-floorl.c (main): Remove signbit tests.
5243         * modules/floorl-tests (Depends-on): Remove signbit.
5244         * doc/posix-functions/floorl.texi: Mention the new module.
5245
5246 2010-12-21  Bruno Haible  <bruno@clisp.org>
5247
5248         New module 'round-ieee'.
5249         * modules/round-ieee: New file.
5250         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
5251         whether round works according to ISO C 99 with IEC 60559.
5252         * m4/round-ieee.m4: New file.
5253         * modules/round-ieee-tests: New file.
5254         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
5255         * tests/test-round1.c (main): Remove signbit tests.
5256         * modules/round-tests (Depends-on): Remove 'signbit'.
5257         * doc/posix-functions/round.texi: Mention the new module.
5258
5259 2010-12-21  Bruno Haible  <bruno@clisp.org>
5260
5261         New module 'trunc-ieee'.
5262         * modules/trunc-ieee: New file.
5263         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
5264         whether trunc works according to ISO C 99 with IEC 60559.
5265         * m4/trunc-ieee.m4: New file.
5266         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
5267         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
5268         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
5269         * modules/trunc-ieee-tests: New file.
5270         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
5271         * tests/test-trunc1.c (main): Remove signbit tests.
5272         * modules/trunc-tests (Depends-on): Remove 'signbit'.
5273         * doc/posix-functions/trunc.texi: Mention the new module.
5274
5275 2010-12-21  Bruno Haible  <bruno@clisp.org>
5276
5277         New module 'ceil-ieee'.
5278         * modules/ceil-ieee: New file.
5279         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
5280         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
5281         ISO C 99 with IEC 60559.
5282         * m4/ceil-ieee.m4: New file.
5283         * modules/ceil (Files): Add lib/ceil.c.
5284         (Depends-on): Add 'float'.
5285         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
5286         * lib/math.in.h (ceil): New declaration.
5287         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
5288         REPLACE_CEIL.
5289         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
5290         * modules/ceil-ieee-tests: New file.
5291         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
5292         * tests/test-math-c++.cc: Check the signature of 'ceil'.
5293         * doc/posix-functions/ceil.texi: Mention the new module.
5294
5295 2010-12-21  Bruno Haible  <bruno@clisp.org>
5296
5297         New module 'floor-ieee'.
5298         * modules/floor-ieee: New file.
5299         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
5300         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
5301         ISO C 99 with IEC 60559.
5302         * m4/floor-ieee.m4: New file.
5303         * modules/floor (Files): Add lib/floor.c.
5304         (Depends-on): Add 'float'.
5305         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
5306         * lib/math.in.h (floor): New declaration.
5307         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
5308         REPLACE_FLOOR.
5309         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
5310         * modules/floor-ieee-tests: New file.
5311         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
5312         * tests/test-math-c++.cc: Check the signature of 'floor'.
5313         * doc/posix-functions/floor.texi: Mention the new module.
5314
5315 2010-12-21  Bruno Haible  <bruno@clisp.org>
5316
5317         New module 'roundf-ieee'.
5318         * modules/roundf-ieee: New file.
5319         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
5320         test whether roundf works according to ISO C 99 with IEC 60559.
5321         * m4/roundf-ieee.m4: New file.
5322         * modules/roundf-ieee-tests: New file.
5323         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
5324         * tests/test-roundf1.c (main): Remove signbit tests.
5325         * modules/roundf-tests (Depends-on): Remove 'signbit'.
5326         * doc/posix-functions/roundf.texi: Mention the new module.
5327
5328 2010-12-21  Bruno Haible  <bruno@clisp.org>
5329
5330         New module 'truncf-ieee'.
5331         * modules/truncf-ieee: New file.
5332         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
5333         test whether truncf works according to ISO C 99 with IEC 60559.
5334         * m4/truncf-ieee.m4: New file.
5335         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
5336         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
5337         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
5338         * modules/truncf-ieee-tests: New file.
5339         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
5340         * tests/test-truncf1.c (main): Remove signbit tests.
5341         * modules/truncf-tests (Depends-on): Remove 'signbit'.
5342         * doc/posix-functions/truncf.texi: Mention the new module.
5343
5344 2010-12-21  Bruno Haible  <bruno@clisp.org>
5345
5346         New module 'ceilf-ieee'.
5347         * modules/ceilf-ieee: New file.
5348         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
5349         test whether ceilf works according to ISO C 99 with IEC 60559.
5350         * m4/ceilf-ieee.m4: New file.
5351         * modules/ceilf-ieee-tests: New file.
5352         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
5353         * tests/test-ceilf1.c (main): Remove signbit tests.
5354         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
5355         * doc/posix-functions/ceilf.texi: Mention the new module.
5356
5357 2010-12-21  Bruno Haible  <bruno@clisp.org>
5358
5359         New module 'floorf-ieee'.
5360         * modules/floorf-ieee: New file.
5361         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
5362         test whether floorf works according to ISO C 99 with IEC 60559.
5363         * m4/floorf-ieee.m4: New file.
5364         * modules/floorf-ieee-tests: New file.
5365         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
5366         * tests/test-floorf1.c (main): Remove signbit tests.
5367         * modules/floorf-tests (Depends-on): Remove 'signbit'.
5368         * doc/posix-functions/floorf.texi: Mention the new module.
5369
5370 2010-12-21  Bruno Haible  <bruno@clisp.org>
5371
5372         Support for minus zero in autoconf macros.
5373         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
5374         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
5375         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
5376         * tests/minus-zero.h: Update comments.
5377
5378 2010-12-21  Bruno Haible  <bruno@clisp.org>
5379
5380         Tests for module 'ceil'.
5381         * modules/ceil-tests: New file.
5382         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
5383         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
5384
5385 2010-12-21  Bruno Haible  <bruno@clisp.org>
5386
5387         Tests for module 'floor'.
5388         * modules/floor-tests: New file.
5389         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
5390         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
5391
5392 2010-12-21  Bruno Haible  <bruno@clisp.org>
5393
5394         math: Fix indentation.
5395         * lib/math.in.h (floorf): Fix indentation.
5396
5397 2010-12-21  Bruno Haible  <bruno@clisp.org>
5398
5399         Fix cross-compilation guesses on Solaris.
5400         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
5401         not match "solaris2.10".
5402         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
5403         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
5404         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
5405
5406 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
5407
5408         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
5409         This fixes a problem observed with the latest coreutils snapshot
5410         that caused a test to fail on Solaris 8.  src/csplit.c's call
5411         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
5412         earlier, instead of returning the number of bytes that would have
5413         been generated; this causes csplit to incorrectly report memory
5414         exhaustion.
5415         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
5416         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
5417         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
5418         comments to match.
5419         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
5420         Fix typo in matching older versions of Solaris: "solaris2.10"
5421         is matched by the shell pattern "solaris2.[0-9]*".  This matters
5422         only for guessing while cross-compiling.
5423         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
5424
5425 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
5426
5427         ftoastr: fix comment again
5428         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
5429         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
5430         Also, simplify example a bit by using flags = 0.
5431
5432 2010-12-20  Bruno Haible  <bruno@clisp.org>
5433
5434         round*, trunc*: Update documentation regarding glibc.
5435         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
5436         * doc/posix-functions/round.texi: Likewise.
5437         * doc/posix-functions/roundl.texi: Likewise.
5438         * doc/posix-functions/truncf.texi: Likewise.
5439         * doc/posix-functions/trunc.texi: Likewise.
5440         * doc/posix-functions/truncl.texi: Likewise.
5441
5442 2010-12-20  Bruno Haible  <bruno@clisp.org>
5443
5444         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
5445         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
5446         * doc/posix-functions/round.texi: Likewise.
5447         * doc/posix-functions/roundl.texi: Likewise.
5448
5449 2010-12-20  Bruno Haible  <bruno@clisp.org>
5450
5451         ttyname_r: Add missing declaration on HP-UX 11.
5452         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
5453         HAVE_TTYNAME_R.
5454         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
5455         declared. Set HAVE_TTYNAME_R always.
5456         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
5457         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
5458         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
5459         HAVE_TTYNAME_R.
5460         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
5461
5462 2010-12-20  Bruno Haible  <bruno@clisp.org>
5463
5464         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
5465         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
5466         * doc/posix-functions/getlogin_r.texi: Likewise.
5467         * tests/test-getlogin.c: Include <errno.h>.
5468         (main): Avoid test failure on HP-UX 11.11.
5469         * tests/test-getlogin_r.c (main): Likewise.
5470
5471 2010-12-20  Bruno Haible  <bruno@clisp.org>
5472
5473         getlogin_r: Add missing declaration on HP-UX 11.
5474         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
5475         declared also when it exists as a function.
5476         * doc/posix-functions/getlogin_r.texi: Document this workaround.
5477
5478 2010-12-20  Bruno Haible  <bruno@clisp.org>
5479
5480         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
5481         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
5482         through wcrtomb.
5483
5484 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
5485
5486         ftoastr: fix comment
5487         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
5488         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
5489
5490 2010-12-19  Bruno Haible  <bruno@clisp.org>
5491
5492         isnan: Ensure it is a macro.
5493         * lib/math.in.h (isnan): Define as a macro if not already a macro.
5494         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
5495         Solaris.
5496
5497 2010-12-19  Bruno Haible  <bruno@clisp.org>
5498
5499         ldexpl test: Fix link error on OSF/1 5.1.
5500         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
5501
5502 2010-12-19  Bruno Haible  <bruno@clisp.org>
5503
5504         wctype: Make it work in C++ mode on OSF/1 5.1.
5505         * lib/wctype.in.h (iswblank): Declare but not define here.
5506         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
5507         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
5508         * modules/wctype (Files): Add lib/iswblank.c.
5509
5510 2010-12-19  Bruno Haible  <bruno@clisp.org>
5511
5512         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
5513         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
5514         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
5515
5516 2010-12-19  Bruno Haible  <bruno@clisp.org>
5517
5518         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
5519         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
5520         _POSIX_PII_SOCKET.
5521         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
5522         * doc/posix-functions/recvfrom.texi: Likewise.
5523         * doc/posix-functions/send.texi: Likewise.
5524         * doc/posix-functions/sendto.texi: Likewise.
5525
5526 2010-12-19  Bruno Haible  <bruno@clisp.org>
5527
5528         tcgetsid: Add missing declaration on OSF/1 5.1.
5529         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
5530         HAVE_TCGETSID.
5531         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
5532         Don't set HAVE_TCGETSID.
5533         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
5534         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
5535         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
5536         HAVE_TCGETSID.
5537         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
5538
5539 2010-12-19  Bruno Haible  <bruno@clisp.org>
5540
5541         stdio: Fix problem with popen() declaration on OSF/1 5.1.
5542         * lib/stdio.in.h: During the include_next statement, let recursive
5543         includes of this file include only the system header file.
5544
5545 2010-12-19  Bruno Haible  <bruno@clisp.org>
5546
5547         iconv_open: Fix regression from 2010-12-04.
5548         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
5549         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
5550
5551 2010-12-19  Bruno Haible  <bruno@clisp.org>
5552
5553         stdbool test: Avoid a gcc warning.
5554         * tests/test-stdbool.c (main): Fail if e1 is false.
5555         Reported by Jim Meyering.
5556
5557 2010-12-19  Jim Meyering  <meyering@redhat.com>
5558
5559         setenv: restore to working order
5560         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
5561         mistakenly removed.
5562         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
5563         HAVE_SETENV.
5564         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
5565         HAVE_SETENV.
5566
5567 2010-12-19  Bruno Haible  <bruno@clisp.org>
5568
5569         Document some different function declarations on OSF/1 5.1.
5570         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
5571         * doc/posix-functions/inet_ntop.texi: Likewise.
5572         * doc/posix-functions/gethostname.texi: Likewise.
5573         * lib/unistd.in.h (gethostname): Update comment.
5574
5575 2010-12-19  Bruno Haible  <bruno@clisp.org>
5576
5577         doc: Mention vasprintf-posix module.
5578         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
5579         the 'vasprintf-posix' module.
5580         * doc/glibc-functions/vasprintf.texi: Likewise.
5581
5582 2010-12-19  Bruno Haible  <bruno@clisp.org>
5583
5584         unsetenv: Add missing declaration on OSF/1 5.1.
5585         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
5586         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
5587         Don't set HAVE_UNSETENV. In the test program, set _BSD.
5588         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
5589         not HAVE_UNSETENV.
5590         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
5591         HAVE_UNSETENV.
5592         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
5593
5594 2010-12-19  Bruno Haible  <bruno@clisp.org>
5595
5596         setenv: Add missing declaration on OSF/1 5.1.
5597         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
5598         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
5599         declared. Don't set HAVE_SETENV.
5600         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
5601         not HAVE_SETENV.
5602         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
5603         HAVE_SETENV.
5604         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
5605
5606 2010-12-19  Bruno Haible  <bruno@clisp.org>
5607
5608         nl_langinfo tests: Avoid gcc warning.
5609         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
5610
5611 2010-12-19  Bruno Haible  <bruno@clisp.org>
5612
5613         mknod: Avoid error in C++ mode on OSF/1 with GCC.
5614         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
5615         _GL_CXXALIAS_SYS.
5616
5617 2010-12-19  Bruno Haible  <bruno@clisp.org>
5618
5619         stdbool: Relax test.
5620         * tests/test-stdbool.c (e): Don't require that casts from a variable's
5621         address to 'bool' work in static initializer, for compilers other than
5622         GCC.
5623
5624 2010-12-19  Bruno Haible  <bruno@clisp.org>
5625
5626         ftello: Add missing declaration on OSF/1 5.1.
5627         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
5628         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
5629         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
5630         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
5631         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
5632
5633 2010-12-19  Bruno Haible  <bruno@clisp.org>
5634
5635         fseeko: Add missing declaration on OSF/1 5.1.
5636         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
5637         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
5638         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
5639         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
5640         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
5641
5642 2010-12-19  Bruno Haible  <bruno@clisp.org>
5643
5644         fchdir: Add missing declaration on OSF/1 5.1.
5645         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
5646         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
5647         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
5648         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
5649         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
5650
5651 2010-12-19  Bruno Haible  <bruno@clisp.org>
5652
5653         relocatable-prog-wrapper: Separate from relocatable-prog.
5654         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
5655         uninstall-relocwrapper rule here.
5656         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
5657         Reported by Ian Beckwith <ianb@erislabs.net>.
5658
5659 2010-12-19  Bruno Haible  <bruno@clisp.org>
5660
5661         unistr/u8-mbsnlen: Add missing dependency.
5662         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
5663         Reported by Ian Beckwith <ianb@erislabs.net>.
5664
5665 2010-12-19  Bruno Haible  <bruno@clisp.org>
5666
5667         iconv: Make it possible again to use this module without 'iconv-h'.
5668         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
5669         if it is not defined.
5670         Reported by Ian Beckwith <ianb@erislabs.net>.
5671
5672 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
5673
5674         acl: port to Solaris 8 when copying from tmpfs to ufs
5675         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
5676         error number.  Problem observed on Solaris 8 with latest
5677         coreutils, with "mv A B", where A is on a tmpfs file system and B
5678         is on a ufs file system.  This caused coreutils' mv/part-symlink
5679         test to fail.
5680
5681         tests: set fail=0 at start
5682         * tests/init.sh (setup_): Move fail=0 initialization here ...
5683         (mktempd_): ... from here, so that tests can rely on fail being
5684         set to 0 initially.  This fixes a problem in coreutils; see:
5685         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
5686
5687 2010-12-18  Bruno Haible  <bruno@clisp.org>
5688
5689         memmem-simple: Stylistic changes.
5690         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
5691         Fix preprocessor directive indentation.
5692
5693 2010-12-15  Pádraig Brady <P@draigBrady.com>
5694
5695         memmem, memmem-simple: reorganize and expand empty needle check
5696         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
5697         functional checks to memmem-simple so that one has a fully functional
5698         memmem by using just this module.
5699         Restrict the performance only check to the memmem module.
5700         Also expand the empty needle check to ensure the correct
5701         pointer is returned, not just a non NULL pointer.
5702         * doc/glibc-functions/memmem.texi: Rearrange the portability
5703         documentation to correlate with the rearranged checks.
5704         Clarify exactly how the memmem and memmem-simple modules
5705         relate to each other.
5706
5707 2010-12-15  Pádraig Brady <P@draigBrady.com>
5708             Bruno Haible  <bruno@clisp.org>
5709
5710         Improve cross-compilation guesses for uClibc.
5711         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
5712         that uClibc does not have the glibc bug.
5713         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
5714         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
5715
5716 2010-12-14  Eric Blake  <eblake@redhat.com>
5717
5718         configmake: provide fallbacks for oldest supported autotools
5719         * m4/configmake.m4: New file.
5720         * modules/configmake (Files): Ship it.
5721         (configure.ac): Use it to guarantee fallbacks.
5722
5723 2010-12-13  Pádraig Brady <P@draigBrady.com>
5724
5725         read-file: Improve handling of large files
5726         * lib/read-file.c (fread_file): Minimize realloc()s
5727         for regular files, and better manage sizes around SIZE_MAX.
5728
5729 2010-12-13  Eric Blake  <eblake@redhat.com>
5730
5731         cloexec, fcntl: relax license
5732         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
5733         consent from all contributors.
5734         * modules/fcntl (License): Likewise.
5735
5736 2010-12-10  Bruno Haible  <bruno@clisp.org>
5737
5738         Tests for module 'pipe-posix'.
5739         * modules/pipe-posix-tests: New file.
5740         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
5741
5742 2010-12-10  Bruno Haible  <bruno@clisp.org>
5743
5744         pipe-posix: Make it work in C++ mode.
5745         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
5746         (pipe): Use common idiom, not a macro definition.
5747         * lib/pipe.c: New file.
5748         * m4/pipe.m4: New file.
5749         * modules/pipe-posix (Description): Enhance.
5750         (Files): Add lib/pipe.c, m4/pipe.m4.
5751         (configure.ac): Invoke gl_FUNC_PIPE.
5752         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
5753         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
5754         * tests/test-unistd-c++.cc: Check the signature of pipe.
5755
5756 2010-12-10  Bruno Haible  <bruno@clisp.org>
5757
5758         Rename module 'pipe' to 'spawn-pipe'.
5759         * modules/spawn-pipe: New file, renamed from modules/pipe.
5760         (Files, configure.ac, Makefile.am): Update.
5761         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
5762         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
5763         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
5764         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
5765         "spawn-pipe.h" instead of "pipe.h".
5766         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
5767         to gl_SPAWN_PIPE.
5768         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
5769         (Files, Makefile.am): Update.
5770         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
5771         Update.
5772         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
5773         Include "spawn-pipe.h" instead of "pipe.h".
5774         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
5775         * lib/javacomp.c: Likewise.
5776         * lib/javaversion.c: Likewise.
5777         * lib/pipe-filter-gi.c: Likewise.
5778         * lib/pipe-filter-ii.c: Likewise.
5779         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
5780         * modules/javacomp (Depends-on): Likewise.
5781         * modules/javaversion (Depends-on): Likewise.
5782         * modules/pipe-filter-gi (Depends-on): Likewise.
5783         * modules/pipe-filter-ii (Depends-on): Likewise.
5784         * MODULES.html.sh (Executing programs): Update.
5785         * NEWS: Mention the change.
5786
5787 2010-12-10  Eric Blake  <eblake@redhat.com>
5788
5789         pipe-posix: new module
5790         * modules/pipe-posix: New file.
5791         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
5792         (gl_UNISTD_H): Check for declaration.
5793         * modules/unistd (Makefile.am): Substitute it.
5794         * lib/unistd.in.h (pipe): Provide it for mingw.
5795         * doc/posix-functions/pipe.texi (pipe): Update documentation.
5796         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
5797
5798 2010-12-07  Bruno Haible  <bruno@clisp.org>
5799
5800         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
5801         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
5802         u8_strcmp_gnu.
5803         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
5804
5805 2010-12-06  Bruno Haible  <bruno@clisp.org>
5806
5807         Update internal documentation.
5808         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
5809
5810 2010-12-04  Bruno Haible  <bruno@clisp.org>
5811
5812         Put more information about failed tests into the test return codes.
5813         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
5814         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
5815         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
5816         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
5817         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
5818         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
5819         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
5820         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
5821         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
5822         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
5823         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
5824         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
5825         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
5826         * m4/stdint.m4 (gl_STDINT_H): Likewise.
5827         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
5828         returns a bit mask.
5829         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
5830         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
5831         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
5832         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
5833         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
5834         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
5835         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
5836         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
5837         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
5838         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
5839         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
5840         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
5841         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
5842         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
5843         * m4/link.m4 (gl_FUNC_LINK): Likewise.
5844         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
5845         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
5846         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
5847         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
5848         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
5849         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
5850         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
5851         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
5852         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
5853         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
5854         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
5855         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
5856         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
5857         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
5858         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
5859         gl_PRINTF_PRECISION): Likewise.
5860         * m4/regex.m4 (gl_REGEX): Likewise.
5861         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
5862         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
5863         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
5864         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
5865         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
5866         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
5867         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
5868         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
5869         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
5870         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
5871         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
5872         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
5873         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
5874         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
5875         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
5876         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
5877         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
5878         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
5879         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
5880         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
5881         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
5882         enumerated value.
5883         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
5884
5885 2010-12-04  Bruno Haible  <bruno@clisp.org>
5886
5887         Update for Solaris 11 2010-11.
5888         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
5889         Express, released in November 2010.
5890
5891 2010-12-04  Bruno Haible  <bruno@clisp.org>
5892
5893         nproc: Relax license.
5894         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
5895         and Paul Eggert.
5896         Requested by Ludovic Courtès <ludo@gnu.org>.
5897
5898 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
5899
5900         utimecmp: fine-grained src to nearby coarse-grained dest
5901
5902         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
5903         and the source is on a file system with higher-resolution time
5904         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
5905         not work, and the time stamps are close together, the algorithm to
5906         determine the exact resolution from the read-back mtime was buggy:
5907         it had a "!=" where it should have had an "==".  This bug has been
5908         in the code ever since it was introduced to gnulib.
5909         Problem reported by Dan Jacobson in
5910         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
5911
5912 2010-11-30  Bruno Haible  <bruno@clisp.org>
5913
5914         strerror_r-posix: Fix autoconf test.
5915         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
5916
5917 2010-11-28  Bruno Haible  <bruno@clisp.org>
5918             Paul Eggert  <eggert@cs.ucla.edu>
5919
5920         Tests for module 'getdomainname'.
5921         * modules/getdomainname-tests: New file.
5922         * tests/test-getdomainname.c: New file, based on
5923         tests/test-gethostname.c.
5924
5925 2010-11-28  Bruno Haible  <bruno@clisp.org>
5926             Paul Eggert  <eggert@cs.ucla.edu>
5927
5928         getdomainname: Use the system function when possible.
5929         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
5930         (getdomainname): Replace if needed. Provide the declaration if it is
5931         missing. Don't use _GL_CXXALIAS_SYS_CAST.
5932         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
5933         (getdomainname): When the system has getdomainname, call the system
5934         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
5935         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
5936         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
5937         found in libnsl. Look for the declaration also in <netdb.h>. Replace
5938         the function if its second argument is of type 'int' or if it is found
5939         in libnsl.
5940         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
5941         <sys/systeminfo.h> and sysinfo().
5942         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
5943         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
5944         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
5945         HAVE_GETDOMAINNAME.
5946         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
5947         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
5948         * doc/glibc-functions/getdomainname.texi: Document the problems with
5949         the getdomainname declaration.
5950
5951 2010-11-28  Bruno Haible  <bruno@clisp.org>
5952
5953         sys_socket: Ensure ss_family field on AIX.
5954         * lib/sys_socket.in.h (ss_family): New macro definition.
5955         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
5956         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
5957         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
5958         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
5959         * modules/sys_socket (Makefile.am): Substitute
5960         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
5961         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
5962
5963 2010-11-27  Bruno Haible  <bruno@clisp.org>
5964
5965         readline: Improve configure output.
5966         * m4/readline.m4 (gl_FUNC_READLINE): Make the
5967         "checking for readline..." result understandable.
5968
5969 2010-11-27  Bruno Haible  <bruno@clisp.org>
5970
5971         *printf-posix: Detect a bug on Solaris 10/x86.
5972         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
5973         for floating-point output.
5974         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
5975         directive.
5976         * tests/test-snprintf-posix.h (test_function): Likewise.
5977         * tests/test-sprintf-posix.h (test_function): Likewise.
5978         * tests/test-vasprintf-posix.c (test_function): Likewise.
5979         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
5980         * doc/posix-functions/printf.texi: Likewise.
5981         * doc/posix-functions/snprintf.texi: Likewise.
5982         * doc/posix-functions/sprintf.texi: Likewise.
5983         * doc/posix-functions/vfprintf.texi: Likewise.
5984         * doc/posix-functions/vprintf.texi: Likewise.
5985         * doc/posix-functions/vsnprintf.texi: Likewise.
5986         * doc/posix-functions/vsprintf.texi: Likewise.
5987         * doc/glibc-functions/obstack_printf.texi: Likewise.
5988         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
5989
5990 2010-11-27  Bruno Haible  <bruno@clisp.org>
5991
5992         Fix link error when module libunistring-optional is in use.
5993         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
5994         * modules/striconveha-tests (Makefile.am): Likewise.
5995
5996 2010-11-27  Bruno Haible  <bruno@clisp.org>
5997
5998         regex: Mention link dependencies.
5999         * modules/regex (Link): New section.
6000         * modules/rpmatch (Link): Likewise.
6001         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
6002
6003 2010-11-27  Bruno Haible  <bruno@clisp.org>
6004
6005         ftoastr: Fix compilation error on Solaris.
6006         * lib/ftoastr.c: Include <config.h>.
6007
6008 2010-11-27  Bruno Haible  <bruno@clisp.org>
6009
6010         getloadavg: Update documentation.
6011         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
6012
6013 2010-11-27  Bruno Haible  <bruno@clisp.org>
6014
6015         sys_socket: Fix test whether the functions are declared.
6016         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
6017         not <sys/select.h>.
6018
6019 2010-11-27  Bruno Haible  <bruno@clisp.org>
6020
6021         getpass: Make sure to get system declaration on some platforms.
6022         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
6023         gl_USE_SYSTEM_EXTENSIONS.
6024         * modules/getpass (Depends-on): Add extensions.
6025
6026 2010-11-26  Bruno Haible  <bruno@clisp.org>
6027
6028         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
6029         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
6030         'iconv' module is present.
6031         (ICONV_CONST): New macro.
6032         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
6033         ICONV_CONST.
6034         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
6035         set ICONV_CONST.
6036         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
6037         here.
6038         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
6039         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
6040         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
6041         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
6042         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
6043         present.
6044
6045 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
6046
6047         ftoastr: comment fix
6048         * lib/ftoastr.c: "little" -> "little or no" in comment
6049
6050 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
6051
6052         stdint: port to GCC 4.3 + OSX + Octave
6053         On this platform, stdint.h is buggy and defines int64_t to long
6054         long int.  The replacement defined it to long int, causing
6055         problems with C++ style name mangling.  Instead, trust the system
6056         definition if INT64_MAX is defined, and likewise for the unsigned
6057         variant.   Problem reported by Jarno Rajahalme in
6058         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
6059         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
6060         and don't mess with int64_t and INT64_MAX in this case.
6061         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
6062
6063 2010-11-24  Bruno Haible  <bruno@clisp.org>
6064
6065         doc: Corrections regarding MacOS X 10.4 and 10.5.
6066         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
6067         MacOS X.
6068         Reported by Simon Josefsson.
6069
6070 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
6071
6072         Uninstall ".bin" files installed by relocwrapper.
6073         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
6074         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
6075         unless it is already there.
6076
6077 2010-11-21  Bruno Haible  <bruno@clisp.org>
6078
6079         Update for NetBSD 5.0.
6080         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
6081         NetBSD; the test fails on NetBSD 5.0.
6082         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
6083         about NetBSD.
6084
6085 2010-11-21  Bruno Haible  <bruno@clisp.org>
6086
6087         Update for HP-UX 11.23 and HP-UX 11.31.
6088         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
6089         HP-UX.
6090
6091 2010-11-21  Bruno Haible  <bruno@clisp.org>
6092
6093         Update for MacOS X 10.5.
6094         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
6095         MacOS X; the test fails on MacOS X 10.5.8.
6096         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
6097         about MacOS X.
6098
6099 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
6100
6101         bootstrap: add bootstrap_sync option.
6102         See discussion at
6103         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
6104         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
6105         * build-aux/bootstrap: Accept --bootstrap-sync to update
6106         bootstrap if it is not identical to the local gnulib's
6107         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
6108         enable this by default.  Accept --no-bootstrap-sync to disable
6109         it.
6110
6111 2010-11-20  Bruno Haible  <bruno@clisp.org>
6112
6113         Ensure that <features.h> is included before __GLIBC__ is tested.
6114         * lib/printf-parse.h: Include <features.h>.
6115         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
6116         Reported by Mike Frysinger <vapier@gentoo.org>.
6117
6118         Ensure that <features.h> is included before __GLIBC__ is tested.
6119         * lib/wchar.in.h: Include <features.h>.
6120         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
6121         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
6122         Reported by Mike Frysinger <vapier@gentoo.org>.
6123
6124         Ensure that <features.h> is included before __GLIBC__ is tested.
6125         * lib/arpa_inet.in.h: Include <features.h>.
6126         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
6127         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
6128         Reported by Mike Frysinger <vapier@gentoo.org>.
6129
6130         Ensure that <features.h> is included before __GLIBC__ is tested.
6131         * build-aux/link-warning.h: Include <features.h>.
6132         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
6133         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
6134         Reported by Mike Frysinger <vapier@gentoo.org>.
6135
6136         Ensure that <features.h> is included before __GLIBC__ is tested.
6137         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
6138         Reported by Mike Frysinger <vapier@gentoo.org>.
6139
6140 2010-11-20  Bruno Haible  <bruno@clisp.org>
6141
6142         memmem: Fix autoconf test.
6143         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
6144
6145 2010-11-20  Bruno Haible  <bruno@clisp.org>
6146
6147         Port to uClibc.
6148         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
6149         * lib/fcntl.in.h: Likewise.
6150         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
6151         * lib/mbrtowc.c (mbrtowc): Likewise.
6152         * lib/relocatable.c (find_shared_library_fullname): Likewise.
6153         * lib/strerror_r.c: Likewise.
6154         * lib/unistr/u8-strnlen.c: Likewise.
6155         * lib/vasnprintf.c (decimal_point_char): Likewise.
6156         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
6157         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
6158         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
6159         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
6160         * tests/test-sigaction.c (handler, main): Likewise.
6161         * lib/freading.h: Treat uClibc like a non-glibc platform.
6162         * lib/freading.c: Likewise.
6163         * lib/gettext.h: Likewise.
6164         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
6165         Likewise.
6166         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
6167         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
6168         * lib/propername.c (proper_name_utf8): Likewise.
6169         * lib/spawn.in.h: Likewise.
6170         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
6171         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
6172         mem_cd_iconveh_internal): Likewise.
6173         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
6174         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
6175         strstr, strcasestr): Likewise.
6176         * lib/unicodeio.c (unicode_to_mb): Likewise.
6177         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
6178         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
6179         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
6180         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
6181         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
6182         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
6183         * lib/unistr/u8-stpncpy.c: Likewise.
6184         * lib/vasnprintf.c (VASNPRINTF): Likewise.
6185         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
6186         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
6187         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
6188         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
6189         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
6190         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
6191         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
6192         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
6193         Likewise.
6194         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
6195         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
6196         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
6197         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
6198         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
6199         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
6200         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
6201         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
6202         * tests/test-getopt.h (OPTIND_MIN): Likewise.
6203         * tests/test-striconveha.c (main): Likewise.
6204         * tests/test-vasnprintf-posix.c (test_function): Likewise.
6205         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
6206         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
6207         * doc/posix-functions/getline.texi: Likewise.
6208         Reported by Mike Frysinger <vapier@gentoo.org>.
6209
6210 2010-11-20  Bruno Haible  <bruno@clisp.org>
6211
6212         nproc: Fix condition.
6213         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
6214         HAVE_PTHREAD_AFFINITY_NP.
6215
6216 2010-11-20  Bruno Haible  <bruno@clisp.org>
6217
6218         Fix a comment.
6219         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
6220
6221 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
6222
6223         ftoastr: don't assume snprintf
6224         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
6225         Implement a subset of snprintf here, by using sprintf safely.
6226         * modules/ftoastr (Depends-on): Remove snprintf.
6227
6228 2010-11-19  Jim Meyering  <meyering@redhat.com>
6229
6230         test-rename.h: fix compilation failure
6231         * tests/test-rename.h (test_rename): Add omitted "}".
6232
6233 2010-11-17  Jim Meyering  <meyering@redhat.com>
6234
6235         maint.mk: add a URL discussing the no-@acronym policy
6236         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
6237
6238 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
6239
6240         ftoastr: depend on snprintf, improve comments
6241         * lib/ftoastr.c: Also mention Loitsch's draft.
6242         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
6243         needed in the current implementation, but it might simplify
6244         speeding up the code later.
6245         * modules/ftoastr: Depend on snprintf; this improves portability.
6246         Suggested by Bruno Haible in the same email.
6247
6248         ftoastr: port to hosts lacking strtof and strtold
6249         Problem reported by Bruno Haible in
6250         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
6251         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
6252         environment and strtold (and presumably strtof) are not available.
6253         * modules/ftoastr (Files): Add m4/c-strtod.m4.
6254         (configure.ac): Require gl_C99_STRTOLD.
6255
6256 2010-11-18  Bruno Haible  <bruno@clisp.org>
6257
6258         c-strtold: Avoid link error on AIX 7.
6259         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
6260         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
6261         (gl_C_STRTOLD): Test whether strtold_l exists.
6262         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
6263
6264 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
6265
6266         intprops: new macro INT_BITS_STRLEN_BOUND
6267         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
6268         ftoastr.h.  This exposes an internal of intprops.h that was formerly
6269         not exposed.  Also, it uses a slightly tighter bound than before;
6270         though this makes no practical difference, we might as well be as
6271         tight as we easily can.
6272
6273         ftoastr: new module, for lossless conversion of floats to short strings
6274         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
6275         * modules/ftoastr: New files.
6276
6277 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
6278
6279         bootstrap: port to Solaris sed
6280         * build-aux/bootstrap (get_version): Port to Solaris sed.
6281         See Ralf Wildenhues's note in
6282         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
6283
6284 2010-11-14  Jim Meyering  <meyering@redhat.com>
6285
6286         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
6287         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
6288         and move definition closer to sole use.
6289
6290 2010-11-13  Jim Meyering  <meyering@redhat.com>
6291
6292         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
6293         Now we require at least autoconf-2.59, which means the work-around
6294         is no longer needed.
6295         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
6296         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
6297         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
6298         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
6299         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
6300
6301 2010-11-13  Bruno Haible  <bruno@clisp.org>
6302
6303         rename, renameat: Avoid test failures at NFS mounted locations.
6304         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
6305         functions.
6306         (test_rename): Use assert_nonexistent.
6307         * tests/test-rename.c: Include <dirent.h>.
6308         * tests/test-renameat.c: Likewise.
6309         Reported by Gary V. Vaughan <gary@gnu.org>.
6310
6311         rename, renameat: Document Linux bug with NFS
6312         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
6313         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
6314         * doc/posix-functions/renameat.texi: Likewise.
6315         Suggested by Eric Blake.
6316
6317 2010-11-13  Bruno Haible  <bruno@clisp.org>
6318
6319         rename test: Add comments.
6320         * tests/test-rename.h (test_rename): Add structure and comments.
6321
6322 2010-11-13  Eric Blake  <eblake@redhat.com>
6323
6324         maintainer-makefile: cover a few more files
6325         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
6326         scripts generated within C files, for libvirt.
6327
6328 2010-11-13  Bruno Haible  <bruno@clisp.org>
6329
6330         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
6331         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
6332         character, return the number of bytes that belong together, not always
6333         1.
6334         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
6335         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
6336         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
6337         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
6338         number of bytes of an invalid character.
6339         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
6340         (main): Invoke it.
6341         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
6342         results.
6343         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
6344         malformed byte sequences.
6345         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
6346         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
6347         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
6348         Reported by Ben Pfaff and Paolo Bonzini.
6349
6350 2010-11-13  Bruno Haible  <bruno@clisp.org>
6351
6352         openat: Work around glibc bug with fchownat() and empty file names.
6353         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
6354         (gl_FUNC_FCHOWNAT): Invoke it.
6355         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
6356         * doc/posix-functions/fchownat.texi: Document the glibc bug.
6357         Reported by Gary V. Vaughan <gary@gnu.org>.
6358
6359 2010-11-13  Bruno Haible  <bruno@clisp.org>
6360
6361         openat: Ensure autoconf macro ordering.
6362         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
6363         gl_USE_SYSTEM_EXTENSIONS.
6364         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
6365
6366 2010-11-13  Bruno Haible  <bruno@clisp.org>
6367
6368         Update comments.
6369         * lib/unistr/u8-check.c: Update file name in comments.
6370         * lib/unistr/u8-mblen.c: Likewise.
6371         * lib/unistr/u8-prev.c: Likewise.
6372         * lib/unistr/u8-strmblen.c: Likewise.
6373         * lib/unistr/u8-strmbtouc.c: Likewise.
6374
6375 2010-11-13  Jim Meyering  <meyering@redhat.com>
6376
6377         tests: avoid test failure on Solaris 10 due to lack of PATH export
6378         * tests/test-update-copyright.sh: Don't forget to export PATH.
6379
6380         init.sh: ensure that IFS is defined, just in case...
6381         * tests/init.sh (setup_): Ensure that IFS is defined,
6382         so that saving and restoring it works as expected.  This
6383         appears to be useful at least for an old version of dash
6384         from a long time ago (RH 6).  See here for details:
6385         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
6386
6387         maint.mk: tighten "test a == b" check
6388         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
6389         test to files that contain something like #!/bin/sh.
6390         Without this, coreutils would get two false positives in
6391         the comments of C source files.
6392
6393 2010-11-12  Eric Blake  <eblake@redhat.com>
6394
6395         bootstrap: fix typo in previous attempt
6396         * build-aux/bootstrap (buildreq): Correct the grouping.
6397         Reported by Paul Eggert.
6398
6399         maintainer-makefile: prohibit test x == x
6400         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
6401         Based on a report by Matthias Bolte.
6402
6403         bootstrap: allow FreeBSD gzip
6404         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
6405         which has no '.' and goes to stderr.
6406         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
6407         Reported by Matthias Bolte.
6408
6409         maintainer-makefile: check for i18n setup
6410         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
6411         will likely work.
6412
6413 2010-11-12  Bruno Haible  <bruno@clisp.org>
6414
6415         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
6416         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
6417         * lib/nanosleep.c (nanosleep): Likewise.
6418
6419 2010-11-11  Bruno Haible  <bruno@clisp.org>
6420
6421         fcntl-h: Fix for use of C++ on glibc systems.
6422         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
6423         also on glibc systems in C++ mode.
6424         Reported by Gary V. Vaughan <gary@gnu.org>.
6425
6426 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
6427
6428         mknod: avoid false failure with dash
6429         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
6430
6431 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
6432
6433         unlink: Fix "is it should" typo in diagnostic.
6434         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
6435         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
6436
6437 2010-11-11  Bruno Haible  <bruno@clisp.org>
6438
6439         Tests for module 'strerror_r-posix'.
6440         * modules/strerror_r-posix-tests: New file.
6441         * tests/test-strerror_r.c: New file.
6442         * tests/test-string-c++.cc: Check the signature of strerror_r.
6443
6444         New module 'strerror_r-posix'.
6445         * lib/string.in.h (strerror_r): New declaration.
6446         * lib/strerror_r.c: New file.
6447         * m4/strerror_r.m4: New file.
6448         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
6449         of strerror_r.
6450         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
6451         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
6452         * modules/strerror_r-posix: New file.
6453         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
6454         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
6455         * doc/posix-functions/strerror_r.texi: Mention the new module and the
6456         portability problems.
6457
6458 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
6459
6460         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
6461         line is also considered for output. Quoted function name in shell
6462         command, so temporary files for functions like MyClass::operator()
6463         are removed correctly without errors.
6464
6465 2010-11-09  Bruno Haible  <bruno@clisp.org>
6466
6467         * doc/posix-functions/strerror.texi: List more failing platforms.
6468
6469         * doc/posix-functions/strerror.texi: Add a comment.
6470
6471 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
6472
6473         fdopendir: fix bug on MacOS X when low on file descriptors
6474
6475         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
6476         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
6477         All callers changed.
6478         (fdopendir): Invoke save_cwd at the top level, not after using
6479         multiple dup() calls to use up file descriptors.  Then retry
6480         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
6481         less than the maximum number of open file descriptors, because
6482         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
6483         on Mac OS X 10.6.4 for tar 1.24
6484         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
6485         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
6486         and for tar 1.25
6487         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
6488
6489 2010-11-07  Bruno Haible  <bruno@clisp.org>
6490
6491         vasnprintf: Support I flag on glibc systems.
6492         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
6493         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
6494         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
6495         snprintf function.
6496         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
6497         glibc systems.
6498         * tests/test-vasnprintf-posix3.c: New file.
6499         * modules/vasnprintf-posix-tests (Files): Add it.
6500         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
6501
6502 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
6503
6504         [html] Fix copy/paste bug: Use unique name for compiler warnings.
6505         * MODULES.html.sh: For compiler warnings, use name
6506         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
6507
6508 2010-11-05  Eric Blake  <eblake@redhat.com>
6509
6510         ceil, floor: avoid spurious failure with icc
6511         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
6512         [denormals-as-zero] when optimizing without -mieee-fp option.
6513         * tests/test-floorf2.c (floorf_reference): Likewise.
6514         * tests/test-ceilf1.c (dummy): New function.
6515         (main): Use it to outsmart icc's optimization.
6516         * tests/test-floorf1.c (dummy, main): Likewise.
6517
6518         tests: require working signbit
6519         * modules/ceilf-tests (Depends-on): Add signbit.
6520         * modules/ceill-tests (Depends-on): Likewise.
6521         * modules/floorf-tests (Depends-on): Likewise.
6522         * modules/floorl-tests (Depends-on): Likewise.
6523         * modules/round-tests (Depends-on): Likewise.
6524         * modules/roundf-tests (Depends-on): Likewise.
6525         * modules/roundl-tests (Depends-on): Likewise.
6526         * modules/trunc-tests (Depends-on): Likewise.
6527         * modules/truncf-tests (Depends-on): Likewise.
6528         * modules/truncl-tests (Depends-on): Likewise.
6529
6530         strtod: work around icc bug
6531         * lib/strtod.c (minus_zero): Define to working value.
6532         (strtod): Use it to avoid icc bug.
6533
6534         copysign: enhance tests
6535         * modules/copysign-tests (Files): Add minus-zero.h.
6536         * tests/test-copysign.c (main): Also test zeros.
6537
6538 2010-11-04  Eric Blake  <eblake@redhat.com>
6539
6540         ceil, floor, round, trunc: enhance tests of -0
6541         * tests/test-ceilf1.c (main): Ensure correct sign of result.
6542         * tests/test-ceill.c (main): Likewise.
6543         * tests/test-floorf1.c (main): Likewise.
6544         * tests/test-floorl.c (main): Likewise.
6545         * tests/test-round1.c (main): Likewise.
6546         * tests/test-roundf1.c (main): Likewise.
6547         * tests/test-roundl.c (main): Likewise.
6548         * tests/test-trunc1.c (main): Likewise.
6549         * tests/test-truncf1.c (main): Likewise.
6550         * tests/test-truncl.c (main): Likewise.
6551
6552 2010-11-04  Eric Blake  <eblake@redhat.com>
6553
6554         frexp, tests: work around ICC bug with -zero
6555         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
6556         works with more compilers.
6557         * tests/minus-zero.h: New file.
6558         * modules/ceilf-tests (Files): Include it.
6559         * modules/ceill-tests (Files): Likewise.
6560         * modules/floorf-tests (Files): Likewise.
6561         * modules/floorl-tests (Files): Likewise.
6562         * modules/frexp-nolibm-tests (Files): Likewise.
6563         * modules/frexp-tests (Files): Likewise.
6564         * modules/frexpl-nolibm-tests (Files): Likewise.
6565         * modules/frexpl-tests (Files): Likewise.
6566         * modules/isnan-tests (Files): Likewise.
6567         * modules/isnand-nolibm-tests (Files): Likewise.
6568         * modules/isnand-tests (Files): Likewise.
6569         * modules/isnanf-nolibm-tests (Files): Likewise.
6570         * modules/isnanf-tests (Files): Likewise.
6571         * modules/isnanl-nolibm-tests (Files): Likewise.
6572         * modules/isnanl-tests (Files): Likewise.
6573         * modules/round-tests (Files): Likewise.
6574         * modules/roundf-tests (Files): Likewise.
6575         * modules/roundl-tests (Files): Likewise.
6576         * modules/ldexpl-tests (Files): Likewise.
6577         * modules/signbit-tests (Files): Likewise.
6578         * modules/snprintf-posix-tests (Files): Likewise.
6579         * modules/sprintf-posix-tests (Files): Likewise.
6580         * modules/strtod-tests (Files): Likewise.
6581         * modules/trunc-tests (Files): Likewise.
6582         * modules/truncf-tests (Files): Likewise.
6583         * modules/truncl-tests (Files): Likewise.
6584         * modules/vsnprintf-posix-tests (Files): Likewise.
6585         * modules/vsprintf-posix-tests (Files): Likewise.
6586         * modules/vasnprintf-posix-tests (Files): Likewise.
6587         * modules/vasprintf-posix-tests (Files): Likewise.
6588         * tests/test-ceilf1.c (main): Use it.
6589         * tests/test-ceill.c (main): Likewise.
6590         * tests/test-floorf1.c (main): Likewise.
6591         * tests/test-floorl.c (main): Likewise.
6592         * tests/test-frexp.c (main): Likewise.
6593         * tests/test-frexpl.c (main): Likewise.
6594         * tests/test-isnan.c (main): Likewise.
6595         * tests/test-isnand.h (main): Likewise.
6596         * tests/test-isnanf.h (main): Likewise.
6597         * tests/test-isnanl.h (main): Likewise.
6598         * tests/test-ldexpl.c (main): Likewise.
6599         * tests/test-round.c (main): Likewise.
6600         * tests/test-roundf.c (main): Likewise.
6601         * tests/test-roundl.c (main): Likewise.
6602         * tests/test-signbit.c (test_signbitf, test_signbitd)
6603         (test_signbitl): Likewise.
6604         * tests/test-snprintf-posix.h (test_function): Likewise.
6605         * tests/test-sprintf-posix.h (test_function): Likewise.
6606         * tests/test-strtod.c (main): Likewise.
6607         * tests/test-trunc1.c (main): Likewise.
6608         * tests/test-truncf1.c (main): Likewise.
6609         * tests/test-truncl.c (main): Likewise.
6610
6611         isnanl: work around icc bug
6612         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
6613
6614 2010-11-03  Eric Blake  <eblake@redhat.com>
6615
6616         tests: fix compiler warnings
6617         * tests/test-getopt.h (test_getopt): Fix condition.
6618         * tests/test-getopt_long.h (test_getopt_long): Likewise.
6619         * tests/test-pipe2.c (main): Likewise.
6620         * tests/test-quotearg-simple.c (main): Avoid icc warning.
6621
6622         utimens: fix broken m4 test
6623         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
6624
6625 2010-10-28  Bruno Haible  <bruno@clisp.org>
6626
6627         posix_spawn*, getdtablesize: Relax license.
6628         * modules/posix_spawn (License): Change to LGPLv2+.
6629         * modules/posix_spawnp (License): Likewise.
6630         * modules/posix_spawn-internal (License): Likewise.
6631         * modules/posix_spawnattr_init (License): Likewise.
6632         * modules/posix_spawnattr_getflags (License): Likewise.
6633         * modules/posix_spawnattr_setflags (License): Likewise.
6634         * modules/posix_spawnattr_getpgroup (License): Likewise.
6635         * modules/posix_spawnattr_setpgroup (License): Likewise.
6636         * modules/posix_spawnattr_getschedparam (License): Likewise.
6637         * modules/posix_spawnattr_setschedparam (License): Likewise.
6638         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
6639         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
6640         * modules/posix_spawnattr_getsigdefault (License): Likewise.
6641         * modules/posix_spawnattr_setsigdefault (License): Likewise.
6642         * modules/posix_spawnattr_getsigmask (License): Likewise.
6643         * modules/posix_spawnattr_setsigmask (License): Likewise.
6644         * modules/posix_spawnattr_destroy (License): Likewise.
6645         * modules/posix_spawn_file_actions_init (License): Likewise.
6646         * modules/posix_spawn_file_actions_addclose (License): Likewise.
6647         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
6648         * modules/posix_spawn_file_actions_addopen (License): Likewise.
6649         * modules/posix_spawn_file_actions_destroy (License): Likewise.
6650         * modules/getdtablesize (License): Likewise.
6651         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
6652
6653 2010-10-26  Bruno Haible  <bruno@clisp.org>
6654
6655         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
6656         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
6657         Cygwin and mingw.
6658         Suggested by Eric Blake.
6659
6660 2010-10-26  Bruno Haible  <bruno@clisp.org>
6661
6662         stdio: Work around compilation error due to renameat() on Solaris 10.
6663         * lib/stdio.in.h: Include <unistd.h> on Solaris.
6664         * lib/renameat.c: Don't include <unistd.h> here.
6665         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
6666         Reported by Paul Eggert and Eric Blake.
6667
6668 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
6669
6670         renameat: port to Solaris 10, which declares renameat in unistd.h
6671
6672         * lib/renameat.c: Include unistd.h before stdio.h, because
6673         Solaris 10 declares renameat in unistd.h.  Problem encountered
6674         when building GNU tar 1.24 on Solaris 10.
6675
6676 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
6677
6678         fdopendir: fix C89 compilation
6679         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
6680         compilers.
6681
6682 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
6683
6684         inttostr: simplify by removing unnecessary redundancy
6685         * lib/anytostr.c: Don't include verify.h.
6686         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
6687         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
6688         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
6689         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
6690         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
6691         Likewise.
6692         * modules/inttostr (Depends-on): Remove 'verify'.
6693
6694 2010-10-23  Bruno Haible  <bruno@clisp.org>
6695
6696         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
6697         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
6698         Reported by Eric Blake.
6699
6700 2010-10-23  Bruno Haible  <bruno@clisp.org>
6701
6702         Tests: Fix LOCALE_JA on MirBSD 10.
6703         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
6704         to an UTF-8 locale.
6705         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
6706         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
6707         Reported by Eric Blake.
6708
6709 2010-10-21  Bruno Haible  <bruno@clisp.org>
6710
6711         nl_langinfo test: Avoid test failure on NetBSD 5.
6712         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
6713         Reported by Eric Blake.
6714
6715 2010-10-21  Eric Blake  <eblake@redhat.com>
6716
6717         c-stack: work around libsigsegv 2.8 bug
6718         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
6719         overflow on at least PowerPC64.
6720
6721 2010-10-17  Bruno Haible  <bruno@clisp.org>
6722
6723         userspec: Drop redundant file.
6724         * modules/userspec (Files): Remove lib/inttostr.h.
6725
6726 2010-10-17  Bruno Haible  <bruno@clisp.org>
6727
6728         nl_langinfo tests: Silence some warnings.
6729         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
6730         Reported by Jim Meyering.
6731
6732 2010-10-17  Bruno Haible  <bruno@clisp.org>
6733
6734         Make use of GCC's attribute __alloc_size__.
6735         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
6736         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
6737         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
6738         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
6739         __alloc_size__.
6740         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
6741         Suggested by Jim Meyering.
6742
6743 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
6744
6745         bootstrap: anchor .gitignore entries.
6746         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
6747         with...
6748         (insert_vc_ignore): ... this new function, which prepends `/' to
6749         all .gitignore entries before passing them to
6750         insert_sorted_if_absent.
6751
6752 2010-10-16  Bruno Haible  <bruno@clisp.org>
6753
6754         nextafter: Fix configure check.
6755         * modules/nextafter (configure.ac): Correct expected prototype.
6756
6757 2010-10-16  Bruno Haible  <bruno@clisp.org>
6758
6759         termios: Update documentation.
6760         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
6761
6762 2010-10-16  Bruno Haible  <bruno@clisp.org>
6763
6764         tests: Make them compile with TinyCC.
6765         * tests/test-strstr.c (main): Remove parentheses around array
6766         initializer.
6767
6768 2010-10-15  Eric Blake  <eblake@redhat.com>
6769
6770         ignore-value: make header idempotent
6771         * lib/ignore-value.h: Add double-inclusion guards.
6772         Reported by Stefan Berger.
6773
6774 2010-10-15  Jim Meyering  <meyering@redhat.com>
6775
6776         GNUmakefile: handle "stable" target, not "major"
6777         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
6778         lists in maint.mk and announce-gen.  Without this, "make stable"
6779         would fail to ensure that $(VERSION) is up to date.
6780
6781 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
6782
6783         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
6784         & co.
6785
6786 2010-10-14  Bruno Haible  <bruno@clisp.org>
6787
6788         vasnprintf: Don't set errno to 0.
6789         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
6790         block that sets it to 0.
6791         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
6792
6793 2010-10-14  Bruno Haible  <bruno@clisp.org>
6794
6795         socketlib: Fix.
6796         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
6797         gl_PREREQ_SYS_H_WINSOCK2.
6798         Reported by Ian Beckwith <ianb@erislabs.net>.
6799
6800 2010-10-13  Jim Meyering  <meyering@redhat.com>
6801
6802         test-select-stdin.c: avoid warn_unused_result warnings
6803         * tests/test-select-stdin.c: Include "macros.h".
6804         ASSERT that read and fflush succeed.
6805
6806 2010-10-13  Jim Meyering  <meyering@redhat.com>
6807
6808         git-version-gen: do require git-VC'd files in cwd
6809         * build-aux/git-version-gen: Reject a git version string
6810         if there are no commits associated with the current directory.
6811         This avoids an unlikely false-positive (unrelated dir whose parent
6812         repository also contains a tag matching v*), as pointed out
6813         by Giuseppe Scrivano in
6814         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
6815
6816 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
6817
6818         argv-iter: omit nonconforming declaration
6819         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
6820         enum arg_iter_err declaration, which doesn't conform to C99.
6821         Solaris 10 cc warns about this.
6822
6823 2010-10-13  Eric Blake  <eblake@redhat.com>
6824
6825         termios: fix compilation on mingw
6826         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
6827         (gl_TERMIOS_H): Adjust it on mingw.
6828         * modules/termios (Makefile.am): Substitute new key.
6829         * lib/termios.in.h (includes): Make include_next conditional.
6830         * doc/posix-headers/termios.texi (termios.h): Update
6831         documentation.
6832         Reported by Daniel P. Berrange.
6833
6834 2010-10-13  Jim Meyering  <meyering@redhat.com>
6835
6836         git-version-gen: don't require that .git/ be in the current dir
6837         * build-aux/git-version-gen: Adjust this script so that it works
6838         when run from any working directory beneath the top-level .git/-
6839         containing directory.  Inspired by a patch from Giuseppe Scrivano,
6840         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
6841
6842         test-select: avoid warn_unused_result warnings
6843         * tests/test-select.c: Include "macros.h".
6844         ASSERT that each call to read, write, and pipe succeeds.
6845         While not technically required, also check each "close".
6846         * modules/select-tests (Files): Add tests/macros.h.
6847
6848         test-symlinkat: remove declaration of unused local
6849         * tests/test-symlinkat.c (main): Remove unused local, "buf".
6850
6851         test-inttostr: avoid shadowing warnings
6852         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
6853         and use malloc rather than the stack for the same reason as
6854         mentioned in the comment justifying the other allocation.
6855
6856 2010-10-11  Bruno Haible  <bruno@clisp.org>
6857
6858         stdlib: Allow multiple gnulib generated replacements to coexist.
6859         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
6860         Reported by Sam Steingold <sds@gnu.org>.
6861
6862 2010-10-11  Jim Meyering  <meyering@redhat.com>
6863
6864         fix a documentation typo
6865         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
6866
6867 2010-10-11  Eric Blake  <eblake@redhat.com>
6868
6869         futimens: work around Solaris 11 bug
6870         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
6871         * tests/test-futimens.h (test_futimens): Enhance, rather than
6872         weaken test.
6873         * doc/posix-functions/futimens.texi (futimens): Document the bug.
6874
6875 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
6876
6877         Indentation.
6878         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
6879         higher-level operators more to the left.
6880
6881 2010-10-11  Jim Meyering  <meyering@redhat.com>
6882
6883         test-futimens: avoid unwarranted test failure on Solaris 5.11
6884         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
6885         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
6886         because it tries to dereference the NULL name argument.
6887
6888 2010-10-11  Bruno Haible  <bruno@clisp.org>
6889
6890         Indentation.
6891         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
6892         indentation.
6893
6894 2010-10-11  Jim Meyering  <meyering@redhat.com>
6895
6896         spawn.in.h: make indentation consistent with parentheses
6897         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
6898         Make indentation consistent with parentheses.
6899
6900 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
6901
6902         Fix mismatched parens in previous commit
6903         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
6904         parens.
6905
6906 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
6907
6908         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
6909
6910         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
6911         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
6912         * lib/malloca.c: Include "verify.h".
6913         (verify1): Remove, replacing with a verify call.
6914         * lib/relocwrapper.c (verify1): Likewise.
6915         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
6916         Likewise.
6917         * modules/malloca (Depends-on): Add 'verify'.
6918         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
6919         * modules/vasnprintf (Depends-on): Add 'verify'.
6920         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
6921         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
6922         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
6923         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
6924         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
6925         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
6926         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
6927
6928         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
6929
6930         Formerly the style was sometimes 2*X - 1, because the C standard
6931         was wrongly thought to disallow ?: in integral constant expressions.
6932         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
6933         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
6934         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
6935         * lib/stdint.in.h (_verify_intmax_size): Likewise.
6936         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
6937         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
6938         verify that time_t cannot be floating.
6939
6940 2010-10-08  Eric Blake  <eblake@redhat.com>
6941
6942         time: enforce recent POSIX ruling that time_t is integral
6943         * lib/time.in.h (__time_t_must_be_integral): Detect any
6944         problematic systems, allowing the rest of gnulib to assume POSIX.
6945
6946 2010-10-08  Jim Meyering  <meyering@redhat.com>
6947
6948         fdopendir: fix a bug on systems lacking openat and /proc support
6949         OpenBSD 4.7 is one such system.  The most noticeable effect was
6950         failure of any application making nontrivial use of fts: rm, du,
6951         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
6952           ./rm: traversal failed: `a': Bad file descriptor
6953         Debugging that, you see that even though FD 6 was closed just
6954         prior to the opendir call in fd_clone_opendir, its resulting
6955         dir->dd_fd was 8, rather than the expected value of 6:
6956
6957         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
6958         93                close (fd);
6959         (gdb) n
6960         94                dir = fd_clone_opendir (dupfd);
6961         (gdb) n
6962         95                saved_errno = errno;
6963         (gdb) p dir->dd_fd
6964         $11 = 8
6965
6966         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
6967         The problem is that on OpenBSD, fd_clone_opendir has to resort
6968         to using the old-style save/restore CWD mechanism, due to its
6969         lack of openat/proc support, and *that* would steal the FD (6)
6970         that opendir was supposed to use.
6971
6972         The fix is to squirrel away the desired FD so that save_cwd uses a
6973         different one, and then free the dest FD right before calling opendir.
6974         That guarantees opendir will use the required file descriptor.
6975
6976         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
6977
6978 2010-10-08  Bruno Haible  <bruno@clisp.org>
6979
6980         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
6981         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
6982
6983 2010-10-08  Bruno Haible  <bruno@clisp.org>
6984
6985         nanosleep: Make replacement POSIX compliant.
6986         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
6987         is out of range.
6988         Reported by Jim Meyering.
6989
6990 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
6991
6992         bootstrap: add hook for altering gnulib.mk, for Bison
6993         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
6994         the Bison bootstrapping process can rewrite file names and variables
6995         in this file before later parts of 'bootstrap' use the file.
6996         Bison wants to include lib/gnulib.mk from the top-level makefile,
6997         so it needs the file names in this file to be relative to the top
6998         level, not relative to lib; plus it needs variable names to be
6999         rewritten.
7000         (slurp): Use the new function.
7001
7002         bootstrap: reformat for readability
7003         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
7004
7005 2010-10-08  Eric Blake  <eblake@redhat.com>
7006
7007         docs: update cygwin progress
7008         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
7009         1.7.7.
7010         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
7011         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
7012         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
7013         * doc/posix-functions/carg.texi (carg): Likewise.
7014         * doc/posix-functions/cargf.texi (cargf): Likewise.
7015         * doc/posix-functions/casin.texi (casin): Likewise.
7016         * doc/posix-functions/casinf.texi (casinf): Likewise.
7017         * doc/posix-functions/casinh.texi (casinh): Likewise.
7018         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
7019         * doc/posix-functions/catan.texi (catan): Likewise.
7020         * doc/posix-functions/catanf.texi (catanf): Likewise.
7021         * doc/posix-functions/catanh.texi (catanh): Likewise.
7022         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
7023         * doc/posix-functions/ccos.texi (ccos): Likewise.
7024         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
7025         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
7026         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
7027         * doc/posix-functions/cexp.texi (cexp): Likewise.
7028         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
7029         * doc/posix-functions/cimag.texi (cimag): Likewise.
7030         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
7031         * doc/posix-functions/clog.texi (clog): Likewise.
7032         * doc/posix-functions/clogf.texi (clogf): Likewise.
7033         * doc/posix-functions/conj.texi (conj): Likewise.
7034         * doc/posix-functions/conjf.texi (conjf): Likewise.
7035         * doc/posix-functions/cpow.texi (cpow): Likewise.
7036         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
7037         * doc/posix-functions/cproj.texi (cproj): Likewise.
7038         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
7039         * doc/posix-functions/creal.texi (creal): Likewise.
7040         * doc/posix-functions/crealf.texi (crealf): Likewise.
7041         * doc/posix-functions/csin.texi (csin): Likewise.
7042         * doc/posix-functions/csinf.texi (csinf): Likewise.
7043         * doc/posix-functions/csinh.texi (csinh): Likewise.
7044         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
7045         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
7046         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
7047         * doc/posix-functions/ctan.texi (ctan): Likewise.
7048         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
7049         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
7050         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
7051         * doc/posix-headers/complex.texi (complex.h): Likewise.
7052
7053 2010-10-07  Jim Meyering  <meyering@redhat.com>
7054
7055         parse-datetime: avoid compilation failure on OpenBSD 4.7
7056         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
7057         This works around a compilation failure on OpenBSD 4.7:
7058         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
7059
7060 2010-10-07  Eric Blake  <eblake@redhat.com>
7061
7062         docs: update cygwin progress
7063         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
7064         1.7.6.
7065         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
7066         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
7067         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
7068         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
7069         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
7070         Likewise.
7071         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
7072         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
7073         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
7074         Likewise.
7075         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
7076         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
7077         Likewise.
7078         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
7079         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
7080         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
7081         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
7082         Likewise.
7083         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
7084         Likewise.
7085         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
7086
7087         docs: update parse-datetime history
7088         * doc/parse-datetime.texi (Authors of parse_datetime): Better
7089         documentation of this function's history and alternatives.
7090
7091         cygwin: use more robust version check
7092         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
7093         exclude an eventual cygwin 1.9.1.
7094         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
7095         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
7096         (gl_FUNC_STRCASESTR): Likewise.
7097         Reported by Bruno Haible.
7098
7099 2010-10-06  Bruno Haible  <bruno@clisp.org>
7100
7101         string, sys_select: Avoid #including large headers unless necessary.
7102         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
7103         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
7104         OSF/1, BeOS, Haiku.
7105         Reported by Jim Meyering.
7106
7107 2010-10-05  Eric Blake  <eblake@redhat.com>
7108
7109         memmem, strstr, strcasestr: fix bug with long periodic needle
7110         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
7111         periodic needle having false positive.
7112         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
7113         and cygwin 1.7.7.
7114         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
7115         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
7116         (gl_FUNC_STRCASESTR): Likewise.
7117         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
7118         * tests/test-memmem.c (main): Expose the bug.
7119         * tests/test-strcasestr.c (main): Likewise.
7120         * tests/test-strstr.c (main): Likewise.
7121         * tests/test-c-strcasestr.c (main): Likewise.
7122         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
7123         * doc/posix-functions/strstr.texi (strstr): Likewise.
7124         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
7125         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
7126
7127 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
7128
7129         parse-datetime: do some more renaming
7130         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
7131         parse_datetime, not get_date.  Mention the renaming.
7132         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
7133         in comments.
7134         * m4/bison.m4: Likewise.
7135
7136 2010-10-05  Eric Blake  <eblake@redhat.com>
7137
7138         parse-datetime: better name than get_date
7139         * NEWS: Reword the deprecation notice.
7140         * modules/get_date: Rename to modules/parse-datetime.
7141         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
7142         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
7143         * lib/get_date.y: Rename to lib/parse-datetime.y.
7144         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
7145         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
7146         * doc/getdate.texi: Provide fallback wrapper.
7147         * lib/getdate.h: Move guts, and wrap...
7148         * lib/parse-datetime.h: ...new file.
7149         * lib/parse-datetime.y (get_date): Rename...
7150         (parse_datetime): ...to this.
7151         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
7152         (gl_PARSE_DATETIME): ...to this.
7153         * doc/posix-functions/getdate.texi (get_date): Provide fallback
7154         documentation.
7155         * modules/getdate (Files): Provide fallback docs and header.
7156         (Notice, Depends-on): Update references.
7157         * tests/test-parse-datetime.c: Likewise.
7158         * DEPENDENCIES: Likewise.
7159         * MODULES.html.sh (Date and time <time.h>): Likewise.
7160         * doc/parse-datetime.texi (Date input formats)
7161         (Authors of parse_datetime): Likewise.
7162         * modules/parse-datetime (Files, configure.ac, Makefile.am)
7163         (Include): Likewise.
7164         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
7165         * gnulib-tool: Likewise.
7166         * m4/bison.m4 (gl_BISON): Likewise.
7167         Suggested by Bruno Haible.
7168
7169 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
7170
7171         more ports to Solaris tr, which needs [] around ranges
7172         * gnulib-tool: Solaris tr needs [] around ranges.
7173         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
7174         * tests/test-pipe-filter-gi1.c (main): Likewise.
7175         * tests/test-pipe-filter-ii1.c (main): Likewise.
7176
7177 2010-10-05  Eric Blake  <eblake@redhat.com>
7178
7179         bootstrap: fix Solaris regression
7180         * build-aux/bootstrap (check_versions): Solaris tr still needs []
7181         around ranges.
7182         Reported by Pádraig Brady.
7183
7184         bootstrap: work with pkg-config
7185         * build-aux/bootstrap (check_versions): Also transliterate - in
7186         prerequisite name.
7187         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
7188         prerequisites that were already found, to avoid confusion.
7189         Reported by Justin Clift.
7190
7191         faccessat: remove unused wrappers
7192         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
7193         presence of these wrappers dragged in -lgen on Solaris.
7194         Reported by Clemens Brogi; fix suggested by Paul Eggert.
7195
7196 2010-10-05  Jim Meyering  <meyering@redhat.com>
7197
7198         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
7199         * Makefile (sc_pragma_columns): New syntax-check rule.
7200
7201 2010-10-04  Bruno Haible  <bruno@clisp.org>
7202
7203         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
7204         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
7205         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
7206         Reported by Bruce Korb and Eric Blake.
7207
7208 2010-10-04  Bruno Haible  <bruno@clisp.org>
7209
7210         threadlib: Make option --with-libpth-prefix work.
7211         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
7212         use $LIBPTH, not just -lpth.
7213
7214 2010-10-04  Bruno Haible  <bruno@clisp.org>
7215
7216         Avoid line length limitation from HP NonStop system header files.
7217         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
7218         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
7219         * lib/ctype.in.h: Likewise.
7220         * lib/dirent.in.h: Likewise.
7221         * lib/errno.in.h: Likewise.
7222         * lib/fcntl.in.h: Likewise.
7223         * lib/float.in.h: Likewise.
7224         * lib/getopt.in.h: Likewise.
7225         * lib/iconv.in.h: Likewise.
7226         * lib/inttypes.in.h: Likewise.
7227         * lib/langinfo.in.h: Likewise.
7228         * lib/locale.in.h: Likewise.
7229         * lib/math.in.h: Likewise.
7230         * lib/netdb.in.h: Likewise.
7231         * lib/netinet_in.in.h: Likewise.
7232         * lib/poll.in.h: Likewise.
7233         * lib/pthread.in.h: Likewise.
7234         * lib/pty.in.h: Likewise.
7235         * lib/sched.in.h: Likewise.
7236         * lib/se-selinux.in.h: Likewise.
7237         * lib/search.in.h: Likewise.
7238         * lib/signal.in.h: Likewise.
7239         * lib/spawn.in.h: Likewise.
7240         * lib/stdarg.in.h: Likewise.
7241         * lib/stddef.in.h: Likewise.
7242         * lib/stdint.in.h: Likewise.
7243         * lib/stdio.in.h: Likewise.
7244         * lib/stdlib.in.h: Likewise.
7245         * lib/string.in.h: Likewise.
7246         * lib/strings.in.h: Likewise.
7247         * lib/sys_file.in.h: Likewise.
7248         * lib/sys_ioctl.in.h: Likewise.
7249         * lib/sys_select.in.h: Likewise.
7250         * lib/sys_socket.in.h: Likewise.
7251         * lib/sys_stat.in.h: Likewise.
7252         * lib/sys_time.in.h: Likewise.
7253         * lib/sys_times.in.h: Likewise.
7254         * lib/sys_utsname.in.h: Likewise.
7255         * lib/sys_wait.in.h: Likewise.
7256         * lib/sysexits.in.h: Likewise.
7257         * lib/termios.in.h: Likewise.
7258         * lib/time.in.h: Likewise.
7259         * lib/unistd.in.h: Likewise.
7260         * lib/wchar.in.h: Likewise.
7261         * lib/wctype.in.h: Likewise.
7262         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
7263         * modules/ctype (Makefile.am): Likewise.
7264         * modules/dirent (Makefile.am): Likewise.
7265         * modules/errno (Makefile.am): Likewise.
7266         * modules/fcntl-h (Makefile.am): Likewise.
7267         * modules/float (Makefile.am): Likewise.
7268         * modules/getopt-posix (Makefile.am): Likewise.
7269         * modules/iconv-h (Makefile.am): Likewise.
7270         * modules/inttypes (Makefile.am): Likewise.
7271         * modules/langinfo (Makefile.am): Likewise.
7272         * modules/locale (Makefile.am): Likewise.
7273         * modules/math (Makefile.am): Likewise.
7274         * modules/netdb (Makefile.am): Likewise.
7275         * modules/netinet_in (Makefile.am): Likewise.
7276         * modules/poll-h (Makefile.am): Likewise.
7277         * modules/pthread (Makefile.am): Likewise.
7278         * modules/pty (Makefile.am): Likewise.
7279         * modules/sched (Makefile.am): Likewise.
7280         * modules/search (Makefile.am): Likewise.
7281         * modules/selinux-h (Makefile.am): Likewise.
7282         * modules/signal (Makefile.am): Likewise.
7283         * modules/spawn (Makefile.am): Likewise.
7284         * modules/stdarg (Makefile.am): Likewise.
7285         * modules/stddef (Makefile.am): Likewise.
7286         * modules/stdint (Makefile.am): Likewise.
7287         * modules/stdio (Makefile.am): Likewise.
7288         * modules/stdlib (Makefile.am): Likewise.
7289         * modules/string (Makefile.am): Likewise.
7290         * modules/strings (Makefile.am): Likewise.
7291         * modules/sys_file (Makefile.am): Likewise.
7292         * modules/sys_ioctl (Makefile.am): Likewise.
7293         * modules/sys_select (Makefile.am): Likewise.
7294         * modules/sys_socket (Makefile.am): Likewise.
7295         * modules/sys_stat (Makefile.am): Likewise.
7296         * modules/sys_time (Makefile.am): Likewise.
7297         * modules/sys_times (Makefile.am): Likewise.
7298         * modules/sys_utsname (Makefile.am): Likewise.
7299         * modules/sys_wait (Makefile.am): Likewise.
7300         * modules/sysexits (Makefile.am): Likewise.
7301         * modules/termios (Makefile.am): Likewise.
7302         * modules/time (Makefile.am): Likewise.
7303         * modules/unistd (Makefile.am): Likewise.
7304         * modules/wchar (Makefile.am): Likewise.
7305         * modules/wctype (Makefile.am): Likewise.
7306
7307 2010-10-04  Bruno Haible  <bruno@clisp.org>
7308
7309         read-file tests: Avoid a test failure on NonStop Kernel.
7310         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
7311         a regular file.
7312         Reported by Joachim Schmitz <schmitz@hp.com>.
7313
7314 2010-10-03  Bruno Haible  <bruno@clisp.org>
7315
7316         gnulib-tool: Fixes for --create-testdir with --libtool.
7317         * gnulib-tool (func_get_automake_snippet): Don't augment
7318         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
7319         an executable.
7320         (func_create_testdir): Handle module 'alloca' like func_import.
7321         Reported by Bruce Korb <bruce.korb@gmail.com>.
7322
7323 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
7324
7325         Avoid some lines longer than 80 characters.
7326         * lib/stdint.in.h: Break long comment lines.
7327         * lib/math.in.h: Likewise.
7328         (_GL_NUM_UINT_WORDS): New macro, for readability.
7329         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
7330         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
7331         * lib/stdlib.in.h: Likewise.
7332         * lib/spawn.in.h: Likewise.
7333         * lib/sys_socket.in.h: Update an URL.
7334         * lib/sys_stat.in.h: Break long line.
7335
7336 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
7337
7338         Improve pmccabe2html.
7339         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
7340         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
7341         when the sources change. Remove the line in the HTML about "Used
7342         ranges" (which implied that there might be other unused ranges),
7343         rename "Resume" to "Summary" (easier to understand for more users).
7344         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
7345         styles, and some unnecessary blank lines.
7346
7347 2010-10-03  Bruno Haible  <bruno@clisp.org>
7348             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
7349
7350         acl: Add support for ACLs on NonStop Kernel.
7351         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
7352         Check whether the function aclsort() exists.
7353         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
7354         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
7355         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
7356         (acl_nontrivial [HAVE_ACLSORT]: New function.
7357         (file_has_acl): Implement for NonStop Kernel.
7358         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
7359         (qset_acl): Implement for NonStop Kernel.
7360         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
7361         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
7362         (main): Implement for NonStop Kernel.
7363         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
7364         Kernel. Handle this flavor.
7365         * tests/test-set-mode-acl.sh: Likewise.
7366         * tests/test-copy-acl.sh: Likewise.
7367         * tests/test-copy-file.sh: Likewise.
7368
7369 2010-10-03  Bruno Haible  <bruno@clisp.org>
7370
7371         Info about ACLs on NonStop Kernel.
7372         * doc/acl-resources.txt: Add info about NonStop Kernel.
7373         References by Joachim Schmitz <schmitz@hp.com>.
7374
7375 2010-10-02  Bruno Haible  <bruno@clisp.org>
7376
7377         Define missing EDQUOT on NonStop Kernel.
7378         * lib/errno.in.h (EDQUOT): Assign a value if missing.
7379         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
7380         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
7381         missing.
7382         * doc/posix-headers/errno.texi: Mention the NSK bug.
7383         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
7384         Reported by Joachim Schmitz <schmitz@hp.com>.
7385
7386 2010-10-02  Bruno Haible  <bruno@clisp.org>
7387
7388         Update doc for POSIX:2008.
7389         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
7390         Update URL of POSIX specification.
7391
7392 2010-10-02  Bruno Haible  <bruno@clisp.org>
7393
7394         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
7395         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
7396         from gnulib, not from Automake.
7397
7398 2010-10-02  Bruno Haible  <bruno@clisp.org>
7399
7400         New module 'system-posix'.
7401         * modules/system-posix: New file.
7402         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
7403         module is present.
7404         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
7405         GNULIB_SYSTEM_POSIX.
7406         * modules/stdlib (Depends-on): Remove sys_wait.
7407         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
7408         * doc/posix-functions/system.texi: Mention the new module.
7409         * doc/posix-headers/stdlib.texi: Likewise.
7410         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
7411         define test_sys_wait_macros to a no-op.
7412         Reported by Sam Steingold <sds@gnu.org>.
7413
7414 2010-09-30  Bruno Haible  <bruno@clisp.org>
7415
7416         More renaming from 'getdate' to 'get_date'.
7417         * doc/get_date.texi: Renamed from doc/getdate.texi.
7418         * modules/get_date (Files): Update.
7419         * MODULES.html.sh (Date and time <time.h>): Update.
7420         * DEPENDENCIES: Update.
7421         * gnulib-tool: Update comment.
7422         * m4/bison.m4 (gl_BISON): Likewise.
7423         * m4/get_date.m4 (gl_GET_DATE): Likewise.
7424
7425 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
7426
7427         bootstrap: support ACLOCAL_FLAGS during aclocal
7428         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
7429         can add additional -I dir for third-party .m4 files.
7430
7431 2010-09-30  Eric Blake  <eblake@redhat.com>
7432
7433         bootstrap: use glibtoolize on MacOS
7434         * build-aux/bootstrap (check_versions): Convert libtool into
7435         libtoolize.
7436         (tool search): Move libtool check earlier, and look for
7437         glibtoolize for MacOS.
7438         (gnulib_tool_options): Auto-add --libtool when appropriate.
7439         Reported by Justin Clift.
7440
7441         poll: fix typo that broke test on MacOS
7442         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
7443         Reported by Justin Clift.
7444
7445         getdate: rename to get_date
7446         Note: getdate.h is not renamed, to minimize client impact.
7447         * modules/getdate: Mark obsolete.  Move old contents...
7448         * modules/get_date: ...to new module name.
7449         * modules/getdate-tests: Move...
7450         * modules/get_date-tests: ...here.
7451         * m4/getdate.m4: Move...
7452         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
7453         * lib/getdate.y: Move...
7454         * lib/get_date.y: ...here.
7455         * tests/test-getdate.c: Move...
7456         * tests/test-get_date.c: ...here.
7457         * doc/posix-functions/getdate.texi (getdate): Update name.
7458         * NEWS: Mention the change.
7459
7460 2010-09-29  Bruno Haible  <bruno@clisp.org>
7461
7462         Separate the module 'waitpid' from the module 'sys_wait'.
7463         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
7464         present.
7465         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
7466         gl_MODULE_INDICATOR_FOR_TESTS.
7467         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
7468         * modules/sys_wait (Depends-on): Remove waitpid.
7469         (Makefile.am): Substitute GNULIB_WAITPID.
7470         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
7471         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
7472         signature only if the 'waitpid' module is present.
7473         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
7474         * NEWS: Mention the change.
7475         * modules/grantpt (Depends-on): Add waitpid.
7476         * modules/wait-process (Depends-on): Likewise.
7477
7478 2010-09-29  Bruno Haible  <bruno@clisp.org>
7479
7480         More tests for module 'sys_wait'.
7481         * modules/sys_wait-c++-tests: New file.
7482         * tests/test-sys_wait-c++.cc: New file.
7483         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
7484         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
7485
7486 2010-09-29  Bruno Haible  <bruno@clisp.org>
7487
7488         New module 'waitpid'.
7489         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
7490         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
7491         Don't include <process.h>.
7492         (waitpid): Declare only, using modern idiom.
7493         * m4/waitpid.m4: New file.
7494         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
7495         * modules/waitpid: New file.
7496         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
7497         (Makefile.am): Update.
7498         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
7499
7500 2010-09-28  Bruno Haible  <bruno@clisp.org>
7501
7502         poll: Assume ANSI C.
7503         * lib/poll.c (poll): Use an ANSI C declaration.
7504
7505 2010-09-28  Bruno Haible  <bruno@clisp.org>
7506
7507         poll-h: Create poll.h on all platforms.
7508         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
7509         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
7510         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
7511         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
7512         (gl_REPLACE_POLL_H): Don't set POLL_H.
7513         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
7514         * modules/poll-h (Depends-on): Add include_next.
7515         (Makefile.am): Create poll.h unconditionally. Substitute also
7516         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
7517
7518 2010-09-28  Bruno Haible  <bruno@clisp.org>
7519
7520         Tests for module 'poll-h'.
7521         * modules/poll-h-c++-tests: New file.
7522         * tests/test-poll-h-c++.cc: New file.
7523
7524         Tests for module 'poll-h'.
7525         * modules/poll-h-tests: New file.
7526         * tests/test-poll-h.c: New file.
7527
7528 2010-09-28  Bruno Haible  <bruno@clisp.org>
7529
7530         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
7531         * modules/poll-h (Depends-on): Add 'extensions'.
7532
7533 2010-09-28  Bruno Haible  <bruno@clisp.org>
7534
7535         New module 'poll-h'.
7536         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
7537         (poll): Use modern idiom.
7538         * modules/poll-h: New file.
7539         * modules/poll (Files): Remove lib/poll.in.h.
7540         (Depends-on): Add poll-h.
7541         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
7542         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
7543         * m4/poll_h.m4: New file.
7544         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
7545         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
7546         and invoke gl_REPLACE_POLL_H.
7547         * lib/poll.c: Use common idiom.
7548         * tests/test-poll.c: Likewise.
7549         * doc/posix-headers/poll.texi: Mention the poll-h module.
7550         Suggested by Eric Blake.
7551
7552 2010-09-26  Bruno Haible  <bruno@clisp.org>
7553
7554         sys_wait: Implement WSTOPSIG.
7555         * lib/sys_wait.in.h (WSTOPSIG): New macro.
7556         Reported by Simon Josefsson.
7557
7558 2010-09-26  Simon Josefsson  <simon@josefsson.org>
7559
7560         stdlib, sys_wait: Avoid compilation error on mingw.
7561         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
7562
7563 2010-09-26  Bruno Haible  <bruno@clisp.org>
7564
7565         stdlib tests: Avoid code duplication.
7566         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
7567         * modules/sys_wait-tests (Files): Likewise.
7568         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
7569         * tests/test-stdlib.c: Include test-sys_wait.h.
7570         (main): Invoke test_sys_wait_macros.
7571         * tests/test-sys_wait.c: Include test-sys_wait.h.
7572         (main): Invoke test_sys_wait_macros.
7573
7574 2010-09-25  Simon Josefsson  <simon@josefsson.org>
7575
7576         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
7577         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
7578         sure Windows sockets are working before calling getaddrinfo.
7579         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
7580         * doc/gnulib.texi (Windows sockets): Fix typo.
7581
7582 2010-09-25  Bruno Haible  <bruno@clisp.org>
7583
7584         Tests for module 'regex-quote'.
7585         * modules/regex-quote-tests: New file.
7586         * tests/test-regex-quote.c: New file.
7587
7588         New module 'regex-quote'.
7589         * lib/regex-quote.h: New file.
7590         * lib/regex-quote.c: New file.
7591         * modules/regex-quote: New file.
7592         Suggested by Reuben Thomas <rrt@sc3d.org>.
7593
7594 2010-09-24  Bruno Haible  <bruno@clisp.org>
7595
7596         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
7597         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
7598
7599 2010-09-23  Bruno Haible  <bruno@clisp.org>
7600
7601         setenv: Relax license.
7602         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
7603         Blake.
7604         Requested by Eric Blake.
7605
7606 2010-09-22  Bruno Haible  <bruno@clisp.org>
7607
7608         termios: Relax license.
7609         * modules/termios (License): Change to LGPLv2+.
7610         Requested by Eric Blake.
7611
7612 2010-09-22  Bruno Haible  <bruno@clisp.org>
7613
7614         threadlib: Allow the package to change the default to 'no'.
7615         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
7616         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
7617         Reported by Paul Eggert.
7618
7619 2010-09-22  Pádraig Brady  <P@draigbrady.com>
7620             Bruno Haible  <bruno@clisp.org>
7621
7622         Fix endless loop in mbmemcasecoll.
7623         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
7624         byte.
7625         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
7626
7627 2010-09-22  Bruno Haible  <bruno@clisp.org>
7628
7629         Tests for module 'memcoll'.
7630         * modules/memcoll-tests: New file.
7631         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
7632
7633         memcoll, xmemcoll: Clarify size vs. length.
7634         * modules/memcoll.c (memcoll0): Clarify specification.
7635         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
7636         passed to collate_error.
7637
7638 2010-09-22  Bruno Haible  <bruno@clisp.org>
7639
7640         Tests for module 'memcasecmp'.
7641         * modules/memcasecmp-tests: New file.
7642         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
7643
7644 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
7645
7646         * lib/pthread.in.h: Add split double-inclusion guard, and include
7647         system <pthread.h> if there is one.  Use @@-style as in other
7648         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
7649         pthread.h doesn't.
7650         (pthread_mutexattr_destroy, pthread_mutexattr_init):
7651         (pthread_mutexattr_settype, pthread_mutex_trylock):
7652         New static inline functions, if there's no system <pthread.h>.
7653         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
7654         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
7655         Approximate with mutexes if the system lacks spinlocks, as in
7656         MacOS.
7657         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
7658         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
7659         @@-style.  Check for spinlocks separately.
7660         (gl_PTHREAD_DEFAULTS): New macro.
7661         * modules/pthread: Redo to use a more typical style for in.h files.
7662
7663 2010-09-21  Eric Blake  <eblake@redhat.com>
7664
7665         net_if: enhance tests
7666         * tests/test-net_if.c (main): Move signature checks earlier.
7667         Print failures to stderr.
7668         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
7669         Document the bug that we do not yet fix.
7670
7671 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
7672
7673         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
7674         about gnulib, not GSS.
7675
7676 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
7677
7678         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
7679         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
7680         for Emacs.
7681         * build-aux/pmccabe2html: Make Makefile.am example code more
7682         cut-and-paste friendly.
7683
7684 2010-09-21  Simon Josefsson  <simon@josefsson.org>
7685
7686         * tests/test-net_if.c: New file.
7687         * modules/net_if-tests: New file.
7688
7689 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
7690
7691         pthread: add pthread_spin_destroy
7692         * lib/pthread.in.h (pthread_spin_destroy): New function.
7693
7694 2010-09-19  Bruno Haible  <bruno@clisp.org>
7695
7696         gnulib-tool: Fix --help output.
7697         * gnulib-tool (func_usage): Fix help message.
7698         Reported by Reuben Thomas <rrt@sc3d.org>.
7699
7700 2010-09-18  Jim Meyering  <meyering@redhat.com>
7701
7702         maint.mk: avoid unexpanded \n in two diagnostics
7703         * top/maint.mk (sc_prohibit_always_true_header_tests):
7704         Don't use a literal \n in a halt=... assignment.  It would not be
7705         expanded, and the two \n bytes would appear in the diagnostic output
7706         rather than the desired newline.  Use halt=$$(printf ... instead.
7707         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
7708
7709 2010-09-18  Bruno Haible  <bruno@clisp.org>
7710
7711         netinet_in: Doc tweak.
7712         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
7713         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
7714
7715 2010-09-18  Jim Meyering  <meyering@redhat.com>
7716
7717         init.sh: correct an outdated comment
7718         * tests/init.sh (create_exe_shims_):  s/function/alias/
7719
7720         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
7721         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
7722         a file named "*.exe" is removed between the glob expansion and the
7723         processing of that oddly named file.
7724
7725 2010-09-17  Eric Blake  <eblake@redhat.com>
7726
7727         mirbsd: add some more support
7728         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
7729         in BSD family.
7730         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
7731         devices as OpenBSD.
7732         * m4/host-os.m4 (mirbsd): Add MirBSD.
7733
7734         tests: fix unportable assumption on sys/wait.h
7735         * tests/test-sys_wait.c (main): Relax test.
7736         * tests/test-stdlib.c (main): Likewise.
7737
7738         init.sh: accomodate directory with no .exes
7739         * tests/init.sh: Accomodate directory containing only scripts.
7740
7741         tests: avoid compiler warning
7742         * tests/test-stdlib.c (main): Use the variable.
7743
7744         fdutimens, fdutimensat: update signature, again
7745         * lib/utimens.h (gl_futimens): Delete, and move signature...
7746         (fdutimens): ...here.
7747         (fdutimensat): Rearrange signature.
7748         (lutimensat): Rename variable for clarity.
7749         * lib/fdutimensat.c (fdutimensat): Update signature.
7750         * lib/utimens.c (fdutimens): Likewise.
7751         (gl_futimens): Delete.
7752         (utimens, lutimens): Update callers.
7753         * lib/futimens.c (futimens): Likewise.
7754         * tests/test-fdutimensat.c: Likewise.
7755         * tests/test-utimens.c: Likewise.
7756         * tests/test-futimens.h: Update comment.
7757         * NEWS: Mention this.
7758         Suggested by Paul Eggert.
7759
7760 2010-09-17  Bruno Haible  <bruno@clisp.org>
7761
7762         Take over the maintenance of some older macros from Autoconf.
7763         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
7764         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
7765         GNU Autoconf.
7766         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
7767         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
7768
7769 2010-09-17  Eric Blake  <eblake@redhat.com>
7770
7771         fdutimensat: drop atflag validation
7772         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
7773         with valid fd, to close a race scenario where futimens is
7774         unsupported and FILE was replaced by a symlink.
7775         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
7776         accordingly.
7777         Suggested by Paul Eggert.
7778
7779 2010-09-16  Bruno Haible  <bruno@clisp.org>
7780
7781         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
7782         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
7783
7784 2010-09-16  Bruno Haible  <bruno@clisp.org>
7785
7786         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
7787         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
7788         login_tty exists.
7789         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
7790
7791 2010-09-16  Bruno Haible  <bruno@clisp.org>
7792
7793         login_tty: Make the replacement code work on BSD systems.
7794         * lib/login_tty.c: Include <sys/ioctl.h>.
7795         (login_tty): Use ioctl TIOCSCTTY when available.
7796         * modules/login_tty (Depends-on): Add sys_ioctl.
7797         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
7798
7799 2010-09-16  Bruno Haible  <bruno@clisp.org>
7800
7801         login_tty: Stricter unit test.
7802         * modules/login_tty-tests (Depends-on): Add tcgetsid.
7803         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
7804         and tcgetsid() after login_tty.
7805         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
7806
7807 2010-09-16  Bruno Haible  <bruno@clisp.org>
7808
7809         New module 'tcgetsid'.
7810         * lib/tcgetsid.c: New file.
7811         * m4/tcgetsid.m4: New file.
7812         * modules/tcgetsid: New file.
7813         * modules/termios (Depends-on): Add c++defs, warn-on-use.
7814         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
7815         GNULIB_TCGETSID, HAVE_TCGETSID.
7816         * lib/termios.in.h: Include <sys/types.h>.
7817         (tcgetsid): New declaration.
7818         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
7819         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
7820         * doc/posix-functions/tcgetsid.texi: Mention the new module.
7821         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
7822
7823 2010-09-16  Bruno Haible  <bruno@clisp.org>
7824
7825         Tests for module 'termios'.
7826         * modules/termios-c++-tests: New file.
7827         * modules/termios-tests: New file.
7828         * tests/test-termios-c++.cc: New file.
7829         * tests/test-termios.c: New file.
7830
7831         New module 'termios'.
7832         * modules/termios: New file.
7833         * lib/termios.in.h: New file.
7834         * m4/termios_h.m4: New file.
7835         * doc/posix-headers/termios.texi: Mention the new module.
7836
7837 2010-09-16  Eric Blake  <eblake@redhat.com>
7838
7839         fdutimensat: add an atflag parameter
7840         * lib/fdutimensat.c (fdutimensat): Add new parameter.
7841         * lib/utimens.h (fdutimensat): Update prototype.
7842         * tests/test-fdutimensat.c: Adjust test to match.
7843         * NEWS: Document the change.
7844         Suggested by Paul Eggert.
7845
7846 2010-09-16  Bruno Haible  <bruno@clisp.org>
7847
7848         Fix typos in comments.
7849         * lib/striconveh.h: Fix typo in comment.
7850         * lib/login_tty.c (login_tty): Likewise.
7851
7852 2010-09-15  Bruno Haible  <bruno@clisp.org>
7853
7854         stdlib: clarify MirBSD WEXITSTATUS bug
7855         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
7856         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
7857
7858 2010-09-15  Eric Blake  <eblake@redhat.com>
7859
7860         stdlib: work around MirBSD WEXITSTATUS bug
7861         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
7862         * modules/stdlib (Depends-on): Add sys_wait.
7863         * tests/test-sys_wait.c (main): Enhance test.
7864         * tests/test-stdlib.c (main): Likewise.
7865         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
7866
7867         docs: mention MacOS issue with WEXITSTATUS(constant)
7868         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
7869         issue.
7870         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
7871
7872         strnlen: add tests
7873         * modules/strnlen-tests: New file.
7874         * tests/test-strnlen.c: Likewise.
7875
7876 2010-09-14  Bruno Haible  <bruno@clisp.org>
7877
7878         unistr/base: Avoid link errors when module 'libunistring' is also used.
7879         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
7880         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
7881         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
7882         Declare also when HAVE_LIBUNISTRING is set.
7883         Reported by Pádraig Brady <P@draigbrady.com>.
7884
7885 2010-09-14  Eric Blake  <eblake@redhat.com>
7886
7887         test-rawmemchr: make more robust
7888         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
7889         (Depends-on, configure.ac): Add needed prerequisites to use it.
7890         * modules/memchr-tests (Files, Depends-on, configure.ac):
7891         Likewise, to avoid implicit reliance on memchr module prereqs.
7892         * tests/test-memchr.c (main): Ensure proper masking.
7893         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
7894         reads.
7895
7896         memchr: detect glibc Alpha bug
7897         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
7898         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
7899         Alpha.
7900         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
7901         * tests/test-memchr.c (main): Enhance test.
7902         Reported by Nelson H. F. Beebe.
7903
7904 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
7905
7906         fts, getcwd, glob: audit for dirfd returning -1
7907         * lib/fts.c (opendir): Remove #define; no longer used.
7908         (opendirat): New arg PDIR_FD.  All callers changed.
7909         (fts_build, _opendir2): Use new opendirat to avoid the need for
7910         dirfd, or for checking whether dirfd returns a negative value.
7911         Don't use opendir; always use openat followed by fdopendir.
7912         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
7913         it.
7914         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
7915         returns -1 here.
7916         * modules/fts (Depends-on): Remove dirfd.
7917         * modules/getcwd (Depends-on): Likewise.
7918
7919 2010-09-13  Eric Blake  <eblake@redhat.com>
7920
7921         float: fix broken MirBSD header
7922         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
7923         * doc/posix-headers/float.texi (float.h): Document it.
7924
7925 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
7926
7927         fts: use O_NOFOLLOW to avoid race condition when opening a directory
7928         * lib/fts.c (opendirat): New arg extra_flags.
7929         (__opendir2): Use it to avoid following symlinks when opening
7930         a directory, if symlinks are not supposed to be followed.  See
7931         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
7932
7933         fdopendir: preserve argument fd before returning
7934         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
7935         (fdopendir_with_dup, fd_clone_opendir): New static functions.
7936         (fdopendir): Use them, arranging for FD to be open to the same
7937         directory that it was when it started.  (It might be temporarily
7938         closed while fdopendir is running, so this not thread- or
7939         signal-safe.)  Be careful to do the right thing even when file
7940         descriptors are scarce and dup fails with errno == EMFILE.  See
7941         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
7942
7943 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
7944
7945         regex: Pass the system regex if its only problem is 32-bit regoff_t.
7946         * NEWS: Document change.
7947         * m4/regex.m4: Disable test for regoff_t size.
7948
7949 2010-09-13  Jim Meyering  <meyering@redhat.com>
7950
7951         fts: don't operate on an invalid file descriptor after failed dup
7952         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
7953         negative file descriptor.
7954
7955 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
7956
7957         savedir: add streamsavedir, deprecate fdsavedir
7958         * NEWS: Mention deprecation of fdsavedir.
7959         * lib/savedir.c (streamsavedir): New extern function, whose name
7960         ends in "savedir" to be consistent with the others.  This differs
7961         from savedirstream in that it doesn't close its argument.  The
7962         next version of GNU tar will use this instead of fdsavedir, to
7963         avoid some race conditions and conserve file descriptors.
7964         (savedirstream): Reimplement as a wrapper around streamsavedir.
7965         (fdsavedir): Add a comment deprecating this function.  As far as
7966         I know, only GNU tar used it, and GNU tar doesn't need it any more.
7967         * lib/savedir.h (streamsavedir): New decl.
7968         (fdsavedir): Add a comment deprecating this.
7969
7970 2010-09-10  Bruno Haible  <bruno@clisp.org>
7971
7972         langinfo: Fix last commit.
7973         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
7974         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
7975         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7976
7977 2010-09-10  Bruno Haible  <bruno@clisp.org>
7978
7979         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
7980         * lib/progreloc.c (O_EXEC): Define fallback.
7981
7982 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
7983
7984         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
7985         * NEWS: Document recent changes to fcntl-h.
7986         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
7987         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
7988         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
7989         Similarly for O_SEARCH; this last was already true, but not documented.
7990         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
7991         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
7992         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
7993         Likewise.
7994         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
7995         is zero, not whether it is defined.
7996         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
7997         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
7998         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
7999
8000 2010-09-10  Bruno Haible  <bruno@clisp.org>
8001
8002         langinfo, nl_langinfo: Fix for IRIX 5.3.
8003         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
8004         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
8005         HAVE_LANGINFO_YESEXPR.
8006         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
8007         HAVE_LANGINFO_YESEXPR.
8008         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
8009         HAVE_LANGINFO_T_FMT_AMPM is 0.
8010         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
8011         HAVE_LANGINFO_YESEXPR is 0.
8012         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
8013         NOEXPR.
8014         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
8015         * doc/posix-functions/nl_langinfo.texi: Likewise.
8016         Reported by Eric Blake.
8017
8018 2010-09-10  Bruno Haible  <bruno@clisp.org>
8019
8020         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
8021         * doc/glibc-functions/login_tty.texi: Mention the include file problem
8022         on FreeBSD 8.0 and OpenBSD 4.6.
8023         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
8024         * m4/pty_h.m4 (gl_PTY_H): Likewise.
8025         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
8026         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
8027         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
8028         ac_includes_default.
8029         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
8030
8031 2010-09-09  Eric Blake  <eblake@redhat.com>
8032
8033         strsignal: work around NetBSD bug
8034         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
8035         * lib/string.in.h (includes): Likewise.
8036         * doc/posix-functions/strsignal.texi (strsignal): Document the
8037         bug.
8038         Reported by Nelson H. F. Beebe.
8039
8040         gnulib-tool: work with NetBSD /bin/sh
8041         * gnulib-tool (func_cache_var, func_cache_lookup_module)
8042         (func_get_description, func_get_comment, func_get_status)
8043         (func_get_notice, func_get_applicability, func_get_filelist)
8044         (func_get_dependencies, func_get_autoconf_early_snippet)
8045         (func_get_autoconf_snippet, func_get_automake_snippet)
8046         (func_get_include_directive, func_get_link_directive)
8047         (func_get_license, func_get_maintainer, func_import): Avoid
8048         shell syntax errors from parsing syntax extensions.
8049
8050 2010-09-09  Bruno Haible  <bruno@clisp.org>
8051
8052         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
8053         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
8054         a reliable way to determine whether the 'alias' command works.
8055
8056 2010-09-08  Jim Meyering  <meyering@redhat.com>
8057
8058         init.sh: penalize a set-x-impaired shell; don't disqualify it
8059         * tests/init.sh: Too many shells corrupt application stderr when
8060         you set -x, so we can't afford to disqualify them, since at least
8061         on Irix-6.5, that would disqualify all bourne shells.
8062         Instead, use a two-pass approach.
8063         On the first pass, try to find a shell that meets the stricter
8064         condition that set -x does not corrupt stderr.
8065         If no shell meets the stricter condition, retest each candidate
8066         shell, but without that extra condition.  Finally, when
8067         VERBOSE=yes is requested and set -x might cause trouble, simply
8068         issue a warning and refrain from enabling debug output.
8069
8070 2010-09-08  Eric Blake  <eblake@redhat.com>
8071
8072         unsetenv: fix OpenBSD bug
8073         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
8074         * doc/posix-functions/unsetenv.texi (unsetenv): Update
8075         documentation.
8076         Reported by Jim Meyering.
8077
8078         strtod: work around IRIX 6.5 bug
8079         * lib/strtod.c (strtod): Reparse number on shorter string if
8080         exponent parse was invalid.
8081         * tests/test-strtod.c (main): Add check for "0x1p 2".
8082         Reported by Tom G. Christensen.
8083
8084         getopt: optimize previous patch
8085         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
8086         empty variable.  Speed up awk script.
8087         Reported by Paolo Bonzini.
8088
8089 2010-09-08  Jim Meyering  <meyering@redhat.com>
8090
8091         test.sh: disqualify shells for which set -x corrupts stderr
8092         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
8093         and OpenBSD 4.7.  They make it so with "set -x", environment settings
8094         appear in stderr output.  For example, this command:
8095             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
8096         prints "P=1" on those two systems:
8097
8098 2010-09-08  Bruno Haible  <bruno@clisp.org>
8099
8100         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
8101         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
8102         commands, because some shells ignore redirections when there is an
8103         error in the command lookup.
8104         Reported by Eric Blake.
8105
8106 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
8107
8108         * lib/regex.h: Fix a mention of `regex_compile' (should be
8109         `re_compile_pattern').
8110         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
8111         (re_set_registers): Correct name of parameter in comment.
8112
8113         * doc/regex.texi: Add documentation for missing syntax flags.
8114         Remove commented-out documentation of defunct syntax option
8115         RE_NO_EMPTY_ALTS.
8116         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
8117         Add documentation of re_set_registers.
8118         Document trick to re-use a pattern buffer by setting fastmap manually.
8119         Update documentation of struct re_pattern_buffer per public members.
8120         Uncomment documentation of equivalence class operators and
8121         collating symbol operators, since they are now implemented,
8122         Explain leftmost-longest matching in relation to alternatives.
8123         Tidy documentation of substring matching.
8124         Remove POSIX documentation, which is done better in
8125         glibc, and refer the reader there. Keep BSD API documentation, as
8126         that is not readily available elsewhere.
8127
8128 2010-09-07  Eric Blake  <eblake@redhat.com>
8129
8130         getopt: handle POSIXLY_CORRECT set but not exported
8131         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
8132         export state of POSIXLY_CORRECT, due to bash set -o posix.
8133         Reported by Dustin J. Mitchell.
8134
8135 2010-09-05  Bruno Haible  <bruno@clisp.org>
8136
8137         gnulib-tool: Highlight the changed options.
8138         * gnulib-tool (func_usage): Display the --import, --add-import,
8139         --remove-import explanations in bold font.
8140
8141 2010-09-06  Karl Berry  <karl@gnu.org>
8142
8143         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
8144
8145 2010-09-05  Bruno Haible  <bruno@clisp.org>
8146
8147         uniwidth/width: Update comment.
8148         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
8149         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
8150
8151 2010-09-05  Bruno Haible  <bruno@clisp.org>
8152
8153         isinf, isnan: Relax license.
8154         * modules/isinf (License): Change from GPL to LGPL, with consent from
8155         Ben Pfaff.
8156         * modules/isnan (License): Likewise.
8157         Requested by Ludovic Courtès.
8158
8159 2010-09-04  Bruno Haible  <bruno@clisp.org>
8160
8161         gnulib-tool: Help migration from --import to --add-import or --update.
8162         * gnulib-tool: Emit a verbose error message when --import is used
8163         without any module name.
8164
8165 2010-09-04  Bruno Haible  <bruno@clisp.org>
8166
8167         Update doc about gnulib-tool.
8168         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
8169         'gnulib-tool --update' in more detail.
8170         Reported by Eric Blake.
8171
8172 2010-09-04  Bruno Haible  <bruno@clisp.org>
8173
8174         gnulib-tool: Change --import. New options --add/remove-import.
8175         * gnulib-tool: New options --add-import, --remove-import.
8176         (func_usage): Document them.
8177         (have_associative): Define always.
8178         (func_import): In import mode, don't merge the specified settings with
8179         the cached settings. Implement remove-import mode.
8180         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
8181         Explain when to use them versus --import.
8182         (Simple update): Use --add-import instead of --import.
8183         * NEWS: Mention the change.
8184
8185 2010-09-04  Bruno Haible  <bruno@clisp.org>
8186
8187         * doc/gnulib-tool.texi (Initial import): Update paragraph about
8188         separate gnulib.mk.
8189
8190 2010-09-04  Bruno Haible  <bruno@clisp.org>
8191
8192         gnulib-tool: Don't talk about CVS any more.
8193         * gnulib-tool (func_usage, func_import): Write "version control"
8194         instead of CVS.
8195
8196 2010-09-04  Jim Meyering  <meyering@redhat.com>
8197
8198         maint.mk: avoid obscure sc_copyright_check failure in coreutils
8199         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
8200         false positives (whose names may be ill-chosen) when searching
8201         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
8202         would cause a false-positive.
8203
8204         avoid coreutils "make distcheck" failure
8205         Coreutils tests with an absolute build directory name that contains
8206         a space.  Not quoting this directory name caused a failure.
8207         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
8208         * tests/test-vc-list-files-cvs.sh: Likewise.
8209
8210 2010-09-04  Bruno Haible  <bruno@clisp.org>
8211
8212         gnulib-tool: Avoid error when run in a package without Makefile.am.
8213         * gnulib-tool: When collecting the m4dirs in a package that does not
8214         have a Makefile.am, eliminate those directories that contain no
8215         gnulib-cache.m4. Fix expression that counts these directories.
8216
8217 2010-09-04  Bruno Haible  <bruno@clisp.org>
8218
8219         update-copyright test: Improve output when perl is missing or too old.
8220         * tests/test-update-copyright.sh: Move test of Perl version down after
8221         the test whether Perl exists. Provide an explanation relating Perl's
8222         error message to Automake's SKIP: message.
8223
8224 2010-09-04  Bruno Haible  <bruno@clisp.org>
8225
8226         Don't augment PATH in TESTS_ENVIRONMENT.
8227         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
8228         set abs_aux_dir instead of augmenting PATH.
8229         * modules/vc-list-files-tests (Makefile.am): Likewise.
8230         * tests/test-update-copyright.sh: Augment PATH here.
8231         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
8232         path_prepend_.
8233         * tests/test-vc-list-files-git.sh: Likewise.
8234
8235 2010-09-04  Jim Meyering  <meyering@redhat.com>
8236
8237         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
8238         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
8239
8240 2010-09-04  Bruno Haible  <bruno@clisp.org>
8241
8242         strdup: Fix compilation error in C++ mode.
8243         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
8244         the macro.
8245
8246 2010-09-04  Bruno Haible  <bruno@clisp.org>
8247
8248         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
8249         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
8250         macro into a function.
8251         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
8252
8253 2010-09-04  Bruno Haible  <bruno@clisp.org>
8254
8255         Set PATH_SEPARATOR the same way autoconf does.
8256         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
8257         the value of PATH_SEPARATOR the same way autoconf-generated configure
8258         scripts do.
8259         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
8260         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
8261
8262 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
8263
8264         Set PATH_SEPARATOR the same way autoconf does.
8265         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
8266         the same way autoconf-generated configure scripts do.
8267         * posix-modules: Likewise.
8268
8269 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
8270
8271         hash: fix safe_hasher const typo
8272         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
8273         const; otherwise, there is a type error later.
8274
8275 2010-09-02  Jim Meyering  <meyering@redhat.com>
8276
8277         test-update-copyright.sh: require perl 5.8.0
8278         * tests/test-update-copyright.sh: Require 5.8.0,
8279         which Tom G. Christensen has confirmed is adequate,
8280         while 5.6.1 is not.
8281
8282 2010-09-02  Eric Blake  <eblake@redhat.com>
8283
8284         tests: init.sh improvements for re-exec'ing with zsh
8285         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
8286         -vx through shell re-exec.
8287         Reported by Tom G. Christensen.
8288
8289         wctype: fix typo in previous commit
8290         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
8291         Reported by Ludovic Courtès.
8292
8293 2010-09-02  Jim Meyering  <meyering@redhat.com>
8294
8295         test-update-copyright.sh: skip test if Perl is too old
8296         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
8297         Reported by Tom G. Christensen.
8298
8299 2010-09-02  Bruno Haible  <bruno@clisp.org>
8300
8301         wctype: Avoid compilation error on IRIX 6.5.30.
8302         * lib/wctype.in.h (iswblank): Declare with a replacement if
8303         REPLACE_ISWBLANK is set.
8304         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
8305         declared. Set REPLACE_ISWBLANK.
8306         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
8307         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
8308         * doc/posix-headers/wctype.texi: Likewise.
8309         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8310
8311 2010-09-01  Bruno Haible  <bruno@clisp.org>
8312
8313         New module 'socketlib'.
8314         * modules/socketlib: New file.
8315         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
8316         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
8317         * modules/sockets (Depends-on): Add socketlib.
8318         Suggested by Sam Steingold <sds@gnu.org>.
8319
8320 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
8321
8322         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
8323
8324         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
8325         when one needs search access to a directory but not read access.
8326         On systems where it is available, it works in some cases where
8327         O_RDONLY does not, namely on directories that are searchable but
8328         not readable, and which need only to be searchable.  If O_SEARCH
8329         is not available, fall back to the traditional method of using
8330         O_RDONLY.
8331
8332         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
8333         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
8334         when opening a directory that needs only to be searchable.
8335         * lib/chdir-safer.c (chdir_no_follow): Likewise.
8336         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
8337         * lib/openat-proc.c (openat_proc_name): Likewise.
8338         * lib/openat.c (openat_needs_fchdir): Likewise.
8339         * lib/save-cwd.c (save_cwd): Likewise.
8340         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
8341
8342 2010-08-28  Bruno Haible  <bruno@clisp.org>
8343
8344         New module 'host-cpu-c-abi'.
8345         * modules/host-cpu-c-abi: New file.
8346         * m4/host-cpu-c-abi.m4: New file, based on part of
8347         clisp/src/m4/general.m4.
8348         Requested by Sam Steingold <sds@gnu.org>.
8349
8350 2010-08-31  Eric Blake  <eblake@redhat.com>
8351         and Jim Meyering  <meyering@redhat.com>
8352
8353         hash: factor, and guard against misbehaving hasher function
8354         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
8355         of table->hasher's return value.  Also protect against a hash value
8356         so large that adding it to table->bucket results in a NULL pointer.
8357         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
8358         Use it in place of open-coded check-and-abort.
8359
8360 2010-08-30  Bruno Haible  <bruno@clisp.org>
8361
8362         hash: silence spurious clang warning
8363         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
8364         Reported by Eric Blake.
8365
8366 2010-08-30  Eric Blake  <eblake@redhat.com>
8367
8368         strstr, memmem, strcasestr: avoid leaked shell message
8369         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
8370         FreeBSD.
8371         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
8372         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
8373
8374         tests: silence clang warning
8375         * tests/test-malloca.c (do_allocation): Avoid dead store.
8376
8377 2010-08-29  Bruno Haible  <bruno@clisp.org>
8378
8379         gettext: Fix recent mistake.
8380         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
8381
8382 2010-08-29  Bruno Haible  <bruno@clisp.org>
8383
8384         selinux-h: Offer a --without-selinux option.
8385         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
8386         --without-selinux was specified, skip all tests and define
8387         HAVE_SELINUX_SELINUX_H to 0.
8388         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
8389         set LIB_SELINUX to empty.
8390         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
8391         gl_LIBSELINUX. If --without-selinux was specified, replace
8392         selinux/context.h.
8393         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
8394
8395 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8396             Bruno Haible  <bruno@clisp.org>
8397
8398         Make the module 'realloc-gnu' work again on AIX and OSF/1.
8399         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
8400         of HAVE_REALLOC.
8401         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
8402         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
8403         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
8404         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
8405
8406 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8407             Bruno Haible  <bruno@clisp.org>
8408
8409         Make the module 'calloc-gnu' work again on AIX and OSF/1.
8410         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
8411         HAVE_CALLOC.
8412         * lib/xmalloc.c: Update accordingly.
8413         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
8414         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
8415         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
8416
8417 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8418             Bruno Haible  <bruno@clisp.org>
8419
8420         Make the module 'malloc-gnu' work again on AIX and OSF/1.
8421         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
8422         HAVE_MALLOC.
8423         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
8424         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
8425         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
8426
8427 2010-08-29  Bruno Haible  <bruno@clisp.org>
8428
8429         Update modules list.
8430         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
8431         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
8432         (String handling <string.h>): Add astrxfrm.
8433         (File system functions): Add readlinkat.
8434
8435 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8436
8437         Tests for module 'realloc-gnu'.
8438         * modules/realloc-gnu-tests: New file.
8439         * tests/test-realloc-gnu.c: New file.
8440
8441         Tests for module 'calloc-gnu'.
8442         * modules/calloc-gnu-tests: New file.
8443         * tests/test-calloc-gnu.c: New file.
8444
8445         Tests for module 'malloc-gnu'.
8446         * modules/malloc-gnu-tests: New file.
8447         * tests/test-malloc-gnu.c: New file.
8448
8449 2010-08-28  Bruno Haible  <bruno@clisp.org>
8450
8451         Rename module 'realloc' -> 'realloc-gnu'.
8452         * modules/realloc-gnu: New file, copied from modules/realloc.
8453         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
8454         obsolete.
8455         * modules/mgetgroups (Depends-on): Update.
8456         * doc/posix-functions/realloc.texi: Update.
8457         * NEWS: Mention the change.
8458
8459         Rename module 'calloc' -> 'calloc-gnu'.
8460         * modules/calloc-gnu: New file, copied from modules/calloc.
8461         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
8462         obsolete.
8463         * doc/posix-functions/calloc.texi: Update.
8464         * NEWS: Mention the change.
8465
8466         Rename module 'malloc' -> 'malloc-gnu'.
8467         * modules/malloc-gnu: New file, copied from modules/malloc.
8468         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
8469         obsolete.
8470         * modules/argp (Depends-on): Update.
8471         * modules/regex (Depends-on): Update.
8472         * doc/posix-functions/malloc.texi: Update.
8473         * NEWS: Mention the change.
8474
8475 2010-08-28  Eric Blake  <eblake@redhat.com>
8476
8477         pread, pwrite: add missing dependency
8478         * modules/pread (Depends-on): Add extensions.
8479         * modules/pwrite (Depends-on): Likewise.
8480
8481 2010-08-28  Bruno Haible  <bruno@clisp.org>
8482
8483         unistr/u*-strchr: Fix tests dependencies.
8484         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
8485         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
8486         Reported by Ian Beckwith <ianb@erislabs.net>.
8487
8488 2010-08-28  Bruno Haible  <bruno@clisp.org>
8489
8490         read-file: Don't occupy too much unused memory.
8491         * lib/read-file.c (fread_file): Shrink the buffer at the end.
8492
8493 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
8494             Eric Blake  <eblake@redhat.com>
8495             Bruno Haible  <bruno@clisp.org>
8496
8497         read-file: Avoid memory reallocations with regular files.
8498         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
8499         (fread_file): With regular files, use the remaining length as the
8500         initial buffer size.  Check against overflow.
8501         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
8502         sys_stat.
8503
8504 2010-08-28  Bruno Haible  <bruno@clisp.org>
8505
8506         ftello: Relax license.
8507         * modules/ftello (License): Relax to LGPLv2+.
8508         Reported by Eric Blake.
8509
8510 2010-08-28  Bruno Haible  <bruno@clisp.org>
8511
8512         Avoid relocwrapper link errors due to gnulib replacement functions.
8513         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
8514         function.
8515         Reported by Ben Pfaff <blp@cs.stanford.edu>.
8516
8517 2010-08-28  Bruno Haible  <bruno@clisp.org>
8518
8519         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
8520         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
8521         defined.
8522         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
8523         Suggested by Eric Blake.
8524
8525 2010-08-28  Bruno Haible  <bruno@clisp.org>
8526
8527         sys_socket, netdb: Ensure socklen_t gets defined.
8528         * modules/sys_socket (Depends-on): Add socklen.
8529         * modules/netdb (Depends-on): Likewise.
8530         * modules/getaddrinfo (Depends-on): Remove socklen.
8531         * modules/getsockopt (Depends-on): Likewise.
8532         * modules/setsockopt (Depends-on): Likewise.
8533         * tests/test-sys_socket.c: Check that socklen_t is defined.
8534         * tests/test-netdb.c: Likewise.
8535         * m4/socklen.m4: Update comments.
8536         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8537
8538 2010-08-27  Eric Blake  <eblake@redhat.com>
8539
8540         login_tty: add missing dependency
8541         * modules/login_tty (Depends-on): Add pty.
8542
8543 2010-08-26  Eric Blake  <eblake@redhat.com>
8544
8545         lib-symbol-versions: fix m4 quoting
8546         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
8547         format for AC_LINK_IFELSE.
8548
8549         glob: fix compile test
8550         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
8551
8552         btowc: fix missing file
8553         * modules/btowc (Files): Also ship locale-fr.m4.
8554
8555         lseek: fix link test
8556         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
8557         AC_LINK_IFELSE.
8558
8559         include_next: silence autoconf 2.68 warning
8560         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
8561         AC_COMPILE_IFELSE as special.
8562         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
8563         autoconf < 2.68.
8564
8565         acl: fix compilation test
8566         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
8567         AC_COMPILE_IFELSE.
8568
8569 2010-08-26  Bruno Haible  <bruno@clisp.org>
8570
8571         Modernize AC_TRY_RUN invocations.
8572         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
8573         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
8574         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
8575         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
8576         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
8577         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
8578         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
8579         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
8580         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
8581         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
8582         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
8583         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
8584         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
8585         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
8586         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
8587         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
8588         gl_MBRLEN_NUL_RETVAL): Likewise.
8589         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
8590         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
8591         Likewise.
8592         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
8593         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
8594         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
8595         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
8596         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
8597         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
8598         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
8599         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
8600         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
8601         Likewise.
8602         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
8603         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
8604         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
8605         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
8606         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
8607         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
8608         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
8609         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
8610         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
8611         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
8612
8613 2010-08-26  Bruno Haible  <bruno@clisp.org>
8614
8615         Modernize AC_TRY_LINK invocations.
8616         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
8617         AC_TRY_LINK.
8618         * m4/argp.m4 (gl_ARGP): Likewise.
8619         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
8620         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
8621         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
8622         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
8623         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
8624         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
8625         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
8626         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
8627         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
8628         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
8629         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
8630         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
8631         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
8632         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
8633         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
8634         * m4/hostent.m4 (gl_HOSTENT): Likewise.
8635         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
8636         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
8637         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
8638         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
8639         Likewise.
8640         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
8641         Likewise.
8642         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
8643         Likewise.
8644         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
8645         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
8646         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
8647         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
8648         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
8649         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
8650         * m4/servent.m4 (gl_SERVENT): Likewise.
8651         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
8652         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
8653         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
8654         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
8655         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
8656         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
8657         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
8658         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
8659         * modules/tsearch-tests (configure.ac): Likewise.
8660
8661 2010-08-26  Bruno Haible  <bruno@clisp.org>
8662
8663         Modernize AC_TRY_COMPILE invocations.
8664         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
8665         AC_TRY_COMPILE.
8666         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
8667         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
8668         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
8669         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
8670         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
8671         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
8672         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
8673         * m4/lock.m4 (gl_LOCK): Likewise.
8674         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
8675         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
8676         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
8677         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
8678         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
8679         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
8680         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
8681         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
8682         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
8683         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
8684         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
8685         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
8686         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
8687         extraneous semicolon.
8688
8689 2010-08-26  Jim Meyering  <meyering@redhat.com>
8690
8691         stat-time: relax license LGPL
8692         * modules/stat-time (License): Change from GPL to LGPL,
8693         with consent from all contributors, for use in libguile.
8694         Requested by Ludovic Courtès.
8695
8696 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
8697
8698         poll: return immediately on POLLHUP.
8699         * lib/poll.c (poll): Always set timeout before wait_timeout is
8700         computed.
8701
8702 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8703
8704         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
8705         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
8706         rmdir ("dir/.//"), unlinkat.
8707
8708 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
8709
8710         stdbool: avoid spurious failure with modern xlc
8711         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
8712
8713 2010-08-24  Bruno Haible  <bruno@clisp.org>
8714
8715         getloadavg: simplify code
8716         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
8717         gl_have_func. Update comments.
8718
8719 2010-08-24  Eric Blake  <eblake@redhat.com>
8720
8721         getloadavg: don't define SVR4 on cygwin
8722         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
8723         only define SVR4 when -lkvm is required.
8724         Reported by Yaakov Selkowitz.
8725
8726 2010-08-24  Bruno Haible  <bruno@clisp.org>
8727
8728         priv-set: fix comment
8729         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
8730
8731 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
8732
8733         priv-set: fix comments
8734         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
8735         to match code, as suggested by David Bartley in:
8736         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
8737
8738 2010-08-23  Eric Blake  <eblake@redhat.com>
8739
8740         stdbool: avoid rejecting clang
8741         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
8742         * tests/test-stdbool.c: Enable more tests if using the system
8743         <stdbool.h> instead of the gnulib replacement.
8744         (main): Move xlc bug test to a runtime test for all compilers.
8745         Reported by Anders Kaseorg.
8746
8747         argz: fix shell quoting issue
8748         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
8749         Reported by Charles Wilson.
8750
8751 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
8752             Erik Faye-Lund <kusmabite@gmail.com>
8753
8754         poll, select: handle ERROR_BROKEN_PIPE.
8755         * lib/poll.c (win32_compute_revents): Return POLLHUP when
8756         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
8757         * lib/select.c (win32_compute_revents): Do not mark a pipe
8758         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
8759
8760 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
8761
8762         fts: allow compilation with C++
8763         * lib/fts_.h: Specify extern "C" linkage with C++.
8764
8765 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8766
8767         Fix gnulib-tool sed script de-commentation for AIX sed.
8768         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
8769         sed.
8770
8771 2010-08-17  Eric Blake  <eblake@redhat.com>
8772
8773         test-stddef: test for (some) offsetof bugs
8774         * tests/test-stddef.c: Enhance test to ensure correct type of
8775         offsetof.
8776         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
8777         that we are not fixing at this time.
8778
8779 2010-08-15  Bruno Haible  <bruno@clisp.org>
8780
8781         stpncpy: Allow stpncpy to be defined as a macro.
8782         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
8783         if it's already correctly declared.
8784         * lib/string.in.h (stpncpy): Undefine before redefining.
8785         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
8786
8787 2010-08-14  Bruno Haible  <bruno@clisp.org>
8788
8789         Rename module 'memxfrm' to 'amemxfrm'.
8790         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
8791         (amemxfrm): Renamed from memxfrm.
8792         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
8793         (amemxfrm): Renamed from memxfrm.
8794         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
8795         * NEWS: Mention the change.
8796         * MODULES.html.sh (String handling <string.h>): Update.
8797         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
8798         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
8799         * lib/unicase/u16-casexfrm.c: Likewise.
8800         * lib/unicase/u32-casexfrm.c: Likewise.
8801         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
8802         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
8803         * lib/uninorm/u16-normxfrm.c: Likewise.
8804         * lib/uninorm/u32-normxfrm.c: Likewise.
8805         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
8806         memxfrm.
8807         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
8808         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
8809         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
8810         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
8811         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
8812         Suggested by Paul Eggert.
8813
8814 2010-08-14  Bruno Haible  <bruno@clisp.org>
8815
8816         Tests for module 'astrxfrm'.
8817         * modules/astrxfrm-tests: New file.
8818         * tests/test-astrxfrm.c: New file.
8819
8820         New module 'astrxfrm'.
8821         * lib/astrxfrm.h: New file.
8822         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
8823         * modules/astrxfrm: New file.
8824
8825 2010-08-14  Reuben Thomas <rrt@sc3d.org>
8826
8827         regex: Tweak doc.
8828         * doc/regex.texi (Overview): Don't mention regex.c.
8829         (GNU Regular Expression Compiling): Likewise.
8830         (Match-end-of-line Operator): Mention 'not_eol'.
8831
8832 2010-08-14  Brian Gough  <bjg@gnu.org>
8833             Bruno Haible  <bruno@clisp.org>
8834
8835         git-merge-changelog: add doc relating to use with bzr and hg.
8836         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
8837
8838 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
8839
8840         pthread: fix pthread.h creation for srcdir != builddir
8841         * modules/pthread (Makefile.am): Fix the rule to work also in a
8842         non-srcdir build.
8843
8844 2010-08-13  Karl Berry  <karl@gnu.org>
8845
8846         * doc/regex.texi (Predefined Syntaxes): @smallexample.
8847         * doc/posix-*/*: force line break before @url of POSIX
8848         specifications.
8849         Suggested by Werner Lemberg.
8850
8851 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
8852
8853         strtod: fix const diagnostic
8854         * lib/strtod.c (strtod): Don't assign const char * to char *,
8855         as this elicits a warning from GCC when warnings are enabled.
8856
8857 2010-08-10  Pádraig Brady <P@draigbrady.com>
8858         and Eric Blake  <eblake@redhat.com>
8859
8860         copy-acl: ignore ENOTSUP on HP-UX
8861         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
8862         so that it is available for HP-UX.
8863         * lib/copy-acl.c (qcopy_acl): Use it.
8864         Reported by Patrick M. Callahan.
8865
8866 2010-08-10  Eric Blake  <eblake@redhat.com>
8867
8868         open, chown: relax license
8869         * modules/open (License): Change to LGPLv2+, with consent by all
8870         authors, for use in augeas.
8871         * modules/chown (License): Likewise.
8872         * modules/lchown (Likewise): Likewise.
8873         Requested by Adam Stokes.
8874
8875 2010-08-09  Karl Berry  <karl@gnu.org>
8876
8877         * build-aux/ar-lib: new file, import from Automake.
8878         * config/srclist.txt: autocheck for updates.
8879
8880 2010-08-09  Eric Blake  <eblake@redhat.com>
8881
8882         readlinkat: adjust client modules
8883         * modules/areadlinkat (Depends-on): Use readlinkat, not
8884         symlinkat.
8885         * modules/areadlinkat-with-size (Depends-on): Likewise.
8886
8887         mknod: be more vocal about danger of running tests as root
8888         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
8889         root, since that is just asking for problems.
8890         Suggested by Bruno Haible, based on a report by Rainer Tammer.
8891
8892         readlinkat: split into its own module
8893         * modules/symlinkat: Split readlinkat...
8894         * modules/readlinkat: ...into separate module.
8895         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
8896         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
8897         * lib/symlinkat.c (readlinkat): Move...
8898         * lib/readlinkat.c: ...into new file.
8899         * modules/symlinkat-tests: Split readlinkat test...
8900         * modules/readlinkat-tests: ...into separate module.
8901         * tests/test-symlinkat.c: Split...
8902         * tests/test-readlinkat.c: ...into new file.
8903         * NEWS: Document the split.
8904         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
8905         * lib/unistd.in.h (readlinkat): Likewise.
8906         Suggested by Bruno Haible.
8907
8908 2010-08-08  Bruno Haible  <bruno@clisp.org>
8909
8910         memxfrm: Speed up.
8911         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
8912         that usually only one call to strxfrm is necessary for each string
8913         part.
8914         Reported by Paul Eggert <eggert@cs.ucla.edu>.
8915
8916 2010-08-07  Karl Berry  <karl@gnu.org>
8917
8918         * doc/posix-headers/limits.texi,
8919         * doc/posix-functions/malloc.texi,
8920         * doc/posix-functions/strsignal.texi: missing @item.
8921         * doc/ld-version-script.texi: spurious leading i.
8922         * doc/regex.texi (Interval Operators): no commas inside @var.
8923
8924 2010-08-01  Bruno Haible  <bruno@clisp.org>
8925
8926         Integrate the regex documentation.
8927         * doc/gnulib.texi: Define 'cn' index.
8928         (Regular expressions): New a chapter that includes regex.texi and
8929         regexprops-generic.texi.
8930         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
8931         syntax.
8932
8933         Whitespace cleanup.
8934         * doc/regex.texi: Remove trailing spaces.
8935
8936         Add regex documentation.
8937         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
8938         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
8939         Written by Kathy A. Hargreaves and Karl Berry.
8940
8941 2010-08-01  Bruno Haible  <bruno@clisp.org>
8942
8943         link: Update documentation.
8944         * doc/posix-functions/link.texi: Update regarding Solaris.
8945
8946 2010-07-31  Bruno Haible  <bruno@clisp.org>
8947
8948         Update modules list.
8949         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
8950         (String handling <string.h>): Add memcmp2, memxfrm.
8951         (Container data structures): Add xlist, xsublist, xoset.
8952         (Core language properties): Add alignof, unused-parameter.
8953         (Process control, Numeric conversion functions <stdlib.h>): Renamed
8954         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
8955         (Unibyte characters <ctype.h>): New section.
8956         (String handling <string.h>): New section.
8957         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
8958         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
8959         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
8960         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
8961         tan, tanh, tanl, y0, y1, yn.
8962         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
8963         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
8964         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
8965         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
8966         unlockpt, vdprintf, vdprintf-posix.
8967         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
8968         (File system functions): Add concat-filename, sys_file, sys_ioctl,
8969         xconcat-filename.
8970         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
8971         getdtablesize, pipe2, pipe2-safer.
8972         (Security): New section.
8973         (Networking functions): Add accept4.
8974         (Signal handling): Add sigpipe.
8975         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
8976         mbmemcasecoll.
8977         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
8978         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
8979         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
8980         pipe-filter-ii.
8981         (Misc): Add argp-version-etc, login_tty, parse-duration.
8982
8983 2010-07-31  Bruno Haible  <bruno@clisp.org>
8984
8985         Improve doc in MODULES.html.
8986         * modules/linkat (Description): Add the word "function".
8987         * modules/mkfifo (Description): Likewise.
8988         * modules/mknod (Description): Likewise.
8989         * modules/remove (Description): Likewise.
8990         * modules/renameat (Description): Likewise.
8991         * modules/stat (Description): Likewise.
8992         * modules/symlink (Description): Likewise.
8993         * modules/unlink (Description): Likewise.
8994
8995 2010-07-31  Bruno Haible  <bruno@clisp.org>
8996
8997         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
8998         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
8999         option --enable/disable-c++ instead of --enable/disable-cxx.
9000         * NEWS: Mention the change.
9001
9002 2010-07-31  Bruno Haible  <bruno@clisp.org>
9003
9004         readlink, areadlink: Relax test a bit.
9005         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
9006         alternative to ENOTDIR.
9007         * tests/test-areadlink.h (test_areadlink): Likewise.
9008         Reported by Rainer Tammer.
9009
9010 2010-07-31  Bruno Haible  <bruno@clisp.org>
9011
9012         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
9013         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
9014         character, perform the search using U_STRCHR.
9015         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
9016         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
9017         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
9018         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
9019         Suggested by Paolo Bonzini.
9020
9021 2010-07-31  Bruno Haible  <bruno@clisp.org>
9022
9023         unistr/u*-strstr: Fix dependencies.
9024         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
9025         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
9026         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
9027
9028 2010-07-31  Bruno Haible  <bruno@clisp.org>
9029
9030         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
9031         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
9032         the beginning of the loop.
9033         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
9034         cases in 'switch' statement.
9035
9036         unistr/u8-strchr: Fix several bugs.
9037         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
9038         the string. When not found, return NULL, not a pointer near the end.
9039
9040         More tests for unistr/u8-strchr.
9041         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
9042         that the function does not read past the first occurrence of the byte
9043         being searched.
9044         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
9045         * tests/unistr/test-u16-strchr.c (main): New function.
9046         * tests/unistr/test-u32-strchr.c (main): New function.
9047
9048 2010-07-31  Bruno Haible  <bruno@clisp.org>
9049
9050         posix-modules: Ignore backup files of documentation files.
9051         * posix-modules: grep only through files named *.texi.
9052
9053 2010-07-31  Bruno Haible  <bruno@clisp.org>
9054
9055         symlinkat: Fix documentation.
9056         * doc/posix-functions/readlinkat.texi: Fix module name.
9057
9058 2010-07-31  Bruno Haible  <bruno@clisp.org>
9059
9060         fchownat: Replace also when chown has the trailing slash bug.
9061         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
9062         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
9063         introduced on 2010-04-10.
9064         Reported by Rainer Tammer.
9065
9066 2010-07-31  Bruno Haible  <bruno@clisp.org>
9067
9068         linkat: Work around AIX 7.1 bug.
9069         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
9070         whether linkat handles trailing slash correctly. If not, replace linkat
9071         and define LINKAT_TRAILING_SLASH_BUG.
9072         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
9073         check whether (fd1,file1) points to a directory if file1 or file2 ends
9074         in a slash. Code taken from lib/link.c.
9075         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
9076         Reported by Rainer Tammer.
9077
9078 2010-07-31  Bruno Haible  <bruno@clisp.org>
9079
9080         Correctly determine whether pow is available in libc on AIX 7 with xlc.
9081         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
9082         This disables an xlc optimization that was causing wrong test results.
9083         Reported by Rainer Tammer.
9084
9085 2010-07-31  Bruno Haible  <bruno@clisp.org>
9086
9087         iconv: Work around AIX 6.1..7.1 bug.
9088         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
9089         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
9090         cross-compiling, guess no on all versions of AIX.
9091         Reported by Rainer Tammer.
9092
9093 2010-07-31  Bruno Haible  <bruno@clisp.org>
9094
9095         readlink: Relax test a bit.
9096         * tests/test-readlink.h (test_readlink): Allow different errno value
9097         when readlink is called with a file name that ends in / and refers to
9098         a file.
9099         Suggested by Eric Blake.
9100         Reported by Rainer Tammer.
9101
9102 2010-07-31  Bruno Haible  <bruno@clisp.org>
9103
9104         copysign: Does not require -lm on glibc systems.
9105         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
9106         gl_COMMON_DOUBLE_MATHFUNC.
9107         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
9108
9109 2010-07-31  Bruno Haible  <bruno@clisp.org>
9110
9111         duplocale: Work around AIX 7.1 bug.
9112         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
9113         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
9114         * lib/duplocale.c (rpl_duplocale): Update comment.
9115         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
9116         Reported by Rainer Tammer.
9117
9118 2010-07-30  Bruno Haible  <bruno@clisp.org>
9119
9120         dirfd: Avoid link error on AIX 7.1.
9121         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
9122         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
9123         exist, set REPLACE_DIRFD.
9124         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
9125         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
9126         * doc/posix-functions/dirfd.texi: Update.
9127         Reported by Rainer Tammer.
9128
9129 2010-07-30  Eric Blake  <eblake@redhat.com>
9130
9131         strtod: next round of AIX fixes
9132         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
9133         exponent.
9134         * tests/test-strtod.c (main): Enhance tests.
9135         * doc/posix-functions/strtod.texi (strtod): Document next bug.
9136         Reported by Rainer Tammer.
9137
9138         futimens: fix configure check
9139         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
9140         Reported by Bruno Haible.
9141
9142 2010-07-30  Bruno Haible  <bruno@clisp.org>
9143
9144         getline: Update regarding AIX.
9145         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
9146         Reported by Rainer Tammer.
9147
9148 2010-07-30  Bruno Haible  <bruno@clisp.org>
9149
9150         wcwidth: Drop replacement on AIX 7.
9151         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
9152         AIX 7.
9153         Reported by Rainer Tammer.
9154
9155 2010-07-30  Bruno Haible  <bruno@clisp.org>
9156
9157         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
9158         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
9159         a 'char *'.
9160         Reported by Rainer Tammer.
9161
9162 2010-07-30  Bruno Haible  <bruno@clisp.org>
9163
9164         unlink: Update regarding AIX.
9165         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
9166         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
9167         Reported by Rainer Tammer.
9168
9169 2010-07-30  Bruno Haible  <bruno@clisp.org>
9170
9171         symlink: Update regarding AIX.
9172         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
9173         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
9174         Reported by Rainer Tammer.
9175
9176 2010-07-30  Bruno Haible  <bruno@clisp.org>
9177
9178         strndup: Update regarding AIX.
9179         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
9180         AIX 7.
9181         Reported by Rainer Tammer.
9182
9183 2010-07-30  Bruno Haible  <bruno@clisp.org>
9184
9185         stat: Update regarding AIX.
9186         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
9187         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
9188         Reported by Rainer Tammer.
9189
9190 2010-07-30  Bruno Haible  <bruno@clisp.org>
9191
9192         truncl: Fix autoconf test.
9193         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
9194         whether truncl works.
9195         Reported by Rainer Tammer.
9196
9197 2010-07-30  Bruno Haible  <bruno@clisp.org>
9198
9199         round: Update regarding AIX.
9200         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
9201         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
9202         Reported by Rainer Tammer.
9203
9204 2010-07-30  Bruno Haible  <bruno@clisp.org>
9205
9206         rename: Update regarding AIX.
9207         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
9208         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
9209         Reported by Rainer Tammer.
9210
9211 2010-07-30  Bruno Haible  <bruno@clisp.org>
9212
9213         printf.m4: Update regarding AIX.
9214         * m4/printf.m4: Update comments regarding AIX.
9215         Reported by Rainer Tammer.
9216
9217 2010-07-30  Bruno Haible  <bruno@clisp.org>
9218
9219         iconv: Update regarding AIX.
9220         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
9221         AIX 7.
9222         Reported by Rainer Tammer.
9223
9224 2010-07-30  Bruno Haible  <bruno@clisp.org>
9225
9226         getopt: Update regarding AIX.
9227         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
9228         no on AIX.
9229         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
9230         Reported by Rainer Tammer.
9231
9232 2010-07-30  Bruno Haible  <bruno@clisp.org>
9233
9234         ldexpl; Update regarding AIX.
9235         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
9236         on AIX 7.
9237         Reported by Rainer Tammer.
9238
9239 2010-07-30  Bruno Haible  <bruno@clisp.org>
9240
9241         frexpl: Update regarding AIX.
9242         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
9243         on AIX 7.
9244         Reported by Rainer Tammer.
9245
9246 2010-07-30  Bruno Haible  <bruno@clisp.org>
9247
9248         open, fopen: Update regarding AIX.
9249         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
9250         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
9251         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
9252         * doc/posix-functions/fopen.texi: Likewise.
9253         Reported by Rainer Tammer.
9254
9255 2010-07-30  Bruno Haible  <bruno@clisp.org>
9256
9257         chown: Update doc regarding AIX.
9258         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
9259         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
9260         Reported by Rainer Tammer.
9261
9262 2010-07-30  Eric Blake  <eblake@redhat.com>
9263
9264         strtod: fix bug in replacement function on AIX
9265         * lib/strtod.c (strtod): Special case broken "0x" parse in
9266         underlying strtod.
9267         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
9268         * doc/posix-functions/strtod.texi (strtod): Likewise.
9269         Reported by Rainer Tammer.
9270
9271 2010-07-30  Bruno Haible  <bruno@clisp.org>
9272
9273         mbrlen: Fix cross-compilation guess for AIX.
9274         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
9275         guess. Leftover from 2008-12-22.
9276
9277 2010-07-30  Bruno Haible  <bruno@clisp.org>
9278
9279         mbrtowc: Fix cross-compilation guess for AIX.
9280         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
9281         guess. Leftover from 2008-12-21.
9282
9283 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
9284
9285         init.sh: work around trap limitation of some shells
9286         * tests/init.sh (setup_): Move exit trap outside of shell function.
9287
9288 2010-07-29  Eric Blake  <eblake@redhat.com>
9289
9290         strtod: aid debugging
9291         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
9292         understanding why strtod is rejected.
9293
9294 2010-07-28  Bruno Haible  <bruno@clisp.org>
9295
9296         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
9297         * lib/unistr/u8-chr.c: Include <string.h>.
9298         * tests/unistr/test-u8-chr.c: Likewise.
9299         * tests/unistr/test-u16-chr.c: Likewise.
9300         * tests/unistr/test-u32-chr.c: Likewise.
9301         * tests/unistr/test-u8-strchr.c: Likewise.
9302         * tests/unistr/test-u16-strchr.c: Likewise.
9303         * tests/unistr/test-u32-strchr.c: Likewise.
9304         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
9305         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
9306         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
9307         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
9308
9309 2010-07-28  Bruno Haible  <bruno@clisp.org>
9310
9311         Use spaces for indentation, not tabs.
9312         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
9313
9314 2010-07-27  Bruno Haible  <bruno@clisp.org>
9315
9316         mbspcasecmp: Fix function specification.
9317         * lib/string.in.h (mbspcasecmp): Fix specification comment.
9318         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
9319         Reported by Eric Blake <eblake@redhat.com>.
9320
9321 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
9322
9323         timespec: use cast and not conditional, as truncation isn't possible
9324         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
9325         instead of a conditional.  Comment about the situation in more detail.
9326         This undoes most of the 2009-10-29 patch.
9327
9328 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
9329
9330         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
9331         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
9332         * lib/unistr/u8-strchr.c: Likewise.
9333         * modules/unistr/u8-chr: Depend on memchr.
9334
9335         unistr/u*-strchr: add tests
9336         * modules/unistr/u8-strchr-tests: New file.
9337         * modules/unistr/u16-strchr-tests: New file.
9338         * modules/unistr/u32-strchr-tests: New file.
9339         * tests/unistr/test-strchr.h: New file.
9340         * tests/unistr/test-u8-strchr.c: New file.
9341         * tests/unistr/test-u16-strchr.c: New file.
9342         * tests/unistr/test-u32-strchr.c: New file.
9343
9344         unistr/u*-chr: test multibyte sequences more
9345         * tests/unistr/test-chr.h: Do complete testing of the characters in the
9346         test vector.
9347         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
9348         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
9349         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
9350
9351         unistr/u*-chr: test multibyte sequences
9352         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
9353
9354         unistr/u*-chr: prepare for multibyte tests
9355         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
9356         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
9357         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
9358         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
9359         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
9360         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
9361
9362 2010-07-18  Bruno Haible  <bruno@clisp.org>
9363
9364         unistr/u8-strchr: Optimize non-ASCII argument case.
9365         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
9366         because the first byte often matches anyway.
9367         Reported by Pádraig Brady <P@draigbrady.com>.
9368
9369 2010-07-15  Karl Berry  <karl@gnu.org>
9370
9371         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
9372
9373 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
9374
9375         getcwd: on Solaris, work better if ancestors are inaccessible
9376         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
9377         buffer and size, try again with a large buffer.  This works better
9378         on Solaris, since its getcwd succeeds even if the path to the root
9379         is inaccessible, and this is helpful in common cases such as .zfs
9380         hidden directories.  Problem reported by J Chapman Flack in
9381         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
9382         Use system getcwd if it's declared, not merely if it's partly
9383         working; use the partly-working test only to avoid needless effort
9384         if the system getcwd fails.
9385         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
9386         comment that was already obsolete and is now even more obsolete.
9387         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
9388         now might call strdup.
9389
9390 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
9391
9392         pthread: Add enough so that coreutils/src/sort.c compiles.
9393         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
9394         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
9395         gnulib. Include <sched.h> and <time.h>, as per POSIX.
9396         Include <sys/types.h>, in case it defines pthread_t.
9397         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
9398         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
9399         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
9400         (pthread_rwlockattr_t, pthread_spinlock_t):
9401         New typedefs, if HAVE_PTHREAD_T is not defined.
9402         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
9403         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
9404         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
9405         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
9406         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
9407         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
9408         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
9409         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
9410         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
9411         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
9412         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
9413         New macros.
9414         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
9415         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
9416         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
9417         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
9418         (pthread_spin_unlock): New dummy functions.
9419         (pthread_create): Return EAGAIN; don't set errno.
9420         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
9421         require AC_C_INLINE.
9422         * modules/pthread (Depends-on): Add sched, time.
9423         (pthread.h): Use AM_V_GEN.
9424
9425 2010-07-13  Bruno Haible  <bruno@clisp.org>
9426
9427         striconveh: Don't malloc memory if the result buffer is sufficient.
9428         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
9429         buffer if its size is sufficient.
9430         Reported by Ludovic Courtès <ludo@gnu.org>.
9431
9432 2010-07-13  Bruno Haible  <bruno@clisp.org>
9433
9434         strtod: Add safety check.
9435         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
9436
9437 2010-07-12  Bruno Haible  <bruno@clisp.org>
9438
9439         Unify tests that set gl_cv_func_ldexpl_no_libm.
9440         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
9441         gl_FUNC_LDEXPL.
9442         (gl_FUNC_LDEXPL): Invoke it.
9443         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
9444
9445 2010-07-12  Bruno Haible  <bruno@clisp.org>
9446
9447         Unify tests that set gl_cv_func_ldexp_no_libm.
9448         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
9449         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
9450         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
9451         (configure.ac): Simply invoke gl_FUNC_LDEXP.
9452         * modules/strtod (Files): Add m4/ldexp.m4.
9453
9454 2010-07-12  Bruno Haible  <bruno@clisp.org>
9455
9456         Unify tests that set gl_cv_func_frexpl_no_libm.
9457         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
9458         gl_FUNC_FREXPL_NO_LIBM.
9459         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
9460         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
9461
9462 2010-07-12  Bruno Haible  <bruno@clisp.org>
9463
9464         Unify tests that set gl_cv_func_frexp_no_libm.
9465         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
9466         gl_FUNC_FREXP_NO_LIBM.
9467         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
9468         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
9469
9470 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
9471
9472         memcoll: clarify sizes versus lengths, document better, and tweak perf
9473         * lib/memcoll.c (strcoll_loop, memcoll0):
9474         Improve quality of descriptive comments.  Name variables
9475         consistently as to whether they are lengths (which do not include
9476         terminating null) versus sizes (which do).
9477         * lib/xmemcoll.c (xmemcoll0): Likewise.
9478         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
9479         returned when s1size == 0; this is easier to compile and saves
9480         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
9481
9482 2010-07-12  Bruno Haible  <bruno@clisp.org>
9483
9484         Tests for module '_Exit'.
9485         * modules/_Exit-tests: New file.
9486         * tests/test-_Exit.sh: New file.
9487         * tests/test-_Exit.c: New file.
9488
9489         New module '_Exit'.
9490         * lib/stdlib.in.h (__attribute__): New macro.
9491         (_Exit): New declaration.
9492         * lib/_Exit.c: New file.
9493         * m4/_Exit.m4: New file.
9494         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
9495         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
9496         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
9497         * modules/_Exit: New file.
9498         * tests/test-stdlib-c++.cc (_Exit): Check signature.
9499         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
9500
9501 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
9502
9503         strtod: make it more-accurate typically, and don't require libm
9504         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
9505         Include limits.h.  Don't include string.h.
9506         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
9507         (locale_isspace): New function, so that no casts are needed to
9508         check whether *s is a space.
9509         (ldexp): Provide an unused dummy if not available.
9510         (scale_radix_exp, parse_number, underlying_strtod): New functions.
9511         (strtod): Use them.  This implementation prefers to use the
9512         underlying strtod if available, falling back on our own code
9513         only to fix known bugs.  This is more likely to produce an
9514         accurate result.  Also, it avoids the use of libm functions.
9515         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
9516         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
9517         was absent, but it caused a test failure with coreutils.
9518         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
9519         with libm.
9520         * modules/strtod (Makefile.am, Link): libm is no longer needed.
9521         * modules/strtod-tests (Makefile.am): Likewise.
9522
9523 2010-07-11  Pádraig Brady  <P@draigBrady.com>
9524             Bruno Haible  <bruno@clisp.org>
9525
9526         unistr/u8-strchr: Optimize ASCII argument case.
9527         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
9528
9529 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
9530
9531         (x)memcoll: minor tweaks
9532         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
9533         is after the type that it qualifies.
9534         (memcoll0): Likewise.
9535         * lib/memcoll.h (memcoll0): Likewise.
9536         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
9537         * lib/xmemcoll.h (xmemcoll0): Likewise.
9538         * lib/memcoll.c (memcoll0): Correct the comment.  This function
9539         differs from memcoll in that the NUL byte is part of the argument.
9540         Omit the abort-checks, as performance is a real issue here.  Plus,
9541         the checks were wrong anyway (an off-by-one error).  Omit local
9542         variable 'diff', as it's a bit clearer that way.
9543         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
9544         no longer needed.
9545
9546 2010-07-08  Chen Guo <chenguo4@yahoo.com>
9547
9548         (x)memcoll: speedup when input is known to be NUL delimited
9549         * lib/memcoll.c: Include stdlib.
9550         (memcoll0) New function.
9551         (strcoll_loop) New function, refactored for use in both memcoll
9552         and memcoll0.
9553         * lib/memcoll.h: Add prototype for memcoll0.
9554         * lib/xmemcoll.c: (xmemcoll0) New function.
9555         (collate_error) New function, refactored for use in both xmemcoll
9556         and xmemcoll0.
9557         * lib/xmemcoll.h: Add prototype for xmemcoll0.
9558         * m4/memcoll.m4: add inline invocation.
9559
9560 2010-07-06  Pádraig Brady  <P@draigBrady.com>
9561
9562         * build-aux/bootstrap: Remove any local translations
9563         from the translation project synchronization directory,
9564         so that local only translations are not distributed.
9565
9566 2010-07-04  Bruno Haible  <bruno@clisp.org>
9567
9568         fsusage: Clarify which code applies to which platforms.
9569         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
9570         platform.
9571         * lib/fsusage.c (get_fs_usage): Likewise.
9572
9573 2010-07-04  Bruno Haible  <bruno@clisp.org>
9574
9575         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
9576         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
9577         Reported by Martin Lambers <marlam@marlam.de>.
9578
9579 2010-07-04  Jim Meyering  <meyering@redhat.com>
9580
9581         hash: once again explicitly disallow insertion of NULL
9582         * lib/hash.c (hash_insert0): Reinstate just-removed test:
9583         inserting a NULL pointer cannot work with these functions.
9584         Add a comment with details.
9585         This reverts part of the 2010-07-01 commit, 5bef1a35
9586         "hash: extend module to deal with non-pointer keys".
9587
9588 2010-07-01  Bruno Haible  <bruno@clisp.org>
9589
9590         stdbool: Update doc.
9591         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
9592         Info from Christian Weisgerber <naddy@mips.inka.de>.
9593
9594 2010-07-01  Jim Meyering  <meyering@redhat.com>
9595
9596         hash: extend module to deal with non-pointer keys
9597         * lib/hash.c (hash_insert0): New interface, much like hash_insert
9598         but that allows insertion of non-pointer entries.
9599         Do not disallow an ENTRY value of NULL.
9600         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
9601         * lib/hash.h (hash_insert0): Declare.
9602
9603 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
9604
9605         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
9606         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
9607         not present (i.e. with autoconf 2.59 and when using gettextize, not
9608         gnulib), require AC_GNU_SOURCE instead.
9609
9610 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
9611
9612         idpriv-drop: Fix tests.
9613         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
9614         not to the test-idpriv-droptemp program.
9615
9616 2010-06-29  Bruno Haible  <bruno@clisp.org>
9617
9618         string: Fix syntax error with g++ 2.96.
9619         * lib/string.in.h (__pure__): Remove definition.
9620         (_GL_ATTRIBUTE_PURE): New macro.
9621         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
9622         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
9623         Reported by Christian Weisgerber <naddy@mips.inka.de>.
9624
9625 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
9626
9627         unitypes: Fix bug introduced on 2010-05-18.
9628         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
9629
9630 2010-06-22  Eric Blake  <eblake@redhat.com>
9631
9632         memmem: slight optimization
9633         * lib/str-two-way.h (critical_factorization): Update comments.
9634         Reduce work during factorization phase.
9635         Reported by Carlos Bueno <carlos@bueno.org>.
9636
9637 2010-06-21  Bruno Haible  <bruno@clisp.org>
9638
9639         Fix HAVE_CALLOC_POSIX misnomer.
9640         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
9641         !HAVE_CALLOC_POSIX.
9642         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
9643         HAVE_CALLOC_POSIX.
9644         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
9645         instead of HAVE_CALLOC_POSIX.
9646         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
9647         HAVE_CALLOC_POSIX.
9648
9649         Use modern idiom for calloc() replacement.
9650         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
9651         AC_FUNC_CALLOC.
9652         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
9653         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
9654         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
9655         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
9656         (gl_REPLACE_CALLOC): New macro.
9657
9658 2010-06-21  Bruno Haible  <bruno@clisp.org>
9659
9660         Fix HAVE_REALLOC_POSIX misnomer.
9661         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
9662         !HAVE_REALLOC_POSIX.
9663         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
9664         HAVE_REALLOC_POSIX.
9665         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
9666         instead of HAVE_REALLOC_POSIX.
9667         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
9668         HAVE_REALLOC_POSIX.
9669
9670         Use modern idiom for realloc() replacement.
9671         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
9672         AC_FUNC_REALLOC.
9673         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
9674         Autoconf's AC_FUNC_REALLOC.
9675         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
9676         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
9677         (gl_REPLACE_REALLOC): New macro.
9678         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
9679
9680 2010-06-21  Bruno Haible  <bruno@clisp.org>
9681
9682         Fix HAVE_MALLOC_POSIX misnomer.
9683         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
9684         !HAVE_MALLOC_POSIX.
9685         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
9686         HAVE_MALLOC_POSIX.
9687         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
9688         instead of HAVE_MALLOC_POSIX.
9689         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
9690         HAVE_MALLOC_POSIX.
9691
9692         Use modern idiom for malloc() replacement.
9693         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
9694         AC_FUNC_MALLOC.
9695         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
9696         Autoconf's AC_FUNC_MALLOC.
9697         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
9698         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
9699         (gl_REPLACE_MALLOC): New macro.
9700         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
9701
9702 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
9703
9704         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
9705         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
9706         This macro takes 3 arguments, not 4.
9707
9708 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
9709
9710         ipv6: fix detection under mingw
9711         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
9712         in6_addr.
9713
9714 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
9715
9716         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
9717         that strtod() works when cross-compiling to a glibc version known
9718         to work.
9719
9720 2010-06-15  Bruno Haible  <bruno@clisp.org>
9721
9722         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
9723
9724 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
9725
9726         select: Correct timeout.
9727         * lib/select.c (rpl_select): Compute wait_timeout correctly.
9728
9729 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
9730
9731         git-version-gen: init shell var to avoid env var influence
9732         * build-aux/git-version-gen (v): Init shell var to empty.
9733
9734 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
9735
9736         priv-set: Don't assume that priv.h exists merely because getppriv does.
9737         See Jan Andersen's bug report about AIX 5L in
9738         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
9739         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
9740         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
9741         * lib/priv-set.h: Likewise.
9742         * tests/test-priv-set.c: Likewise.
9743
9744 2010-06-13  Bruno Haible  <bruno@clisp.org>
9745
9746         relocatable: Make it easier to test whether to install wrappers.
9747         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
9748         RELOCATABLE_VIA_WRAPPER.
9749
9750 2010-06-13  Bruno Haible  <bruno@clisp.org>
9751
9752         gnulib-tool: Display specified modules and dependencies differently.
9753         * gnulib-tool (func_show_module_list): New function.
9754         (func_import, func_create_testdir): Invoke it.
9755         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
9756
9757 2010-06-13  Bruno Haible  <bruno@clisp.org>
9758
9759         gnulib-tool: Align code of func_import and func_create_testdir.
9760         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
9761         specified_modules.
9762
9763 2010-06-12  Jim Meyering  <meyering@redhat.com>
9764
9765         test-inttostr: avoid spurious failure on Solaris 9
9766         * tests/test-inttostr.c (main): Skip the test when snprintf fails
9767         to accept "%ju".  Reported by Bruno Haible.
9768
9769 2010-06-11  Jim Meyering  <meyering@redhat.com>
9770
9771         test-sys_socket: mark variables as used more readably
9772         * tests/test-sys_socket.c (main): Mark otherwise unused variables
9773         as "used" explicitly via (void) statement casts.  This is more
9774         readable than using them in an artificial return expression.
9775         Suggestion from Bruno Haible.
9776
9777 2010-06-11  Bruno Haible  <bruno@clisp.org>
9778
9779         Avoid some more warnings from "gcc -Wwrite-strings".
9780         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
9781         to 'const char *'.
9782         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
9783         * tests/test-c-strcasestr.c (main): Likewise.
9784         * tests/test-mbscasestr1.c (main): Likewise.
9785         * tests/test-mbscasestr2.c (main): Likewise.
9786         * tests/test-memmem.c (main): Likewise.
9787         * tests/test-strstr.c (main): Likewise.
9788         * tests/test-strcasestr.c (main): Likewise.
9789
9790 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9791
9792         init.sh: change framework_failure_ to fail with status 99, not 1
9793         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
9794         automake's parallel-tests rule that this is an unexpected failure,
9795         even if the test is listed in XFAIL_TESTS.
9796
9797 2010-06-11  Jim Meyering  <meyering@redhat.com>
9798
9799         test-inttostr: avoid warnings about 4-6KB literal strings
9800         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
9801         Include "macros.h", for its definition of ASSERT.
9802         (CK): s/assert/ASSERT/
9803         * modules/inttostr-tests (Files): Add macros.h.
9804
9805         init.sh: don't use $ME_ or skip_ before they are defined
9806         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
9807         their first uses.  Also hoist their companions: warn_, fail_,
9808         framework_failure_, $stderr_fileno.  Prompted by a patch from
9809         Stefano Lattarini.
9810
9811         test-sys_socket: avoid set-but-not-used warnings from gcc
9812         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
9813         avoid warning about set-but-not-used variables.
9814
9815         test-xvasprintf: avoid 'const' discard warnings
9816         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
9817         "const" when assigning from literal strings.
9818         (test_xasprintf): Add "void" in function argument list to placate
9819         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
9820
9821         tests: avoid compilation warnings in argmatch and exclude tests...
9822         in packages that define ARGMATCH_DIE_DECL, like coreutils.
9823         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
9824         Since it always exits, declare with the "noreturn" attribute.
9825         * tests/test-argmatch.c: Likewise.
9826
9827         tests: avoid 'const' discard warnings in mbsstr tests
9828         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
9829         * tests/test-mbsstr2.c (main): Likewise.
9830
9831         test-verify: avoid warning from gcc's -Wmissing-declarations
9832         * tests/test-verify.c (function): Declare to be static.
9833
9834         test-inttostr.c: include <string.h> for use of strcmp
9835         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
9836
9837         test-linkat: avoid failed assertion on "other" architectures
9838         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
9839         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
9840         sparc: https://bugs.launchpad.net/bugs/591968
9841
9842 2010-06-11  Jim Meyering  <meyering@redhat.com>
9843
9844         printf.m4: avoid autoconf's "Expanded Before Required" warning
9845         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
9846         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
9847         autoconf warning.
9848
9849 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
9850
9851         Replacement header templates are now named with ".in", not "_".
9852         * doc/gnulib-intro.texi: Correct.
9853
9854 2010-06-10  Jim Meyering  <meyering@redhat.com>
9855
9856         inttostr-tests: depend on snprintf, not snprintf-posix
9857         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
9858         snprintf-posix, to avoid this aclocal failure:
9859           missing file gnulib-tests/vasnprintf.c
9860           configure.ac:45: error: expected source file, required through \
9861           AC_LIBSOURCES, not found
9862
9863 2010-06-10  Jim Meyering  <meyering@redhat.com>
9864
9865         inttostr: add a new function, inttostr, and tests
9866         The namesake function was not available.  The existence of the
9867         template file, inttostr.c makes its addition nontrivial.
9868         * lib/anytostr.c: Rename from inttostr.c.
9869         (anytostr): Rename from inttostr.
9870         * lib/inttostr.c: New file.
9871         * modules/inttostr (Files): Add anytostr.c.
9872         (Makefile.am): Set lib_SOURCES instead of ...
9873         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
9874         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
9875         * lib/offtostr.c: Likewise.
9876         * lib/uinttostr.c: Likewise.
9877         * lib/umaxtostr.c: Likewise.
9878         * modules/inttostr-tests: New file.
9879         * tests/test-inttostr.c: New file.  Test these functions.
9880
9881 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
9882             Bruno Haible  <bruno@clisp.org>
9883
9884         Add "Extending Gnulib" chapter to manual.
9885         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
9886         chapter.
9887         (Extending Gnulib): New chapter.
9888         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
9889         chapter.
9890
9891 2010-06-09  Bruno Haible  <bruno@clisp.org>
9892
9893         Avoid relocwrapper link errors due to gnulib replacement functions.
9894         * lib/areadlink.c: Use the system's malloc, realloc functions.
9895         (areadlink): Set errno to ENOMEM explicitly.
9896         * modules/areadlink (Depends-on): Remove malloc-posix.
9897         Reported by Ben Pfaff <blp@cs.stanford.edu>.
9898
9899 2010-06-09  Bruno Haible  <bruno@clisp.org>
9900
9901         Avoid relocwrapper link errors due to gnulib replacement functions.
9902         * lib/canonicalize-lgpl.c: Use the system's malloc function.
9903         * lib/malloca.c: Likewise.
9904         * lib/relocatable.c: Likewise.
9905         * lib/progreloc.c: Use the system's malloc, sprintf functions.
9906         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
9907         * lib/setenv.c: Use the system's malloc, realloc functions.
9908         * lib/strerror.c: Use the system's sprintf function.
9909         Reported by Ben Pfaff <blp@cs.stanford.edu>.
9910
9911 2010-06-04  Bruno Haible  <bruno@clisp.org>
9912
9913         Prefer documented low-level autoconf macro names.
9914         * m4/lib-link.m4: Use m4_translit instead of translit.
9915         * m4/environ.m4: Likewise.
9916         * m4/mathfunc.m4: Likewise.
9917         * m4/onceonly.m4: Likewise.
9918         * m4/stdint.m4: Likewise.
9919         Suggested by Eric Blake.
9920
9921 2010-06-04  Martin Lambers  <marlam@marlam.de>
9922             Bruno Haible  <bruno@clisp.org>
9923
9924         havelib: Allow library names with '+' characters.
9925         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
9926         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
9927
9928 2010-06-09  Bruno Haible  <bruno@clisp.org>
9929
9930         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
9931         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
9932         realloc failed.
9933
9934 2010-06-08  Peter Simons  <simons@cryp.to>
9935
9936         maint.mk: make the news-check rule more configurable
9937         * top/maint.mk (news-check-lines-spec) New variable.
9938         (news-check): Use "sed -n 1,10p" in place of "head".
9939
9940 2010-06-07  Jim Meyering  <meyering@redhat.com>
9941
9942         do-release-commit-and-tag: fix typo in --help
9943         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
9944
9945         regex: avoid new dead-code warning with gcc-4.6.0
9946         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
9947         if-block containing a while-loop.  It's been unused for at least
9948         5 years.
9949
9950 2010-06-05  Bruno Haible  <bruno@clisp.org>
9951
9952         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
9953         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
9954
9955 2010-06-04  Bruno Haible  <bruno@clisp.org>
9956
9957         Update to GNU gettext 0.18.1.
9958         * modules/gettext (configure.ac): Require gettext infrastructure from
9959         version 0.18.1.
9960
9961 2010-06-03  Bruno Haible  <bruno@clisp.org>
9962
9963         Don't use AC_LIBOBJ with file names in subdirectories.
9964         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
9965         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
9966         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
9967         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
9968         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
9969         gl_LIBUNISTRING_LIBSOURCE.
9970         (Makefile.am): Augment lib_SOURCES here, conditionally.
9971         * NEWS: Drop requirement for Automake option 'subdir-objects'.
9972
9973 2010-06-03  Bruno Haible  <bruno@clisp.org>
9974
9975         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
9976         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
9977         expansion does not end with a newline.
9978         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
9979         unnecessary newline.
9980
9981 2010-06-03  Bruno Haible  <bruno@clisp.org>
9982
9983         Reduce dependencies.
9984         * tests/test-quotearg.h: New file, extracted from
9985         tests/test-quotearg.c.
9986         * tests/test-quotearg-simple.c: New file, extracted from
9987         tests/test-quotearg.c.
9988         * tests/test-quotearg.c: Don't include <ctype.h>.
9989         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
9990         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
9991         use_quote_double_quotes, use_quotearg_colon): Moved to
9992         tests/test-quotearg.h.
9993         (results_g, flag_results, custom_quotes, custom_results): Moved
9994         to tests/test-quotearg-simple.c.
9995         (main): Moved the part that does not depend on gettext to
9996         tests/test-quotearg-simple.c. Return 77 if the test cannot be
9997         performed.
9998         * modules/quotearg-simple: New file.
9999         * modules/quotearg-simple-tests: New file.
10000         * modules/quotearg (Depends-on): Add quotearg-simple.
10001         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
10002         (Files): Add tests/test-quotearg.h.
10003         Reported by Paolo Bonzini.
10004
10005 2010-06-03  Bruno Haible  <bruno@clisp.org>
10006
10007         Reduce dependencies.
10008         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
10009
10010 2010-06-03  Bruno Haible  <bruno@clisp.org>
10011
10012         time: Undefine more broken macros.
10013         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
10014         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
10015         Reported by Eric Blake.
10016
10017 2010-06-03  Bruno Haible  <bruno@clisp.org>
10018
10019         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
10020         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
10021         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
10022         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
10023         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
10024         Reported by Ludovic Courtès <ludo@gnu.org>.
10025
10026 2010-06-02  Eric Blake  <eblake@redhat.com>
10027
10028         time: work with mingw + pthreads-win32 library
10029         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
10030         if timespec is defined only in pthread.h.
10031         * modules/time (Makefile.am): Substitute it.
10032         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
10033         <pthread.h>, when needed.
10034         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
10035         from the library.
10036
10037 2010-05-31  Bruno Haible  <bruno@clisp.org>
10038
10039         Avoid expanding two macros in the wrong order.
10040         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
10041         gl_LIBUNISTRING if it is defined.
10042         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
10043         autoconf >= 2.64.
10044         Reported by Ludovic Courtès <ludo@gnu.org>.
10045
10046 2010-05-27  Jim Meyering  <meyering@redhat.com>
10047
10048         maint.mk: also prohibit "#undef" of always-defined symbols
10049         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
10050         Allow more than one space before the symbol name.
10051         (sc_prohibit_always-defined_macros): Use grep's -E, now that
10052         the regexp uses alternation.
10053
10054 2010-05-26  Eric Blake  <eblake@redhat.com>
10055
10056         maint.mk: avoid echo -e
10057         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
10058         Convert all uses of echo -* to printf.
10059         Reported by Matthias Bolte.
10060
10061 2010-05-25  Bruno Haible  <bruno@clisp.org>
10062
10063         Update to GNU gettext 0.18, part 2.
10064         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
10065         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
10066
10067 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10068
10069         Add missing include in test-pwrite.c.
10070         * tests/test-pwrite.c: Include string.h, for strcmp.
10071
10072 2010-05-24  Bruno Haible  <bruno@clisp.org>
10073
10074         * NEWS: Mention requirement for Automake option 'subdir-objects'.
10075
10076 2010-05-24  Bruno Haible  <bruno@clisp.org>
10077
10078         Don't use conversion with transliteration in u{8,16,32}_strcoll.
10079         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
10080         iconveh_error argument.
10081         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
10082         U_STRCONV_TO_LOCALE.
10083         * lib/unistr/u16-strcoll.c: Likewise.
10084         * lib/unistr/u32-strcoll.c: Likewise.
10085         * modules/unistr/u8-strcoll (Depends-on): Add
10086         uniconv/u8-strconv-to-enc, localcharset. Remove
10087         uniconv/u8-strconv-to-locale.
10088         (configure.ac): Bump version number.
10089         * modules/unistr/u16-strcoll (Depends-on): Add
10090         uniconv/u16-strconv-to-enc, localcharset. Remove
10091         uniconv/u16-strconv-to-locale.
10092         (configure.ac): Bump version number.
10093         * modules/unistr/u32-strcoll (Depends-on): Add
10094         uniconv/u32-strconv-to-enc, localcharset. Remove
10095         uniconv/u32-strconv-to-locale.
10096         (configure.ac): Bump version number.
10097
10098 2010-05-24  Bruno Haible  <bruno@clisp.org>
10099
10100         Avoid a test failure on NetBSD 5.0.
10101         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
10102         an iconv() bug.
10103
10104 2010-05-24  Bruno Haible  <bruno@clisp.org>
10105
10106         Adjust #include directive style.
10107         * modules/regex (Includes): Recommend to write <regex.h>.
10108
10109 2010-05-24  Bruno Haible  <bruno@clisp.org>
10110
10111         regex: Don't require alloca.
10112         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
10113         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
10114         only inside if (0).
10115
10116 2010-05-23  Jim Meyering  <meyering@redhat.com>
10117
10118         test-renameat.c: include <sys/stat.h>
10119         * tests/test-renameat.c: Include <sys/stat.h>; required for
10120         definition of S_IS* macros.
10121
10122 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
10123
10124         Update maintainer documentation for 'relocatable-prog' module.
10125         * doc/relocatable-maint.texi: Update.
10126         Comments by Bruno Haible.
10127
10128 2010-05-23  Bruno Haible  <bruno@clisp.org>
10129
10130         git-merge-changelog: Enable --split-merged-entry by default.
10131         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
10132         (usage): Don't mention this option any more.
10133         Reported by Ralf Wildenhues.
10134
10135 2010-05-23  Jim Meyering  <meyering@redhat.com>
10136
10137         test-pwrite: do not leave behind a test file named "out"
10138         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
10139         The trivial-looking use of init.sh is really necessary.
10140         It ensures that the temporary file, "out", is created in
10141         a temporary directory, and removed upon termination.
10142         * tests/test-pwrite.sh: Re-add file.
10143         * modules/pwrite-tests: Reference it.
10144
10145 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10146
10147         Fix output redirection buglet in init.sh.
10148         * tests/init.sh: Fix redirection of stderr.
10149
10150 2010-05-20  Simon Josefsson  <simon@josefsson.org>
10151
10152         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
10153
10154 2010-05-17  Simon Josefsson  <simon@josefsson.org>
10155
10156         * modules/valgrind-tests: New file.
10157         * m4/valgrind-tests.m4: New file.
10158         * doc/valgrind-tests.texi: New file.
10159         * doc/gnulib.texi (Running self-tests under valgrind): New
10160         section.
10161
10162 2010-05-19  Bruno Haible  <bruno@clisp.org>
10163
10164         Clean up dead code in recent commit.
10165         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
10166         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
10167         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
10168         Suggested by Paolo Bonzini.
10169
10170 2010-05-19  Bruno Haible  <bruno@clisp.org>
10171
10172         Avoid valgrind error reports from libunistring.
10173         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
10174         * modules/libunistring (Files): Add it.
10175         * modules/libunistring-optional (Files): Likewise.
10176
10177 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
10178             Bruno Haible  <bruno@clisp.org>
10179
10180         New module 'libunistring-optional'.
10181         * modules/libunistring-optional: New file.
10182         * m4/libunistring-base.m4: New file.
10183         * m4/libunistring-optional.m4: New file.
10184         * lib/unicase.in.h: Renamed from lib/unicase.h.
10185         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
10186         * lib/unictype.in.h: Renamed from lib/unictype.h.
10187         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
10188         * lib/uniname.in.h: Renamed from lib/uniname.h.
10189         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
10190         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
10191         * lib/unistr.in.h: Renamed from lib/unistr.h.
10192         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
10193         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
10194         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
10195         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
10196         gl_LIBUNISTRING. If the library was found, determine the installed
10197         version and set LIBUNISTRING_VERSION.
10198         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
10199         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
10200         handle a configuration option --with-included-libunistring.
10201         * modules/libunistring (Files): Add m4/absolute-header.m4.
10202         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
10203         Add m4/libunistring-base.m4.
10204         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10205         (Makefile.am): Build unicase.h from unicase.in.h.
10206         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
10207         Add m4/libunistring-base.m4.
10208         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10209         (Makefile.am): Build uniconv.h from uniconv.in.h.
10210         * modules/unictype/base (Files): Use unictype.in.h instead of
10211         unictype.h. Add m4/libunistring-base.m4.
10212         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10213         (Makefile.am): Build unictype.h from unictype.in.h.
10214         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
10215         Add m4/libunistring-base.m4.
10216         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10217         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
10218         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
10219         Add m4/libunistring-base.m4.
10220         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10221         (Makefile.am): Build uniname.h from uniname.in.h.
10222         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
10223         Add m4/libunistring-base.m4.
10224         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10225         (Makefile.am): Build uninorm.h from uninorm.in.h.
10226         * modules/unistdio/base (Files): Use unistdio.in.h instead of
10227         unistdio.h. Add m4/libunistring-base.m4.
10228         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10229         (Makefile.am): Build unistdio.h from unistdio.in.h.
10230         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
10231         Add m4/libunistring-base.m4.
10232         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10233         (Makefile.am): Build unistr.h from unistr.in.h.
10234         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
10235         Add m4/libunistring-base.m4.
10236         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10237         (Makefile.am): Build unitypes.h from unitypes.in.h.
10238         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
10239         Add m4/libunistring-base.m4.
10240         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10241         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
10242         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
10243         uniwidth.h. Add m4/libunistring-base.m4.
10244         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10245         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
10246         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
10247         instead of augmenting lib_SOURCES.
10248         * modules/unicase/empty-suffix-context: Likewise.
10249         * modules/unicase/locale-language: Likewise.
10250         * modules/unicase/tolower: Likewise.
10251         * modules/unicase/totitle: Likewise.
10252         * modules/unicase/toupper: Likewise.
10253         * modules/unicase/u8-casecmp: Likewise.
10254         * modules/unicase/u8-casecoll: Likewise.
10255         * modules/unicase/u8-casefold: Likewise.
10256         * modules/unicase/u8-casexfrm: Likewise.
10257         * modules/unicase/u8-ct-casefold: Likewise.
10258         * modules/unicase/u8-ct-tolower: Likewise.
10259         * modules/unicase/u8-ct-totitle: Likewise.
10260         * modules/unicase/u8-ct-toupper: Likewise.
10261         * modules/unicase/u8-is-cased: Likewise.
10262         * modules/unicase/u8-is-casefolded: Likewise.
10263         * modules/unicase/u8-is-lowercase: Likewise.
10264         * modules/unicase/u8-is-titlecase: Likewise.
10265         * modules/unicase/u8-is-uppercase: Likewise.
10266         * modules/unicase/u8-prefix-context: Likewise.
10267         * modules/unicase/u8-suffix-context: Likewise.
10268         * modules/unicase/u8-tolower: Likewise.
10269         * modules/unicase/u8-totitle: Likewise.
10270         * modules/unicase/u8-toupper: Likewise.
10271         * modules/unicase/u16-casecmp: Likewise.
10272         * modules/unicase/u16-casecoll: Likewise.
10273         * modules/unicase/u16-casefold: Likewise.
10274         * modules/unicase/u16-casexfrm: Likewise.
10275         * modules/unicase/u16-ct-casefold: Likewise.
10276         * modules/unicase/u16-ct-tolower: Likewise.
10277         * modules/unicase/u16-ct-totitle: Likewise.
10278         * modules/unicase/u16-ct-toupper: Likewise.
10279         * modules/unicase/u16-is-cased: Likewise.
10280         * modules/unicase/u16-is-casefolded: Likewise.
10281         * modules/unicase/u16-is-lowercase: Likewise.
10282         * modules/unicase/u16-is-titlecase: Likewise.
10283         * modules/unicase/u16-is-uppercase: Likewise.
10284         * modules/unicase/u16-prefix-context: Likewise.
10285         * modules/unicase/u16-suffix-context: Likewise.
10286         * modules/unicase/u16-tolower: Likewise.
10287         * modules/unicase/u16-totitle: Likewise.
10288         * modules/unicase/u16-toupper: Likewise.
10289         * modules/unicase/u32-casecmp: Likewise.
10290         * modules/unicase/u32-casecoll: Likewise.
10291         * modules/unicase/u32-casefold: Likewise.
10292         * modules/unicase/u32-casexfrm: Likewise.
10293         * modules/unicase/u32-ct-casefold: Likewise.
10294         * modules/unicase/u32-ct-tolower: Likewise.
10295         * modules/unicase/u32-ct-totitle: Likewise.
10296         * modules/unicase/u32-ct-toupper: Likewise.
10297         * modules/unicase/u32-is-cased: Likewise.
10298         * modules/unicase/u32-is-casefolded: Likewise.
10299         * modules/unicase/u32-is-lowercase: Likewise.
10300         * modules/unicase/u32-is-titlecase: Likewise.
10301         * modules/unicase/u32-is-uppercase: Likewise.
10302         * modules/unicase/u32-prefix-context: Likewise.
10303         * modules/unicase/u32-suffix-context: Likewise.
10304         * modules/unicase/u32-tolower: Likewise.
10305         * modules/unicase/u32-totitle: Likewise.
10306         * modules/unicase/u32-toupper: Likewise.
10307         * modules/unicase/ulc-casecmp: Likewise.
10308         * modules/unicase/ulc-casecoll: Likewise.
10309         * modules/unicase/ulc-casexfrm: Likewise.
10310         * modules/uniconv/u8-conv-from-enc: Likewise.
10311         * modules/uniconv/u8-conv-to-enc: Likewise.
10312         * modules/uniconv/u8-strconv-from-enc: Likewise.
10313         * modules/uniconv/u8-strconv-from-locale: Likewise.
10314         * modules/uniconv/u8-strconv-to-enc: Likewise.
10315         * modules/uniconv/u8-strconv-to-locale: Likewise.
10316         * modules/uniconv/u16-conv-from-enc: Likewise.
10317         * modules/uniconv/u16-conv-to-enc: Likewise.
10318         * modules/uniconv/u16-strconv-from-enc: Likewise.
10319         * modules/uniconv/u16-strconv-from-locale: Likewise.
10320         * modules/uniconv/u16-strconv-to-enc: Likewise.
10321         * modules/uniconv/u16-strconv-to-locale: Likewise.
10322         * modules/uniconv/u32-conv-from-enc: Likewise.
10323         * modules/uniconv/u32-conv-to-enc: Likewise.
10324         * modules/uniconv/u32-strconv-from-enc: Likewise.
10325         * modules/uniconv/u32-strconv-from-locale: Likewise.
10326         * modules/uniconv/u32-strconv-to-enc: Likewise.
10327         * modules/uniconv/u32-strconv-to-locale: Likewise.
10328         * modules/unictype/bidicategory-byname: Likewise.
10329         * modules/unictype/bidicategory-name: Likewise.
10330         * modules/unictype/bidicategory-of: Likewise.
10331         * modules/unictype/bidicategory-test: Likewise.
10332         * modules/unictype/block-list: Likewise.
10333         * modules/unictype/block-test: Likewise.
10334         * modules/unictype/category-C: Likewise.
10335         * modules/unictype/category-Cc: Likewise.
10336         * modules/unictype/category-Cf: Likewise.
10337         * modules/unictype/category-Cn: Likewise.
10338         * modules/unictype/category-Co: Likewise.
10339         * modules/unictype/category-Cs: Likewise.
10340         * modules/unictype/category-L: Likewise.
10341         * modules/unictype/category-Ll: Likewise.
10342         * modules/unictype/category-Lm: Likewise.
10343         * modules/unictype/category-Lo: Likewise.
10344         * modules/unictype/category-Lt: Likewise.
10345         * modules/unictype/category-Lu: Likewise.
10346         * modules/unictype/category-M: Likewise.
10347         * modules/unictype/category-Mc: Likewise.
10348         * modules/unictype/category-Me: Likewise.
10349         * modules/unictype/category-Mn: Likewise.
10350         * modules/unictype/category-N: Likewise.
10351         * modules/unictype/category-Nd: Likewise.
10352         * modules/unictype/category-Nl: Likewise.
10353         * modules/unictype/category-No: Likewise.
10354         * modules/unictype/category-P: Likewise.
10355         * modules/unictype/category-Pc: Likewise.
10356         * modules/unictype/category-Pd: Likewise.
10357         * modules/unictype/category-Pe: Likewise.
10358         * modules/unictype/category-Pf: Likewise.
10359         * modules/unictype/category-Pi: Likewise.
10360         * modules/unictype/category-Po: Likewise.
10361         * modules/unictype/category-Ps: Likewise.
10362         * modules/unictype/category-S: Likewise.
10363         * modules/unictype/category-Sc: Likewise.
10364         * modules/unictype/category-Sk: Likewise.
10365         * modules/unictype/category-Sm: Likewise.
10366         * modules/unictype/category-So: Likewise.
10367         * modules/unictype/category-Z: Likewise.
10368         * modules/unictype/category-Zl: Likewise.
10369         * modules/unictype/category-Zp: Likewise.
10370         * modules/unictype/category-Zs: Likewise.
10371         * modules/unictype/category-and: Likewise.
10372         * modules/unictype/category-and-not: Likewise.
10373         * modules/unictype/category-byname: Likewise.
10374         * modules/unictype/category-name: Likewise.
10375         * modules/unictype/category-none: Likewise.
10376         * modules/unictype/category-of: Likewise.
10377         * modules/unictype/category-or: Likewise.
10378         * modules/unictype/category-test: Likewise.
10379         * modules/unictype/combining-class: Likewise.
10380         * modules/unictype/ctype-alnum: Likewise.
10381         * modules/unictype/ctype-alpha: Likewise.
10382         * modules/unictype/ctype-blank: Likewise.
10383         * modules/unictype/ctype-cntrl: Likewise.
10384         * modules/unictype/ctype-digit: Likewise.
10385         * modules/unictype/ctype-graph: Likewise.
10386         * modules/unictype/ctype-lower: Likewise.
10387         * modules/unictype/ctype-print: Likewise.
10388         * modules/unictype/ctype-punct: Likewise.
10389         * modules/unictype/ctype-space: Likewise.
10390         * modules/unictype/ctype-upper: Likewise.
10391         * modules/unictype/ctype-xdigit: Likewise.
10392         * modules/unictype/decimal-digit: Likewise.
10393         * modules/unictype/digit: Likewise.
10394         * modules/unictype/mirror: Likewise.
10395         * modules/unictype/numeric: Likewise.
10396         * modules/unictype/property-alphabetic: Likewise.
10397         * modules/unictype/property-ascii-hex-digit: Likewise.
10398         * modules/unictype/property-bidi-arabic-digit: Likewise.
10399         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
10400         * modules/unictype/property-bidi-block-separator: Likewise.
10401         * modules/unictype/property-bidi-boundary-neutral: Likewise.
10402         * modules/unictype/property-bidi-common-separator: Likewise.
10403         * modules/unictype/property-bidi-control: Likewise.
10404         * modules/unictype/property-bidi-embedding-or-override: Likewise.
10405         * modules/unictype/property-bidi-eur-num-separator: Likewise.
10406         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
10407         * modules/unictype/property-bidi-european-digit: Likewise.
10408         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
10409         * modules/unictype/property-bidi-left-to-right: Likewise.
10410         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
10411         * modules/unictype/property-bidi-other-neutral: Likewise.
10412         * modules/unictype/property-bidi-pdf: Likewise.
10413         * modules/unictype/property-bidi-segment-separator: Likewise.
10414         * modules/unictype/property-bidi-whitespace: Likewise.
10415         * modules/unictype/property-byname: Likewise.
10416         * modules/unictype/property-combining: Likewise.
10417         * modules/unictype/property-composite: Likewise.
10418         * modules/unictype/property-currency-symbol: Likewise.
10419         * modules/unictype/property-dash: Likewise.
10420         * modules/unictype/property-decimal-digit: Likewise.
10421         * modules/unictype/property-default-ignorable-code-point: Likewise.
10422         * modules/unictype/property-deprecated: Likewise.
10423         * modules/unictype/property-diacritic: Likewise.
10424         * modules/unictype/property-extender: Likewise.
10425         * modules/unictype/property-format-control: Likewise.
10426         * modules/unictype/property-grapheme-base: Likewise.
10427         * modules/unictype/property-grapheme-extend: Likewise.
10428         * modules/unictype/property-grapheme-link: Likewise.
10429         * modules/unictype/property-hex-digit: Likewise.
10430         * modules/unictype/property-hyphen: Likewise.
10431         * modules/unictype/property-id-continue: Likewise.
10432         * modules/unictype/property-id-start: Likewise.
10433         * modules/unictype/property-ideographic: Likewise.
10434         * modules/unictype/property-ids-binary-operator: Likewise.
10435         * modules/unictype/property-ids-trinary-operator: Likewise.
10436         * modules/unictype/property-ignorable-control: Likewise.
10437         * modules/unictype/property-iso-control: Likewise.
10438         * modules/unictype/property-join-control: Likewise.
10439         * modules/unictype/property-left-of-pair: Likewise.
10440         * modules/unictype/property-line-separator: Likewise.
10441         * modules/unictype/property-logical-order-exception: Likewise.
10442         * modules/unictype/property-lowercase: Likewise.
10443         * modules/unictype/property-math: Likewise.
10444         * modules/unictype/property-non-break: Likewise.
10445         * modules/unictype/property-not-a-character: Likewise.
10446         * modules/unictype/property-numeric: Likewise.
10447         * modules/unictype/property-other-alphabetic: Likewise.
10448         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
10449         * modules/unictype/property-other-grapheme-extend: Likewise.
10450         * modules/unictype/property-other-id-continue: Likewise.
10451         * modules/unictype/property-other-id-start: Likewise.
10452         * modules/unictype/property-other-lowercase: Likewise.
10453         * modules/unictype/property-other-math: Likewise.
10454         * modules/unictype/property-other-uppercase: Likewise.
10455         * modules/unictype/property-paired-punctuation: Likewise.
10456         * modules/unictype/property-paragraph-separator: Likewise.
10457         * modules/unictype/property-pattern-syntax: Likewise.
10458         * modules/unictype/property-pattern-white-space: Likewise.
10459         * modules/unictype/property-private-use: Likewise.
10460         * modules/unictype/property-punctuation: Likewise.
10461         * modules/unictype/property-quotation-mark: Likewise.
10462         * modules/unictype/property-radical: Likewise.
10463         * modules/unictype/property-sentence-terminal: Likewise.
10464         * modules/unictype/property-soft-dotted: Likewise.
10465         * modules/unictype/property-space: Likewise.
10466         * modules/unictype/property-terminal-punctuation: Likewise.
10467         * modules/unictype/property-test: Likewise.
10468         * modules/unictype/property-titlecase: Likewise.
10469         * modules/unictype/property-unassigned-code-value: Likewise.
10470         * modules/unictype/property-unified-ideograph: Likewise.
10471         * modules/unictype/property-uppercase: Likewise.
10472         * modules/unictype/property-variation-selector: Likewise.
10473         * modules/unictype/property-white-space: Likewise.
10474         * modules/unictype/property-xid-continue: Likewise.
10475         * modules/unictype/property-xid-start: Likewise.
10476         * modules/unictype/property-zero-width: Likewise.
10477         * modules/unictype/scripts: Likewise.
10478         * modules/unictype/syntax-c-ident: Likewise.
10479         * modules/unictype/syntax-c-whitespace: Likewise.
10480         * modules/unictype/syntax-java-ident: Likewise.
10481         * modules/unictype/syntax-java-whitespace: Likewise.
10482         * modules/unilbrk/u8-possible-linebreaks: Likewise.
10483         * modules/unilbrk/u8-width-linebreaks: Likewise.
10484         * modules/unilbrk/u16-possible-linebreaks: Likewise.
10485         * modules/unilbrk/u16-width-linebreaks: Likewise.
10486         * modules/unilbrk/u32-possible-linebreaks: Likewise.
10487         * modules/unilbrk/u32-width-linebreaks: Likewise.
10488         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
10489         * modules/unilbrk/ulc-width-linebreaks: Likewise.
10490         * modules/uniname/uniname: Likewise.
10491         * modules/uninorm/canonical-decomposition: Likewise.
10492         * modules/uninorm/composition: Likewise.
10493         * modules/uninorm/decomposing-form: Likewise.
10494         * modules/uninorm/decomposition: Likewise.
10495         * modules/uninorm/filter: Likewise.
10496         * modules/uninorm/nfc: Likewise.
10497         * modules/uninorm/nfd: Likewise.
10498         * modules/uninorm/nfkc: Likewise.
10499         * modules/uninorm/nfkd: Likewise.
10500         * modules/uninorm/u8-normalize: Likewise.
10501         * modules/uninorm/u8-normcmp: Likewise.
10502         * modules/uninorm/u8-normcoll: Likewise.
10503         * modules/uninorm/u8-normxfrm: Likewise.
10504         * modules/uninorm/u16-normalize: Likewise.
10505         * modules/uninorm/u16-normcmp: Likewise.
10506         * modules/uninorm/u16-normcoll: Likewise.
10507         * modules/uninorm/u16-normxfrm: Likewise.
10508         * modules/uninorm/u32-normalize: Likewise.
10509         * modules/uninorm/u32-normcmp: Likewise.
10510         * modules/uninorm/u32-normcoll: Likewise.
10511         * modules/uninorm/u32-normxfrm: Likewise.
10512         * modules/unistdio/u8-asnprintf: Likewise.
10513         * modules/unistdio/u8-asprintf: Likewise.
10514         * modules/unistdio/u8-snprintf: Likewise.
10515         * modules/unistdio/u8-sprintf: Likewise.
10516         * modules/unistdio/u8-u8-asnprintf: Likewise.
10517         * modules/unistdio/u8-u8-asprintf: Likewise.
10518         * modules/unistdio/u8-u8-snprintf: Likewise.
10519         * modules/unistdio/u8-u8-sprintf: Likewise.
10520         * modules/unistdio/u8-u8-vasnprintf: Likewise.
10521         * modules/unistdio/u8-u8-vasprintf: Likewise.
10522         * modules/unistdio/u8-u8-vsnprintf: Likewise.
10523         * modules/unistdio/u8-u8-vsprintf: Likewise.
10524         * modules/unistdio/u8-vasnprintf: Likewise.
10525         * modules/unistdio/u8-vasprintf: Likewise.
10526         * modules/unistdio/u8-vsnprintf: Likewise.
10527         * modules/unistdio/u8-vsprintf: Likewise.
10528         * modules/unistdio/u16-asnprintf: Likewise.
10529         * modules/unistdio/u16-asprintf: Likewise.
10530         * modules/unistdio/u16-snprintf: Likewise.
10531         * modules/unistdio/u16-sprintf: Likewise.
10532         * modules/unistdio/u16-u16-asnprintf: Likewise.
10533         * modules/unistdio/u16-u16-asprintf: Likewise.
10534         * modules/unistdio/u16-u16-snprintf: Likewise.
10535         * modules/unistdio/u16-u16-sprintf: Likewise.
10536         * modules/unistdio/u16-u16-vasnprintf: Likewise.
10537         * modules/unistdio/u16-u16-vasprintf: Likewise.
10538         * modules/unistdio/u16-u16-vsnprintf: Likewise.
10539         * modules/unistdio/u16-u16-vsprintf: Likewise.
10540         * modules/unistdio/u16-vasnprintf: Likewise.
10541         * modules/unistdio/u16-vasprintf: Likewise.
10542         * modules/unistdio/u16-vsnprintf: Likewise.
10543         * modules/unistdio/u16-vsprintf: Likewise.
10544         * modules/unistdio/u32-asnprintf: Likewise.
10545         * modules/unistdio/u32-asprintf: Likewise.
10546         * modules/unistdio/u32-snprintf: Likewise.
10547         * modules/unistdio/u32-sprintf: Likewise.
10548         * modules/unistdio/u32-u32-asnprintf: Likewise.
10549         * modules/unistdio/u32-u32-asprintf: Likewise.
10550         * modules/unistdio/u32-u32-snprintf: Likewise.
10551         * modules/unistdio/u32-u32-sprintf: Likewise.
10552         * modules/unistdio/u32-u32-vasnprintf: Likewise.
10553         * modules/unistdio/u32-u32-vasprintf: Likewise.
10554         * modules/unistdio/u32-u32-vsnprintf: Likewise.
10555         * modules/unistdio/u32-u32-vsprintf: Likewise.
10556         * modules/unistdio/u32-vasnprintf: Likewise.
10557         * modules/unistdio/u32-vasprintf: Likewise.
10558         * modules/unistdio/u32-vsnprintf: Likewise.
10559         * modules/unistdio/u32-vsprintf: Likewise.
10560         * modules/unistdio/ulc-asnprintf: Likewise.
10561         * modules/unistdio/ulc-asprintf: Likewise.
10562         * modules/unistdio/ulc-fprintf: Likewise.
10563         * modules/unistdio/ulc-snprintf: Likewise.
10564         * modules/unistdio/ulc-sprintf: Likewise.
10565         * modules/unistdio/ulc-vasnprintf: Likewise.
10566         * modules/unistdio/ulc-vasprintf: Likewise.
10567         * modules/unistdio/ulc-vfprintf: Likewise.
10568         * modules/unistdio/ulc-vsnprintf: Likewise.
10569         * modules/unistdio/ulc-vsprintf: Likewise.
10570         * modules/unistr/u8-check: Likewise.
10571         * modules/unistr/u8-chr: Likewise.
10572         * modules/unistr/u8-cmp: Likewise.
10573         * modules/unistr/u8-cmp2: Likewise.
10574         * modules/unistr/u8-cpy: Likewise.
10575         * modules/unistr/u8-cpy-alloc: Likewise.
10576         * modules/unistr/u8-endswith: Likewise.
10577         * modules/unistr/u8-mblen: Likewise.
10578         * modules/unistr/u8-mbsnlen: Likewise.
10579         * modules/unistr/u8-mbtouc: Likewise.
10580         * modules/unistr/u8-mbtouc-unsafe: Likewise.
10581         * modules/unistr/u8-mbtoucr: Likewise.
10582         * modules/unistr/u8-move: Likewise.
10583         * modules/unistr/u8-next: Likewise.
10584         * modules/unistr/u8-prev: Likewise.
10585         * modules/unistr/u8-set: Likewise.
10586         * modules/unistr/u8-startswith: Likewise.
10587         * modules/unistr/u8-stpcpy: Likewise.
10588         * modules/unistr/u8-stpncpy: Likewise.
10589         * modules/unistr/u8-strcat: Likewise.
10590         * modules/unistr/u8-strchr: Likewise.
10591         * modules/unistr/u8-strcmp: Likewise.
10592         * modules/unistr/u8-strcoll: Likewise.
10593         * modules/unistr/u8-strcpy: Likewise.
10594         * modules/unistr/u8-strcspn: Likewise.
10595         * modules/unistr/u8-strdup: Likewise.
10596         * modules/unistr/u8-strlen: Likewise.
10597         * modules/unistr/u8-strmblen: Likewise.
10598         * modules/unistr/u8-strmbtouc: Likewise.
10599         * modules/unistr/u8-strncat: Likewise.
10600         * modules/unistr/u8-strncmp: Likewise.
10601         * modules/unistr/u8-strncpy: Likewise.
10602         * modules/unistr/u8-strnlen: Likewise.
10603         * modules/unistr/u8-strpbrk: Likewise.
10604         * modules/unistr/u8-strrchr: Likewise.
10605         * modules/unistr/u8-strspn: Likewise.
10606         * modules/unistr/u8-strstr: Likewise.
10607         * modules/unistr/u8-strtok: Likewise.
10608         * modules/unistr/u8-to-u16: Likewise.
10609         * modules/unistr/u8-to-u32: Likewise.
10610         * modules/unistr/u8-uctomb: Likewise.
10611         * modules/unistr/u16-check: Likewise.
10612         * modules/unistr/u16-chr: Likewise.
10613         * modules/unistr/u16-cmp: Likewise.
10614         * modules/unistr/u16-cmp2: Likewise.
10615         * modules/unistr/u16-cpy: Likewise.
10616         * modules/unistr/u16-cpy-alloc: Likewise.
10617         * modules/unistr/u16-endswith: Likewise.
10618         * modules/unistr/u16-mblen: Likewise.
10619         * modules/unistr/u16-mbsnlen: Likewise.
10620         * modules/unistr/u16-mbtouc: Likewise.
10621         * modules/unistr/u16-mbtouc-unsafe: Likewise.
10622         * modules/unistr/u16-mbtoucr: Likewise.
10623         * modules/unistr/u16-move: Likewise.
10624         * modules/unistr/u16-next: Likewise.
10625         * modules/unistr/u16-prev: Likewise.
10626         * modules/unistr/u16-set: Likewise.
10627         * modules/unistr/u16-startswith: Likewise.
10628         * modules/unistr/u16-stpcpy: Likewise.
10629         * modules/unistr/u16-stpncpy: Likewise.
10630         * modules/unistr/u16-strcat: Likewise.
10631         * modules/unistr/u16-strchr: Likewise.
10632         * modules/unistr/u16-strcmp: Likewise.
10633         * modules/unistr/u16-strcoll: Likewise.
10634         * modules/unistr/u16-strcpy: Likewise.
10635         * modules/unistr/u16-strcspn: Likewise.
10636         * modules/unistr/u16-strdup: Likewise.
10637         * modules/unistr/u16-strlen: Likewise.
10638         * modules/unistr/u16-strmblen: Likewise.
10639         * modules/unistr/u16-strmbtouc: Likewise.
10640         * modules/unistr/u16-strncat: Likewise.
10641         * modules/unistr/u16-strncmp: Likewise.
10642         * modules/unistr/u16-strncpy: Likewise.
10643         * modules/unistr/u16-strnlen: Likewise.
10644         * modules/unistr/u16-strpbrk: Likewise.
10645         * modules/unistr/u16-strrchr: Likewise.
10646         * modules/unistr/u16-strspn: Likewise.
10647         * modules/unistr/u16-strstr: Likewise.
10648         * modules/unistr/u16-strtok: Likewise.
10649         * modules/unistr/u16-to-u32: Likewise.
10650         * modules/unistr/u16-to-u8: Likewise.
10651         * modules/unistr/u16-uctomb: Likewise.
10652         * modules/unistr/u32-check: Likewise.
10653         * modules/unistr/u32-chr: Likewise.
10654         * modules/unistr/u32-cmp: Likewise.
10655         * modules/unistr/u32-cmp2: Likewise.
10656         * modules/unistr/u32-cpy: Likewise.
10657         * modules/unistr/u32-cpy-alloc: Likewise.
10658         * modules/unistr/u32-endswith: Likewise.
10659         * modules/unistr/u32-mblen: Likewise.
10660         * modules/unistr/u32-mbsnlen: Likewise.
10661         * modules/unistr/u32-mbtouc: Likewise.
10662         * modules/unistr/u32-mbtouc-unsafe: Likewise.
10663         * modules/unistr/u32-mbtoucr: Likewise.
10664         * modules/unistr/u32-move: Likewise.
10665         * modules/unistr/u32-next: Likewise.
10666         * modules/unistr/u32-prev: Likewise.
10667         * modules/unistr/u32-set: Likewise.
10668         * modules/unistr/u32-startswith: Likewise.
10669         * modules/unistr/u32-stpcpy: Likewise.
10670         * modules/unistr/u32-stpncpy: Likewise.
10671         * modules/unistr/u32-strcat: Likewise.
10672         * modules/unistr/u32-strchr: Likewise.
10673         * modules/unistr/u32-strcmp: Likewise.
10674         * modules/unistr/u32-strcoll: Likewise.
10675         * modules/unistr/u32-strcpy: Likewise.
10676         * modules/unistr/u32-strcspn: Likewise.
10677         * modules/unistr/u32-strdup: Likewise.
10678         * modules/unistr/u32-strlen: Likewise.
10679         * modules/unistr/u32-strmblen: Likewise.
10680         * modules/unistr/u32-strmbtouc: Likewise.
10681         * modules/unistr/u32-strncat: Likewise.
10682         * modules/unistr/u32-strncmp: Likewise.
10683         * modules/unistr/u32-strncpy: Likewise.
10684         * modules/unistr/u32-strnlen: Likewise.
10685         * modules/unistr/u32-strpbrk: Likewise.
10686         * modules/unistr/u32-strrchr: Likewise.
10687         * modules/unistr/u32-strspn: Likewise.
10688         * modules/unistr/u32-strstr: Likewise.
10689         * modules/unistr/u32-strtok: Likewise.
10690         * modules/unistr/u32-to-u16: Likewise.
10691         * modules/unistr/u32-to-u8: Likewise.
10692         * modules/unistr/u32-uctomb: Likewise.
10693         * modules/uniwbrk/u8-wordbreaks: Likewise.
10694         * modules/uniwbrk/u16-wordbreaks: Likewise.
10695         * modules/uniwbrk/u32-wordbreaks: Likewise.
10696         * modules/uniwbrk/ulc-wordbreaks: Likewise.
10697         * modules/uniwbrk/wordbreak-property: Likewise.
10698         * modules/uniwidth/u8-strwidth: Likewise.
10699         * modules/uniwidth/u8-width: Likewise.
10700         * modules/uniwidth/u16-strwidth: Likewise.
10701         * modules/uniwidth/u16-width: Likewise.
10702         * modules/uniwidth/u32-strwidth: Likewise.
10703         * modules/uniwidth/u32-width: Likewise.
10704         * modules/uniwidth/width: Likewise.
10705         * modules/unicase/cased-tests (Makefile.am): Link all test programs
10706         with $(LIBUNISTRING).
10707         * modules/unicase/ignorable-tests: Likewise.
10708         * modules/unicase/locale-language-tests: Likewise.
10709         * modules/unicase/tolower-tests: Likewise.
10710         * modules/unicase/totitle-tests: Likewise.
10711         * modules/unicase/toupper-tests: Likewise.
10712         * modules/unicase/u8-casecmp-tests: Likewise.
10713         * modules/unicase/u8-casecoll-tests: Likewise.
10714         * modules/unicase/u8-casefold-tests: Likewise.
10715         * modules/unicase/u8-is-cased-tests: Likewise.
10716         * modules/unicase/u8-is-casefolded-tests: Likewise.
10717         * modules/unicase/u8-is-lowercase-tests: Likewise.
10718         * modules/unicase/u8-is-titlecase-tests: Likewise.
10719         * modules/unicase/u8-is-uppercase-tests: Likewise.
10720         * modules/unicase/u8-tolower-tests: Likewise.
10721         * modules/unicase/u8-totitle-tests: Likewise.
10722         * modules/unicase/u8-toupper-tests: Likewise.
10723         * modules/unicase/u16-casecmp-tests: Likewise.
10724         * modules/unicase/u16-casecoll-tests: Likewise.
10725         * modules/unicase/u16-casefold-tests: Likewise.
10726         * modules/unicase/u16-is-cased-tests: Likewise.
10727         * modules/unicase/u16-is-casefolded-tests: Likewise.
10728         * modules/unicase/u16-is-lowercase-tests: Likewise.
10729         * modules/unicase/u16-is-titlecase-tests: Likewise.
10730         * modules/unicase/u16-is-uppercase-tests: Likewise.
10731         * modules/unicase/u16-tolower-tests: Likewise.
10732         * modules/unicase/u16-totitle-tests: Likewise.
10733         * modules/unicase/u16-toupper-tests: Likewise.
10734         * modules/unicase/u32-casecmp-tests: Likewise.
10735         * modules/unicase/u32-casecoll-tests: Likewise.
10736         * modules/unicase/u32-casefold-tests: Likewise.
10737         * modules/unicase/u32-is-cased-tests: Likewise.
10738         * modules/unicase/u32-is-casefolded-tests: Likewise.
10739         * modules/unicase/u32-is-lowercase-tests: Likewise.
10740         * modules/unicase/u32-is-titlecase-tests: Likewise.
10741         * modules/unicase/u32-is-uppercase-tests: Likewise.
10742         * modules/unicase/u32-tolower-tests: Likewise.
10743         * modules/unicase/u32-totitle-tests: Likewise.
10744         * modules/unicase/u32-toupper-tests: Likewise.
10745         * modules/unicase/ulc-casecmp-tests: Likewise.
10746         * modules/unicase/ulc-casecoll-tests: Likewise.
10747         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
10748         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
10749         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
10750         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
10751         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
10752         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
10753         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
10754         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
10755         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
10756         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
10757         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
10758         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
10759         * modules/unictype/bidicategory-byname-tests: Likewise.
10760         * modules/unictype/bidicategory-name-tests: Likewise.
10761         * modules/unictype/bidicategory-of-tests: Likewise.
10762         * modules/unictype/bidicategory-test-tests: Likewise.
10763         * modules/unictype/block-list-tests: Likewise.
10764         * modules/unictype/block-of-tests: Likewise.
10765         * modules/unictype/block-test-tests: Likewise.
10766         * modules/unictype/category-C-tests: Likewise.
10767         * modules/unictype/category-Cc-tests: Likewise.
10768         * modules/unictype/category-Cf-tests: Likewise.
10769         * modules/unictype/category-Cn-tests: Likewise.
10770         * modules/unictype/category-Co-tests: Likewise.
10771         * modules/unictype/category-Cs-tests: Likewise.
10772         * modules/unictype/category-L-tests: Likewise.
10773         * modules/unictype/category-Ll-tests: Likewise.
10774         * modules/unictype/category-Lm-tests: Likewise.
10775         * modules/unictype/category-Lo-tests: Likewise.
10776         * modules/unictype/category-Lt-tests: Likewise.
10777         * modules/unictype/category-Lu-tests: Likewise.
10778         * modules/unictype/category-M-tests: Likewise.
10779         * modules/unictype/category-Mc-tests: Likewise.
10780         * modules/unictype/category-Me-tests: Likewise.
10781         * modules/unictype/category-Mn-tests: Likewise.
10782         * modules/unictype/category-N-tests: Likewise.
10783         * modules/unictype/category-Nd-tests: Likewise.
10784         * modules/unictype/category-Nl-tests: Likewise.
10785         * modules/unictype/category-No-tests: Likewise.
10786         * modules/unictype/category-P-tests: Likewise.
10787         * modules/unictype/category-Pc-tests: Likewise.
10788         * modules/unictype/category-Pd-tests: Likewise.
10789         * modules/unictype/category-Pe-tests: Likewise.
10790         * modules/unictype/category-Pf-tests: Likewise.
10791         * modules/unictype/category-Pi-tests: Likewise.
10792         * modules/unictype/category-Po-tests: Likewise.
10793         * modules/unictype/category-Ps-tests: Likewise.
10794         * modules/unictype/category-S-tests: Likewise.
10795         * modules/unictype/category-Sc-tests: Likewise.
10796         * modules/unictype/category-Sk-tests: Likewise.
10797         * modules/unictype/category-Sm-tests: Likewise.
10798         * modules/unictype/category-So-tests: Likewise.
10799         * modules/unictype/category-Z-tests: Likewise.
10800         * modules/unictype/category-Zl-tests: Likewise.
10801         * modules/unictype/category-Zp-tests: Likewise.
10802         * modules/unictype/category-Zs-tests: Likewise.
10803         * modules/unictype/category-and-not-tests: Likewise.
10804         * modules/unictype/category-and-tests: Likewise.
10805         * modules/unictype/category-byname-tests: Likewise.
10806         * modules/unictype/category-name-tests: Likewise.
10807         * modules/unictype/category-none-tests: Likewise.
10808         * modules/unictype/category-of-tests: Likewise.
10809         * modules/unictype/category-or-tests: Likewise.
10810         * modules/unictype/category-test-withtable-tests: Likewise.
10811         * modules/unictype/combining-class-tests: Likewise.
10812         * modules/unictype/ctype-alnum-tests: Likewise.
10813         * modules/unictype/ctype-alpha-tests: Likewise.
10814         * modules/unictype/ctype-blank-tests: Likewise.
10815         * modules/unictype/ctype-cntrl-tests: Likewise.
10816         * modules/unictype/ctype-digit-tests: Likewise.
10817         * modules/unictype/ctype-graph-tests: Likewise.
10818         * modules/unictype/ctype-lower-tests: Likewise.
10819         * modules/unictype/ctype-print-tests: Likewise.
10820         * modules/unictype/ctype-punct-tests: Likewise.
10821         * modules/unictype/ctype-space-tests: Likewise.
10822         * modules/unictype/ctype-upper-tests: Likewise.
10823         * modules/unictype/ctype-xdigit-tests: Likewise.
10824         * modules/unictype/decimal-digit-tests: Likewise.
10825         * modules/unictype/digit-tests: Likewise.
10826         * modules/unictype/mirror-tests: Likewise.
10827         * modules/unictype/numeric-tests: Likewise.
10828         * modules/unictype/property-alphabetic-tests: Likewise.
10829         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
10830         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
10831         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
10832         * modules/unictype/property-bidi-block-separator-tests: Likewise.
10833         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
10834         * modules/unictype/property-bidi-common-separator-tests: Likewise.
10835         * modules/unictype/property-bidi-control-tests: Likewise.
10836         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
10837         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
10838         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
10839         * modules/unictype/property-bidi-european-digit-tests: Likewise.
10840         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
10841         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
10842         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
10843         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
10844         * modules/unictype/property-bidi-pdf-tests: Likewise.
10845         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
10846         * modules/unictype/property-bidi-whitespace-tests: Likewise.
10847         * modules/unictype/property-byname-tests: Likewise.
10848         * modules/unictype/property-combining-tests: Likewise.
10849         * modules/unictype/property-composite-tests: Likewise.
10850         * modules/unictype/property-currency-symbol-tests: Likewise.
10851         * modules/unictype/property-dash-tests: Likewise.
10852         * modules/unictype/property-decimal-digit-tests: Likewise.
10853         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
10854         * modules/unictype/property-deprecated-tests: Likewise.
10855         * modules/unictype/property-diacritic-tests: Likewise.
10856         * modules/unictype/property-extender-tests: Likewise.
10857         * modules/unictype/property-format-control-tests: Likewise.
10858         * modules/unictype/property-grapheme-base-tests: Likewise.
10859         * modules/unictype/property-grapheme-extend-tests: Likewise.
10860         * modules/unictype/property-grapheme-link-tests: Likewise.
10861         * modules/unictype/property-hex-digit-tests: Likewise.
10862         * modules/unictype/property-hyphen-tests: Likewise.
10863         * modules/unictype/property-id-continue-tests: Likewise.
10864         * modules/unictype/property-id-start-tests: Likewise.
10865         * modules/unictype/property-ideographic-tests: Likewise.
10866         * modules/unictype/property-ids-binary-operator-tests: Likewise.
10867         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
10868         * modules/unictype/property-ignorable-control-tests: Likewise.
10869         * modules/unictype/property-iso-control-tests: Likewise.
10870         * modules/unictype/property-join-control-tests: Likewise.
10871         * modules/unictype/property-left-of-pair-tests: Likewise.
10872         * modules/unictype/property-line-separator-tests: Likewise.
10873         * modules/unictype/property-logical-order-exception-tests: Likewise.
10874         * modules/unictype/property-lowercase-tests: Likewise.
10875         * modules/unictype/property-math-tests: Likewise.
10876         * modules/unictype/property-non-break-tests: Likewise.
10877         * modules/unictype/property-not-a-character-tests: Likewise.
10878         * modules/unictype/property-numeric-tests: Likewise.
10879         * modules/unictype/property-other-alphabetic-tests: Likewise.
10880         * modules/unictype/property-other-default-ignorable-code-point-tests:
10881         Likewise.
10882         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
10883         * modules/unictype/property-other-id-continue-tests: Likewise.
10884         * modules/unictype/property-other-id-start-tests: Likewise.
10885         * modules/unictype/property-other-lowercase-tests: Likewise.
10886         * modules/unictype/property-other-math-tests: Likewise.
10887         * modules/unictype/property-other-uppercase-tests: Likewise.
10888         * modules/unictype/property-paired-punctuation-tests: Likewise.
10889         * modules/unictype/property-paragraph-separator-tests: Likewise.
10890         * modules/unictype/property-pattern-syntax-tests: Likewise.
10891         * modules/unictype/property-pattern-white-space-tests: Likewise.
10892         * modules/unictype/property-private-use-tests: Likewise.
10893         * modules/unictype/property-punctuation-tests: Likewise.
10894         * modules/unictype/property-quotation-mark-tests: Likewise.
10895         * modules/unictype/property-radical-tests: Likewise.
10896         * modules/unictype/property-sentence-terminal-tests: Likewise.
10897         * modules/unictype/property-soft-dotted-tests: Likewise.
10898         * modules/unictype/property-space-tests: Likewise.
10899         * modules/unictype/property-terminal-punctuation-tests: Likewise.
10900         * modules/unictype/property-test-tests: Likewise.
10901         * modules/unictype/property-titlecase-tests: Likewise.
10902         * modules/unictype/property-unassigned-code-value-tests: Likewise.
10903         * modules/unictype/property-unified-ideograph-tests: Likewise.
10904         * modules/unictype/property-uppercase-tests: Likewise.
10905         * modules/unictype/property-variation-selector-tests: Likewise.
10906         * modules/unictype/property-white-space-tests: Likewise.
10907         * modules/unictype/property-xid-continue-tests: Likewise.
10908         * modules/unictype/property-xid-start-tests: Likewise.
10909         * modules/unictype/property-zero-width-tests: Likewise.
10910         * modules/unictype/scripts-tests: Likewise.
10911         * modules/unictype/syntax-c-ident-tests: Likewise.
10912         * modules/unictype/syntax-c-whitespace-tests: Likewise.
10913         * modules/unictype/syntax-java-ident-tests: Likewise.
10914         * modules/unictype/syntax-java-whitespace-tests: Likewise.
10915         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
10916         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
10917         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
10918         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
10919         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
10920         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
10921         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
10922         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
10923         * modules/uniname/uniname-tests: Likewise.
10924         * modules/uninorm/canonical-decomposition-tests: Likewise.
10925         * modules/uninorm/compat-decomposition-tests: Likewise.
10926         * modules/uninorm/composition-tests: Likewise.
10927         * modules/uninorm/decomposing-form-tests: Likewise.
10928         * modules/uninorm/decomposition-tests: Likewise.
10929         * modules/uninorm/filter-tests: Likewise.
10930         * modules/uninorm/nfc-tests: Likewise.
10931         * modules/uninorm/nfd-tests: Likewise.
10932         * modules/uninorm/nfkc-tests: Likewise.
10933         * modules/uninorm/nfkd-tests: Likewise.
10934         * modules/uninorm/u8-normcmp-tests: Likewise.
10935         * modules/uninorm/u8-normcoll-tests: Likewise.
10936         * modules/uninorm/u16-normcmp-tests: Likewise.
10937         * modules/uninorm/u16-normcoll-tests: Likewise.
10938         * modules/uninorm/u32-normcmp-tests: Likewise.
10939         * modules/uninorm/u32-normcoll-tests: Likewise.
10940         * modules/unistdio/u8-asnprintf-tests: Likewise.
10941         * modules/unistdio/u8-vasnprintf-tests: Likewise.
10942         * modules/unistdio/u8-vasprintf-tests: Likewise.
10943         * modules/unistdio/u8-vsnprintf-tests: Likewise.
10944         * modules/unistdio/u8-vsprintf-tests: Likewise.
10945         * modules/unistdio/u16-asnprintf-tests: Likewise.
10946         * modules/unistdio/u16-vasnprintf-tests: Likewise.
10947         * modules/unistdio/u16-vasprintf-tests: Likewise.
10948         * modules/unistdio/u16-vsnprintf-tests: Likewise.
10949         * modules/unistdio/u16-vsprintf-tests: Likewise.
10950         * modules/unistdio/u32-asnprintf-tests: Likewise.
10951         * modules/unistdio/u32-vasnprintf-tests: Likewise.
10952         * modules/unistdio/u32-vasprintf-tests: Likewise.
10953         * modules/unistdio/u32-vsnprintf-tests: Likewise.
10954         * modules/unistdio/u32-vsprintf-tests: Likewise.
10955         * modules/unistdio/ulc-asnprintf-tests: Likewise.
10956         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
10957         * modules/unistdio/ulc-vasprintf-tests: Likewise.
10958         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
10959         * modules/unistdio/ulc-vsprintf-tests: Likewise.
10960         * modules/unistr/u8-check-tests: Likewise.
10961         * modules/unistr/u8-chr-tests: Likewise.
10962         * modules/unistr/u8-cmp-tests: Likewise.
10963         * modules/unistr/u8-cmp2-tests: Likewise.
10964         * modules/unistr/u8-cpy-alloc-tests: Likewise.
10965         * modules/unistr/u8-cpy-tests: Likewise.
10966         * modules/unistr/u8-mblen-tests: Likewise.
10967         * modules/unistr/u8-mbsnlen-tests: Likewise.
10968         * modules/unistr/u8-mbtouc-tests: Likewise.
10969         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
10970         * modules/unistr/u8-mbtoucr-tests: Likewise.
10971         * modules/unistr/u8-move-tests: Likewise.
10972         * modules/unistr/u8-next-tests: Likewise.
10973         * modules/unistr/u8-prev-tests: Likewise.
10974         * modules/unistr/u8-set-tests: Likewise.
10975         * modules/unistr/u8-stpcpy-tests: Likewise.
10976         * modules/unistr/u8-stpncpy-tests: Likewise.
10977         * modules/unistr/u8-strcat-tests: Likewise.
10978         * modules/unistr/u8-strcmp-tests: Likewise.
10979         * modules/unistr/u8-strcoll-tests: Likewise.
10980         * modules/unistr/u8-strcpy-tests: Likewise.
10981         * modules/unistr/u8-strdup-tests: Likewise.
10982         * modules/unistr/u8-strlen-tests: Likewise.
10983         * modules/unistr/u8-strmblen-tests: Likewise.
10984         * modules/unistr/u8-strmbtouc-tests: Likewise.
10985         * modules/unistr/u8-strncat-tests: Likewise.
10986         * modules/unistr/u8-strncmp-tests: Likewise.
10987         * modules/unistr/u8-strncpy-tests: Likewise.
10988         * modules/unistr/u8-strnlen-tests: Likewise.
10989         * modules/unistr/u8-to-u16-tests: Likewise.
10990         * modules/unistr/u8-to-u32-tests: Likewise.
10991         * modules/unistr/u8-uctomb-tests: Likewise.
10992         * modules/unistr/u16-check-tests: Likewise.
10993         * modules/unistr/u16-chr-tests: Likewise.
10994         * modules/unistr/u16-cmp-tests: Likewise.
10995         * modules/unistr/u16-cmp2-tests: Likewise.
10996         * modules/unistr/u16-cpy-alloc-tests: Likewise.
10997         * modules/unistr/u16-cpy-tests: Likewise.
10998         * modules/unistr/u16-mblen-tests: Likewise.
10999         * modules/unistr/u16-mbsnlen-tests: Likewise.
11000         * modules/unistr/u16-mbtouc-tests: Likewise.
11001         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
11002         * modules/unistr/u16-mbtoucr-tests: Likewise.
11003         * modules/unistr/u16-move-tests: Likewise.
11004         * modules/unistr/u16-next-tests: Likewise.
11005         * modules/unistr/u16-prev-tests: Likewise.
11006         * modules/unistr/u16-set-tests: Likewise.
11007         * modules/unistr/u16-stpcpy-tests: Likewise.
11008         * modules/unistr/u16-stpncpy-tests: Likewise.
11009         * modules/unistr/u16-strcat-tests: Likewise.
11010         * modules/unistr/u16-strcmp-tests: Likewise.
11011         * modules/unistr/u16-strcoll-tests: Likewise.
11012         * modules/unistr/u16-strcpy-tests: Likewise.
11013         * modules/unistr/u16-strdup-tests: Likewise.
11014         * modules/unistr/u16-strlen-tests: Likewise.
11015         * modules/unistr/u16-strmblen-tests: Likewise.
11016         * modules/unistr/u16-strmbtouc-tests: Likewise.
11017         * modules/unistr/u16-strncat-tests: Likewise.
11018         * modules/unistr/u16-strncmp-tests: Likewise.
11019         * modules/unistr/u16-strncpy-tests: Likewise.
11020         * modules/unistr/u16-strnlen-tests: Likewise.
11021         * modules/unistr/u16-to-u32-tests: Likewise.
11022         * modules/unistr/u16-to-u8-tests: Likewise.
11023         * modules/unistr/u16-uctomb-tests: Likewise.
11024         * modules/unistr/u32-check-tests: Likewise.
11025         * modules/unistr/u32-chr-tests: Likewise.
11026         * modules/unistr/u32-cmp-tests: Likewise.
11027         * modules/unistr/u32-cmp2-tests: Likewise.
11028         * modules/unistr/u32-cpy-alloc-tests: Likewise.
11029         * modules/unistr/u32-cpy-tests: Likewise.
11030         * modules/unistr/u32-mblen-tests: Likewise.
11031         * modules/unistr/u32-mbsnlen-tests: Likewise.
11032         * modules/unistr/u32-mbtouc-tests: Likewise.
11033         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
11034         * modules/unistr/u32-mbtoucr-tests: Likewise.
11035         * modules/unistr/u32-move-tests: Likewise.
11036         * modules/unistr/u32-next-tests: Likewise.
11037         * modules/unistr/u32-prev-tests: Likewise.
11038         * modules/unistr/u32-set-tests: Likewise.
11039         * modules/unistr/u32-stpcpy-tests: Likewise.
11040         * modules/unistr/u32-stpncpy-tests: Likewise.
11041         * modules/unistr/u32-strcat-tests: Likewise.
11042         * modules/unistr/u32-strcmp-tests: Likewise.
11043         * modules/unistr/u32-strcoll-tests: Likewise.
11044         * modules/unistr/u32-strcpy-tests: Likewise.
11045         * modules/unistr/u32-strdup-tests: Likewise.
11046         * modules/unistr/u32-strlen-tests: Likewise.
11047         * modules/unistr/u32-strmblen-tests: Likewise.
11048         * modules/unistr/u32-strmbtouc-tests: Likewise.
11049         * modules/unistr/u32-strncat-tests: Likewise.
11050         * modules/unistr/u32-strncmp-tests: Likewise.
11051         * modules/unistr/u32-strncpy-tests: Likewise.
11052         * modules/unistr/u32-strnlen-tests: Likewise.
11053         * modules/unistr/u32-to-u16-tests: Likewise.
11054         * modules/unistr/u32-to-u8-tests: Likewise.
11055         * modules/unistr/u32-uctomb-tests: Likewise.
11056         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
11057         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
11058         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
11059         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
11060         * modules/uniwidth/u8-strwidth-tests: Likewise.
11061         * modules/uniwidth/u8-width-tests: Likewise.
11062         * modules/uniwidth/u16-strwidth-tests: Likewise.
11063         * modules/uniwidth/u16-width-tests: Likewise.
11064         * modules/uniwidth/u32-strwidth-tests: Likewise.
11065         * modules/uniwidth/u32-width-tests: Likewise.
11066         * modules/uniwidth/width-tests: Likewise.
11067
11068 2010-05-18  Richard Jones  <rjones@redhat.com>
11069
11070         doc: users.txt: list hivex
11071         * users.txt: Add hivex.
11072
11073 2010-05-18  Richard Jones  <rjones@redhat.com>
11074
11075         doc: users.txt: list febootstrap
11076         * users.txt: Add febootstrap.
11077
11078 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
11079
11080         bootstrap: fix an error when gnulib is not used as a git submodule
11081         * build-aux/bootstrap (gnulib_path): If its length is zero then
11082         assign "gnulib" to it.
11083         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
11084
11085 2010-05-16  Bruno Haible  <bruno@clisp.org>
11086
11087         Avoid autoconf warnings about AM_ICONV.
11088         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
11089         2.64.
11090
11091 2010-05-16  Bruno Haible  <bruno@clisp.org>
11092
11093         absolute-header: Make the macro usable in more situations.
11094         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
11095         from gl_ABSOLUTE_HEADER.
11096         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
11097
11098 2010-05-16  James Youngman  <jay@gnu.org>
11099
11100         doc: update users.txt
11101         * users.txt: Add CSSC.
11102
11103 2010-05-16  Jim Meyering  <meyering@redhat.com>
11104
11105         init.sh: fix an error in the previous change; add more comments
11106         * tests/init.sh: Compare exit code in loop against 9, not 2.
11107         Patch by Bruno Haible.
11108         Make the two tests more similar by adding an empty "then" clause.
11109         Add comments.
11110
11111         init.sh: avoid unnecessary shell re-exec
11112         * tests/init.sh: Improve the re-exec-required check to first test the
11113         current shell.  If it passes the test, do not search for a shell that
11114         does pass, and do not re-exec.  This test is particularly contorted to
11115         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
11116         of $(...) evokes a syntax error and causes immediate shell exit with
11117         status 2.  Bruno Haible reported that the re-exec made it impossible
11118         to single-step through any init.sh-using script.
11119
11120 2010-05-16  Bruno Haible  <bruno@clisp.org>
11121
11122         Fix collision between gnulib's and libintl's printf replacements.
11123         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
11124         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
11125         (printf): When using GNU C, map the __printf__ function to rpl_printf
11126         via __asm__. When not using GNU C, define rpl_printf instead of
11127         __printf__.
11128         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
11129         commit.
11130         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
11131         commit.
11132         * m4/asm-underscore.m4: New file.
11133         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
11134         * modules/stdio (Files): Add m4/asm-underscore.m4.
11135         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
11136         Reported by Ben Pfaff.
11137
11138 2010-05-16  Bruno Haible  <bruno@clisp.org>
11139
11140         verify: Avoid skipping the test on openSUSE 11.0.
11141         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
11142
11143 2010-05-13  Bruno Haible  <bruno@clisp.org>
11144
11145         Avoid useless warnings from G++.
11146         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
11147         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
11148         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
11149
11150 2010-05-11  Jim Meyering  <meyering@redhat.com>
11151
11152         maint.mk: tweak preceding change
11153         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
11154         regexps tighter by anchoring at EOL, and make the new group "shy"
11155         for slightly decreased overhead.
11156
11157 2010-05-11  Eric Blake  <eblake@redhat.com>
11158
11159         maint.mk: gnulib doesn't guarantee NSIG
11160         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
11161
11162 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
11163
11164         test-pwrite.c: Remove unused variable declaration.
11165         * tests/test-pwrite.c (main): Remove read_buf declaration.
11166
11167         Remove useless test-pwrite.sh file.
11168         * tests/test-pwrite.sh: Delete file.
11169         * modules/pwrite-tests: Remove references.
11170         Reported by Bruno Haible.
11171
11172 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
11173
11174         init.sh: fix a typo
11175         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
11176
11177 2010-05-10  Jim Meyering  <meyering@redhat.com>
11178
11179         maint.mk: avoid using a temporary file in the always-defined-macros check
11180         * top/maint.mk (.re-defmac): Remove rule.
11181         (gl_trap_): Remove definition.
11182         (sc_prohibit_always-defined_macros): Rewrite not to create and
11183         depend on a temporary file.  Instead, depend on GNU grep's ability
11184         to read a list of regular expressions from stdin when given "-f -".
11185
11186 2010-05-09  Bruno Haible  <bruno@clisp.org>
11187
11188         Update to GNU gettext 0.18, part 1.
11189         * m4/gettext.m4: Update to GNU gettext 0.18.
11190         * m4/intl.m4: Likewise.
11191         * m4/po.m4: Likewise.
11192         * modules/gettext (Files): Add m4/fcntl-o.m4.
11193         (configure.ac): Require gettext infrastructure from version 0.18.
11194
11195 2010-05-09  Jim Meyering  <meyering@redhat.com>
11196
11197         init.sh: enable MALLOC_PERTURB_
11198         * tests/init.sh: Enable glibc's malloc-perturbing option.
11199
11200         maint.mk: improve sc_cross_check_PATH_usage_in_tests
11201         With my recent change in init.sh from the two-line form:
11202             -#   : ${srcdir=.}
11203             -#   . "$srcdir/init.sh"; path_prepend_ .
11204             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
11205         I noticed that using the one-line form would cause this test
11206         to fail with a false-positive, or to stop working altogether,
11207         depending on whether help-version changed or all the tests did.
11208         * top/maint.mk (_hv_regex): Remove this definition.
11209         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
11210         (_hv_regex_strong): Use a stronger regex to check for conformance.
11211         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
11212         Give a separate diagnostic for lack of conforming use.
11213
11214         maint.mk: prohibit definition of symbols defined by gnulib
11215         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
11216         definition of symbols defined by gnulib.
11217
11218 2010-05-09  Bruno Haible  <bruno@clisp.org>
11219
11220         acl: Avoid test failure on Cygwin-hosted mingw.
11221         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
11222
11223 2010-05-09  Bruno Haible  <bruno@clisp.org>
11224
11225         error: Use system's fcntl function.
11226         * lib/error.c (fcntl): Undefine.
11227
11228 2010-05-09  Jim Meyering  <meyering@redhat.com>
11229
11230         verify: adjust formatting to be more consistent
11231         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
11232         argument-list '('s, and after one comma.
11233
11234 2010-05-09  Bruno Haible  <bruno@clisp.org>
11235
11236         error: More reliable output on mingw.
11237         * lib/error.c: Include <windows.h>.
11238         (is_open): New function.
11239         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
11240         defined.
11241
11242 2010-05-09  Bruno Haible  <bruno@clisp.org>
11243
11244         vasnprintf: Fix syntax errors in libintl build on mingw.
11245         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
11246         pad_ourselves and prec_ourselves after use.
11247
11248 2010-05-08  Bruno Haible  <bruno@clisp.org>
11249
11250         * lib/config.charset: Update comments for Cygwin 1.7.
11251         * lib/localcharset.c: Likewise.
11252
11253 2010-05-07  Jim Meyering  <meyering@redhat.com>
11254
11255         init.sh: improve comments
11256         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
11257         . "${srcdir=.}/init.sh"; path_prepend_ .
11258         Add a note about path_prepend_ and the alternative of using
11259         TESTS_ENVIRONMENT.
11260
11261 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
11262
11263         exclude: Unescape hashed patterns in wildcard mode.
11264         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
11265         to the hash list.
11266         * tests/test-exclude8.sh: New test case.
11267         * modules/exclude-tests: Add new test.
11268
11269 2010-05-05  Eric Blake  <eblake@redhat.com>
11270
11271         verify: automate tests
11272         * modules/verify-tests: New module.
11273         * tests/test-verify.sh: New file.
11274         * tests/test-verify.c: Guard each negative test with a unique id.
11275         Also avoid warning about unused left hand of comma expressions.
11276
11277 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
11278
11279         Further improvements to verify.h, suggested by Eric Blake.
11280         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
11281         the GL_* versions, to avoid collision with OpenGL.
11282         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
11283         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
11284         than testing merely whether it's defined.
11285
11286         Modify verify.h to pacify gcc -Wredundant_decls.
11287         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
11288         These use the prefix "GL_" since they're likely to be useful elsewhere.
11289         We may need to break them out into a different .h file.
11290         (__COUNTER__): Define to 0 if the compiler doesn't support it.
11291         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
11292         of verify_function__.
11293
11294 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
11295
11296         Tests for module pwrite.
11297         * modules/pwrite-tests: New file.
11298         * tests/test-pwrite.sh: New file.
11299         * tests/test-pwrite.c: New file.
11300
11301         New module pwrite.
11302         * lib/unistd.in.h (pwrite): New declaration.
11303         * lib/pwrite.c: New file, from glibc with modifications.
11304         * m4/pwrite.m4: New file.
11305         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
11306         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
11307         REPLACE_PWRITE.
11308         * modules/pwrite: New file.
11309         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
11310         REPLACE_PWRITE.
11311         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
11312         * doc/posix-functions/pwrite.texi: Mention the new module.
11313
11314 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
11315
11316         pread: Update documentation.
11317         * doc/posix-functions/pread.texi: Mention the 'pread' module.
11318
11319 2010-05-04  Eric Blake  <eblake@redhat.com>
11320
11321         docs: update cygwin progress
11322         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
11323         this bug.
11324         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
11325         Added in cygwin 1.7.2.
11326         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
11327         Likewise.
11328         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
11329         Likewise.
11330         * doc/glibc-functions/dup3.texi (dup3): Likewise.
11331         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
11332         * doc/glibc-functions/accept4.texi (accept4): Likewise.
11333         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
11334         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
11335         Mention nproc module.
11336         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
11337         bug in cygwin 1.7.5 addition.
11338         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
11339         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
11340         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
11341         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
11342         1.7.5.
11343         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
11344         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
11345         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
11346         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
11347         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
11348         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
11349         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
11350         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
11351         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
11352         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
11353         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
11354         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
11355         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
11356         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
11357         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
11358         Likewise.
11359         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
11360         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
11361         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
11362         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
11363         Likewise.
11364         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
11365         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
11366         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
11367         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
11368         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
11369         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
11370         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
11371         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
11372         Likewise.
11373         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
11374         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
11375         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
11376         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
11377         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
11378         Likewise.
11379         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
11380         Likewise.
11381         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
11382         Likewise.
11383         * doc/glibc-functions/xdrrec_endofrecord.texi
11384         (xdrrec_endofrecord): Likewise.
11385         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
11386         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
11387         Likewise.
11388         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
11389         Likewise.
11390
11391 2010-05-04  Jim Meyering  <meyering@redhat.com>
11392
11393         gendocs.sh: make its "-s FILE" option more useful
11394         * build-aux/gendocs.sh: When honoring the -s FILE option, update
11395         $PACKAGE to reflect the probably-different basename of "FILE".
11396
11397 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
11398
11399         bootstrap: don't ignore download_po_files failure
11400         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
11401         failure.
11402
11403 2010-05-03  Jim Meyering  <meyering@redhat.com>
11404
11405         maint.mk: allow to pass options to gendocs.sh
11406         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
11407         (gendocs_options_): New overridable variable.
11408
11409         gnu-web-doc-update: don't ignore configure or build failure
11410         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
11411
11412         announce-gen: backslash-escape '@'s in --help output
11413         * build-aux/announce-gen: Fix syntax errors.
11414
11415         maint.mk, announce-gen: allow project-specific announcement mail headers
11416         * top/maint.mk (translation_project_): Define default.
11417         (announcement_Cc_, announcement_mail_headers_): Likewise.
11418         (announcement): Invoke announce-gen with new --mail-headers option.
11419         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
11420
11421         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
11422         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
11423         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
11424         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
11425         line in the "err2" output file when running "make check" in verbose
11426         mode (i.e., with set -x enabled).
11427
11428 2010-05-03  Bruno Haible  <bruno@clisp.org>
11429
11430         wctob: Fix for weird platforms.
11431         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
11432         argument value.
11433
11434 2010-05-03  Jim Meyering  <meyering@redhat.com>
11435
11436         maint.mk: prohibit unwarranted use of <strings.h>
11437         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
11438         strings.h in a file that does not also use strcasecmp, strncasecmp,
11439         ffs or ffsll.
11440
11441         maint.mk: remove obsolete comments
11442         * top/maint.mk: Remove stale, commented-out rules.
11443
11444 2010-05-02  Bruno Haible  <bruno@clisp.org>
11445
11446         wcwidth: Declare also when it's aliased.
11447         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
11448         macro.
11449
11450 2010-05-02  Bruno Haible  <bruno@clisp.org>
11451
11452         Fix regression from 2010-04-25.
11453         * gnulib-tool (func_modules_transitive_closure): Check the status of
11454         all modules, not only of the tests that are of the form foo-tests where
11455         foo is a module.
11456
11457 2010-05-02  Bruno Haible  <bruno@clisp.org>
11458
11459         wctob: Work around nasty Cygwin 1.7.2 bug.
11460         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
11461         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
11462
11463 2010-05-01  Bruno Haible  <bruno@clisp.org>
11464
11465         fpurge: Sharper test.
11466         * tests/test-fpurge.c (main): Add one more ftell check.
11467         * modules/fpurge-tests (Depends-on): Add ftell.
11468         Suggested by Eric Blake.
11469
11470 2010-05-01  Bruno Haible  <bruno@clisp.org>
11471
11472         ftello: Another test.
11473         * tests/test-ftello3.c: New file.
11474         * modules/ftello-tests (Files): Add it.
11475         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
11476         MOSTLYCLEANFILES.
11477
11478         ftell: Another test.
11479         * tests/test-ftell3.c: New file.
11480         * modules/ftell-tests (Files): Add it.
11481         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
11482         MOSTLYCLEANFILES.
11483
11484 2010-05-01  Bruno Haible  <bruno@clisp.org>
11485
11486         ftell, ftello: Work around Solaris bug.
11487         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
11488         * lib/ftello.c: Include stdio-impl.h.
11489         (ftello): On Solaris, when _IOWRT is set, compute the result without
11490         looking at _IOREAD.
11491         * modules/ftello (Files): Add lib/stdio-impl.h.
11492         * doc/posix-functions/ftell.texi: Mention Solaris bug.
11493         * doc/posix-functions/ftello.texi: Likewise.
11494         Reported by Eric Blake.
11495
11496 2010-05-01  Bruno Haible  <bruno@clisp.org>
11497
11498         freading: Adapt to special meaning of _IOREAD flag on Solaris.
11499         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
11500         the _IOWRT flag is also set.
11501
11502 2010-05-01  Bruno Haible  <bruno@clisp.org>
11503
11504         Fix doc about a HP-UX stdio bug.
11505         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
11506         * doc/posix-functions/ftello.texi: Likewise.
11507
11508 2010-05-01  Bruno Haible  <bruno@clisp.org>
11509
11510         lseek test: Fix failure on Solaris.
11511         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
11512         output.
11513
11514 2010-04-30  Jim Meyering  <meyering@redhat.com>
11515
11516         bootstrap: don't ignore failure to generate po*/Makevars
11517         * build-aux/bootstrap (with_gettext): Don't ignore failure
11518         to create po/Makevars or runtime-po/Makevars.
11519
11520 2010-04-29  Eric Blake  <eblake@redhat.com>
11521
11522         headers: relax license to LGPLv2+
11523         * modules/fcntl-h (License): Relax license.
11524         * modules/getopt-posix (License): Likewise.
11525         * modules/locale (License): Likewise.
11526         * modules/math (License): Likewise.
11527         * modules/pty (License): Likewise.
11528         * modules/sched (License): Likewise.
11529         * modules/search (License): Likewise.
11530         * modules/spawn (License): Likewise.
11531         * modules/stdarg (License): Likewise.
11532         * modules/sysexits (License): Likewise.
11533
11534 2010-04-29  Jim Meyering  <meyering@redhat.com>
11535
11536         inttypes: relax license to LGPLv2+
11537         * modules/inttypes (License): Relax license.
11538
11539 2010-04-29  Simon Josefsson  <simon@josefsson.org>
11540
11541         * top/maint.mk (indent): Run twice to produce idempotent results.
11542
11543 2010-04-28  Bruno Haible  <bruno@clisp.org>
11544
11545         getdate: Generate getdate.c in the source directory.
11546         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
11547         MOSTLYCLEANFILES.
11548         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
11549
11550 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
11551
11552         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
11553         is not declared as a const *; avoid warnings in that case.
11554
11555 2010-04-28  Eric Blake  <eblake@redhat.com>
11556
11557         canonicalize-lgpl: avoid compiler warning
11558         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
11559         declaration' / 'extraneous semicolon' warning with some compilers.
11560         Reported by Andreas Gruenbacher.
11561
11562 2010-04-28  Jim Meyering  <meyering@redhat.com>
11563
11564         init.sh: ensure a more reliable exit status when exiting via trap
11565         * tests/init.sh (setup_): Don't rely on $? in signal handler.
11566         Inspired by patches from Dmitry V. Levin.
11567         Also trap on signal 3 (SIGQUIT).
11568
11569 2010-04-27  Bruno Haible  <bruno@clisp.org>
11570
11571         Update doc about utimes().
11572         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
11573         'utimens' module.
11574         Reported by Andreas Gruenbacher <agruen@suse.de>.
11575
11576 2010-04-27  Eric Blake  <eblake@redhat.com>
11577
11578         full-read, full-write: relax license
11579         * modules/full-read (License): Drop to LGPLv2+.
11580         * modules/full-write (License): Likewise.
11581         * modules/safe-read (License): Likewise.
11582         * modules/safe-write (License): Likewise.
11583
11584         pthread: mention library for linking
11585         * modules/pthread (Link): Mention $(LIB_PTHREAD).
11586
11587 2010-04-27  Jim Meyering  <meyering@redhat.com>
11588
11589         maint.mk: fix a bug introduced in last change
11590         * top/maint.mk (gl_assured_headers_): Now that all names are on
11591         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
11592         is not anchored to end of word, it should be adequate.
11593
11594         maint.mk: avoid side-effect in latest syntax-check
11595         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
11596         to run commands via $(shell...), and hence to incur cost only when
11597         the new rule is actually run.
11598
11599         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
11600         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
11601         and use that to create a regexp used to detect all #if HAVE_..._H uses.
11602         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
11603         (gl_assured_headers_, az_, AZ_): Define.
11604         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
11605
11606 2010-04-26  Jim Meyering  <jim@meyering.net>
11607             Bruno Haible  <bruno@clisp.org>
11608
11609         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
11610         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
11611         Prompted by an exchange with Gilles Espinasse.
11612
11613 2010-04-26  Jim Meyering  <meyering@redhat.com>
11614
11615         git-version-gen: aesthetic tweak
11616         * build-aux/git-version-gen: Use "$nl" rather than a literal,
11617         so that the command remains on a single line.
11618
11619 2010-04-26  Eric Blake  <eblake@redhat.com>
11620
11621         git-version-gen: allow use on EBCDIC hosts
11622         * build-aux/git-version-gen (dirty): Use literal rather than tying
11623         ourselves to ascii.
11624         Reported by Steve Goetze.
11625
11626 2010-04-25  Bruno Haible  <bruno@clisp.org>
11627
11628         netdb: Add support for GNULIB_POSIXCHECK.
11629         * lib/netdb.in.h: Include warn-on-use.h.
11630         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
11631         functions are used when GNULIB_POSIXCHECK is defined and the
11632         getaddrinfo module is not in use.
11633         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
11634         freeaddrinfo, gai_strerror, getnameinfo are declared.
11635         * modules/netdb (Depends-on): Add warn-on-use.
11636         (Makefile.am): Include warn-on-use.h in netdb.h.
11637
11638 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
11639
11640         build: avoid "make check" failure without .git/ directory
11641         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
11642         there is no .git/ directory.
11643
11644 2010-04-25  Bruno Haible  <bruno@clisp.org>
11645
11646         ptsname: Fix misuse of ttyname_r.
11647         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
11648         of errno.
11649
11650 2010-04-25  Bruno Haible  <bruno@clisp.org>
11651
11652         ttyname_r: Make it work on Solaris 10.
11653         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
11654         if the system function has the POSIX declaration. Test whether the
11655         function fails if the buffer is less than 128 bytes large.
11656         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
11657         system's ttyname_r function. Provide a reasonably large buffer.
11658         * modules/ttyname_r (Depends-on): Add extensions.
11659         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
11660
11661 2010-04-25  Bruno Haible  <bruno@clisp.org>
11662
11663         Use the 'extensions' module for some more functions on Solaris.
11664         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
11665         module.
11666         * doc/posix-functions/ctime_r.texi: Likewise.
11667         * doc/posix-functions/getgrgid_r.texi: Likewise.
11668         * doc/posix-functions/getgrnam_r.texi: Likewise.
11669         * doc/posix-functions/getpwnam_r.texi: Likewise.
11670         * doc/posix-functions/getpwuid_r.texi: Likewise.
11671         * doc/posix-functions/readdir_r.texi: Likewise.
11672         * doc/posix-functions/sigwait.texi: Likewise.
11673         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
11674         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
11675
11676 2010-04-25  Bruno Haible  <bruno@clisp.org>
11677
11678         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
11679         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
11680         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
11681         * lib/ttyname_r.c: Include <limits.h>.
11682         (ttyname_r): Define using the system's ttyname_r function, if it exists
11683         and not on Solaris.
11684         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
11685         set.
11686         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
11687         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
11688         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
11689         Reported by Simon Josefsson.
11690
11691 2010-04-25  Bruno Haible  <bruno@clisp.org>
11692
11693         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
11694         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
11695         * doc/posix-functions/ctime_r.texi: Likewise.
11696         * doc/posix-functions/getgrgid_r.texi: Likewise.
11697         * doc/posix-functions/getgrnam_r.texi: Likewise.
11698         * doc/posix-functions/getlogin_r.texi: Likewise.
11699         * doc/posix-functions/getpwnam_r.texi: Likewise.
11700         * doc/posix-functions/getpwuid_r.texi: Likewise.
11701         * doc/posix-functions/readdir_r.texi: Likewise.
11702         * doc/posix-functions/sigwait.texi: Likewise.
11703         * doc/posix-functions/ttyname_r.texi: Likewise.
11704         Reported by Simon Josefsson.
11705
11706 2010-04-25  Bruno Haible  <bruno@clisp.org>
11707
11708         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
11709         * gnulib-tool (func_usage): Document that --with-*-tests options apply
11710         also to --create-testdir.
11711         (func_acceptable): Don't consider the status of *-tests modules here.
11712         (func_modules_transitive_closure): Consider it here, before including a
11713         test module.
11714         (func_import, func_create_testdir): Set inc_all_direct_tests,
11715         inc_all_indirect_tests.
11716         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
11717         --create-testdir and --create-megatestdir.
11718
11719 2010-04-25  Bruno Haible  <bruno@clisp.org>
11720
11721         gnulib-tool: Add --without-*-tests options.
11722         * gnulib-tool (func_usage): Document the --without-*-tests options.
11723         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
11724         excl_unportable_tests): New variables.
11725         Fail if they are specified with --import or --update.
11726         (func_acceptable): Respect the excl_*_tests variables.
11727         (func_import): Set the excl_*_tests variables to empty.
11728
11729 2010-04-25  Simon Josefsson  <simon@josefsson.org>
11730             Bruno Haible  <bruno@clisp.org>
11731
11732         Work around a MacOS X 10.4 bug with openpty.
11733         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
11734         * tests/test-openpty.c (main): Close the master side explicitly.
11735
11736 2010-04-25  Bruno Haible  <bruno@clisp.org>
11737
11738         strnlen: Fix a C++ test error on MacOS X and Solaris.
11739         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
11740         the function is not declared.
11741         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
11742         Simon Josefsson.
11743
11744 2010-04-24  Bruno Haible  <bruno@clisp.org>
11745
11746         Avoid a gcc warning.
11747         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
11748         of correct type for %08lx directive.
11749         Reported by Eric Blake.
11750
11751 2010-04-24  Bruno Haible  <bruno@clisp.org>
11752
11753         vasnprintf: Correct errno value in case of out-of-memory.
11754         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
11755         or sprintf. Use the errno value from SNPRINTF or sprintf.
11756         Reported by Ian Beckwith <ianb@erislabs.net>.
11757
11758 2010-04-24  Bruno Haible  <bruno@clisp.org>
11759
11760         ansi-c++-opt: Find correct compiler when cross-compiling.
11761         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
11762         AC_CHECK_PROGS.
11763         Reported by Simon Josefsson.
11764
11765 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
11766
11767         vc-list-files: Add support for subversion
11768         * build-aux/vc-list-files: Use "svn list" to generate the list of
11769         files controlled by subversion.
11770
11771 2010-04-23  Jim Meyering  <meyering@redhat.com>
11772
11773         vc-list-files tests: convert to use init.sh
11774         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
11775         path_prepend_.
11776         Use Exit, not exit.
11777         Use skip_ rather than open coding it.
11778         Remove trap set-up and compare definitions.
11779         * tests/test-vc-list-files-git.sh: Likewise.
11780         * modules/vc-list-files-tests (Files): Add tests/init.sh.
11781
11782 2010-04-22  Simon Josefsson  <simon@josefsson.org>
11783
11784         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
11785         backup files.
11786
11787 2010-04-21  Simon Josefsson  <simon@josefsson.org>
11788
11789         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
11790
11791 2010-04-20  Eric Blake  <eblake@redhat.com>
11792
11793         tests: be robust to ignored SIGPIPE
11794         * tests/test-select-in.sh: Consume all output.
11795         * tests/test-lseek.sh: Check correct exit status, while avoiding
11796         EPIPE.
11797
11798 2010-04-20  Simon Josefsson  <simon@josefsson.org>
11799             Bruno Haible  <bruno@clisp.org>
11800
11801         visibility: Don't use -fvisibility if it leads to a warning.
11802         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
11803         yes, don't pretend that visibility works if it leads to a warning.
11804         Reported by Mike Gran <spk121@yahoo.com>.
11805
11806 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
11807
11808         * build-aux/bootstrap: Use "git -h" for testing for supported options
11809         instead of "git --help".  The short-form option only shows a summary,
11810         and doesn't layout the full man page.  Grep for the full option name
11811         in the summary, too.
11812
11813 2010-04-19  Bruno Haible  <bruno@clisp.org>
11814
11815         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
11816         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
11817         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
11818         mention of RELOCATABLE_STRIP.
11819         Reported by Sylvain Beucler <beuc@beuc.net>.
11820
11821 2010-04-19  Bruno Haible  <bruno@clisp.org>
11822
11823         * lib/diffseq.h: Fix typo in comment.
11824         Reported by Eric Blake.
11825
11826 2010-04-19  Bruno Haible  <bruno@clisp.org>
11827
11828         ioctl: Move autoconf macro to a .m4 file.
11829         * m4/ioctl.m4: New file, extracted from modules/ioctl.
11830         * modules/ioctl (Files): Add it.
11831         (configure.ac): Simply invoke gl_FUNC_IOCTL.
11832         Reported by Ian Beckwith <ianb@erislabs.net>.
11833
11834 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
11835             Bruno Haible  <bruno@clisp.org>
11836
11837         diffseq: Accommodate use-case with abstract arrays.
11838         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
11839         is not defined.
11840         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
11841         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
11842
11843 2010-04-18  Bruno Haible  <bruno@clisp.org>
11844
11845         * doc/posix-headers/stdbool.texi: More precise wording.
11846
11847 2010-04-17  Jim Meyering  <meyering@redhat.com>
11848
11849         maint.mk: use gnu-style indentation in an embedded perl script
11850         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
11851         Rename variable: s/two/last_two_bytes/
11852
11853 2010-04-16  Eric Blake  <eblake@redhat.com>
11854
11855         test-stdbool: skip test that fails with Solaris CC
11856         * tests/test-stdbool.c (f): Skip test that causes compilation
11857         error under buggy C++ compiler.
11858         * lib/stdbool.in.h: Document the limitation.
11859         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
11860
11861         setenv: allow compilation with C++
11862         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
11863         register keyword.
11864
11865         stdint: allow test to pass with C++
11866         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
11867
11868         getopt: allow compilation with C++
11869         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
11870         struct.
11871         * lib/getopt.c (_getopt_internal_r): Use correct type.
11872         Reported by Dagobert Michelson, via Joel E. Denny.
11873
11874 2010-04-16  Bruno Haible  <bruno@clisp.org>
11875
11876         Override netdb.h always.
11877         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
11878         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
11879         Reported by Ludovic Courtès <ludo@gnu.org>.
11880
11881 2010-04-15  Bruno Haible  <bruno@clisp.org>
11882
11883         openpty: Fix mistake from 2010-03-21.
11884         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
11885         Reported by Simon Josefsson.
11886
11887 2010-04-15  Eric Blake  <eblake@redhat.com>
11888
11889         test-forkpty: fix expected signature
11890         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
11891         Reported by Simon Josefsson.
11892
11893 2010-04-15  Jim Meyering  <meyering@redhat.com>
11894
11895         maint.mk: texinfo_suffix_re_: correct the default regexp
11896         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
11897
11898         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
11899         make it configurable via texinfo_suffix_re_.
11900
11901 2010-04-14  Eric Blake  <eblake@redhat.com>
11902
11903         strtok_r: relax license to LGPLv2+
11904         * modules/strtok_r (License): Relax license.
11905         Reported by Matthias Bolte.
11906
11907 2010-04-14  Simon Josefsson  <simon@josefsson.org>
11908
11909         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
11910         version 1.4.4 by default instead of requiring the libgcrypt
11911         version used during build.  This makes it possible to use the
11912         application with older but still binary compatible libgcrypt
11913         versions.
11914
11915 2010-04-13  Eric Blake  <eblake@redhat.com>
11916
11917         getopt-gnu: match recent glibc fixes and posix ruling
11918         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
11919         '+' handling, when requesting extensions.
11920         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
11921         'W;' handling.
11922         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
11923         * doc/posix-functions/getopt.texi (getopt): Document this.
11924         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
11925         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
11926         Likewise.
11927
11928         getopt: merge bug fixes from glibc
11929         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
11930         diagnostics.  Honor '+:' correctly.  Reject ';'.
11931
11932         getopt-posix: detect MacOS bug
11933         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
11934         optind when missing a required argument.
11935         * doc/posix-functions/getopt.texi (getopt): Document the bug.
11936         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
11937         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
11938         Likewise.
11939
11940         getopt-posix: avoid spurious failure on Solaris
11941         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
11942         an indicator that setting optind=1 is sufficient for reset.
11943
11944         getopt-posix: avoid spurious failure on FreeBSD
11945         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
11946         in POSIX mode, since the m4 test uses it.
11947
11948         gnulib-tool: silence warning on BSD sh
11949         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
11950
11951 2010-04-13  Jim Meyering  <meyering@redhat.com>
11952
11953         doc: users.txt: GNU patch now uses gnulib
11954         * users.txt: Add patch.
11955
11956 2010-04-12  Jim Meyering  <meyering@redhat.com>
11957
11958         maint.mk: generate more concise timing data for syntax-check rules
11959         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
11960         " done" from each line that reports a syntax-check test duration.
11961
11962 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
11963
11964         git-version-gen: use "git update-index..." rather than "git status"
11965         * build-aux/git-version-gen: Use git update-index --refresh, not
11966         "git status".  With some versions of git, "git status" would fail
11967         to update the index and result in an unwarranted "-dirty" suffix.
11968
11969 2010-04-11  Jim Meyering  <meyering@redhat.com>
11970
11971         openat: correct formatting (no semantic change)
11972         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
11973         Suggested by Bruno Haible.
11974
11975 2010-04-11  Bruno Haible  <bruno@clisp.org>
11976
11977         Stricter declaration checking in testdirs.
11978         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
11979         If for_tests is true, augment AM_CPPFLAGS to define
11980         GNULIB_STRICT_CHECKING.
11981         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
11982         GNULIB_STRICT_CHECKING is defined, verify that the function is
11983         declared.
11984
11985 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
11986             Bruno Haible  <bruno@clisp.org>
11987
11988         libunistring: Improve configure output.
11989         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
11990         Don't say "consider installing GNU libunistring" when checking again
11991         with libiconv.
11992
11993 2010-04-11  Bruno Haible  <bruno@clisp.org>
11994
11995         libunistring: Correct value of $LTLIBUNISTRING.
11996         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
11997         correct the value of $LTLIBUNISTRING.
11998
11999 2010-04-11  Bruno Haible  <bruno@clisp.org>
12000
12001         havelib: Add static libraries to LIBS in the right order.
12002         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
12003         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
12004
12005 2010-04-11  Bruno Haible  <bruno@clisp.org>
12006
12007         libunistring: Detect libunistring also when it depends on libiconv.
12008         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
12009         the second AC_LIB_HAVE_LINKFLAGS invocation.
12010
12011 2010-04-11  James Youngman  <jay@gnu.org>
12012
12013         close-stream: declare local scalars to be "const"
12014         * lib/close-stream.c (close_stream): Make boolean variables const
12015         to document the fact that we set but do not change them.
12016
12017 2010-04-11  Bruno Haible  <bruno@clisp.org>
12018
12019         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
12020
12021 2010-04-11  Jim Meyering  <meyering@redhat.com>
12022
12023         maint.mk: don't include dist-check.mk
12024         * top/maint.mk: Remove bogus include directive.
12025
12026         maint.mk: improve empty-line-at-EOF check
12027         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
12028         solution, rather than tail+Perl-based one.  The latter would read
12029         a few kilobytes from the end of each file, and did not handle empty
12030         files properly.
12031
12032         maint.mk: print the elapsed time for each syntax-check rule
12033         * top/maint.mk (sc_m_rules_): Save start time in a file.
12034         (sc_z_rules_): New rules: remove temp file and print elapsed time.
12035         (local-check): Interpose the .z rules
12036
12037 2010-04-11  Jim Meyering  <meyering@redhat.com>
12038
12039         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
12040         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
12041         empty file with one that ends in an empty line.
12042
12043 2010-04-10  Bruno Haible  <bruno@clisp.org>
12044
12045         mkdir: Make it work on mingw64.
12046         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
12047         * lib/mkdir.c: Update comment.
12048         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
12049
12050 2010-04-10  Bruno Haible  <bruno@clisp.org>
12051
12052         Don't override improved macro from newer autoconf.
12053         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
12054         autoconf >= 2.62.
12055         Reported by Joel E. Denny <jdenny@clemson.edu>.
12056
12057 2010-04-10  Jim Meyering  <meyering@redhat.com>
12058
12059         maint.mk: new syntax-check rule: prohibit empty lines at end of file
12060         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
12061
12062         maint.mk: correct a diagnostic
12063         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
12064         in diagnostic; now use $prohibit.
12065
12066 2010-04-10  Bruno Haible  <address@hidden>
12067
12068         fchownat: Fix a C++ test error on Solaris 8.
12069         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
12070         the function does not exist.
12071
12072 2010-04-10  Bruno Haible  <bruno@clisp.org>
12073
12074         vasnprintf: Add more tests.
12075         * tests/test-vasnprintf-posix.c: Include <errno.h>.
12076         (test_function): Test converting an invalid wide string.
12077
12078         vasnprintf: Correct handling of unconvertible wide string arguments.
12079         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
12080         VASNPRINTF.
12081         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
12082         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
12083         smaller than the expected maximum need for the directive. Set errno to
12084         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
12085         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
12086         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
12087         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
12088         * modules/vasnprintf (Files): Add m4/printf.m4.
12089         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
12090
12091 2010-04-10  Bruno Haible  <bruno@clisp.org>
12092
12093         vasnprintf: Fix crash in %ls directive.
12094         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
12095         string is passed as argument to %ls, with no precision and no width.
12096         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
12097
12098 2010-04-10  Bruno Haible  <bruno@clisp.org>
12099
12100         vasnprintf: Fix multiple test failures on mingw.
12101         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
12102         _snprintf, or snwprintf, not _snwprintf.
12103
12104 2010-04-10  Bruno Haible  <bruno@clisp.org>
12105
12106         write: Fix a C++ test error on mingw.
12107         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
12108
12109 2010-04-10  Bruno Haible  <bruno@clisp.org>
12110
12111         vasnprintf test: Reduce code duplication.
12112         * tests/test-vasnprintf.c (test_function): New function, extracted from
12113         test_vasnprintf.
12114         (test_vasnprintf, test_asnprintf): Invoke it.
12115
12116 2010-04-10  Bruno Haible  <bruno@clisp.org>
12117
12118         strnlen: Fix warning in C++ mode on MacOS X.
12119         * lib/string.in.h (strnlen): Use the modern idiom.
12120         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
12121         defining strnlen as a macro already in <config.h>.
12122         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
12123         REPLACE_STRNLEN.
12124         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
12125         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
12126
12127 2010-04-08  James Youngman  <jay@gnu.org>
12128
12129         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
12130         the example.
12131
12132 2010-04-09  Jim Meyering  <meyering@redhat.com>
12133
12134         maint.mk: print better diagnostic when there is no $(_hv_file)
12135         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
12136         announce that when $(_hv_file) (aka help-version) does not exist.
12137
12138         init.sh: run tr in the "C" locale to avoid multibyte interpretation
12139         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
12140         not try to interpret its random input bytes.  Jarno Rajahalme reported
12141         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
12142         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
12143         (mktempd_): Likewise, just in case.
12144
12145         ftruncate: add two years to projected module removal date: 2012
12146         * m4/ftruncate.m4: Adjust comments.
12147
12148         ftruncate: mark module as obsolete; even MinGW provides it, now
12149         * modules/ftruncate (Status): Obsolete.
12150         (Notice): Say that.
12151         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
12152         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
12153
12154 2010-04-08  Bruno Haible  <bruno@clisp.org>
12155
12156         Fix side effects from tests-related modules.
12157         * modules/dprintf-posix (Comment): New section.
12158         * modules/fprintf-posix (Comment): Likewise.
12159         * modules/obstack-printf-posix (Comment): Likewise.
12160         * modules/printf-posix (Comment): Likewise.
12161         * modules/snprintf-posix (Comment): Likewise.
12162         * modules/sprintf-posix (Comment): Likewise.
12163         * modules/vasnprintf-posix (Comment): Likewise.
12164         * modules/vasprintf-posix (Comment): Likewise.
12165         * modules/vdprintf-posix (Comment): Likewise.
12166         * modules/vfprintf-posix (Comment): Likewise.
12167         * modules/vprintf-posix (Comment): Likewise.
12168         * modules/vsnprintf-posix (Comment): Likewise.
12169         * modules/vsprintf-posix (Comment): Likewise.
12170         * modules/xprintf-posix (Comment): Likewise.
12171         * modules/xvasprintf-posix (Comment): Likewise.
12172         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
12173         * modules/floorf-tests (Depends-on): Likewise.
12174         * modules/round-tests (Depends-on): Likewise.
12175         * modules/roundf-tests (Depends-on): Likewise.
12176         * modules/trunc-tests (Depends-on): Likewise.
12177         * modules/truncf-tests (Depends-on): Likewise.
12178         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
12179         'fprintf-posix' module is not present.
12180         * tests/test-floorf2.c (check): Likewise.
12181         * tests/test-trunc2.c (check): Likewise.
12182         * tests/test-truncf2.c (check): Likewise.
12183         * tests/test-round2.c (equal): Likewise.
12184         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
12185
12186 2010-04-07  Karl Berry  <karl@gnu.org>
12187
12188         * config/srclist.txt,
12189         * config/srclistvars.sh,
12190         * config/srclist-update: doc fixes.
12191
12192 2010-04-07  Jim Meyering  <meyering@redhat.com>
12193
12194         maint.mk: add a PATH crosschecking syntax-check rule
12195         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
12196         Useful if you use a test like the one in help-version (coreutils,
12197         diffutils, grep, gzip) that ensures $(VERSION) matches what is
12198         printed by prog --version.
12199
12200 2010-04-06  Bruno Haible  <bruno@clisp.org>
12201
12202         Fix link error on mingw.
12203         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
12204         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
12205
12206 2010-04-06  Bruno Haible  <bruno@clisp.org>
12207
12208         Assume rmdir exists.
12209         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
12210
12211 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
12212
12213         doc: update users.txt
12214         * users.txt: Add gcal.
12215
12216 2010-04-06  Jim Meyering  <meyering@redhat.com>
12217
12218         init.sh: simply unset TMPDIR rather than risking env -i
12219         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
12220         although it probably works fine on all Unix-based systems, some
12221         systems (Cygwin?) cannot tolerate a totally cleared environment.
12222         Suggestion from Eric Blake.
12223
12224 2010-04-06  Jim Meyering  <meyering@redhat.com>
12225
12226         init.sh: portability fix: use env's POSIX-specified -i option not -u
12227         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
12228         than unportable env -u.  Solaris 5.11's env lacks support for -u.
12229
12230 2010-04-05  Bruno Haible  <bruno@clisp.org>
12231
12232         btowc: Work around Cygwin 1.7.2 bug.
12233         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
12234         does not map NUL to 0.
12235         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
12236
12237 2010-04-05  Bruno Haible  <bruno@clisp.org>
12238
12239         Make the multithread modules work on Cygwin 1.7.2.
12240         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
12241         imported symbols can be declared weak, so that it returns "no" on
12242         Cygwin 1.7.2.
12243
12244 2010-04-05  Bruno Haible  <bruno@clisp.org>
12245
12246         Use the module 'strncat'.
12247         * modules/unistr/u8-strncat (Depends-on): Add strncat.
12248
12249         Tests for module 'strncat'.
12250         * modules/strncat-tests: New file.
12251         * tests/test-strncat.c: New file.
12252
12253         New module 'strncat'.
12254         * lib/string.in.h (strncat): New declaration.
12255         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
12256         * m4/strncat.m4: New file, based on m4/memchr.m4.
12257         * modules/strncat: New file.
12258         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
12259         is declared.
12260         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
12261         REPLACE_STRNCAT.
12262         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
12263         REPLACE_STRNCAT.
12264         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
12265         module.
12266         * tests/test-string-c++.cc: Check signature of strncat.
12267
12268 2010-04-05  Jim Meyering  <meyering@redhat.com>
12269
12270         xstrtoumax-tests: convert to use init.sh
12271         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
12272         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
12273         Use Exit, not exit.
12274         Remove uses of $EXEEXT and "./" to run a program in the current dir.
12275
12276         xstrtoimax-tests: convert to use init.sh
12277         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
12278         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
12279         Use Exit, not exit.
12280         Remove uses of $EXEEXT and "./" to run a program in the current dir.
12281
12282 2010-04-05  Bruno Haible  <bruno@clisp.org>
12283
12284         sys_socket: Avoid #define replacements in C++ mode.
12285         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
12286         warning to the function if possible, rather than #defining the symbol
12287         to a dysfunctional alias.
12288
12289 2010-04-05  Bruno Haible  <bruno@clisp.org>
12290
12291         fseeko: Fix C++ test error on mingw.
12292         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
12293         gl_FUNC_FSEEKO.
12294         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
12295         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
12296         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
12297         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
12298
12299 2010-04-05  Bruno Haible  <bruno@clisp.org>
12300
12301         duplocale: Improve test output.
12302         * tests/test-duplocale.c (main): Print reason for skipped test.
12303
12304 2010-04-05  Bruno Haible  <bruno@clisp.org>
12305
12306         Assume rmdir exists.
12307         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
12308         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
12309
12310 2010-04-05  Bruno Haible  <bruno@clisp.org>
12311
12312         Fix link error on Solaris 8 with cc.
12313         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
12314
12315 2010-04-05  Bruno Haible  <bruno@clisp.org>
12316
12317         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
12318         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
12319
12320 2010-04-05  Bruno Haible  <bruno@clisp.org>
12321
12322         vasprintf: Update documentation.
12323         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
12324
12325 2010-04-05  Bruno Haible  <bruno@clisp.org>
12326
12327         ptsname: Improve test.
12328         * tests/test-ptsname.c (main): Also try the various master names of BSD
12329         systems.
12330
12331 2010-04-05  Bruno Haible  <bruno@clisp.org>
12332
12333         memchr: Avoid a possible C++ test error.
12334         * lib/string.in.h (memchr): Provide declaration if function is missing.
12335         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
12336         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
12337         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
12338         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
12339
12340 2010-04-05  Bruno Haible  <bruno@clisp.org>
12341
12342         strtok_r: Improve idiom.
12343         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
12344         AC_LIBOBJ is used.
12345
12346 2010-04-05  Bruno Haible  <bruno@clisp.org>
12347
12348         strdup: Improve idiom.
12349         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
12350         AC_LIBOBJ is used.
12351         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
12352         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
12353         when AC_LIBOBJ is used.
12354
12355 2010-04-05  Bruno Haible  <bruno@clisp.org>
12356
12357         mbsinit, mbrtowc, wcrtomb: Improve idioms.
12358         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
12359         don't set REPLACE_MBSINIT to 1.
12360         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
12361         don't set REPLACE_MBRTOWC to 1.
12362         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
12363         exist, don't set REPLACE_MBSRTOWCS to 1.
12364         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
12365         exist, don't set REPLACE_MBSNRTOWCS to 1.
12366         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
12367         don't set REPLACE_WCRTOMB to 1.
12368         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
12369         exist, don't set REPLACE_WCSRTOMBS to 1.
12370         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
12371         exist, don't set REPLACE_WCSNRTOMBS to 1.
12372
12373 2010-04-05  Bruno Haible  <bruno@clisp.org>
12374
12375         ldexpl: Improve idiom.
12376         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
12377         make sure to set HAVE_DECL_LDEXPL to 0.
12378
12379 2010-04-05  Jim Meyering  <meyering@redhat.com>
12380
12381         xstrtol-tests: convert to use init.sh
12382         * modules/xstrtol-tests (Files): Add tests/init.sh.
12383         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
12384         Use Exit, not exit.
12385         Remove uses of $EXEEXT and "./" to run a program in the current dir.
12386
12387         atexit-tests: convert to use init.sh
12388         * modules/atexit-tests (Files): Add tests/init.sh.
12389         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
12390         Use Exit, not exit.
12391         Remove uses of $EXEEXT and "./" to run a program in the current dir.
12392
12393         init.sh: fix typo
12394         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
12395
12396         init.sh: make it easier for a test script to write to the tty, ...
12397         when using automake's parallel-tests mode.
12398         * tests/init.sh (stderr_fileno_): Define overridable variable.
12399         (warn_): New function, to use it.
12400         (fail_, skip_, framework_failure_): Use warn_.
12401
12402 2010-04-04  Bruno Haible  <bruno@clisp.org>
12403
12404         btowc: Avoid warning.
12405         * lib/btowc.c: Include <stdlib.h>.
12406         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
12407
12408 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
12409             Bruno Haible  <bruno@clisp.org>
12410
12411         wchar: Port to NetBSD 1.5.
12412         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
12413         * lib/wctype.in.h (WEOF): Likewise.
12414
12415 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
12416             Bruno Haible  <bruno@clisp.org>
12417
12418         Port extended stdio to NetBSD 1.5.
12419         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
12420         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
12421         older.
12422
12423 2010-04-04  Bruno Haible  <bruno@clisp.org>
12424
12425         string: Remove unused substitution.
12426         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
12427         HAVE_DECL_STRERROR.
12428         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
12429
12430 2010-04-04  Bruno Haible  <bruno@clisp.org>
12431
12432         strtod: Avoid a possible C++ test error.
12433         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
12434         set REPLACE_STRTOD.
12435
12436 2010-04-04  Bruno Haible  <bruno@clisp.org>
12437
12438         strerror: Update documentation.
12439         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
12440
12441 2010-04-04  Bruno Haible  <bruno@clisp.org>
12442
12443         stdio: Fix some C++ test errors on Solaris 8 with GCC.
12444         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
12445         _GL_CXXALIAS_SYS_CAST.
12446
12447 2010-04-04  Bruno Haible  <bruno@clisp.org>
12448
12449         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
12450         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
12451         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
12452         REPLACE_FREXPL to 1.
12453         * doc/posix-functions/frexpl.texi: Update documentation.
12454
12455 2010-04-04  Bruno Haible  <bruno@clisp.org>
12456
12457         math: Fix some C++ test errors on Solaris 8 and Cygwin.
12458         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
12459
12460 2010-04-04  Bruno Haible  <bruno@clisp.org>
12461
12462         Implement nanosleep for native Windows.
12463         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
12464
12465 2010-04-04  Bruno Haible  <bruno@clisp.org>
12466
12467         math: Fix some C++ test errors on Solaris 8.
12468         * lib/math.in.h (truncf, trunc): Use simpler idiom.
12469
12470 2010-04-04  Bruno Haible  <bruno@clisp.org>
12471
12472         math: Fix some C++ test errors on Cygwin.
12473         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
12474         truncl): Provide declaration if the system does not have it.
12475         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
12476         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
12477         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
12478         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
12479         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
12480         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
12481         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
12482         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
12483         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
12484         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
12485         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
12486         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
12487         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
12488         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
12489         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
12490         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
12491         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
12492         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
12493         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
12494         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
12495         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
12496         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
12497
12498 2010-04-04  Bruno Haible  <bruno@clisp.org>
12499
12500         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
12501         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
12502         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
12503         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
12504         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
12505         * m4/isinf.m4 (gl_ISINF): Likewise.
12506         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
12507
12508 2010-04-04  Bruno Haible  <bruno@clisp.org>
12509
12510         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
12511         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
12512
12513 2010-04-04  Bruno Haible  <bruno@clisp.org>
12514
12515         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
12516         * modules/tmpfile (configure.ac): Update.
12517
12518         tmpfile: Fix C++ test error on mingw.
12519         * lib/stdio.in.h (tmpfile): New declaration.
12520         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
12521         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
12522         * modules/tmpfile (Depends-on): Add stdio.
12523         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
12524         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
12525         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
12526         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
12527         REPLACE_TMPFILE.
12528         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
12529
12530 2010-04-04  Bruno Haible  <bruno@clisp.org>
12531
12532         ioctl: Fix C++ test error on mingw.
12533         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
12534         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
12535         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
12536
12537 2010-04-03  Bruno Haible  <bruno@clisp.org>
12538
12539         wcwidth: Fix C++ test error on mingw.
12540         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
12541         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
12542         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
12543
12544 2010-04-03  Bruno Haible  <bruno@clisp.org>
12545
12546         nanosleep: Fix C++ test error on mingw.
12547         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
12548         * lib/time.in.h (nanosleep): Use modern idiom.
12549         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
12550         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
12551         REPLACE_NANOSLEEP to 1.
12552         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
12553         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
12554
12555 2010-04-03  Bruno Haible  <bruno@clisp.org>
12556
12557         strptime: Fix C++ test error on mingw.
12558         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
12559         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
12560         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
12561         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
12562         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
12563         not REPLACE_STRPTIME.
12564         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
12565         REPLACE_STRPTIME.
12566
12567 2010-04-03  Bruno Haible  <bruno@clisp.org>
12568
12569         timegm: Fix C++ test error on mingw.
12570         * lib/time.in.h (timegm): Use modern idiom.
12571         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
12572         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
12573         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
12574         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
12575
12576 2010-04-03  Bruno Haible  <bruno@clisp.org>
12577
12578         timegm: Assume declaration if function exists.
12579         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
12580         if it exists. Don't clobber ac_cv_func_timegm.
12581
12582 2010-04-03  Bruno Haible  <bruno@clisp.org>
12583
12584         time_r: Fix C++ test error on mingw.
12585         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
12586         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
12587         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
12588         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
12589         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
12590
12591 2010-04-03  Bruno Haible  <bruno@clisp.org>
12592
12593         time_r: Minor updates.
12594         * modules/time_r (Description): Mention the provided functions.
12595         * lib/time_r.c: Don't include <string.h>.
12596         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
12597         * doc/posix-functions/localtime_r.texi: Likewise.
12598
12599 2010-04-03  Bruno Haible  <bruno@clisp.org>
12600
12601         time: Fix regression introduced on 2010-03-08.
12602         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
12603         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
12604
12605 2010-04-03  Jim Meyering  <meyering@redhat.com>
12606
12607         maint.mk: don't silently disable project-specific syntax-check rules
12608         * top/maint.mk (_prohibit_regexp): Define, to help people realize
12609         that they need to convert their project-specific syntax-check rules
12610         to use the new _sc_search_regexp.
12611
12612 2010-04-03  Bruno Haible  <bruno@clisp.org>
12613
12614         fchdir: Fix regression introduced on 2010-03-08.
12615         * lib/unistd.in.h (fchdir): Fix declaration.
12616         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
12617         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
12618         REPLACE_FCHDIR.
12619         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
12620         REPLACE_FCHDIR.
12621
12622 2010-04-03  Bruno Haible  <bruno@clisp.org>
12623
12624         getpagesize: Fix C++ test error on mingw.
12625         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
12626         system does not declare the function.
12627         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
12628         declared.
12629         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
12630         HAVE_DECL_GETPAGESIZE.
12631         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
12632
12633 2010-04-03  Bruno Haible  <bruno@clisp.org>
12634
12635         stdio: Make C++ tests work on mingw.
12636         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
12637         does not declare the function.
12638
12639 2010-04-03  Bruno Haible  <bruno@clisp.org>
12640
12641         ftello: Fix C++ test error on mingw.
12642         * lib/stdio.in.h (ftello): Use modern idiom.
12643         * lib/ftello.c (ftello): Renamed from rpl_ftello.
12644         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
12645         is missing and that it needs to be replaced.
12646         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
12647         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
12648         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
12649
12650 2010-04-03  Bruno Haible  <bruno@clisp.org>
12651
12652         fseeko: Fix C++ test error on mingw.
12653         * lib/stdio.in.h (fseeko): Use modern idiom.
12654         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
12655         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
12656         is missing and that it needs to be replaced.
12657         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
12658         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
12659         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
12660
12661 2010-04-03  Bruno Haible  <bruno@clisp.org>
12662
12663         mkstemp: Fix C++ test error on mingw.
12664         * lib/stdlib.in.h (mkstemp): Use modern idiom.
12665         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
12666         function is missing and that it needs to be replaced.
12667         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
12668         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
12669
12670 2010-04-03  Bruno Haible  <bruno@clisp.org>
12671
12672         stpncpy: Fix C++ test error on mingw.
12673         * lib/string.in.h (stpncpy): Use modern idiom.
12674         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
12675         function is missing and that it needs to be replaced.
12676         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
12677         REPLACE_STPNCPY.
12678         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
12679
12680 2010-04-03  Bruno Haible  <bruno@clisp.org>
12681
12682         sys_stat: Fix C++ test error on mingw.
12683         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
12684         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
12685
12686 2010-04-03  Bruno Haible  <bruno@clisp.org>
12687
12688         pty: Update doc.
12689         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
12690
12691 2010-04-03  Bruno Haible  <bruno@clisp.org>
12692
12693         unistd: Fix C++ test error on mingw.
12694         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
12695
12696 2010-04-03  Bruno Haible  <bruno@clisp.org>
12697
12698         Update doc regarding mingw.
12699         * doc/glibc-functions/openpty.texi: Update regarding mingw.
12700         * doc/glibc-functions/login_tty.texi: Likewise.
12701         * doc/glibc-functions/forkpty.texi: Likewise.
12702
12703 2010-04-03  Bruno Haible  <bruno@clisp.org>
12704
12705         stdlib: Avoid compilation failure of c-strtold on mingw.
12706         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
12707
12708 2010-04-03  Bruno Haible  <bruno@clisp.org>
12709
12710         locale: Make C++ tests work on Cygwin and mingw.
12711         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
12712         cannot provide the function.
12713         Reported by Simon Josefsson.
12714
12715 2010-04-03  Bruno Haible  <bruno@clisp.org>
12716
12717         localename: Port to MacOS X 10.6.
12718         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
12719         memory layout of the locales in MacOS X 10.6 as well.
12720         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
12721
12722 2010-04-02  Bruno Haible  <bruno@clisp.org>
12723
12724         gnulib-tool: Ensure that long-running tests are executed last.
12725         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
12726         running tests after the one for the other tests.
12727
12728 2010-04-02  Bruno Haible  <bruno@clisp.org>
12729
12730         gnulib-tool: Ensure the tests in the main directory are executed first.
12731         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
12732         start with the current directory.
12733
12734 2010-04-02  Bruno Haible  <bruno@clisp.org>
12735
12736         Tests for module 'havelib', moved here from GNU gettext.
12737         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
12738         modifications.
12739         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
12740         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
12741         with modifications.
12742         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
12743         modifications.
12744         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
12745         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
12746         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
12747         with modifications.
12748         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
12749         with modifications.
12750         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
12751         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
12752         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
12753         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
12754         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
12755         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
12756         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
12757         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
12758         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
12759         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
12760         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
12761         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
12762         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
12763         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
12764         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
12765         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
12766         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
12767         with modifications.
12768         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
12769         with modifications.
12770         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
12771         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
12772         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
12773         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
12774         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
12775         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
12776         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
12777         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
12778         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
12779         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
12780         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
12781         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
12782         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
12783         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
12784         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
12785         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
12786         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
12787         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
12788         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
12789         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
12790         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
12791         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
12792         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
12793         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
12794         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
12795         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
12796         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
12797         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
12798         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
12799         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
12800         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
12801         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
12802         * tests/havelib/rpathx/rpathx.c: New file, from
12803         gettext/autoconf-lib-link.
12804         * tests/havelib/rpathx/Makefile.am: New file, from
12805         gettext/autoconf-lib-link.
12806         * tests/havelib/rpathx/configure.ac: New file, from
12807         gettext/autoconf-lib-link with modifications.
12808         * tests/havelib/rpathy/rpathy.c: New file, from
12809         gettext/autoconf-lib-link.
12810         * tests/havelib/rpathy/Makefile.am: New file, from
12811         gettext/autoconf-lib-link.
12812         * tests/havelib/rpathy/configure.ac: New file, from
12813         gettext/autoconf-lib-link with modifications.
12814         * tests/havelib/rpathz/rpathz.c: New file, from
12815         gettext/autoconf-lib-link.
12816         * tests/havelib/rpathz/Makefile.am: New file, from
12817         gettext/autoconf-lib-link.
12818         * tests/havelib/rpathz/configure.ac: New file, from
12819         gettext/autoconf-lib-link with modifications.
12820         * tests/havelib/rpathlx/usex.c: New file, from
12821         gettext/autoconf-lib-link.
12822         * tests/havelib/rpathlx/Makefile.am: New file, from
12823         gettext/autoconf-lib-link.
12824         * tests/havelib/rpathlx/configure.ac: New file, from
12825         gettext/autoconf-lib-link with modifications.
12826         * tests/havelib/rpathly/usey.c: New file, from
12827         gettext/autoconf-lib-link.
12828         * tests/havelib/rpathly/Makefile.am: New file, from
12829         gettext/autoconf-lib-link.
12830         * tests/havelib/rpathly/configure.ac: New file, from
12831         gettext/autoconf-lib-link with modifications.
12832         * tests/havelib/rpathlz/usez.c: New file, from
12833         gettext/autoconf-lib-link.
12834         * tests/havelib/rpathlz/Makefile.am: New file, from
12835         gettext/autoconf-lib-link.
12836         * tests/havelib/rpathlz/configure.ac: New file, from
12837         gettext/autoconf-lib-link with modifications.
12838         * tests/havelib/rpathlyx/usey.c: New file, from
12839         gettext/autoconf-lib-link.
12840         * tests/havelib/rpathlyx/Makefile.am: New file, from
12841         gettext/autoconf-lib-link.
12842         * tests/havelib/rpathlyx/configure.ac: New file, from
12843         gettext/autoconf-lib-link with modifications.
12844         * tests/havelib/rpathlzyx/usez.c: New file, from
12845         gettext/autoconf-lib-link.
12846         * tests/havelib/rpathlzyx/Makefile.am: New file, from
12847         gettext/autoconf-lib-link.
12848         * tests/havelib/rpathlzyx/configure.ac: New file, from
12849         gettext/autoconf-lib-link with modifications.
12850         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
12851         with modifications.
12852
12853 2010-04-02  Bruno Haible  <bruno@clisp.org>
12854
12855         gnulib-tool: Create distributed built sources also for the tests.
12856         * gnulib-tool (func_create_testdir): Also generate distributed built
12857         sources in the tests directory.
12858
12859 2010-04-02  Bruno Haible  <bruno@clisp.org>
12860
12861         gnulib-tool: Obey user's environment variables.
12862         * gnulib-tool (func_create_testdir): When creating built sources,
12863         respect the environment variables for autoconf, automake, etc. given by
12864         the user.
12865
12866 2010-04-02  Bruno Haible  <bruno@clisp.org>
12867
12868         gnulib-tool: Provide the value of --m4-base to modules.
12869         * gnulib-tool (func_import, func_create_testdir): Emit a definition
12870         of gl_m4_base.
12871
12872 2010-04-02  Eric Blake  <eblake@redhat.com>
12873
12874         maint.mk: fix some fallout
12875         * NEWS: Document the incompatible change, and its effect on cfg.mk.
12876         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
12877
12878 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
12879
12880         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
12881         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
12882         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
12883         (sc_cast_of_x_alloc_return_value): Likewise.
12884         (sc_cast_of_alloca_return_value): Likewise.
12885         (sc_space_tab): Likewise.
12886         (sc_prohibit_atoi_atof): Likewise.
12887         (sc_prohibit_magic_number_exit): Likewise.
12888         (sc_error_exit_success): Likewise.
12889         (sc_file_system): Likewise.
12890         (sc_prohibit_have_config_h): Likewise.
12891         (sc_require_config_h): Likewise.
12892         (sc_prohibit_HAVE_MBRTOWC): Likewise.
12893         (sc_obsolete_symbols): Likewise.
12894         (sc_changelog): Likewise.
12895         (sc_program_name): Likewise.
12896         (sc_the_the): Likewise.
12897         (sc_trailing_blank): Likewise.
12898         (sc_two_space_separator_in_usage): Likewise.
12899         (sc_useless_cpp_parens): Likewise.
12900         (sc_GPL_version): Likewise.
12901         (sc_GFDL_version): Likewise.
12902         (sc_texinfo_acronym): Likewise.
12903         (sc_prohibit_cvs_keyword): Likewise.
12904         (sc_prohibit_stat_st_blocks): Likewise.
12905         (sc_prohibit_S_IS_definition): Likewise.
12906         (sc_redundant_const): Likewise.
12907         (sc_makefile_TAB_only_indentation): Likewise.
12908         (sc_m4_quote_check): Likewise.
12909         (sc_makefile_path_separator_check): Likewise.
12910         (sc_copyright_check): Likewise.
12911         (sc_Wundef_boolean): Likewise.
12912         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
12913
12914         maint.mk: match 0 or more whitespace-before-function-call '('
12915         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
12916         that have zero or two-and-more spaces between the function name
12917         and the open parenthesis.
12918         (sc_error_message_warn_fatal): Likewise.
12919         (sc_error_message_uppercase): Likewise.
12920         (sc_error_message_period): Likewise.
12921
12922 2010-03-31  Eric Blake  <eblake@redhat.com>
12923
12924         maint.mk: check for [ as well as test
12925         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
12926         Based on a libvirt report by Matthias Bolte.
12927
12928         gnumakefile: don't squelch _version output
12929         * top/GNUmakefile (_version): Create one-shot dependency rather
12930         than using $(shell) when version must be regenerated.
12931         (_autoreconf): Run verbosely, by default.
12932
12933         sys_time: avoid compiler warnings
12934         * lib/sys_time.in.h (includes): Ensure gcc pragma is
12935         unconditional, fixing regression from 2010-03-29.
12936         Reported by Simon Josefsson.
12937
12938 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
12939
12940         maint.mk: s/_header_without_use/_sc_header_without_use/
12941         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
12942         (sc_prohibit_assert_without_use): Use the new name.
12943         (sc_prohibit_close_stream_without_use): Likewise.
12944         (sc_prohibit_getopt_without_use): Likewise.
12945         (sc_prohibit_quotearg_without_use): Likewise.
12946         (sc_prohibit_quote_without_use): Likewise.
12947         (sc_prohibit_long_options_without_use): Likewise.
12948         (sc_prohibit_inttostr_without_use): Likewise.
12949         (sc_prohibit_ignore_value_without_use): Likewise.
12950         (sc_prohibit_error_without_use): Likewise.
12951         (sc_prohibit_xalloc_without_use): Likewise.
12952         (sc_prohibit_hash_without_use): Likewise.
12953         (sc_prohibit_hash_pjw_without_use): Likewise.
12954         (sc_prohibit_safe_read_without_use): Likewise.
12955         (sc_prohibit_argmatch_without_use): Likewise.
12956         (sc_prohibit_canonicalize_without_use): Likewise.
12957         (sc_prohibit_root_dev_ino_without_use): Likewise.
12958         (sc_prohibit_openat_without_use): Likewise.
12959         (sc_prohibit_c_ctype_without_use): Likewise.
12960         (sc_prohibit_signal_without_use): Likewise.
12961         (sc_prohibit_intprops_without_use): Likewise.
12962
12963 2010-03-30  Eric Blake  <eblake@redhat.com>
12964
12965         maint: improve module indicators
12966         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
12967         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
12968         columns, and avoid extra macro expansion.
12969
12970         fdopendir: work around FreeBSD bug
12971         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
12972         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
12973         * modules/dirent (Makefile.am): Substitute it.
12974         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
12975         declaration.
12976         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
12977         fix.
12978         Reported by Christian Weisgerber <naddy@mips.inka.de>.
12979
12980 2010-03-29  Bruno Haible  <bruno@clisp.org>
12981
12982         Emit #pragma system_header after the inclusion guard, not before.
12983         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
12984         guard that spans the entire file, not before. This enables an
12985         optimization in GCC's preprocessor.
12986         * lib/ctype.in.h: Likewise.
12987         * lib/dirent.in.h: Likewise.
12988         * lib/errno.in.h: Likewise.
12989         * lib/float.in.h: Likewise.
12990         * lib/getopt.in.h: Likewise.
12991         * lib/iconv.in.h: Likewise.
12992         * lib/langinfo.in.h: Likewise.
12993         * lib/locale.in.h: Likewise.
12994         * lib/math.in.h: Likewise.
12995         * lib/netdb.in.h: Likewise.
12996         * lib/netinet_in.in.h: Likewise.
12997         * lib/pty.in.h: Likewise.
12998         * lib/sched.in.h: Likewise.
12999         * lib/se-selinux.in.h: Likewise.
13000         * lib/search.in.h: Likewise.
13001         * lib/spawn.in.h: Likewise.
13002         * lib/stdarg.in.h: Likewise.
13003         * lib/stdint.in.h: Likewise.
13004         * lib/string.in.h: Likewise.
13005         * lib/strings.in.h: Likewise.
13006         * lib/sys_file.in.h: Likewise.
13007         * lib/sys_ioctl.in.h: Likewise.
13008         * lib/sys_time.in.h: Likewise.
13009         * lib/sys_times.in.h: Likewise.
13010         * lib/sys_utsname.in.h: Likewise.
13011         * lib/sys_wait.in.h: Likewise.
13012         * lib/sysexits.in.h: Likewise.
13013         * lib/wctype.in.h: Likewise.
13014
13015 2010-03-28  James Youngman  <jay@gnu.org>
13016
13017         save-cwd: don't leak a file descriptor when the caller execs.
13018         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
13019         saved file descriptor.
13020         * modules/save-cwd (Depends-on): Depend on cloexec.
13021
13022 2010-03-29  Bruno Haible  <bruno@clisp.org>
13023
13024         Remove vestiges of fts-lgpl module.
13025         * lib/fts_.h: Assume GNULIB_FTS is 1.
13026         * lib/fts.c: Likewise.
13027         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
13028
13029 2010-03-28  Bruno Haible  <bruno@clisp.org>
13030
13031         Fix definition of tests witness macro.
13032         * gnulib-tool (func_import): Fix definition of witness macro.
13033
13034 2010-03-28  Bruno Haible  <bruno@clisp.org>
13035
13036         Fix ioctl's protoype on glibc systems.
13037         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
13038         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
13039         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
13040         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
13041         signature. If not, arrange to replace the ioctl function.
13042         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
13043         REPLACE_IOCTL.
13044         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
13045         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
13046         Reported by Ludovic Courtès <ludo@gnu.org>.
13047
13048 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
13049
13050         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
13051         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
13052         made it so grep -r --include=GLOB* ... did not work.
13053
13054 2010-03-26  Jim Meyering  <meyering@redhat.com>
13055             Eric Blake  <eblake@redhat.com>
13056
13057         maint.mk: prohibit use of test's -o and -a operators
13058         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
13059
13060 2010-03-28  Bruno Haible  <bruno@clisp.org>
13061
13062         Remove unused GNULIB_XYZ macro definitions.
13063         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
13064         invocation.
13065
13066 2010-03-28  Bruno Haible  <bruno@clisp.org>
13067
13068         Mark privileged tests modules.
13069         * modules/idpriv-drop-tests (Status): New section.
13070         * modules/idpriv-droptemp-tests (Status): New section.
13071
13072 2010-03-28  Bruno Haible  <bruno@clisp.org>
13073
13074         Split C++ tests into separate tests modules.
13075         * modules/dirent-c++-tests: New file, extracted from
13076         modules/dirent-tests.
13077         * modules/dirent-tests: Depend on it.
13078         * modules/fcntl-h-c++-tests: New file, extracted from
13079         modules/fcntl-h-tests.
13080         * modules/fcntl-h-tests: Depend on it.
13081         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
13082         * modules/glob-tests: Depend on it.
13083         * modules/iconv-h-c++-tests: New file, extracted from
13084         modules/iconv-h-tests.
13085         * modules/iconv-h-tests: Depend on it.
13086         * modules/langinfo-c++-tests: New file, extracted from
13087         modules/langinfo-tests.
13088         * modules/langinfo-tests: Depend on it.
13089         * modules/locale-c++-tests: New file, extracted from
13090         modules/locale-tests.
13091         * modules/locale-tests: Depend on it.
13092         * modules/math-c++-tests: New file, extracted from modules/math-tests.
13093         * modules/math-tests: Depend on it.
13094         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
13095         * modules/pty-tests: Depend on it.
13096         * modules/search-c++-tests: New file, extracted from
13097         modules/search-tests.
13098         * modules/search-tests: Depend on it.
13099         * modules/signal-c++-tests: New file, extracted from
13100         modules/signal-tests.
13101         * modules/signal-tests: Depend on it.
13102         * modules/spawn-c++-tests: New file, extracted from
13103         modules/spawn-tests.
13104         * modules/spawn-tests: Depend on it.
13105         * modules/stdio-c++-tests: New file, extracted from
13106         modules/stdio-tests.
13107         * modules/stdio-tests: Depend on it.
13108         * modules/stdlib-c++-tests: New file, extracted from
13109         modules/stdlib-tests.
13110         * modules/stdlib-tests: Depend on it.
13111         * modules/string-c++-tests: New file, extracted from
13112         modules/string-tests.
13113         * modules/string-tests: Depend on it.
13114         * modules/sys_ioctl-c++-tests: New file, extracted from
13115         modules/sys_ioctl-tests.
13116         * modules/sys_ioctl-tests: Depend on it.
13117         * modules/sys_select-c++-tests: New file, extracted from
13118         modules/sys_select-tests.
13119         * modules/sys_select-tests: Depend on it.
13120         * modules/sys_socket-c++-tests: New file, extracted from
13121         modules/sys_socket-tests.
13122         * modules/sys_socket-tests: Depend on it.
13123         * modules/sys_stat-c++-tests: New file, extracted from
13124         modules/sys_stat-tests.
13125         * modules/sys_stat-tests: Depend on it.
13126         * modules/sys_time-c++-tests: New file, extracted from
13127         modules/sys_time-tests.
13128         * modules/sys_time-tests: Depend on it.
13129         * modules/time-c++-tests: New file, extracted from modules/time-tests.
13130         * modules/time-tests: Depend on it.
13131         * modules/unistd-c++-tests: New file, extracted from
13132         modules/unistd-tests.
13133         * modules/unistd-tests: Depend on it.
13134         * modules/wchar-c++-tests: New file, extracted from
13135         modules/wchar-tests.
13136         * modules/wchar-tests: Depend on it.
13137         * modules/wctype-c++-tests: New file, extracted from
13138         modules/wctype-tests.
13139         * modules/wctype-tests: Depend on it.
13140         Reported by Simon Josefsson.
13141
13142 2010-03-28  Bruno Haible  <bruno@clisp.org>
13143
13144         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
13145         * gnulib-tool (func_exists_module): New function, extracted from
13146         func_verify_module.
13147         (func_verify_module): Use it.
13148         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
13149         'foo' only if 'foo' exists.
13150         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
13151         module.
13152
13153 2010-03-28  Bruno Haible  <bruno@clisp.org>
13154
13155         gnulib-tool: Add support for special categories of tests.
13156         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
13157         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
13158         (func_usage): Document them.
13159         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
13160         inc_unportable_tests, inc_all_tests): New variables.
13161         (func_acceptable): Consider these variables.
13162         (func_modules_transitive_closure): Make it work when the 'Status' field
13163         consists of multiple words.
13164         (func_import): Store and restore the values of inc_cxx_tests,
13165         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
13166         inc_all_tests in gnulib-comp.m4.
13167         (func_create_testdir): Set inc_all_tests to true.
13168         * doc/gnulib.texi (Extra tests modules): New section.
13169         Suggested by Jim Meyering.
13170
13171 2010-03-28  Bruno Haible  <bruno@clisp.org>
13172
13173         ansi-c++-opt: Allow turning off the C++ build by default.
13174         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
13175         gl_CXX_CHOICE_DEFAULT_NO is defined.
13176         Requested by Eric Blake.
13177
13178 2010-03-28  Bruno Haible  <bruno@clisp.org>
13179
13180         unistd: Avoid #define replacements in C++ mode.
13181         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
13182         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
13183         setsockopt, shutdown, select): In C++, attach a warning to the function
13184         if possible, rather than #defining the symbol to a dysfunctional alias.
13185         Reported by John W. Eaton <jwe@gnu.org>.
13186
13187 2010-03-28  Bruno Haible  <bruno@clisp.org>
13188
13189         Fix link errors on mingw.
13190         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
13191         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
13192         $(LIBSOCKET).
13193         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
13194         $(LIBSOCKET).
13195
13196 2010-03-28  Bruno Haible  <bruno@clisp.org>
13197             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13198
13199         lib-ignore: Determine different options for different compilers.
13200         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
13201         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
13202         Add comments.
13203         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
13204         * NEWS: Mention the change.
13205
13206 2010-03-27  Bruno Haible  <bruno@clisp.org>
13207
13208         Remove unused GNULIB_XYZ macro definitions.
13209         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
13210         * modules/fseek (configure.ac): Likewise.
13211         * modules/ioctl (configure.ac): Likewise.
13212         * modules/open (configure.ac): Likewise.
13213         * modules/stdlib-safer (configure.ac): Likewise.
13214
13215 2010-03-27  Bruno Haible  <bruno@clisp.org>
13216
13217         Add a remark about certain modules.
13218         * modules/malloc (Comment): New section.
13219         * modules/realloc (Comment): Likewise.
13220         * modules/sigpipe (Comment): Likewise.
13221
13222 2010-03-27  Bruno Haible  <bruno@clisp.org>
13223
13224         Resolve conflict between the two kinds of module indicators.
13225         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
13226         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
13227         * modules/canonicalize (configure.ac): Invoke
13228         gl_MODULE_INDICATOR_FOR_TESTS.
13229         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
13230         GNULIB_XYZ.
13231         * tests/test-dirent-c++.cc: Likewise.
13232         * tests/test-dirent-safer.c: Likewise.
13233         * tests/test-dup2.c: Likewise.
13234         * tests/test-fchdir.c: Likewise.
13235         * tests/test-fcntl-h-c++.cc: Likewise.
13236         * tests/test-getopt.c: Likewise.
13237         * tests/test-getopt.h: Likewise.
13238         * tests/test-langinfo-c++.cc: Likewise.
13239         * tests/test-locale-c++.cc: Likewise.
13240         * tests/test-math-c++.cc: Likewise.
13241         * tests/test-pty-c++.cc: Likewise.
13242         * tests/test-search-c++.cc: Likewise.
13243         * tests/test-signal-c++.cc: Likewise.
13244         * tests/test-spawn-c++.cc: Likewise.
13245         * tests/test-stdio-c++.cc: Likewise.
13246         * tests/test-stdlib-c++.cc: Likewise.
13247         * tests/test-string-c++.cc: Likewise.
13248         * tests/test-sys_ioctl-c++.cc: Likewise.
13249         * tests/test-sys_select-c++.cc: Likewise.
13250         * tests/test-sys_socket-c++.cc: Likewise.
13251         * tests/test-sys_stat-c++.cc: Likewise.
13252         * tests/test-sys_time-c++.cc: Likewise.
13253         * tests/test-time-c++.cc: Likewise.
13254         * tests/test-unistd-c++.cc: Likewise.
13255         * tests/test-wchar-c++.cc: Likewise.
13256         * tests/uninorm/test-u8-nfc.c: Likewise.
13257         * tests/uninorm/test-u8-nfd.c: Likewise.
13258         * tests/uninorm/test-u8-nfkc.c: Likewise.
13259         * tests/uninorm/test-u8-nfkd.c: Likewise.
13260         * tests/uninorm/test-u16-nfc.c: Likewise.
13261         * tests/uninorm/test-u16-nfd.c: Likewise.
13262         * tests/uninorm/test-u16-nfkc.c: Likewise.
13263         * tests/uninorm/test-u16-nfkd.c: Likewise.
13264         * tests/uninorm/test-u32-nfc.c: Likewise.
13265         * tests/uninorm/test-u32-nfc-big.c: Likewise.
13266         * tests/uninorm/test-u32-nfd.c: Likewise.
13267         * tests/uninorm/test-u32-nfd-big.c: Likewise.
13268         * tests/uninorm/test-u32-nfkc.c: Likewise.
13269         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
13270         * tests/uninorm/test-u32-nfkd.c: Likewise.
13271         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
13272         * tests/uninorm/test-u32-normalize-big.c: Likewise.
13273
13274 2010-03-27  Bruno Haible  <bruno@clisp.org>
13275
13276         Distinguish two kinds of module indicators.
13277         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
13278         gl_MODULE_INDICATOR.
13279         (gl_MODULE_INDICATOR): New macro.
13280         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
13281         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
13282         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
13283         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
13284         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
13285         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
13286         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
13287         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
13288         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
13289         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
13290         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
13291         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
13292         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
13293         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
13294         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
13295         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
13296         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
13297         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
13298         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
13299         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
13300         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
13301         * modules/cloexec (configure.ac): Likewise.
13302         * modules/getopt-gnu (configure.ac): Likewise.
13303         * modules/uninorm/u8-normalize (configure.ac): Likewise.
13304         * modules/uninorm/u16-normalize (configure.ac): Likewise.
13305         * modules/uninorm/u32-normalize (configure.ac): Likewise.
13306         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
13307
13308 2010-03-27  Bruno Haible  <bruno@clisp.org>
13309
13310         New module description field 'Comment'.
13311         * gnulib-tool: New option --extract-comment.
13312         (func_usage): Document it.
13313         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
13314         (func_get_comment): New function.
13315         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
13316
13317 2010-03-27  Bruno Haible  <bruno@clisp.org>
13318
13319         Addendum to 2010-02-07 commit.
13320         * gnulib-tool (func_usage): Document --extract-applicability option.
13321
13322 2010-03-27  Bruno Haible  <bruno@clisp.org>
13323
13324         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
13325         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
13326         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
13327         rather than link errors.
13328
13329 2010-03-27  Bruno Haible  <bruno@clisp.org>
13330
13331         Avoid side effects from tests-related modules on the compilation of lib.
13332         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
13333         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
13334         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
13335         parameter. Emit into AM_CPPFLAGS a definition of the designated C
13336         macro.
13337         (func_import): Define a witness macro. Assign it a value that depends
13338         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
13339         tests-related modules.
13340         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
13341         Reported by Jim Meyering.
13342
13343 2010-03-27  Bruno Haible  <bruno@clisp.org>
13344
13345         Factorize common .m4 code.
13346         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
13347         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
13348         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
13349         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
13350         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
13351         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
13352         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
13353         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
13354         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
13355         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
13356         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
13357         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
13358         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
13359         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
13360         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
13361         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
13362         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
13363         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
13364         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
13365         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
13366         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
13367         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
13368         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
13369         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
13370         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
13371         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
13372         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
13373         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
13374         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
13375         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
13376         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
13377         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
13378
13379 2010-03-27  Bruno Haible  <bruno@clisp.org>
13380
13381         Fix a compilation error on Cygwin with g++ >= 4.3.
13382         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
13383         if it is undefined or if we alias it to chmod.
13384         (lstat): Don't warn about the use of this function if it is undefined
13385         or if we alias it to stat.
13386         Reported by Simon Josefsson.
13387
13388 2010-03-27  Bruno Haible  <bruno@clisp.org>
13389
13390         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
13391         * modules/getlogin (configure.ac): Update.
13392
13393         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
13394         * modules/getlogin_r (configure.ac): Update.
13395
13396         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
13397         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
13398         * modules/inet_ntop (configure.ac): Update.
13399
13400         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
13401         * modules/inet_pton (configure.ac): Update.
13402
13403         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
13404         * modules/mbslen (configure.ac): Update.
13405
13406         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
13407         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
13408         * modules/forkpty (configure.ac): Update.
13409         * modules/openpty (configure.ac): Update.
13410
13411 2010-03-26  Simon Josefsson  <simon@josefsson.org>
13412
13413         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
13414         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
13415
13416 2010-03-25  Eric Blake  <eblake@redhat.com>
13417
13418         maint: use pragma consistently across replacement headers
13419         * lib/ctype.in.h (system_header): Hoist for consistent placement.
13420         * lib/dirent.in.h (system_header): Likewise.
13421         * lib/errno.in.h (system_header): Likewise.
13422         * lib/float.in.h (system_header): Likewise.
13423         * lib/getopt.in.h (system_header): Likewise.
13424         * lib/iconv.in.h (system_header): Likewise.
13425         * lib/inttypes.in.h (system_header): Likewise.
13426         * lib/langinfo.in.h (system_header): Likewise.
13427         * lib/locale.in.h (system_header): Likewise.
13428         * lib/math.in.h (system_header): Likewise.
13429         * lib/netdb.in.h (system_header): Likewise.
13430         * lib/netinet_in.in.h (system_header): Likewise.
13431         * lib/pty.in.h (system_header): Likewise.
13432         * lib/sched.in.h (system_header): Likewise.
13433         * lib/se-selinux.in.h (system_header): Likewise.
13434         * lib/search.in.h (system_header): Likewise.
13435         * lib/spawn.in.h (system_header): Likewise.
13436         * lib/stdarg.in.h (system_header): Likewise.
13437         * lib/stdint.in.h (system_header): Likewise.
13438         * lib/string.in.h (system_header): Likewise.
13439         * lib/strings.in.h (system_header): Likewise.
13440         * lib/sys_file.in.h (system_header): Likewise.
13441         * lib/sys_ioctl.in.h (system_header): Likewise.
13442         * lib/sys_socket.in.h (system_header): Likewise.
13443         * lib/sys_times.in.h (system_header): Likewise.
13444         * lib/sys_utsname.in.h (system_header): Likewise.
13445         * lib/sys_wait.in.h (system_header): Likewise.
13446         * lib/sysexits.in.h (system_header): Likewise.
13447         * lib/unistd.in.h (system_header): Likewise.
13448         * lib/wctype.in.h (system_header): Likewise.
13449
13450         arpa/inet: fix mingw compilation warning
13451         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
13452         Reported by Matthew Bolte.
13453
13454 2010-03-25  Bruno Haible  <bruno@clisp.org>
13455
13456         Avoid collision between gnulib wrapper and libintl wrapper.
13457         * lib/printf.c (printf): Don't define if a printf wrapper is already
13458         defined in intl/printf.c.
13459         Reported by Michel Boaventura <michel@michelboaventura.com>.
13460
13461 2010-03-25  Bruno Haible  <bruno@clisp.org>
13462
13463         Use ANSI C.
13464         * lib/readutmp.h (getutent): Provide ANSI C prototype.
13465
13466 2010-03-25  Bruno Haible  <bruno@clisp.org>
13467
13468         Minor formatting changes.
13469         * lib/acosl.c: Insert space before function argument list.
13470         * lib/argz.c: Likewise.
13471         * lib/asinl.c: Likewise.
13472         * lib/expl.c: Likewise.
13473         * lib/gen-uni-tables.c: Likewise.
13474         * lib/gettext.h: Likewise.
13475         * lib/glthread/lock.h: Likewise.
13476         * lib/tanl.c: Likewise.
13477         * lib/uniname/uniname.c: Likewise.
13478         * tests/test-idpriv-drop.c: Likewise.
13479         * tests/test-idpriv-droptemp.c: Likewise.
13480         * tests/test-lock.c: Likewise.
13481         * tests/test-tls.c: Likewise.
13482         * lib/argp-help.c: Insert space before function-like macro argument
13483         list.
13484         * lib/memcmp.c: Likewise.
13485         * tests/test-base64.c: Likewise.
13486         * lib/localename.c: Insert space before sizeof's argument list.
13487         * lib/safe-alloc.h: Likewise.
13488         * lib/file-set.h: Insert space before macro argument list.
13489         * tests/test-argp.c: Likewise.
13490         * lib/argp-namefrob.h: Insert space before function parameter list.
13491         * lib/getaddrinfo.c: Likewise.
13492         * lib/netdb.in.h: Likewise.
13493         * lib/parse-duration.h: Likewise.
13494         * lib/parse-duration.c: Likewise.
13495         * lib/poll.c: Likewise.
13496         * lib/select.c: Likewise.
13497         * lib/trim.h: Likewise.
13498         * tests/test-usleep.c: Likewise.
13499         * lib/ldexpl.c: Insert space before function parameter list and before
13500         function argument list.
13501         * lib/logl.c: Likewise.
13502         * lib/sqrtl.c: Likewise.
13503         * lib/trim.c: Likewise.
13504         * lib/cosl.c: Use GNU style indentation. Insert space before function
13505         argument list.
13506         * lib/sinl.c: Likewise.
13507         * lib/tsearch.c: Insert space after 'for'.
13508         Reported by Jim Meyering.
13509
13510 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
13511
13512         * maint.mk (sc_Wundef_boolean): Check for the presence of the
13513         config header before grepping, as it's not present before
13514         autoreconf/configure are run.  Reported by Simon Josefsson.
13515
13516 2010-03-23  Bruno Haible  <bruno@clisp.org>
13517
13518         pt_chown: Make it work with automake < 1.11.
13519         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
13520         Reported by Simon Josefsson.
13521
13522 2010-03-23  Bruno Haible  <bruno@clisp.org>
13523
13524         pt_chown: Don't depend on GPLed modules.
13525         * lib/pt_chown.c: Don't include idpriv.h.
13526         (main): Don't drop privileges.
13527         * modules/pt_chown (Depends-on): Remove idpriv-drop.
13528         Reported by Simon Josefsson.
13529
13530 2010-03-24  Simon Josefsson  <simon@josefsson.org>
13531
13532         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
13533         suggestions from karl@freefriends.org (Karl Berry).
13534
13535 2010-03-22  Eric Blake  <eblake@redhat.com>
13536
13537         gethostname: further tweaks
13538         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
13539         are overriding gethostname.
13540         Suggested by Bruno Haible.
13541
13542 2010-03-21  Bruno Haible  <bruno@clisp.org>
13543
13544         Fix comments.
13545         * lib/forkpty.c (rpl_forkpty): Fix comment.
13546         * lib/openpty.c (rpl_openpty): Likewise.
13547         Reported by Eric Blake.
13548
13549 2010-03-22  Eric Blake  <eblake@redhat.com>
13550
13551         gethostname: fix build on mingw
13552         * lib/unistd.in.h (includes): Work around fact that mingw
13553         <winsock2.h> re-includes <unistd.h>, by avoiding any
13554         redeclarations if we are being included by <winsock2.h>.
13555         Reported by Matthias Bolte.
13556
13557 2010-03-21  Bruno Haible  <bruno@clisp.org>
13558
13559         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
13560         * lib/forkpty.c (forkpty): New replacement function, from glibc with
13561         modifications.
13562         * lib/pty.in.h (forkpty): Update declaration. Add comments.
13563         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
13564         provide the replacement.
13565         * modules/forkpty (Depends-on): Add openpty, login_tty.
13566         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
13567         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
13568         * doc/glibc-functions/forkpty.texi: More supported platforms.
13569         * config/srclist.txt: Add forkpty.c (commented).
13570
13571 2010-03-21  Bruno Haible  <bruno@clisp.org>
13572
13573         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
13574         (Makefile.am): Verify that PTY_LIB is defined.
13575
13576         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
13577
13578 2010-03-21  Bruno Haible  <bruno@clisp.org>
13579
13580         Tests for module 'login_tty'.
13581         * modules/login_tty-tests: New file.
13582         * tests/test-login_tty.c: New file.
13583
13584         New module 'login_tty'.
13585         * lib/login_tty.c: New file.
13586         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
13587         * modules/login_tty: New file.
13588         * doc/glibc-functions/login_tty.texi: Mention the new module.
13589
13590 2010-03-21  Bruno Haible  <bruno@clisp.org>
13591
13592         login_tty: Documentation.
13593         * doc/glibc-functions/login_tty.texi: New file.
13594         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
13595
13596 2010-03-21  Bruno Haible  <bruno@clisp.org>
13597
13598         pty: Consistent macro naming.
13599         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
13600         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
13601         * modules/pty (configure.ac): Update.
13602
13603 2010-03-21  Bruno Haible  <bruno@clisp.org>
13604
13605         Tests for openpty: Make stricter.
13606         * tests/test-openpty.c (main): Add test of canonical processing and
13607         erase.
13608         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
13609
13610         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
13611         * lib/openpty.c (openpty): New replacement function.
13612         * lib/pty.in.h: Include <termios.h>.
13613         (openpty): Update declaration. Add comments.
13614         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
13615         is not declared, arrange to provide the replacement. Check for _getpty
13616         and posix_openpt.
13617         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
13618         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
13619         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
13620         * modules/pty-tests (test_pty_c___LDADD): New variable.
13621         * doc/glibc-functions/openpty.texi: More supported platforms.
13622
13623 2010-03-21  Bruno Haible  <bruno@clisp.org>
13624
13625         setenv: Tweaks.
13626         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
13627         the test program.
13628         * doc/posix-functions/setenv.texi: Update platforms list.
13629
13630 2010-03-21  Bruno Haible  <bruno@clisp.org>
13631
13632         New module 'unlockpt'.
13633         * lib/unlockpt.c: New file, from glibc with modifications.
13634         * m4/unlockpt.m4: New file.
13635         * modules/unlockpt: New file.
13636         * lib/stdlib.in.h (unlockpt): New declaration.
13637         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
13638         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
13639         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
13640         HAVE_UNLOCKPT.
13641         * doc/posix-functions/unlockpt.texi: Mention the new module.
13642         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
13643         * config/srclist.txt: Add unlockpt.c (commented).
13644
13645 2010-03-21  Jim Meyering  <meyering@redhat.com>
13646
13647         maint.mk: prohibit inclusion of "intprops.h" without use
13648         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
13649
13650 2010-03-21  Bruno Haible  <bruno@clisp.org>
13651
13652         New module 'grantpt'.
13653         * lib/grantpt.c: New file, from glibc with modifications.
13654         * m4/grantpt.m4: New file.
13655         * modules/grantpt: New file.
13656         * lib/stdlib.in.h (grantpt): New declaration.
13657         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
13658         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
13659         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
13660         HAVE_GRANTPT.
13661         * doc/posix-functions/grantpt.texi: Mention the new module.
13662         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
13663         * config/srclist.txt: Add grantpt.c (commented).
13664
13665 2010-03-21  Bruno Haible  <bruno@clisp.org>
13666
13667         New module 'pt_chown'.
13668         * lib/pt_chown.c: New file, from glibc with modifications.
13669         * lib/pty-private.h: New file, from glibc with modifications.
13670         * modules/pt_chown: New file.
13671         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
13672
13673 2010-03-21  Bruno Haible  <bruno@clisp.org>
13674
13675         Tests for module 'ptsname'.
13676         * modules/ptsname-tests: New file.
13677         * tests/test-ptsname.c: New file.
13678
13679         New module 'ptsname'.
13680         * lib/ptsname.c: New file, from glibc with modifications.
13681         * m4/ptsname.m4: New file.
13682         * modules/ptsname: New file.
13683         * lib/stdlib.in.h (ptsname): New declaration.
13684         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
13685         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
13686         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
13687         HAVE_PTSNAME.
13688         * doc/posix-functions/ptsname.texi: Mention the new module.
13689         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
13690         * config/srclist.txt: Add ptsname.c (commented).
13691
13692 2010-03-21  Bruno Haible  <bruno@clisp.org>
13693
13694         Tests for module 'ttyname_r'.
13695         * modules/ttyname_r-tests: New file.
13696         * tests/test-ttyname_r.c: New file.
13697
13698         New module 'ttyname_r'.
13699         * lib/ttyname_r.c: New file.
13700         * m4/ttyname_r.m4: New file.
13701         * modules/ttyname_r: New file.
13702         * lib/unistd.in.h (ttyname_r): New declaration.
13703         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
13704         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
13705         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
13706         HAVE_TTYNAME_R.
13707         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
13708         * doc/posix-functions/ttyname_r.texi: Mention the new module.
13709
13710 2010-03-20  Bruno Haible  <bruno@clisp.org>
13711
13712         signal: Undefine macro definitions in C++ mode.
13713         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
13714         sigfillset): Undefine macro definitions from the system header in C++
13715         mode.
13716         Reported by John W. Eaton <jwe@gnu.org>.
13717
13718 2010-03-20  Bruno Haible  <bruno@clisp.org>
13719
13720         Ensure no #include statements inside extern "C" { ... }.
13721         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
13722         contain #include statements.
13723         * lib/time.in.h: Likewise.
13724
13725 2010-03-20  Bruno Haible  <bruno@clisp.org>
13726
13727         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
13728         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
13729         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
13730         Reported by John W. Eaton <jwe@gnu.org>.
13731
13732 2010-03-20  Bruno Haible  <bruno@clisp.org>
13733
13734         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
13735         Reported by Jim Meyering.
13736
13737 2010-03-20  Bruno Haible  <bruno@clisp.org>
13738
13739         pipe: Set errno upon failure.
13740         * lib/pipe.h: Specify that when -1 is returned, errno is set.
13741         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
13742         errno value in error message.
13743
13744 2010-03-20  Bruno Haible  <bruno@clisp.org>
13745             Jim Meyering  <meyering@redhat.com>
13746
13747         lchown: Avoid "unused variable" warning.
13748         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
13749
13750 2010-03-20  Bruno Haible  <bruno@clisp.org>
13751
13752         Work around unlink() bug on MacOS X 10.5.6.
13753         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
13754         attempting to unlink a parent directory.
13755         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
13756         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
13757         activate for the replacement function.
13758         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
13759
13760 2010-03-20  Bruno Haible  <bruno@clisp.org>
13761
13762         Fix link errors on Solaris 8.
13763         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
13764         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
13765
13766 2010-03-19  Jim Meyering  <meyering@redhat.com>
13767
13768         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
13769         The _LIBC implementation of build_range_exp correctly honors the
13770         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
13771         However, the non-_LIBC implementation would ignore that syntax-bit
13772         flag and return REG_ERANGE unconditionally.
13773         This change makes it honor that flag.
13774         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
13775         Make two pointer parameters "const".
13776         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
13777         (parse_bracket_exp): Update caller.
13778
13779         regex.m4: correct the reversed range endpoint ([b-a]) test
13780         * m4/regex.m4: When requiring that [b-a] evoke failure,
13781         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
13782         test pass once again for x86-based systems.
13783
13784 2010-03-19  Bruno Haible  <bruno@clisp.org>
13785
13786         scandir: Fix link error on Solaris 8.
13787         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
13788         macros.
13789
13790 2010-03-19  Bruno Haible  <bruno@clisp.org>
13791
13792         getusershell: Fix documentation.
13793         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
13794         module.
13795         * doc/glibc-functions/setusershell.texi: Likewise.
13796
13797         getusershell: Provide declaration, missing on Solaris 9.
13798         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
13799         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
13800         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
13801         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
13802         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
13803         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
13804         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
13805         HAVE_GETUSERSHELL.
13806         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
13807
13808 2010-03-19  Bruno Haible  <bruno@clisp.org>
13809
13810         wctype: Provide iswblank function.
13811         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
13812         exists and is fine.
13813         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
13814         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
13815         * tests/test-wctype.c (main): Re-enable the iswblank tests.
13816         * doc/posix-functions/iswblank.texi: Update.
13817
13818 2010-03-19  Bruno Haible  <bruno@clisp.org>
13819
13820         Tests of module 'pty' in C++ mode.
13821         * modules/pty-tests: New file.
13822         * tests/test-pty-c++.cc: New file.
13823         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
13824
13825 2010-03-19  Eric Blake  <eblake@redhat.com>
13826
13827         logb: fix documentation
13828         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
13829         1.5 declaration bug.
13830
13831         forkpty, openpty: prefer glibc's const-safe prototype
13832         * lib/forkpty.c (rpl_forkpty): New file.
13833         * lib/openpty.c (rpl_openpty): Likewise.
13834         * modules/forkpty (Files): Distribute it.
13835         * modules/openpty (Files): Likewise.
13836         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
13837         check...
13838         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
13839         replacement for for non-const BSD signature.
13840         * modules/pty (Makefile.am): Substitute witnesses.
13841         * lib/pty.in.h (forkpty, openpty): Declare replacements.
13842         * tests/test-forkpty.c: Update signature check.
13843         * tests/test-openpty.c: Likewise.
13844         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
13845         * doc/glibc-functions/openpty.texi (openpty): Likewise.
13846
13847         forkpty, openpty: split functions into new modules
13848         * modules/pty (Makefile.am): Substitute new witnesses.
13849         (Libraries): Move library detection...
13850         * modules/forkpty: ...into new module.
13851         * modules/openpty: Another new module.
13852         * modules/pty-tests: Rename and split...
13853         * modules/forkpty-tests: ...to this...
13854         * modules/openpty-tests: ...and this.
13855         * tests/test-pty.c: Rename and split...
13856         * tests/test-forkpty.c: ...to this...
13857         * tests/test-openpty.c: ...and this.
13858         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
13859         (gl_PTY): Split library searching...
13860         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
13861         (gl_FORKPTY, gl_OPENPTY): New macros.
13862         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
13863         * NEWS: Mention the split.
13864         * MODULES.html.sh (Misc): Document the modules.
13865         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
13866         * doc/glibc-functions/openpty.texi (openpty): Likewise.
13867
13868         pty: improve replacement header
13869         * lib/pty.in.h: New file.
13870         * modules/pty (Files): Ship it.
13871         (Makefile.am): Always build replacement.
13872         * m4/pty.m4: Rename...
13873         * m4/pty_h.m4: ...to this.
13874         (gl_PTY): Modernize setting of witness macros; update check of
13875         forkpty to take proper advantage of cache.
13876         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
13877
13878         getopt: avoid compiler warning
13879         * lib/getopt.c (attribute_hidden): Remove unused macro.
13880
13881 2010-03-18  Bruno Haible  <bruno@clisp.org>
13882
13883         Fix link errors on Solaris 8.
13884         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
13885         * modules/search-tests (test_search_c___LDADD): Likewise.
13886         * modules/signal-tests (test_signal_c___LDADD): Likewise.
13887         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
13888         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
13889         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
13890         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
13891         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
13892         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
13893
13894 2010-03-18  Bruno Haible  <bruno@clisp.org>
13895
13896         Fix bug introduced on 2010-03-14.
13897         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
13898         (gl_SPAWN_H): Require it.
13899         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
13900         Reported by Simon Josefsson.
13901
13902 2010-03-18  Bruno Haible  <bruno@clisp.org>
13903
13904         Fix typo introduced on 2009-12-31.
13905         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
13906         posix_spawn_file_actions_adddup2.
13907
13908 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
13909         and Eric Blake  <eblake@redhat.com>
13910
13911         test-vc-list-files-git: make more robust
13912         * tests/test-vc-list-files-git.sh: Unset problematic environment
13913         variables.  Chain commands together.
13914
13915 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
13916
13917         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
13918         `AC_CHECK_DECL' invocation.
13919
13920 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
13921
13922         * lib/inttostr.c (inttostr): Make sure the invocation of verify
13923         appears before executable statements. Suggested by Petr Sumbera
13924         <Petr.Sumbera@Sun.COM>.
13925
13926 2010-03-14  Bruno Haible  <bruno@clisp.org>
13927
13928         * tests/test-flock.c (test_exclusive): Comment out a test that causes
13929         portability problems. Instead use a simpler test.
13930         (main): Check that invalid arguments are rejected only on Linux.
13931
13932 2010-03-14  Bruno Haible  <bruno@clisp.org>
13933
13934         Fix bug introduced on 2009-12-31.
13935         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
13936         gl_PREREQ_SYS_H_WINSOCK2 always.
13937         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
13938         SYS_SOCKET_H variable.
13939         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
13940         Update comments.
13941         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
13942         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
13943         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
13944         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
13945         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
13946
13947 2010-03-14  Bruno Haible  <bruno@clisp.org>
13948
13949         Fix values returned by sinl, cosl.
13950         * lib/trigl.h: Add specification comments.
13951         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
13952         that combines the values from the precomputed table with the values of
13953         the Chebyshev polynomials.
13954
13955 2010-03-14  Bruno Haible  <bruno@clisp.org>
13956
13957         Fix compilation error when modules 'posix_spawn[p]' are not used.
13958         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
13959         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
13960
13961 2010-03-14  Bruno Haible  <bruno@clisp.org>
13962
13963         Fix compilation error on mingw when module 'time_r' is not used.
13964         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
13965         is 1.
13966         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
13967         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
13968         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
13969         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
13970
13971 2010-03-14  Bruno Haible  <bruno@clisp.org>
13972
13973         Fix compilation error with Sun C.
13974         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
13975         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
13976         instead of GCC specific ULONG_LONG_MAX.
13977         * lib/xstrtoll.c: Likewise.
13978         * lib/xstrtoull.c: Likewise.
13979
13980 2010-03-13  Bruno Haible  <bruno@clisp.org>
13981
13982         Allow the user to disable C++ code and tests.
13983         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
13984         (gl_PROG_ANSI_CXX): Require it.
13985
13986 2010-03-13  Bruno Haible  <bruno@clisp.org>
13987
13988         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
13989         cases.
13990
13991 2010-03-13  Bruno Haible  <bruno@clisp.org>
13992
13993         Test that gnulib does not break the standard C++ headers.
13994         * tests/test-locale-c++2.cc: New file.
13995         * modules/locale-tests (Files): Add it.
13996         (Makefile.am): Compile it for test-locale-c++.
13997         * tests/test-math-c++2.cc: New file.
13998         * modules/math-tests (Files): Add it.
13999         (Makefile.am): Compile it for test-math-c++.
14000         * tests/test-signal-c++2.cc: New file.
14001         * modules/signal-tests (Files): Add it.
14002         (Makefile.am): Compile it for test-signal-c++.
14003         * tests/test-stdio-c++2.cc: New file.
14004         * modules/stdio-tests (Files): Add it.
14005         (Makefile.am): Compile it for test-stdio-c++.
14006         * tests/test-stdlib-c++2.cc: New file.
14007         * modules/stdlib-tests (Files): Add it.
14008         (Makefile.am): Compile it for test-stdlib-c++.
14009         * tests/test-string-c++2.cc: New file.
14010         * modules/string-tests (Files): Add it.
14011         (Makefile.am): Compile it for test-string-c++.
14012         * tests/test-time-c++2.cc: New file.
14013         * modules/time-tests (Files): Add it.
14014         (Makefile.am): Compile it for test-time-c++.
14015         Reported by John W. Eaton <jwe@gnu.org>.
14016
14017 2010-03-13  Bruno Haible  <bruno@clisp.org>
14018
14019         * gnulib-tool (func_usage): Clarify which options are available for
14020         --create-testdir and --create-megatestdir.
14021
14022 2010-03-13  Bruno Haible  <bruno@clisp.org>
14023
14024         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
14025         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
14026         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
14027         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
14028         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
14029         when appropriate.
14030         Reported by Jim Meyering.
14031
14032 2010-03-12  Simon Josefsson  <simon@josefsson.org>
14033
14034         * gnulib-tool (func_import): Explain origin of code.
14035
14036 2010-03-12  Bruno Haible  <bruno@clisp.org>
14037
14038         Fix problem with automake's definition of CXXLINK.
14039         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
14040         Reported by Simon Josefsson and Ludovic Courtès.
14041
14042 2010-03-12  Bruno Haible  <bruno@clisp.org>
14043
14044         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
14045         stable releases.
14046
14047 2010-03-11  Bruno Haible  <bruno@clisp.org>
14048
14049         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
14050         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
14051         whether the system provides one variant or multiple variants of the
14052         function.
14053         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
14054         C++ compilers.
14055         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
14056         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
14057         Reported by Jim Meyering.
14058
14059 2010-03-09  Simon Josefsson  <simon@josefsson.org>
14060
14061         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
14062
14063 2010-03-08  Bruno Haible  <bruno@clisp.org>
14064
14065         gnulib-tool: Add support for --libtool in --create-testdir.
14066         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
14067         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
14068
14069 2010-03-08  Eric Blake  <eblake@redhat.com>
14070
14071         gnulib-tool.texi: mention possibility of git submodule
14072         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
14073         submodules.
14074         * doc/.gitignore: Ignore another generated file.
14075
14076 2010-03-08  Karl Berry  <karl@gnu.org>
14077
14078         * doc/gnulib-tool.texi (VCS Issues): Mention third option
14079         of committing gnulib files while skipping others.
14080
14081 2010-03-07  Bruno Haible  <bruno@clisp.org>
14082
14083         Tests of module 'wctype' in C++ mode.
14084         * tests/test-wctype-c++.cc: New file.
14085         * modules/wctype-tests (Files): Add it and tests/signature.h.
14086         (Depends-on): Add ansi-c++-opt.
14087         (Makefile.am): Arrange to compile and run test-wctype-c++.
14088
14089         Tests of module 'wchar' in C++ mode.
14090         * tests/test-wchar-c++.cc: New file.
14091         * modules/wchar-tests (Files): Add it and tests/signature.h.
14092         (Depends-on): Add ansi-c++-opt.
14093         (Makefile.am): Arrange to compile and run test-wchar-c++.
14094         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
14095         gl_MODULE_INDICATOR.
14096
14097         Tests of module 'unistd' in C++ mode.
14098         * tests/test-unistd-c++.cc: New file.
14099         * modules/unistd-tests (Files): Add it and tests/signature.h.
14100         (Depends-on): Add ansi-c++-opt.
14101         (Makefile.am): Arrange to compile and run test-unistd-c++.
14102         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
14103         gl_MODULE_INDICATOR.
14104
14105         Tests of module 'time' in C++ mode.
14106         * tests/test-time-c++.cc: New file.
14107         * modules/time-tests (Files): Add it and tests/signature.h.
14108         (Depends-on): Add ansi-c++-opt.
14109         (Makefile.am): Arrange to compile and run test-time-c++.
14110         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
14111
14112         Tests of module 'sys_time' in C++ mode.
14113         * tests/test-sys_time-c++.cc: New file.
14114         * modules/sys_time-tests (Files): Add it and tests/signature.h.
14115         (Depends-on): Add ansi-c++-opt.
14116         (Makefile.am): Arrange to compile and run test-sys_time-c++.
14117         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
14118         gl_MODULE_INDICATOR.
14119
14120         Tests of module 'sys_stat' in C++ mode.
14121         * tests/test-sys_stat-c++.cc: New file.
14122         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
14123         (Depends-on): Add ansi-c++-opt.
14124         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
14125         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
14126         gl_MODULE_INDICATOR.
14127
14128         Tests of module 'sys_socket' in C++ mode.
14129         * tests/test-sys_socket-c++.cc: New file.
14130         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
14131         (Depends-on): Add ansi-c++-opt.
14132         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
14133         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
14134         gl_MODULE_INDICATOR.
14135
14136         Tests of module 'sys_select' in C++ mode.
14137         * tests/test-sys_select-c++.cc: New file.
14138         * modules/sys_select-tests (Files): Add it and tests/signature.h.
14139         (Depends-on): Add ansi-c++-opt.
14140         (Makefile.am): Arrange to compile and run test-sys_select-c++.
14141         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
14142         gl_MODULE_INDICATOR.
14143
14144         Tests of module 'sys_ioctl' in C++ mode.
14145         * tests/test-sys_ioctl-c++.cc: New file.
14146         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
14147         (Depends-on): Add ansi-c++-opt.
14148         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
14149         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
14150         gl_MODULE_INDICATOR.
14151
14152         Tests of module 'string' in C++ mode.
14153         * tests/test-string-c++.cc: New file.
14154         * modules/string-tests (Files): Add it and tests/signature.h.
14155         (Depends-on): Add ansi-c++-opt.
14156         (Makefile.am): Arrange to compile and run test-string-c++.
14157         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
14158         gl_MODULE_INDICATOR.
14159
14160         Tests of module 'stdlib' in C++ mode.
14161         * tests/test-stdlib-c++.cc: New file.
14162         * modules/stdlib-tests (Files): Add it and tests/signature.h.
14163         (Depends-on): Add ansi-c++-opt.
14164         (Makefile.am): Arrange to compile and run test-stdlib-c++.
14165         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
14166         gl_MODULE_INDICATOR.
14167
14168         Tests of module 'stdio' in C++ mode.
14169         * tests/test-stdio-c++.cc: New file.
14170         * modules/stdio-tests (Files): Add it and tests/signature.h.
14171         (Depends-on): Add ansi-c++-opt.
14172         (Makefile.am): Arrange to compile and run test-stdio-c++.
14173         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
14174         gl_MODULE_INDICATOR.
14175
14176         Tests of module 'spawn' in C++ mode.
14177         * tests/test-spawn-c++.cc: New file.
14178         * modules/spawn-tests (Files): Add it and tests/signature.h.
14179         (Depends-on): Add ansi-c++-opt.
14180         (Makefile.am): Arrange to compile and run test-spawn-c++.
14181         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
14182         gl_MODULE_INDICATOR.
14183
14184         Tests of module 'signal' in C++ mode.
14185         * tests/test-signal-c++.cc: New file.
14186         * modules/signal-tests (Files): Add it and tests/signature.h.
14187         (Depends-on): Add ansi-c++-opt.
14188         (Makefile.am): Arrange to compile and run test-signal-c++.
14189         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
14190         gl_MODULE_INDICATOR.
14191
14192         Tests of module 'search' in C++ mode.
14193         * tests/test-search-c++.cc: New file.
14194         * modules/search-tests (Files): Add it and tests/signature.h.
14195         (Depends-on): Add ansi-c++-opt.
14196         (Makefile.am): Arrange to compile and run test-search-c++.
14197         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
14198         gl_MODULE_INDICATOR.
14199
14200         Tests of module 'math' in C++ mode.
14201         * tests/test-math-c++.cc: New file.
14202         * modules/math-tests (Files): Add it and tests/signature.h.
14203         (Depends-on): Add ansi-c++-opt.
14204         (Makefile.am): Arrange to compile and run test-math-c++.
14205         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
14206
14207         Tests of module 'locale' in C++ mode.
14208         * tests/test-locale-c++.cc: New file.
14209         * modules/locale-tests (Files): Add it and tests/signature.h.
14210         (Depends-on): Add ansi-c++-opt.
14211         (Makefile.am): Arrange to compile and run test-locale-c++.
14212         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
14213         gl_MODULE_INDICATOR.
14214
14215         Tests of module 'langinfo' in C++ mode.
14216         * tests/test-langinfo-c++.cc: New file.
14217         * modules/langinfo-tests (Files): Add it and tests/signature.h.
14218         (Depends-on): Add ansi-c++-opt.
14219         (Makefile.am): Arrange to compile and run test-langinfo-c++.
14220         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
14221         gl_MODULE_INDICATOR.
14222
14223         Tests of module 'iconv-h' in C++ mode.
14224         * tests/test-iconv-h-c++.cc: New file.
14225         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
14226         (Depends-on): Add ansi-c++-opt.
14227         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
14228
14229         Tests of module 'glob' in C++ mode.
14230         * tests/test-glob-c++.cc: New file.
14231         * modules/glob-tests (Files): Add it.
14232         (Depends-on): Add ansi-c++-opt.
14233         (Makefile.am): Arrange to compile and run test-glob-c++.
14234
14235         Tests of module 'fcntl-h' in C++ mode.
14236         * tests/test-fcntl-h-c++.cc: New file.
14237         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
14238         (Depends-on): Add ansi-c++-opt.
14239         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
14240         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
14241         gl_MODULE_INDICATOR.
14242
14243         Tests of module 'dirent' in C++ mode.
14244         * tests/test-dirent-c++.cc: New file.
14245         * modules/dirent-tests (Files): Add it and tests/signature.h.
14246         (Depends-on): Add ansi-c++-opt.
14247         (Makefile.am): Arrange to compile and run test-dirent-c++.
14248         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
14249         gl_MODULE_INDICATOR.
14250
14251         New module 'ansi-c++-opt'.
14252         * modules/ansi-c++-opt: New file.
14253         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
14254
14255         Document C++ namespace mode.
14256         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
14257
14258         wctype: Avoid #define replacements in C++ mode.
14259         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
14260         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
14261         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
14262         In C++, define a namespaced alias symbol.
14263         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
14264         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
14265         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
14266         rule.
14267
14268         wchar: Avoid #define replacements in C++ mode.
14269         * lib/wchar.in.h: Include c++defs.h.
14270         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
14271         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
14272         symbol.
14273         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
14274         * modules/wchar (Depends-on): Add c++defs.
14275         (Makefile.am): Update wchar.h rule.
14276
14277         unistd: Avoid #define replacements in C++ mode.
14278         * lib/unistd.in.h: Include c++defs.h.
14279         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
14280         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
14281         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
14282         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
14283         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
14284         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
14285         symbol.
14286         (environ): Update.
14287         * modules/unistd (Depends-on): Add c++defs.
14288         (Makefile.am): Update unistd.h rule.
14289
14290         time: Avoid #define replacements in C++ mode.
14291         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
14292         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
14293         define a namespaced alias symbol.
14294         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
14295         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
14296         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
14297         * modules/time (Depends-on): Add c++defs, warn-on-use.
14298         (Makefile.am): Update time.h rule.
14299         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
14300         * modules/nanosleep (configure.ac): Likewise.
14301         * modules/strptime (configure.ac): Likewise.
14302         * modules/timegm (configure.ac): Likewise.
14303
14304         sys_time: Avoid #define replacements in C++ mode.
14305         * lib/sys_time.in.h: Include c++defs.h.
14306         (gettimeofday): In C++, define a namespaced alias symbol.
14307         * modules/sys_time (Depends-on): Add c++defs.
14308         (Makefile.am): Update sys/time.h rule.
14309
14310         sys_stat: Avoid #define replacements in C++ mode.
14311         * lib/sys_stat.in.h: Include c++defs.h.
14312         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
14313         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
14314         namespaced alias symbol.
14315         In C++, define a namespaced alias symbol.
14316         * modules/sys_stat (Depends-on): Add c++defs.
14317         (Makefile.am): Update sys/stat.h rule.
14318
14319         sys_socket: Avoid #define replacements in C++ mode.
14320         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
14321         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
14322         definitions also when the system has a <sys/socket.h>.
14323         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
14324         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
14325         In C++, define a namespaced alias symbol.
14326         * modules/sys_socket (Depends-on): Add c++defs.
14327         (Makefile.am): Update sys/socket.h rule.
14328
14329         sys_select: Avoid #define replacements in C++ mode.
14330         * lib/sys_select.in.h: Include c++defs.h. Enable the function
14331         definitions also when the system has a <sys/select.h>.
14332         (select): In C++, define a namespaced alias symbol.
14333         * modules/sys_select (Depends-on): Add c++defs.
14334         (Makefile.am): Update sys/select.h rule.
14335
14336         sys_ioctl: Avoid #define replacements in C++ mode.
14337         * lib/sys_ioctl.in.h: Include c++defs.h.
14338         (ioctl): In C++, define a namespaced alias symbol.
14339         * modules/sys_ioctl (Depends-on): Add c++defs.
14340         (Makefile.am): Update sys/ioctl.h rule.
14341
14342         string: Avoid #define replacements in C++ mode.
14343         * lib/string.in.h: Include c++defs.h.
14344         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
14345         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
14346         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
14347         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
14348         strsignal, strverscmp): In C++, define a namespaced alias symbol.
14349         * modules/string (Depends-on): Add c++defs.
14350         (Makefile.am): Update string.h rule.
14351
14352         stdlib: Avoid #define replacements in C++ mode.
14353         * lib/stdlib.in.h: Include c++defs.h.
14354         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
14355         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
14356         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
14357         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
14358         symbol.
14359         * modules/stdlib (Depends-on): Add c++defs.
14360         (Makefile.am): Update stdlib.h rule.
14361
14362         stdio: Avoid #define replacements in C++ mode.
14363         * lib/stdio.in.h: Include c++defs.h.
14364         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
14365         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
14366         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
14367         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
14368         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
14369         namespaced alias symbol.
14370         * modules/stdio (Depends-on): Add c++defs.
14371         (Makefile.am): Update stdio.h rule.
14372
14373         spawn: Avoid #define replacements in C++ mode.
14374         * lib/spawn.in.h: Include c++defs.h.
14375         (posix_spawn, posix_spawnp, posix_spawnattr_init,
14376         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
14377         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
14378         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
14379         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
14380         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
14381         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
14382         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
14383         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
14384         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
14385         In C++, define a namespaced alias symbol.
14386         * modules/spawn (Depends-on): Add c++defs.
14387         (Makefile.am): Update spawn.h rule.
14388
14389         signal: Avoid #define replacements in C++ mode.
14390         * lib/signal.in.h: Include c++defs.h.
14391         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
14392         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
14393         namespaced alias symbol.
14394         * modules/signal (Depends-on): Add c++defs.
14395         (Makefile.am): Update signal.h rule.
14396
14397         search: Avoid #define replacements in C++ mode.
14398         * lib/search.in.h: Include c++defs.h.
14399         (_gl_search_compar_fn, _gl_search_action_fn): New types.
14400         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
14401         symbol.
14402         * modules/search (Depends-on): Add c++defs.
14403         (Makefile.am): Update search.h rule.
14404
14405         math: Avoid #define replacements in C++ mode.
14406         * lib/math.in.h: Include c++defs.h.
14407         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
14408         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
14409         trunc, truncl): In C++, define a namespaced alias symbol.
14410         * modules/math (Depends-on): Add c++defs.
14411         (Makefile.am): Update math.h rule.
14412
14413         locale: Avoid #define replacements in C++ mode.
14414         * lib/locale.in.h: Include c++defs.h.
14415         (duplocale): In C++, define a namespaced alias symbol.
14416         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
14417         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
14418         * modules/locale (Depends-on): Add c++defs.
14419         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
14420
14421         langinfo: Avoid #define replacements in C++ mode.
14422         * lib/langinfo.in.h: Include c++defs.h.
14423         (nl_langinfo): In C++, define a namespaced alias symbol.
14424         * modules/langinfo (Depends-on): Add c++defs.
14425         (Makefile.am): Update langinfo.h rule.
14426
14427         iconv-h: Avoid #define replacements in C++ mode.
14428         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
14429         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
14430         symbol.
14431         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
14432         whenever iconv is present.
14433         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
14434         (Makefile.am): Update iconv.h rule.
14435
14436         glob: Avoid #define replacements in C++ mode.
14437         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
14438         (_gl_glob_errfunc_fn): New type.
14439         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
14440         symbol.
14441         * modules/glob (Depends-on): Add c++defs, warn-on-use.
14442         (Makefile.am): Update glob.h rule.
14443
14444         fcntl-h: Avoid #define replacements in C++ mode.
14445         * lib/fcntl.in.h: Include c++defs.h.
14446         (fcntl, open, openat): In C++, define a namespaced alias symbol.
14447         * modules/fcntl-h (Depends-on): Add c++defs.
14448         (Makefile.am): Update fcntl.h rule.
14449
14450         dirent: Avoid #define replacements in C++ mode.
14451         * lib/dirent.in.h: Include c++defs.h.
14452         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
14453         namespaced alias symbol.
14454         (dirfd): Update declaration.
14455         * modules/dirent (Depends-on): Add c++defs.
14456         (Makefile.am): Update dirent.h rule.
14457
14458         ctype: Make it usable in C++ code.
14459         * lib/ctype.in.h: Include c++defs.h.
14460         (isblank): Declare as extern "C".
14461         * modules/ctype (Depends-on): Add c++defs.
14462         (Makefile.am): Update ctype.h rule.
14463
14464         New module 'c++defs'.
14465         * modules/c++defs: New file.
14466         * build-aux/c++defs.h: New file.
14467         Reported by John W. Eaton <jwe@gnu.org>.
14468
14469 2010-03-07  Bruno Haible  <bruno@clisp.org>
14470
14471         logb: Provide missing declaration for Cygwin.
14472         * lib/math.in.h (logb): New declaration.
14473         * m4/logb.m4: New file.
14474         * modules/logb (Files): Add m4/logb.m4.
14475         (Depends-on): Add math.
14476         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
14477         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
14478         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
14479         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
14480         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
14481
14482 2010-03-07  Bruno Haible  <bruno@clisp.org>
14483
14484         Fix test-cond link error.
14485         * tests/test-cond.c: Include <stdio.h>.
14486
14487 2010-03-07  Bruno Haible  <bruno@clisp.org>
14488
14489         Fix test-dirent-safer link error.
14490         * modules/dirent-safer-tests (Makefile.am): Define
14491         test_dirent_safer_LDADD.
14492
14493 2010-03-07  Bruno Haible  <bruno@clisp.org>
14494
14495         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
14496         among default module list.
14497
14498 2010-03-07  Bruno Haible  <bruno@clisp.org>
14499
14500         Fix link error on platforms with GNU libiconv.
14501         * modules/unistr/u8-strcoll-tests (Makefile): Define
14502         test_u8_strcoll_LDADD.
14503         * modules/unistr/u16-strcoll-tests (Makefile): Define
14504         test_u16_strcoll_LDADD.
14505         * modules/unistr/u32-strcoll-tests (Makefile): Define
14506         test_u32_strcoll_LDADD.
14507
14508 2010-03-07  Bruno Haible  <bruno@clisp.org>
14509
14510         Use POSIX declarations for socket functions.
14511         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
14512         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
14513         rpl_sendto): Change declaration to match POSIX.
14514         * lib/connect.c (rpl_connect): Likewise.
14515         * lib/accept.c (rpl_accept): Likewise.
14516         * lib/bind.c (rpl_bind): Likewise.
14517         * lib/getpeername.c (rpl_getpeername): Likewise.
14518         * lib/getsockname.c (rpl_getsockname): Likewise.
14519         * lib/recv.c (rpl_recv): Likewise.
14520         * lib/send.c (rpl_send): Likewise.
14521         * lib/recvfrom.c (rpl_recvfrom): Likewise.
14522         * lib/sendto.c (rpl_sendto): Likewise.
14523
14524 2010-03-06  Bruno Haible  <bruno@clisp.org>
14525
14526         Clarify access, euidaccess, faccessat.
14527         * doc/posix-functions/faccessat.texi: Mention security problem under
14528         "Other problems", not "Portability problems".
14529         * doc/posix-functions/access.texi: Likewise. Mention a related security
14530         problem.
14531         * doc/glibc-functions/euidaccess.texi: Mention security problems.
14532         * lib/euidaccess.c: Add comments about platforms.
14533         * lib/unistd.in.h (access, euidaccess): Add warnings.
14534
14535 2010-03-07  Bruno Haible  <bruno@clisp.org>
14536
14537         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
14538         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
14539         (POSIX_SPAWN_SETSCHEDULER): Likewise.
14540         (POSIX_SPAWN_USEVFORK): Define in a way that works when
14541         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
14542         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
14543         declare when POSIX_SPAWN_SETSCHEDULER is zero.
14544         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
14545         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
14546         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
14547         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
14548         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
14549         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
14550         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
14551         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
14552         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
14553         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
14554         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
14555         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
14556         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
14557         Likewise.
14558         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
14559         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
14560         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
14561         Likewise.
14562         * tests/test-spawn.c (main): Make it work when
14563         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
14564
14565 2010-03-07  Bruno Haible  <bruno@clisp.org>
14566
14567         Fix incorrect Makefile.am generation in German locale.
14568         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
14569         Execute sed command with character range in C locale.
14570
14571 2010-03-06  Bruno Haible  <bruno@clisp.org>
14572
14573         Tests for module 'iconv-h'.
14574         * modules/iconv-h-tests: New file.
14575         * tests/test-iconv-h.c: New file.
14576
14577         New module 'iconv-h'.
14578         * modules/iconv-h: New file.
14579         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
14580         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
14581         (configure.ac): Remove gl_ICONV_H.
14582         (Makefile.am): Remove rule for iconv.h.
14583
14584 2010-03-06  Bruno Haible  <bruno@clisp.org>
14585
14586         More consistent naming of *.m4 files.
14587         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
14588         * modules/wctype (Files): Update.
14589
14590         More consistent naming of *.m4 files.
14591         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
14592         * modules/wchar (Files): Update.
14593
14594 2010-03-06  Jim Meyering  <meyering@redhat.com>
14595
14596         euidaccess: relax license to LGPLv2+
14597         * modules/euidaccess (License): Relax to LGPLv2+.
14598
14599 2010-03-06  Bruno Haible  <bruno@clisp.org>
14600
14601         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
14602         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
14603         (Makefile.am): Augment lib_SOURCES instead.
14604
14605 2010-03-04  Jim Meyering  <meyering@redhat.com>
14606
14607         utime: remove obsolete module
14608         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
14609         unnecessary for years, and has been marked as obsolete for 10 months.
14610         * modules/utime: Remove file.
14611         * lib/utime.c: Remove file.
14612         * m4/utime.m4: Remove file.
14613         * m4/utimes-null.m4: Remove file.
14614         * doc/posix-functions/utime.texi (utime): Remove reference to
14615         the module.  Move the sole "fixed by gnulib" item into the
14616         "problems not fixed by Gnulib" list.
14617         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
14618
14619 2010-03-05  Simon Josefsson  <simon@josefsson.org>
14620
14621         * modules/exit (License): Relax license to LGPLv2+.
14622         (Status): Mark as obsolete.
14623         * NEWS: Mention deprecated 'exit' module.
14624         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
14625         of now obsolete 'exit'.
14626
14627 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14628
14629         fts-lgpl: remove unused module
14630         * modules/fts-lgpl: Remove.
14631         * MODULES.html.sh (func_all_modules): Adjust.
14632         * check-module (find_included_lib_files): Adjust.
14633         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
14634
14635 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
14636
14637         copy-acl: enhance Solaris ACL error handling
14638         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
14639         * lib/set-mode-acl.c (qset_acl): Likewise.
14640
14641 2010-03-02  Bruno Haible  <bruno@clisp.org>
14642
14643         spawn: Don't override the system defined values on FreeBSD 8.
14644         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
14645         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
14646         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
14647         if HAVE_POSIX_SPAWN is 1.
14648         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
14649
14650 2010-03-01  Bruno Haible  <bruno@clisp.org>
14651
14652         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
14653         regarding Automake.
14654
14655 2010-02-25  Bruno Haible  <bruno@clisp.org>
14656
14657         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
14658         * gnulib-tool: Define 'echo' as a function only before the ksh alias
14659         setting, not afterwards.
14660         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
14661
14662 2010-02-24  Eric Blake  <eblake@redhat.com>
14663
14664         bootstrap, git-version-gen: use timestamp
14665         * build-aux/git-version-gen (scriptversion): Force UTC.
14666         * build-aux/bootstrap (scriptversion): New variable.
14667
14668         bootstrap: allow older git
14669         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
14670         older than 1.6.4.  Requested by the libvirt project.
14671
14672 2010-02-23  Eric Blake  <eblake@redhat.com>
14673
14674         warn-on-use: work with old autoconf
14675         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
14676         AS_VAR semantics of autoconf 2.60.
14677         Reported by Bruno Haible.
14678
14679         bootstrap: improve some comments
14680         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
14681         clarification comments.
14682
14683         gettimeofday: provide correct function
14684         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
14685         when replacement is declared, otherwise provide gettimeofday.
14686         Reported by Michael Goffioul.
14687
14688 2010-02-23  Jim Meyering  <meyering@redhat.com>
14689
14690         lib-ignore: relax license to "unlimited", not LGPLv2+
14691         * modules/lib-ignore (License): Relax to "unlimited".
14692
14693 2010-02-23  Jim Meyering  <meyering@redhat.com>
14694
14695         lib-ignore: relax license to LGPLv2+
14696         * modules/lib-ignore (License): Relax to LGPLv2+.
14697
14698 2010-02-22  Eric Blake  <eblake@redhat.com>
14699
14700         lseek: avoid bash 3.2 broken pipe bug
14701         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
14702         warning from bash 3.2.
14703         Reported by Ben Pfaff, with analysis from Bruno Haible.
14704
14705         bootstrap: support non-FSF copyright holder
14706         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
14707         bootstrap.conf override of COPYRIGHT_HOLDER.
14708         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
14709
14710         bootstrap: interoperate with gettext 0.14.1
14711         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
14712
14713         bootstrap: allow for alternate submodule location
14714         * build-aux/bootstrap (gnulib_path): New variable; use instead of
14715         hardcoding submodule location.
14716         (gnulib_mk): Allow direct use of Makefile.am.
14717
14718         bootstrap: use GNULIB_SRCDIR to reduce disk usage
14719         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
14720         rather than reconfiguring where the submodule points.
14721
14722         gettimeofday: restore support for platforms that lack function
14723         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
14724         replacement if function is missing.
14725         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
14726         * modules/sys_time (Makefile.am): Substitute it.
14727         * lib/sys_time.in.h (gettimeofday): Check it.
14728         Reported by Michael Goffioul.
14729
14730 2010-02-21  Bruno Haible  <bruno@clisp.org>
14731
14732         * lib/stdio.in.h (obstack_printf): Fix typo.
14733
14734 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
14735
14736         vc-list-files: use bzr ls's -R option
14737         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
14738         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
14739
14740 2010-02-21  Jim Meyering  <meyering@redhat.com>
14741
14742         init.sh: fix EXEEXT shims to work also for names like test-prog
14743         * tests/init.sh: Re-exec a better shell, when needed.
14744         If the current shell lacks support for posix $(...), an init.sh-using
14745         test will now try to find a shell that supports that.  If EXEEXT is
14746         nonempty, we also require support for hyphen-in-alias-name and shell
14747         substitutions like ${var#glob}.  Failure to find such a shell results
14748         in a skipped test.
14749
14750 2010-02-21  Bruno Haible  <bruno@clisp.org>
14751
14752         Really work around around "broken pipe" error message from bash 3.2.
14753         * gnulib-tool (func_reset_sigpipe): Remove function.
14754         (echo): In bash 3.2, define to a function that uses printf.
14755         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
14756
14757 2010-02-20  Bruno Haible  <bruno@clisp.org>
14758
14759         Restore support for automake 1.9.6 with autoconf 2.61.
14760         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
14761         Reported by James Youngman <jay@gnu.org>.
14762
14763 2010-02-20  Bruno Haible  <bruno@clisp.org>
14764
14765         Improve *printf warning condition.
14766         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
14767         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
14768         and the function is overridden due to SIGPIPE emulation.
14769
14770 2010-02-20  Bruno Haible  <bruno@clisp.org>
14771
14772         * lib/stdio.in.h: Tweak comments.
14773
14774 2010-02-19  Bruno Haible  <bruno@clisp.org>
14775
14776         Make it easier to find modules. New gnulib-tool option '--find'.
14777         * gnulib-tool: New option --find.
14778         (func_usage): Document it.
14779         (func_sanitize_modulelist): New function, extracted from
14780         func_all_modules.
14781         (func_all_modules): Invoke it.
14782         * doc/gnulib-tool.texi (Which modules?): New node.
14783
14784 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
14785
14786         * lib/sys_select.in.h: Provide select replacement even if
14787         sys/select.h exists on a system, for Interix.
14788
14789 2010-02-18  Jim Meyering  <meyering@redhat.com>
14790
14791         init.sh: don't use $(...) just yet
14792         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
14793         to accommodate e.g., Solaris' /bin/sh.
14794
14795 2010-02-17  Bruno Haible  <bruno@clisp.org>
14796
14797         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
14798         Reported by Ludovic Courtès <ludo@gnu.org>.
14799
14800 2010-02-16  Simon Josefsson  <simon@josefsson.org>
14801
14802         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
14803         linking with -lintl.
14804
14805 2010-02-17  Simon Josefsson  <simon@josefsson.org>
14806
14807         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
14808         if not provided by the system's netdb.h.  Reported by
14809         ludo@gnu.org (Ludovic Courtès).
14810
14811 2010-02-15  Jim Meyering  <meyering@redhat.com>
14812
14813         init.sh: improve portability and efficiency
14814         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
14815         "dummy" in a for loop.
14816         Use '!', not '^' to select the complement of a character set used
14817         in a "case" statement.
14818         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
14819         Suggestions from Eric Blake.
14820
14821         init.sh: automatically accommodate programs with the .exe suffix
14822         Automatically arrange for an invocation of "prog" to execute the
14823         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
14824         may use the simpler "prog", yet still work when built on a system
14825         that requires specifying the added suffix.
14826         Do this by constructing a function named "prog" that invokes
14827         "prog.exe" for each .exe file in selected directories.
14828         * tests/init.sh (find_exe_basenames_): New function.
14829         (create_exe_shim_functions_): New function.
14830         (path_prepend_): Use it.
14831
14832         maint.mk: mark syntax-check sc_*.m rules as .PHONY
14833         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
14834         "make -t syntax-check" doesn't create a ton of sc_*.m files.
14835
14836 2010-02-14  Jim Meyering  <meyering@redhat.com>
14837
14838         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
14839         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
14840         (sc_prohibit_hash_pjw_without_use): New rule.
14841
14842         maint.mk: allow the default upload destination dir to be overridden
14843         * top/maint.mk (upload_dest_dir_): Define with a default that
14844         preserves the status quo.
14845         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
14846         Reported by Peter Simons.
14847
14848         maint.mk: prohibit inclusion of "hash.h" without_use
14849         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
14850
14851 2010-02-10  Jim Meyering  <meyering@redhat.com>
14852
14853         maint.mk: prohibit inclusion of "ignore-value.h" without_use
14854         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
14855
14856 2010-02-09  Eric Blake  <ebb9@byu.net>
14857         and Bruno Haible  <bruno@clisp.org>
14858
14859         obstack-printf-posix: ensure declaration
14860         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
14861         extracted from gl_FUNC_OBSTACK_PRINTF.
14862         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
14863         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
14864         Likewise.
14865         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
14866         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
14867         0.
14868
14869 2010-02-08  Bruno Haible  <bruno@clisp.org>
14870
14871         gnulib-tool: Fix typo in 2010-02-07 commit.
14872         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
14873         Reported by Eric Blake.
14874
14875 2010-02-07  Bruno Haible  <bruno@clisp.org>
14876
14877         gnulib-tool: Fix up caching patches.
14878         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
14879         option --no-cache. Use associative arrays when supported by the shell.
14880         (sed_comments): New variable.
14881         (modcache): Renamed from do_cache.
14882         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
14883         abbreviate unnecessarily.
14884         (have_associative): New variable.
14885         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
14886         way also for ksh and zsh.
14887         (func_init_sed_convert_to_cache_statements): New function, extracted
14888         from func_cache_lookup_module. Add support for associative arrays.
14889         Don't set the c_MODULE_cached variable here. Ignore all lines before
14890         the first field header. Remove only the final newline, not all trailing
14891         newlines. Support empty fields correctly. Limit the use of 'eval' to
14892         assignments.
14893         (func_get_description, func_get_status, func_get_notice,
14894         func_get_applicability, func_get_filelist, func_get_dependencies,
14895         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
14896         func_get_automake_snippet, func_get_include_directive,
14897         func_get_link_directive, func_get_license, func_get_maintainer):
14898         Update documentation. List the unoptimized code first. Add support for
14899         associative arrays. Limit the use of 'eval' to assignments.
14900         (func_get_applicability): Undo stylistic pessimisations.
14901         (func_get_automake_snippet, func_get_include_directive): Reduce code
14902         duplication.
14903         (func_modules_transitive_closure, func_modules_add_dummy,
14904         func_modules_notice, func_modules_to_filelist, func_add_file,
14905         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
14906         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
14907         func_create_testdir, func_create_megatestdir): Update documentation.
14908
14909 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14910
14911         * gnulib-tool (func_cache_lookup_module): Store the module name
14912         belonging to the cache variable; error out if two different
14913         module names map to the same cache variable name.
14914
14915 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14916
14917         gnulib-tool: Make caching optional.
14918         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
14919         Update matching short versions of --no-changelog.
14920         (func_usage): Update.
14921         (sed_extract_cache_prog): Renamed from ...
14922         (sed_extract_prog): ... this; revert to old extraction script.
14923         (func_get_description, func_get_status)
14924         (func_get_notice, func_get_applicability, func_get_filelist)
14925         (func_get_dependencies, func_get_autoconf_early_snippet)
14926         (func_get_autoconf_snippet, func_get_automake_snippet)
14927         (func_get_include_directive, func_get_link_directive)
14928         (func_get_license, func_get_maintainer): If $do_cache is false,
14929         use old, non-caching extraction scripts.
14930         Suggestion by Bruno Haible.
14931
14932 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14933
14934         gnulib-tool: cache module metainformation.
14935         * gnulib-tool (sed_extract_prog): Match newline before each
14936         header, and rewrite header to a shell variable suffix.
14937         (func_cache_var, func_cache_lookup_module): New functions,
14938         to turn a module name into a cache variable prefix, and to
14939         look up and cache module metainformation.
14940         (func_get_description, func_get_status)
14941         (func_get_notice, func_get_applicability, func_get_filelist)
14942         (func_get_dependencies, func_get_autoconf_early_snippet)
14943         (func_get_autoconf_snippet, func_get_automake_snippet)
14944         (func_get_include_directive, func_get_link_directive)
14945         (func_get_license, func_get_maintainer): Use
14946         func_cache_lookup_module.
14947
14948 2010-02-07  Bruno Haible  <bruno@clisp.org>
14949
14950         fnctl: Fix missing dependency.
14951         * modules/fcntl (Depends-on): Add getdtablesize.
14952         Reported by John W. Eaton <jwe@gnu.org>.
14953
14954 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
14955
14956         Argp: fix recognition of short alias options.
14957
14958         * lib/argp-parse.c (convert_options): Fix improper use of
14959         `|' between character values.
14960         * tests/test-argp.c (group1_option): New alias option
14961         --read (-r).
14962         (group1_parser): Special handling for 'r'.
14963         (test15): New test case.
14964         (test_fun): Add test15.
14965         * tests/test-argp-2.sh: Update expected --help and --usage
14966         outputs.
14967
14968 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
14969
14970         * tests/test-argp.c: Fix indentation.
14971
14972 2010-02-04  Eric Blake  <ebb9@byu.net>
14973
14974         gettimeofday: expose type of second argument
14975         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
14976         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
14977         * tests/test-gettimeofday.c: Use it to silence warning.
14978         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
14979         the issue.
14980
14981 2010-02-03  Jim Meyering  <meyering@redhat.com>
14982
14983         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
14984         * lib/regcomp.c (TYPE_SIGNED): Define.
14985         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
14986
14987         regcomp.c: avoid a new -Wshadow warning
14988         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
14989
14990 2010-02-01  Jim Meyering  <meyering@redhat.com>
14991
14992         removing useless parentheses in cpp #define directives
14993         For motivation, see commit c0221df4, "define STREQ(a,b)
14994         consistently, removing useless parentheses"
14995         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
14996         * lib/mountlist.c (MNT_IGNORE): Likewise.
14997         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
14998
14999 2010-02-01  Eric Blake  <ebb9@byu.net>
15000
15001         sys_time: use link-warning
15002         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
15003         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
15004         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
15005         * modules/sys_time (Depends-on): Add warn-on-use.
15006         (Makefile.am): Always build replacement.
15007         (configure.ac): Update substitutions.
15008         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
15009         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
15010         bother with SYS_TIME_H.
15011         * modules/gettimeofday (configure.ac): Declare indicator.
15012         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
15013         in use.
15014
15015         closein-tests: silence compiler warning
15016         * tests/test-closein.c (main): Ignore fread result.
15017         * modules/closein-tests (Depends-on): Add ignore-value.
15018
15019         tests: silence warning about system return
15020         * tests/test-areadlink-with-size.c (main): Ignore system result.
15021         * tests/test-areadlink.c (main): Likewise.
15022         * tests/test-areadlinkat-with-size.c (main): Likewise.
15023         * tests/test-areadlinkat.c (main): Likewise.
15024         * tests/test-canonicalize-lgpl.c (main): Likewise.
15025         * tests/test-canonicalize.c (main): Likewise.
15026         * tests/test-chown.c (main): Likewise.
15027         * tests/test-fchownat.c (main): Likewise.
15028         * tests/test-fdutimensat.c (main): Likewise.
15029         * tests/test-fstatat.c (main): Likewise.
15030         * tests/test-futimens.c (main): Likewise.
15031         * tests/test-lchown.c (main): Likewise.
15032         * tests/test-link.c (main): Likewise.
15033         * tests/test-linkat.c (main): Likewise.
15034         * tests/test-lstat.c (main): Likewise.
15035         * tests/test-mkdir.c (main): Likewise.
15036         * tests/test-mkdirat.c (main): Likewise.
15037         * tests/test-mkfifo.c (main): Likewise.
15038         * tests/test-mkfifoat.c (main): Likewise.
15039         * tests/test-mknod.c (main): Likewise.
15040         * tests/test-readlink.c (main): Likewise.
15041         * tests/test-remove.c (main): Likewise.
15042         * tests/test-rename.c (main): Likewise.
15043         * tests/test-renameat.c (main): Likewise.
15044         * tests/test-rmdir.c (main): Likewise.
15045         * tests/test-symlink.c (main): Likewise.
15046         * tests/test-symlinkat.c (main): Likewise.
15047         * tests/test-unlink.c (main): Likewise.
15048         * tests/test-unlinkat.c (main): Likewise.
15049         * tests/test-utimens.c (main): Likewise.
15050         * tests/test-utimensat.c (main): Likewise.
15051         * modules/areadlink-tests (Depends-on): Add ignore-value.
15052         * modules/areadlink-with-size-tests (Depends-on): Likewise.
15053         * modules/areadlinkat-tests (Depends-on): Likewise.
15054         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
15055         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
15056         * modules/canonicalize-tests (Depends-on): Likewise.
15057         * modules/chown-tests (Depends-on): Likewise.
15058         * modules/fdutimensat-tests (Depends-on): Likewise.
15059         * modules/futimens-tests (Depends-on): Likewise.
15060         * modules/lchown-tests (Depends-on): Likewise.
15061         * modules/link-tests (Depends-on): Likewise.
15062         * modules/linkat-tests (Depends-on): Likewise.
15063         * modules/lstat-tests (Depends-on): Likewise.
15064         * modules/mkdir-tests (Depends-on): Likewise.
15065         * modules/mkfifo-tests (Depends-on): Likewise.
15066         * modules/mkfifoat-tests (Depends-on): Likewise.
15067         * modules/mknod-tests (Depends-on): Likewise.
15068         * modules/openat-tests (Depends-on): Likewise.
15069         * modules/readlink-tests (Depends-on): Likewise.
15070         * modules/remove-tests (Depends-on): Likewise.
15071         * modules/rename-tests (Depends-on): Likewise.
15072         * modules/renameat-tests (Depends-on): Likewise.
15073         * modules/rmdir-tests (Depends-on): Likewise.
15074         * modules/symlink-tests (Depends-on): Likewise.
15075         * modules/symlinkat-tests (Depends-on): Likewise.
15076         * modules/unlink-tests (Depends-on): Likewise.
15077         * modules/utimens-tests (Depends-on): Likewise.
15078         * modules/utimensat-tests (Depends-on): Likewise.
15079
15080 2010-01-31  Bruno Haible  <bruno@clisp.org>
15081
15082         Perform the same test for many <math.h> functions.
15083         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
15084         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
15085         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
15086         of gl_MATHFUNC.
15087         * modules/acos (configure.ac): Likewise.
15088         * modules/asin (configure.ac): Likewise.
15089         * modules/atan (configure.ac): Likewise.
15090         * modules/atan2 (configure.ac): Likewise.
15091         * modules/cbrt (configure.ac): Likewise.
15092         * modules/copysign (configure.ac): Likewise.
15093         * modules/cos (configure.ac): Likewise.
15094         * modules/cosh (configure.ac): Likewise.
15095         * modules/erf (configure.ac): Likewise.
15096         * modules/erfc (configure.ac): Likewise.
15097         * modules/exp (configure.ac): Likewise.
15098         * modules/fmod (configure.ac): Likewise.
15099         * modules/hypot (configure.ac): Likewise.
15100         * modules/j0 (configure.ac): Likewise.
15101         * modules/j1 (configure.ac): Likewise.
15102         * modules/jn (configure.ac): Likewise.
15103         * modules/lgamma (configure.ac): Likewise.
15104         * modules/log (configure.ac): Likewise.
15105         * modules/log10 (configure.ac): Likewise.
15106         * modules/log1p (configure.ac): Likewise.
15107         * modules/pow (configure.ac): Likewise.
15108         * modules/remainder (configure.ac): Likewise.
15109         * modules/sin (configure.ac): Likewise.
15110         * modules/sinh (configure.ac): Likewise.
15111         * modules/tan (configure.ac): Likewise.
15112         * modules/tanh (configure.ac): Likewise.
15113         * modules/y0 (configure.ac): Likewise.
15114         * modules/y1 (configure.ac): Likewise.
15115         * modules/yn (configure.ac): Likewise.
15116         Suggested by Paolo Bonzini.
15117
15118 2010-01-31  Bruno Haible  <bruno@clisp.org>
15119
15120         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
15121
15122 2010-01-31  Bruno Haible  <bruno@clisp.org>
15123
15124         Work around getdelim() bug on FreeBSD 8.0.
15125         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
15126         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
15127         not work.
15128         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
15129         is 1.
15130         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
15131         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
15132         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
15133         a non-zero size.
15134         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
15135
15136 2010-01-31  Bruno Haible  <bruno@clisp.org>
15137
15138         Work around getline() bug on FreeBSD 8.0.
15139         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
15140         and a non-zero size.
15141         * tests/test-getline.c (main): Likewise.
15142         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
15143         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
15144
15145 2010-01-28  Eric Blake  <ebb9@byu.net>
15146
15147         regex: fix build failure
15148         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
15149         platforms.
15150
15151 2010-01-28  Jim Meyering  <meyering@redhat.com>
15152
15153         regex: do not ignore memory allocation failure
15154         * lib/regex_internal.c (create_cd_newstate): Detect
15155         re_node_set_init_copy failure.   Extracted from glibc commit
15156         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
15157
15158         regex: sync more white-space changes from libc
15159         * lib/regex_internal.c: White-space only changes.
15160         * lib/regexec.c: Likewise.
15161
15162         regex: add many uses of __attribute_warn_unused_result__
15163         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
15164         * lib/regexec.c: Likewise.
15165         Extracted from a messy glibc commit.
15166
15167         regcomp.c: spelling and merge-artifact from glibc
15168         * lib/regcomp.c: Merge remainder of glibc's
15169         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
15170
15171         regcomp.c: sync white-space changes from glibc
15172         * lib/regcomp.c: Merge to accommodate white space
15173         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
15174
15175         regcomp.c: do not ignore internal return values
15176         * lib/regcomp.c: Do not ignore internal return values.
15177         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
15178         but without its white-space changes and spelling fixes.
15179
15180         regex_internal.h: define __attribute_warn_unused_result__
15181         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
15182
15183         maint: add a syntax-check rule to check for vulnerable Makefile.in
15184         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
15185
15186 2010-01-27  Jim Meyering  <meyering@redhat.com>
15187
15188         ncftpput-ftp: clean up spaces
15189         * build-aux/ncftpput-ftp: Make Copyright line consistent.
15190         Remove trailing blanks.
15191
15192 2010-01-27  Simon Josefsson  <simon@josefsson.org>
15193
15194         * build-aux/git-version-gen: Fix copyright statement.
15195         * build-aux/gnupload: Likewise.
15196         * tests/test-arcfour.c: Likewise.
15197         * tests/test-arctwo.c: Likewise.
15198         * tests/test-count-one-bits.c: Likewise.
15199         * tests/test-crc.c: Likewise.
15200         * tests/test-des.c: Likewise.
15201         * tests/test-gc-arcfour.c: Likewise.
15202         * tests/test-gc-arctwo.c: Likewise.
15203         * tests/test-gc-des.c: Likewise.
15204         * tests/test-gc-hmac-md5.c: Likewise.
15205         * tests/test-gc-hmac-sha1.c: Likewise.
15206         * tests/test-gc-md2.c: Likewise.
15207         * tests/test-gc-md4.c: Likewise.
15208         * tests/test-gc-md5.c: Likewise.
15209         * tests/test-gc-pbkdf2-sha1.c: Likewise.
15210         * tests/test-gc-rijndael.c: Likewise.
15211         * tests/test-gc-sha1.c: Likewise.
15212         * tests/test-gc.c: Likewise.
15213         * tests/test-gethostname.c: Likewise.
15214         * tests/test-gettimeofday.c: Likewise.
15215         * tests/test-hash.c: Likewise.
15216         * tests/test-hmac-md5.c: Likewise.
15217         * tests/test-hmac-sha1.c: Likewise.
15218         * tests/test-md2.c: Likewise.
15219         * tests/test-md4.c: Likewise.
15220         * tests/test-md5.c: Likewise.
15221         * tests/test-memchr.c: Likewise.
15222         * tests/test-memchr2.c: Likewise.
15223         * tests/test-memcmp.c: Likewise.
15224         * tests/test-memmem.c: Likewise.
15225         * tests/test-memrchr.c: Likewise.
15226         * tests/test-rawmemchr.c: Likewise.
15227         * tests/test-read-file.c: Likewise.
15228         * tests/test-rijndael.c: Likewise.
15229         * tests/test-sockets.c: Likewise.
15230         * tests/test-strchrnul.c: Likewise.
15231         * tests/test-strstr.c: Likewise.
15232         * tests/test-strtod.c: Likewise.
15233         * build-aux/ncftpput-ftp: Likewise.
15234
15235 2010-01-26  Eric Blake  <ebb9@byu.net>
15236
15237         ignore-value: update recommended header name
15238         * modules/ignore-value (Include): Only use <> for headers that
15239         exist in glibc.
15240
15241 2010-01-26  Jim Meyering  <meyering@redhat.com>
15242
15243         test-userspec.c: avoid compiler warnings
15244         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
15245         and "initialization discards qualifiers..." warnings.
15246         Put the first "uid" in its own scope, and make char* members "const".
15247
15248 2010-01-25  Bruno Haible  <bruno@clisp.org>
15249
15250         gnulib-tool: Make warning diagnostics consistent.
15251         * gnulib-tool (func_warning): New function.
15252         Use it everywhere where gnulib-tool produces output to stderr and it is
15253         not a fatal error.
15254
15255 2010-01-25  Bruno Haible  <bruno@clisp.org>
15256
15257         Fix test dependencies.
15258         * modules/xstrtol-tests (Depends-on): Add inttypes.
15259         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
15260
15261 2010-01-25 Pádraig Brady <P@draigBrady.com>
15262
15263         syntax-check: detect incorrect boolean macro values in config.h
15264         * modules/maintainer-makefile (configure.ac): Parameterize the location
15265         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
15266         The logic is from Eric Blake and the location indicated by Jim Meyering.
15267         Note the more natural CONFIG_HEADER name is prohibited by automake
15268         for backwards compatibility reasons.
15269         * top/maint.mk (sc_Wundef_boolean): New rule.
15270
15271 2010-01-25  Jim Meyering  <meyering@redhat.com>
15272
15273         bootstrap: detect MacOS 10.6's shasum, too
15274         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
15275         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
15276
15277 2010-01-23  Jim Meyering  <meyering@redhat.com>
15278
15279         xstrtoll: new module
15280         * modules/xstrtoll: New file.
15281         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
15282         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
15283         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
15284         ./configure fails if you use this module and lack "long long".
15285         * modules/xstrtoll-tests: New module.
15286         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
15287         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
15288         new init.sh-based test framework.
15289
15290 2010-01-24  Bruno Haible  <bruno@clisp.org>
15291
15292         Tests for module 'yn'.
15293         * modules/yn-tests: New file.
15294         * tests/test-yn.c: New file.
15295
15296         Tests for module 'y1'.
15297         * modules/y1-tests: New file.
15298         * tests/test-y1.c: New file.
15299
15300         Tests for module 'y0'.
15301         * modules/y0-tests: New file.
15302         * tests/test-y0.c: New file.
15303
15304         Tests for module 'tanh'.
15305         * modules/tanh-tests: New file.
15306         * tests/test-tanh.c: New file.
15307
15308         Tests for module 'tan'.
15309         * modules/tan-tests: New file.
15310         * tests/test-tan.c: New file.
15311
15312         Tests for module 'sqrt'.
15313         * modules/sqrt-tests: New file.
15314         * tests/test-sqrt.c: New file.
15315
15316         Tests for module 'sinh'.
15317         * modules/sinh-tests: New file.
15318         * tests/test-sinh.c: New file.
15319
15320         Tests for module 'sin'.
15321         * modules/sin-tests: New file.
15322         * tests/test-sin.c: New file.
15323
15324         Tests for module 'rint'.
15325         * modules/rint-tests: New file.
15326         * tests/test-rint.c: New file.
15327
15328         Tests for module 'remainder'.
15329         * modules/remainder-tests: New file.
15330         * tests/test-remainder.c: New file.
15331
15332         Tests for module 'pow'.
15333         * modules/pow-tests: New file.
15334         * tests/test-pow.c: New file.
15335
15336         Tests for module 'nextafter'.
15337         * modules/nextafter-tests: New file.
15338         * tests/test-nextafter.c: New file.
15339
15340         Tests for module 'modf'.
15341         * modules/modf-tests: New file.
15342         * tests/test-modf.c: New file.
15343
15344         Tests for module 'logb'.
15345         * modules/logb-tests: New file.
15346         * tests/test-logb.c: New file.
15347
15348         Tests for module 'log1p'.
15349         * modules/log1p-tests: New file.
15350         * tests/test-log1p.c: New file.
15351
15352         Tests for module 'log10'.
15353         * modules/log10-tests: New file.
15354         * tests/test-log10.c: New file.
15355
15356         Tests for module 'log'.
15357         * modules/log-tests: New file.
15358         * tests/test-log.c: New file.
15359
15360         Tests for module 'lgamma'.
15361         * modules/lgamma-tests: New file.
15362         * tests/test-lgamma.c: New file.
15363
15364         Tests for module 'ldexp'.
15365         * modules/ldexp-tests: New file.
15366         * tests/test-ldexp.c: New file.
15367
15368         Tests for module 'jn'.
15369         * modules/jn-tests: New file.
15370         * tests/test-jn.c: New file.
15371
15372         Tests for module 'j1'.
15373         * modules/j1-tests: New file.
15374         * tests/test-j1.c: New file.
15375
15376         Tests for module 'j0'.
15377         * modules/j0-tests: New file.
15378         * tests/test-j0.c: New file.
15379
15380         Tests for module 'hypot'.
15381         * modules/hypot-tests: New file.
15382         * tests/test-hypot.c: New file.
15383
15384         Tests for module 'fmod'.
15385         * modules/fmod-tests: New file.
15386         * tests/test-fmod.c: New file.
15387
15388         Tests for module 'fabs'.
15389         * modules/fabs-tests: New file.
15390         * tests/test-fabs.c: New file.
15391
15392         Tests for module 'exp'.
15393         * modules/exp-tests: New file.
15394         * tests/test-exp.c: New file.
15395
15396         Tests for module 'erfc'.
15397         * modules/erfc-tests: New file.
15398         * tests/test-erfc.c: New file.
15399
15400         Tests for module 'erf'.
15401         * modules/erf-tests: New file.
15402         * tests/test-erf.c: New file.
15403
15404         Tests for module 'cosh'.
15405         * modules/cosh-tests: New file.
15406         * tests/test-cosh.c: New file.
15407
15408         Tests for module 'cos'.
15409         * modules/cos-tests: New file.
15410         * tests/test-cos.c: New file.
15411
15412         Tests for module 'copysign'.
15413         * modules/copysign-tests: New file.
15414         * tests/test-copysign.c: New file.
15415
15416         Tests for module 'cbrt'.
15417         * modules/cbrt-tests: New file.
15418         * tests/test-cbrt.c: New file.
15419
15420         Tests for module 'atan2'.
15421         * modules/atan2-tests: New file.
15422         * tests/test-atan2.c: New file.
15423
15424         Tests for module 'atan'.
15425         * modules/atan-tests: New file.
15426         * tests/test-atan.c: New file.
15427
15428         Tests for module 'asin'.
15429         * modules/asin-tests: New file.
15430         * tests/test-asin.c: New file.
15431
15432         Tests for module 'acos'.
15433         * modules/acos-tests: New file.
15434         * tests/test-acos.c: New file.
15435
15436 2010-01-24  Bruno Haible  <bruno@clisp.org>
15437
15438         Fix tests for common <math.h> functions.
15439         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
15440         code snippet that references the function pointer, rather than merely
15441         calling the function. Substitute the FUNC_LIBM variable.
15442         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
15443         * modules/acos (configure.ac): Likewise.
15444         * modules/asin (configure.ac): Likewise.
15445         * modules/atan (configure.ac): Likewise.
15446         * modules/atan2 (configure.ac): Likewise.
15447         * modules/cbrt (configure.ac): Likewise.
15448         * modules/copysign (configure.ac): Likewise.
15449         * modules/cos (configure.ac): Likewise.
15450         * modules/cosh (configure.ac): Likewise.
15451         * modules/erf (configure.ac): Likewise.
15452         * modules/erfc (configure.ac): Likewise.
15453         * modules/exp (configure.ac): Likewise.
15454         * modules/fabs (configure.ac): Likewise.
15455         * modules/fmod (configure.ac): Likewise.
15456         * modules/hypot (configure.ac): Likewise.
15457         * modules/j0 (configure.ac): Likewise.
15458         * modules/j1 (configure.ac): Likewise.
15459         * modules/jn (configure.ac): Likewise.
15460         * modules/ldexp (configure.ac): Likewise.
15461         * modules/lgamma (configure.ac): Likewise.
15462         * modules/log (configure.ac): Likewise.
15463         * modules/log10 (configure.ac): Likewise.
15464         * modules/log1p (configure.ac): Likewise.
15465         * modules/logb (configure.ac): Likewise.
15466         * modules/modf (configure.ac): Likewise.
15467         * modules/nextafter (configure.ac): Likewise.
15468         * modules/pow (configure.ac): Likewise.
15469         * modules/remainder (configure.ac): Likewise.
15470         * modules/rint (configure.ac): Likewise.
15471         * modules/sin (configure.ac): Likewise.
15472         * modules/sinh (configure.ac): Likewise.
15473         * modules/tan (configure.ac): Likewise.
15474         * modules/tanh (configure.ac): Likewise.
15475         * modules/y0 (configure.ac): Likewise.
15476         * modules/y1 (configure.ac): Likewise.
15477         * modules/yn (configure.ac): Likewise.
15478
15479 2010-01-24  Bruno Haible  <bruno@clisp.org>
15480
15481         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
15482         * tests/test-acosl.c (x): New variable.
15483         (main): Store argument in x and fetch it from x.
15484         * tests/test-asinl.c (x): New variable.
15485         (main): Store argument in x and fetch it from x.
15486         * tests/test-atanl.c (x): New variable.
15487         (main): Store argument in x and fetch it from x.
15488         * tests/test-cosl.c (x): New variable.
15489         (main): Store argument in x and fetch it from x.
15490         * tests/test-expl.c (x): New variable.
15491         (main): Store argument in x and fetch it from x.
15492         * tests/test-logl.c (x): New variable.
15493         (main): Store argument in x and fetch it from x.
15494         * tests/test-sinl.c (x): New variable.
15495         (main): Store argument in x and fetch it from x.
15496         * tests/test-sqrtl.c (x): New variable.
15497         (main): Store argument in x and fetch it from x.
15498         * tests/test-tanl.c (x): New variable.
15499         (main): Store argument in x and fetch it from x.
15500
15501 2010-01-24  Bruno Haible  <bruno@clisp.org>
15502
15503         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
15504         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
15505         assignments to the initial TESTS_ENVIRONMENT.
15506         * doc/gnulib.texi (Unit test modules): Document it.
15507         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
15508         TESTS_ENVIRONMENT.
15509         * modules/btowc-tests (Makefile.am): Likewise.
15510         * modules/c-stack-tests (Makefile.am): Likewise.
15511         * modules/c-strcase-tests (Makefile.am): Likewise.
15512         * modules/copy-file-tests (Makefile.am): Likewise.
15513         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
15514         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
15515         * modules/mbrtowc-tests (Makefile.am): Likewise.
15516         * modules/mbscasecmp-tests (Makefile.am): Likewise.
15517         * modules/mbscasestr-tests (Makefile.am): Likewise.
15518         * modules/mbschr-tests (Makefile.am): Likewise.
15519         * modules/mbscspn-tests (Makefile.am): Likewise.
15520         * modules/mbsinit-tests (Makefile.am): Likewise.
15521         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
15522         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
15523         * modules/mbspbrk-tests (Makefile.am): Likewise.
15524         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
15525         * modules/mbsrchr-tests (Makefile.am): Likewise.
15526         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
15527         * modules/mbsspn-tests (Makefile.am): Likewise.
15528         * modules/mbsstr-tests (Makefile.am): Likewise.
15529         * modules/nl_langinfo-tests (Makefile.am): Likewise.
15530         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
15531         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
15532         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
15533         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
15534         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
15535         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
15536         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
15537         * modules/wcrtomb-tests (Makefile.am): Likewise.
15538         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
15539         * modules/wcsrtombs-tests (Makefile.am): Likewise.
15540         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
15541         assignments from TESTS_ENVIRONMENT.
15542         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
15543         augmentation.
15544         * modules/argp-version-etc-tests (Makefile.am): Likewise.
15545         * modules/atexit-tests (Makefile.am): Likewise.
15546         * modules/binary-io-tests (Makefile.am): Likewise.
15547         * modules/closein-tests (Makefile.am): Likewise.
15548         * modules/dprintf-posix-tests (Makefile.am): Likewise.
15549         * modules/exclude-tests (Makefile.am): Likewise.
15550         * modules/fflush-tests (Makefile.am): Likewise.
15551         * modules/fpending-tests (Makefile.am): Likewise.
15552         * modules/fprintf-posix-tests (Makefile.am): Likewise.
15553         * modules/freadahead-tests (Makefile.am): Likewise.
15554         * modules/freadptr-tests (Makefile.am): Likewise.
15555         * modules/freadseek-tests (Makefile.am): Likewise.
15556         * modules/fseek-tests (Makefile.am): Likewise.
15557         * modules/fseeko-tests (Makefile.am): Likewise.
15558         * modules/ftell-tests (Makefile.am): Likewise.
15559         * modules/ftello-tests (Makefile.am): Likewise.
15560         * modules/idpriv-drop-tests (Makefile.am): Likewise.
15561         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
15562         * modules/lseek-tests (Makefile.am): Likewise.
15563         * modules/parse-duration-tests (Makefile.am): Likewise.
15564         * modules/perror-tests (Makefile.am): Likewise.
15565         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
15566         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
15567         * modules/pipe-tests (Makefile.am): Likewise.
15568         * modules/pread-tests (Makefile.am): Likewise.
15569         * modules/printf-posix-tests (Makefile.am): Likewise.
15570         * modules/select-tests (Makefile.am): Likewise.
15571         * modules/sigpipe-tests (Makefile.am): Likewise.
15572         * modules/tsearch-tests (Makefile.am): Likewise.
15573         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
15574         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
15575         * modules/uniname/uniname-tests (Makefile.am): Likewise.
15576         * modules/uniwidth/width-tests (Makefile.am): Likewise.
15577         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
15578         * modules/version-etc-tests (Makefile.am): Likewise.
15579         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
15580         * modules/vprintf-posix-tests (Makefile.am): Likewise.
15581         * modules/xalloc-die-tests (Makefile.am): Likewise.
15582         * modules/xprintf-posix-tests (Makefile.am): Likewise.
15583         * modules/xstrtoimax-tests (Makefile.am): Likewise.
15584         * modules/xstrtol-tests (Makefile.am): Likewise.
15585         * modules/xstrtoumax-tests (Makefile.am): Likewise.
15586         * modules/yesno-tests (Makefile.am): Likewise.
15587         Suggested by Jim Meyering.
15588
15589 2010-01-24  Bruno Haible  <bruno@clisp.org>
15590
15591         More documentation.
15592         * doc/gnulib.texi (Writing modules): New chapter.
15593         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
15594         the new chapter.
15595
15596 2010-01-24  Jim Meyering  <meyering@redhat.com>
15597
15598         maint.mk: do not prepend "./" after filtering
15599         * top/maint.mk (_prepend_srcdir_prefix): New variable
15600         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
15601         "./" when $(srcdir) is ".".
15602
15603         define STREQ(a,b) consistently, removing useless parentheses
15604         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
15605         since the only risk is that "a" or "b" contains an unparenthesized
15606         comma, but if either did that, STREQ would have 3 or more arguments.
15607         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
15608         * lib/fts.c (STREQ): Remove unnecessary parentheses.
15609         * lib/hash-triple.c (STREQ): Likewise.
15610         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
15611         * lib/getugroups.c (STREQ): Likewise.
15612
15613 2010-01-23  Jim Meyering  <meyering@redhat.com>
15614
15615         maint.mk: fix syntax-check in a non-srcdir build directory
15616         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
15617         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
15618
15619 2010-01-22  Jim Meyering  <meyering@redhat.com>
15620
15621         userspec: add unit tests
15622         * tests/test-userspec.c: New file.
15623         * modules/userspec-tests: Likewise.
15624
15625 2010-01-21  Jim Meyering  <meyering@redhat.com>
15626
15627         maint.mk: handle source file names containing "." robustly
15628         * top/maint.mk (_dot_escaped_srcdir): Define.
15629         (VC_LIST): Use it in LHS of sed substitution.
15630
15631 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
15632
15633         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
15634         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
15635         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
15636         from a non-srcdir build.
15637
15638 2010-01-20  Eric Blake  <ebb9@byu.net>
15639
15640         warn-on-use: use instead of link-warning
15641         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
15642         * modules/unistd (Depends-on, Makefile.am): Likewise.
15643         * modules/arpa_inet (Depends-on): Replace link-warning with
15644         warn-on-use.
15645         (Makefile.am): Update rules accordingly.
15646         * modules/ctype (Depends-on, Makefile.am): Likewise.
15647         * modules/dirent (Depends-on, Makefile.am): Likewise.
15648         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
15649         * modules/inttypes (Depends-on, Makefile.am): Likewise.
15650         * modules/langinfo (Depends-on, Makefile.am): Likewise.
15651         * modules/locale (Depends-on, Makefile.am): Likewise.
15652         * modules/math (Depends-on, Makefile.am): Likewise.
15653         * modules/search (Depends-on, Makefile.am): Likewise.
15654         * modules/signal (Depends-on, Makefile.am): Likewise.
15655         * modules/spawn (Depends-on, Makefile.am): Likewise.
15656         * modules/stdlib (Depends-on, Makefile.am): Likewise.
15657         * modules/string (Depends-on, Makefile.am): Likewise.
15658         * modules/strings (Depends-on, Makefile.am): Likewise.
15659         * modules/sys_file (Depends-on, Makefile.am): Likewise.
15660         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
15661         * modules/sys_select (Depends-on, Makefile.am): Likewise.
15662         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
15663         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
15664         * modules/sys_times (Depends-on, Makefile.am): Likewise.
15665         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
15666         * modules/wchar (Depends-on, Makefile.am): Likewise.
15667         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
15668         should be poisoned.
15669         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
15670         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
15671         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
15672         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
15673         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
15674         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
15675         * m4/math_h.m4 (gl_MATH_H): Likewise.
15676         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
15677         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
15678         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
15679         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
15680         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
15681         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
15682         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
15683         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
15684         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
15685         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
15686         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
15687         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
15688         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
15689         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
15690         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
15691         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
15692         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
15693         GL_LINK_WARNING.
15694         * lib/ctype.in.h: Likewise.
15695         * lib/dirent.in.h: Likewise.
15696         * lib/fcntl.in.h: Likewise.
15697         * lib/inttypes.in.h: Likewise.
15698         * lib/langinfo.in.h: Likewise.
15699         * lib/locale.in.h: Likewise.
15700         * lib/math.in.h: Likewise.
15701         * lib/search.in.h: Likewise.
15702         * lib/signal.in.h: Likewise.
15703         * lib/spawn.in.h: Likewise.
15704         * lib/stdio.in.h: Likewise.
15705         * lib/stdlib.in.h: Likewise.
15706         * lib/string.in.h: Likewise.
15707         * lib/strings.in.h: Likewise.
15708         * lib/sys_file.in.h: Likewise.
15709         * lib/sys_ioctl.in.h: Likewise.
15710         * lib/sys_select.in.h: Likewise.
15711         * lib/sys_socket.in.h: Likewise.
15712         * lib/sys_stat.in.h: Likewise.
15713         * lib/sys_times.in.h: Likewise.
15714         * lib/sys_utsname.in.h: Likewise.
15715         * lib/unistd.in.h: Likewise.
15716         * lib/wchar.in.h: Likewise.
15717
15718 2010-01-20  Bruno Haible  <bruno@clisp.org>
15719
15720         Avoid duplicate -lm.
15721         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
15722         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
15723         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
15724         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
15725         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
15726         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
15727         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
15728         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
15729         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
15730         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
15731         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
15732         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
15733         Reported by Paolo Bonzini.
15734
15735 2010-01-19  Bruno Haible  <bruno@clisp.org>
15736
15737         langinfo, nl_langinfo: Relicense under LGPLv2+.
15738         * modules/langinfo (License): Change to LGPLv2+.
15739         * modules/nl_langinfo (License): Likewise.
15740         Patch by David Lutterkort <lutter@redhat.com>.
15741
15742 2010-01-19  Bruno Haible  <bruno@clisp.org>
15743
15744         Avoid compilation error with cc on OSF/1 5.1.
15745         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
15746         statement, not before.
15747         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15748
15749 2010-01-18  Bruno Haible  <bruno@clisp.org>
15750
15751         Avoid a link error due to the __printf__ symbol.
15752         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
15753         and 2.6.x.
15754         (__format__, __printf__): Remove definitions.
15755         * lib/argp-fmtstream.h: Likewise.
15756         * lib/argp.h: Likewise.
15757         * lib/error.h: Likewise.
15758         * lib/vasnprintf.h: Likewise.
15759         * lib/xprintf.h: Likewise.
15760         * lib/xvasprintf.h: Likewise.
15761         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15762
15763 2010-01-18  Bruno Haible  <bruno@clisp.org>
15764
15765         Tests for module 'tanl'.
15766         * modules/tanl-tests: New file.
15767         * tests/test-tanl.c: New file.
15768
15769         Tests for module 'sqrtl'.
15770         * modules/sqrtl-tests: New file.
15771         * tests/test-sqrtl.c: New file.
15772
15773         Tests for module 'sinl'.
15774         * modules/sinl-tests: New file.
15775         * tests/test-sinl.c: New file.
15776
15777         Tests for module 'logl'.
15778         * modules/logl-tests: New file.
15779         * tests/test-logl.c: New file.
15780
15781         Tests for module 'expl'.
15782         * modules/expl-tests: New file.
15783         * tests/test-expl.c: New file.
15784
15785         Tests for module 'cosl'.
15786         * modules/cosl-tests: New file.
15787         * tests/test-cosl.c: New file.
15788
15789         Tests for module 'atanl'.
15790         * modules/atanl-tests: New file.
15791         * tests/test-atanl.c: New file.
15792
15793         Tests for module 'asinl'.
15794         * modules/asinl-tests: New file.
15795         * tests/test-asinl.c: New file.
15796
15797         Tests for module 'acosl'.
15798         * modules/acosl-tests: New file.
15799         * tests/test-acosl.c: New file.
15800
15801         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
15802         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
15803         tanl): Use the standard gnulib idiom.
15804         * lib/cosl.c: Don't include trigl.c and sincosl.c.
15805         * lib/sinl.c: Likewise.
15806         * lib/tanl.c: Don't include trigl.c.
15807         (kernel_tanl): Make static.
15808         * lib/sincosl.c: Include trigl.h first.
15809         * lib/trigl.c: Likewise.
15810         * m4/acosl.m4: New file.
15811         * m4/asinl.m4: New file.
15812         * m4/atanl.m4: New file.
15813         * m4/cosl.m4: New file.
15814         * m4/expl.m4: New file.
15815         * m4/logl.m4: New file.
15816         * m4/sinl.m4: New file.
15817         * m4/sqrtl.m4: New file.
15818         * m4/tanl.m4: New file.
15819         * m4/mathl.m4: Remove file.
15820         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
15821         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
15822         Don't initialize GNULIB_MATHL.
15823         * modules/acosl: New file.
15824         * modules/asinl: New file.
15825         * modules/atanl: New file.
15826         * modules/cosl: New file.
15827         * modules/expl: New file.
15828         * modules/logl: New file.
15829         * modules/sinl: New file.
15830         * modules/sqrtl: New file.
15831         * modules/tanl: New file.
15832         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
15833         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
15834         substitute GNULIB_MATHL.
15835         * modules/mathl: Rewritten.
15836         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
15837         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
15838         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
15839         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
15840         * doc/posix-functions/expl.texi: Mention the 'expl' module.
15841         * doc/posix-functions/logl.texi: Mention the 'logl' module.
15842         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
15843         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
15844         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
15845
15846 2010-01-18  Bruno Haible  <bruno@clisp.org>
15847
15848         sqrt: Make gl_FUNC_SQRT requirable.
15849         * m4/sqrt.m4: New file.
15850         * modules/sqrt (Files): Add it.
15851         (configure.ac): Invoke gl_FUNC_SQRT.
15852
15853 2010-01-18  Bruno Haible  <bruno@clisp.org>
15854
15855         New modules for common <math.h> functions.
15856         * m4/mathfunc.m4: New file.
15857         * modules/acos: New file.
15858         * modules/asin: New file.
15859         * modules/atan: New file.
15860         * modules/atan2: New file.
15861         * modules/cbrt: New file.
15862         * modules/copysign: New file.
15863         * modules/cos: New file.
15864         * modules/cosh: New file.
15865         * modules/erf: New file.
15866         * modules/erfc: New file.
15867         * modules/exp: New file.
15868         * modules/fabs: New file.
15869         * modules/fmod: New file.
15870         * modules/hypot: New file.
15871         * modules/j0: New file.
15872         * modules/j1: New file.
15873         * modules/jn: New file.
15874         * modules/ldexp: New file.
15875         * modules/lgamma: New file.
15876         * modules/log: New file.
15877         * modules/log10: New file.
15878         * modules/log1p: New file.
15879         * modules/logb: New file.
15880         * modules/modf: New file.
15881         * modules/nextafter: New file.
15882         * modules/pow: New file.
15883         * modules/remainder: New file.
15884         * modules/rint: New file.
15885         * modules/sin: New file.
15886         * modules/sinh: New file.
15887         * modules/sqrt: New file.
15888         * modules/tan: New file.
15889         * modules/tanh: New file.
15890         * modules/y0: New file.
15891         * modules/y1: New file.
15892         * modules/yn: New file.
15893         * doc/posix-functions/acos.texi: Mention the 'acos' module.
15894         * doc/posix-functions/asin.texi: Mention the 'asin' module.
15895         * doc/posix-functions/atan.texi: Mention the 'atan' module.
15896         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
15897         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
15898         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
15899         * doc/posix-functions/cos.texi: Mention the 'cos' module.
15900         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
15901         * doc/posix-functions/erf.texi: Mention the 'erf' module.
15902         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
15903         * doc/posix-functions/exp.texi: Mention the 'exp' module.
15904         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
15905         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
15906         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
15907         * doc/posix-functions/j0.texi: Mention the 'j0' module.
15908         * doc/posix-functions/j1.texi: Mention the 'j1' module.
15909         * doc/posix-functions/jn.texi: Mention the 'jn' module.
15910         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
15911         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
15912         * doc/posix-functions/log.texi: Mention the 'log' module.
15913         * doc/posix-functions/log10.texi: Mention the 'log10' module.
15914         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
15915         * doc/posix-functions/logb.texi: Mention the 'logb' module.
15916         * doc/posix-functions/modf.texi: Mention the 'modf' module.
15917         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
15918         * doc/posix-functions/pow.texi: Mention the 'pow' module.
15919         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
15920         * doc/posix-functions/rint.texi: Mention the 'rint' module.
15921         * doc/posix-functions/sin.texi: Mention the 'sin' module.
15922         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
15923         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
15924         * doc/posix-functions/tan.texi: Mention the 'tan' module.
15925         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
15926         * doc/posix-functions/y0.texi: Mention the 'y0' module.
15927         * doc/posix-functions/y1.texi: Mention the 'y1' module.
15928         * doc/posix-functions/yn.texi: Mention the 'yn' module.
15929
15930 2010-01-18  Jim Meyering  <meyering@redhat.com>
15931
15932         ignore-value: relax license to LGPLv2+
15933         * modules/ignore-value (License): Relax to LGPLv2+.
15934
15935         getdate: don't leak when TZ contains two or more '"'s
15936         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
15937         double quote in TZ after the first one.
15938
15939         readtokens: do not leak internal token_lengths buffer
15940         * lib/readtokens.c (readtokens): Free the local, lengths,
15941         when the supplied "token_lengths" parameter is NULL.
15942
15943 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15944
15945         Fix a couple of missing LIBTHREAD link failures on AIX.
15946         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
15947         $(LIBTHREAD).
15948         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
15949
15950         Link test-poll against INET_PTON_LIB.
15951         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
15952         for inet_pton on Solaris 10.
15953
15954 2010-01-17  Bruno Haible  <bruno@clisp.org>
15955
15956         unistdio/*-sprintf: Fix typo in module description.
15957         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
15958         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
15959         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
15960         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
15961         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
15962         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
15963         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
15964         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15965
15966 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15967
15968         gnulib-tool: fix filelist for AIX, HP-UX ksh.
15969         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
15970         variables in shell case patterns, for AIX and HP-UX ksh.
15971
15972         Split large sed scripts, for HP-UX sed.
15973         * modules/stdio: Split sed scripts around 50 sed commands,
15974         to avoid HP-UX limit of 99 commands, in the near future.
15975         * modules/string: Likewise.
15976         * modules/unistd: Likewise.
15977
15978         gnulib-tool: avoid writing in the current directory.
15979         * gnulib-tool (func_emit_lib_Makefile_am)
15980         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
15981         not in the current directory, so concurrent gnulib-tool
15982         instances do not interfere.
15983
15984 2010-01-16  Jim Meyering  <meyering@redhat.com>
15985
15986         doc: update users.txt
15987         * users.txt: Add grep.
15988         (diffutils, gzip): Update URLs.
15989
15990 2010-01-12  Bruno Haible  <bruno@clisp.org>
15991
15992         posix_spawn: Avoid test failure on Cygwin.
15993         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
15994         characters.
15995         Reported by Simon Josefsson.
15996
15997 2010-01-12  Bruno Haible  <bruno@clisp.org>
15998
15999         * tests/test-cond.c (main): When skipping the test, show the reason.
16000
16001 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16002
16003         * lib/striconv.c (str_cd_iconv): Avoid if before free.
16004
16005 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16006
16007         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
16008         VC_LIST_ALWAYS_EXCLUDE_REGEX.
16009
16010 2010-01-12  Eric Blake  <ebb9@byu.net>
16011
16012         build: guarantee AS_VAR_IF
16013         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
16014         (gl_AS_VAR_IF): Move...
16015         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
16016         Reported by Simon Josefsson.
16017
16018 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16019
16020         * lib/stdio.in.h: Fix typo.
16021
16022 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16023
16024         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
16025         libgpg-error.
16026
16027 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16028
16029         * tests/test-xalloc-die.sh: Use $EXEEXT.
16030
16031 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16032             Bruno Haible  <bruno@clisp.org>
16033
16034         getlogin, getlogin_r: Avoid test failure.
16035         * tests/test-getlogin.c: Include <stdio.h>.
16036         (main): Skip the test when the function fails because stdin is not a
16037         tty.
16038         * tests/test-getlogin_r.c: Include <stdio.h>.
16039         (main): Skip the test when the function fails because stdin is not a
16040         tty.
16041
16042 2010-01-11  Eric Blake  <ebb9@byu.net>
16043
16044         tests: avoid more large file warnings
16045         * tests/test-fflush.c: Avoid warning about ftell use.
16046         * tests/test-fseek.c: Avoid warning about fseek use.
16047
16048 2010-01-10  Bruno Haible  <bruno@clisp.org>
16049
16050         nproc: Work better on Linux when /proc and /sys are not mounted.
16051         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
16052         as lower bound when, on glibc/Linux systems,
16053         sysconf (_SC_NPROCESSORS_CONF) returns 1.
16054         Suggested by Pádraig Brady <P@draigbrady.com>.
16055         Reported by Dmitry V. Levin <ldv@altlinux.org>.
16056
16057         nproc: Refactor.
16058         * lib/nproc.c (num_processors_via_affinity_mask): New function,
16059         extracted from num_processors.
16060         (num_processors): Call it.
16061
16062 2010-01-11  Jim Meyering  <meyering@redhat.com>
16063
16064         utimecmp: avoid new warning from upcoming gcc-4.5.0
16065         * lib/utimecmp.c (BILLION): Define using #define rather than an
16066         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
16067
16068 2010-01-11  Eric Blake  <ebb9@byu.net>
16069
16070         math: add portability warnings for classification macros
16071         * modules/math (Depends-on): Add warn-on-use.
16072         (Makefile.am): Provide new substitutions.
16073         * m4/math_h.m4 (gl_MATH_H): Require inline.
16074         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
16075         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
16076         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
16077         implement warnings.
16078
16079         unistd: warn on use of environ without module
16080         * modules/unistd (Depends-on): Add warn-on-use.
16081         (Makefile.am): Provide new substitutions.
16082         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
16083         * lib/unistd.in.h (environ): Wrap with a warning helper function.
16084
16085         stdio: warn on suspicious uses
16086         * modules/stdio (Depends-on): Add warn-on-use.
16087         (Makefile.am): Provide new substitutions.
16088         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
16089         fseeko.
16090         * lib/stdio.in.h (gets): Always warn on use.
16091         (fseek, ftell): Adjust when warnings are issued, and honor
16092         _GL_NO_LARGE_FILES as a way to silence the warning.
16093         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
16094         any warning about large file offsets.
16095         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
16096         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
16097         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
16098         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
16099         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
16100         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
16101         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
16102         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
16103
16104         warn-on-use: new module
16105         * modules/warn-on-use: New file.
16106         * build-aux/warn-on-use.h: Likewise.
16107         * m4/warn-on-use.m4: Likewise.
16108         * MODULES.html.sh (Support for building): Mention it.
16109
16110 2010-01-10  Bruno Haible  <bruno@clisp.org>
16111
16112         Tests for module 'unistr/u32-strdup'.
16113         * modules/unistr/u32-strdup-tests: New file.
16114         * tests/unistr/test-u32-strdup.c: New file.
16115
16116         Tests for module 'unistr/u16-strdup'.
16117         * modules/unistr/u16-strdup-tests: New file.
16118         * tests/unistr/test-u16-strdup.c: New file.
16119
16120         Tests for module 'unistr/u8-strdup'.
16121         * modules/unistr/u8-strdup-tests: New file.
16122         * tests/unistr/test-u8-strdup.c: New file.
16123         * tests/unistr/test-strdup.h: New file.
16124
16125         Tests for module 'unistr/u32-strncmp'.
16126         * modules/unistr/u32-strncmp-tests: New file.
16127         * tests/unistr/test-u32-strncmp.c: New file.
16128
16129         Tests for module 'unistr/u16-strncmp'.
16130         * modules/unistr/u16-strncmp-tests: New file.
16131         * tests/unistr/test-u16-strncmp.c: New file.
16132
16133         Tests for module 'unistr/u8-strncmp'.
16134         * modules/unistr/u8-strncmp-tests: New file.
16135         * tests/unistr/test-u8-strncmp.c: New file.
16136         * tests/unistr/test-strncmp.h: New file.
16137
16138         Tests for module 'unistr/u32-strcoll'.
16139         * modules/unistr/u32-strcoll-tests: New file.
16140         * tests/unistr/test-u32-strcoll.c: New file.
16141
16142         Tests for module 'unistr/u16-strcoll'.
16143         * modules/unistr/u16-strcoll-tests: New file.
16144         * tests/unistr/test-u16-strcoll.c: New file.
16145
16146         Tests for module 'unistr/u8-strcoll'.
16147         * modules/unistr/u8-strcoll-tests: New file.
16148         * tests/unistr/test-u8-strcoll.c: New file.
16149
16150         Tests for module 'unistr/u32-strcmp'.
16151         * modules/unistr/u32-strcmp-tests: New file.
16152         * tests/unistr/test-u32-strcmp.c: New file.
16153         * tests/unistr/test-u32-strcmp.h: New file.
16154
16155         Tests for module 'unistr/u16-strcmp'.
16156         * modules/unistr/u16-strcmp-tests: New file.
16157         * tests/unistr/test-u16-strcmp.c: New file.
16158         * tests/unistr/test-u16-strcmp.h: New file.
16159
16160         Tests for module 'unistr/u8-strcmp'.
16161         * modules/unistr/u8-strcmp-tests: New file.
16162         * tests/unistr/test-u8-strcmp.c: New file.
16163         * tests/unistr/test-u8-strcmp.h: New file.
16164         * tests/unistr/test-strcmp.h: New file.
16165
16166         Tests for module 'unistr/u32-strncat'.
16167         * modules/unistr/u32-strncat-tests: New file.
16168         * tests/unistr/test-u32-strncat.c: New file.
16169
16170         Tests for module 'unistr/u16-strncat'.
16171         * modules/unistr/u16-strncat-tests: New file.
16172         * tests/unistr/test-u16-strncat.c: New file.
16173
16174         Tests for module 'unistr/u8-strncat'.
16175         * modules/unistr/u8-strncat-tests: New file.
16176         * tests/unistr/test-u8-strncat.c: New file.
16177         * tests/unistr/test-strncat.h: New file.
16178
16179         Tests for module 'unistr/u32-strcat'.
16180         * modules/unistr/u32-strcat-tests: New file.
16181         * tests/unistr/test-u32-strcat.c: New file.
16182
16183         Tests for module 'unistr/u16-strcat'.
16184         * modules/unistr/u16-strcat-tests: New file.
16185         * tests/unistr/test-u16-strcat.c: New file.
16186
16187         Tests for module 'unistr/u8-strcat'.
16188         * modules/unistr/u8-strcat-tests: New file.
16189         * tests/unistr/test-u8-strcat.c: New file.
16190         * tests/unistr/test-strcat.h: New file.
16191
16192         Tests for module 'unistr/u32-stpncpy'.
16193         * modules/unistr/u32-stpncpy-tests: New file.
16194         * tests/unistr/test-u32-stpncpy.c: New file.
16195
16196         Tests for module 'unistr/u16-stpncpy'.
16197         * modules/unistr/u16-stpncpy-tests: New file.
16198         * tests/unistr/test-u16-stpncpy.c: New file.
16199
16200         Tests for module 'unistr/u8-stpncpy'.
16201         * modules/unistr/u8-stpncpy-tests: New file.
16202         * tests/unistr/test-u8-stpncpy.c: New file.
16203         * tests/unistr/test-stpncpy.h: New file.
16204
16205         Tests for module 'unistr/u32-strncpy'.
16206         * modules/unistr/u32-strncpy-tests: New file.
16207         * tests/unistr/test-u32-strncpy.c: New file.
16208
16209         Tests for module 'unistr/u16-strncpy'.
16210         * modules/unistr/u16-strncpy-tests: New file.
16211         * tests/unistr/test-u16-strncpy.c: New file.
16212
16213         Tests for module 'unistr/u8-strncpy'.
16214         * modules/unistr/u8-strncpy-tests: New file.
16215         * tests/unistr/test-u8-strncpy.c: New file.
16216         * tests/unistr/test-strncpy.h: New file.
16217
16218         Tests for module 'unistr/u32-stpcpy'.
16219         * modules/unistr/u32-stpcpy-tests: New file.
16220         * tests/unistr/test-u32-stpcpy.c: New file.
16221
16222         Tests for module 'unistr/u16-stpcpy'.
16223         * modules/unistr/u16-stpcpy-tests: New file.
16224         * tests/unistr/test-u16-stpcpy.c: New file.
16225
16226         Tests for module 'unistr/u8-stpcpy'.
16227         * modules/unistr/u8-stpcpy-tests: New file.
16228         * tests/unistr/test-u8-stpcpy.c: New file.
16229         * tests/unistr/test-stpcpy.h: New file.
16230
16231         Tests for module 'unistr/u32-strcpy'.
16232         * modules/unistr/u32-strcpy-tests: New file.
16233         * tests/unistr/test-u32-strcpy.c: New file.
16234
16235         Tests for module 'unistr/u16-strcpy'.
16236         * modules/unistr/u16-strcpy-tests: New file.
16237         * tests/unistr/test-u16-strcpy.c: New file.
16238
16239         Tests for module 'unistr/u8-strcpy'.
16240         * modules/unistr/u8-strcpy-tests: New file.
16241         * tests/unistr/test-u8-strcpy.c: New file.
16242         * tests/unistr/test-strcpy.h: New file.
16243
16244         Tests for module 'unistr/u32-strnlen'.
16245         * modules/unistr/u32-strnlen-tests: New file.
16246         * tests/unistr/test-u32-strnlen.c: New file.
16247
16248         Tests for module 'unistr/u16-strnlen'.
16249         * modules/unistr/u16-strnlen-tests: New file.
16250         * tests/unistr/test-u16-strnlen.c: New file.
16251
16252         Tests for module 'unistr/u8-strnlen'.
16253         * modules/unistr/u8-strnlen-tests: New file.
16254         * tests/unistr/test-u8-strnlen.c: New file.
16255         * tests/unistr/test-strnlen.h: New file.
16256
16257         Tests for module 'unistr/u32-strlen'.
16258         * modules/unistr/u32-strlen-tests: New file.
16259         * tests/unistr/test-u32-strlen.c: New file.
16260
16261         Tests for module 'unistr/u16-strlen'.
16262         * modules/unistr/u16-strlen-tests: New file.
16263         * tests/unistr/test-u16-strlen.c: New file.
16264
16265         Tests for module 'unistr/u8-strlen'.
16266         * modules/unistr/u8-strlen-tests: New file.
16267         * tests/unistr/test-u8-strlen.c: New file.
16268
16269         Tests for module 'unistr/u32-prev'.
16270         * modules/unistr/u32-prev-tests: New file.
16271         * tests/unistr/test-u32-prev.c: New file.
16272
16273         Tests for module 'unistr/u16-prev'.
16274         * modules/unistr/u16-prev-tests: New file.
16275         * tests/unistr/test-u16-prev.c: New file.
16276
16277         Tests for module 'unistr/u8-prev'.
16278         * modules/unistr/u8-prev-tests: New file.
16279         * tests/unistr/test-u8-prev.c: New file.
16280
16281         Tests for module 'unistr/u32-next'.
16282         * modules/unistr/u32-next-tests: New file.
16283         * tests/unistr/test-u32-next.c: New file.
16284
16285         Tests for module 'unistr/u16-next'.
16286         * modules/unistr/u16-next-tests: New file.
16287         * tests/unistr/test-u16-next.c: New file.
16288
16289         Tests for module 'unistr/u8-next'.
16290         * modules/unistr/u8-next-tests: New file.
16291         * tests/unistr/test-u8-next.c: New file.
16292
16293         Tests for module 'unistr/u32-strmbtouc'.
16294         * modules/unistr/u32-strmbtouc-tests: New file.
16295         * tests/unistr/test-u32-strmbtouc.c: New file.
16296
16297         Tests for module 'unistr/u16-strmbtouc'.
16298         * modules/unistr/u16-strmbtouc-tests: New file.
16299         * tests/unistr/test-u16-strmbtouc.c: New file.
16300
16301         Tests for module 'unistr/u8-strmbtouc'.
16302         * modules/unistr/u8-strmbtouc-tests: New file.
16303         * tests/unistr/test-u8-strmbtouc.c: New file.
16304
16305         Tests for module 'unistr/u32-strmblen'.
16306         * modules/unistr/u32-strmblen-tests: New file.
16307         * tests/unistr/test-u32-strmblen.c: New file.
16308
16309         Tests for module 'unistr/u16-strmblen'.
16310         * modules/unistr/u16-strmblen-tests: New file.
16311         * tests/unistr/test-u16-strmblen.c: New file.
16312
16313         Tests for module 'unistr/u8-strmblen'.
16314         * modules/unistr/u8-strmblen-tests: New file.
16315         * tests/unistr/test-u8-strmblen.c: New file.
16316
16317         Tests for module 'unistr/u32-cpy-alloc'.
16318         * modules/unistr/u32-cpy-alloc-tests: New file.
16319         * tests/unistr/test-u32-cpy-alloc.c: New file.
16320
16321         Tests for module 'unistr/u16-cpy-alloc'.
16322         * modules/unistr/u16-cpy-alloc-tests: New file.
16323         * tests/unistr/test-u16-cpy-alloc.c: New file.
16324
16325         Tests for module 'unistr/u8-cpy-alloc'.
16326         * modules/unistr/u8-cpy-alloc-tests: New file.
16327         * tests/unistr/test-u8-cpy-alloc.c: New file.
16328         * tests/unistr/test-cpy-alloc.h: New file.
16329
16330         Tests for module 'unistr/u32-mbsnlen'.
16331         * modules/unistr/u32-mbsnlen-tests: New file.
16332         * tests/unistr/test-u32-mbsnlen.c: New file.
16333
16334         Tests for module 'unistr/u16-mbsnlen'.
16335         * modules/unistr/u16-mbsnlen-tests: New file.
16336         * tests/unistr/test-u16-mbsnlen.c: New file.
16337
16338         Tests for module 'unistr/u8-mbsnlen'.
16339         * modules/unistr/u8-mbsnlen-tests: New file.
16340         * tests/unistr/test-u8-mbsnlen.c: New file.
16341
16342         Tests for module 'unistr/u32-chr'.
16343         * modules/unistr/u32-chr-tests: New file.
16344         * tests/unistr/test-u32-chr.c: New file.
16345
16346         Tests for module 'unistr/u16-chr'.
16347         * modules/unistr/u16-chr-tests: New file.
16348         * tests/unistr/test-u16-chr.c: New file.
16349
16350         Tests for module 'unistr/u8-chr'.
16351         * modules/unistr/u8-chr-tests: New file.
16352         * tests/unistr/test-u8-chr.c: New file.
16353         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
16354
16355         Tests for module 'unistr/u32-cmp2'.
16356         * modules/unistr/u32-cmp2-tests: New file.
16357         * tests/unistr/test-u32-cmp2.c: New file.
16358
16359         Tests for module 'unistr/u16-cmp2'.
16360         * modules/unistr/u16-cmp2-tests: New file.
16361         * tests/unistr/test-u16-cmp2.c: New file.
16362
16363         Tests for module 'unistr/u8-cmp2'.
16364         * modules/unistr/u8-cmp2-tests: New file.
16365         * tests/unistr/test-u8-cmp2.c: New file.
16366         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
16367
16368         Tests for module 'unistr/u32-cmp'.
16369         * modules/unistr/u32-cmp-tests: New file.
16370         * tests/unistr/test-u32-cmp.c: New file.
16371
16372         Tests for module 'unistr/u16-cmp'.
16373         * modules/unistr/u16-cmp-tests: New file.
16374         * tests/unistr/test-u16-cmp.c: New file.
16375
16376         Tests for module 'unistr/u8-cmp'.
16377         * modules/unistr/u8-cmp-tests: New file.
16378         * tests/unistr/test-u8-cmp.c: New file.
16379         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
16380
16381         Tests for module 'unistr/u32-set'.
16382         * modules/unistr/u32-set-tests: New file.
16383         * tests/unistr/test-u32-set.c: New file.
16384
16385         Tests for module 'unistr/u16-set'.
16386         * modules/unistr/u16-set-tests: New file.
16387         * tests/unistr/test-u16-set.c: New file.
16388
16389         Tests for module 'unistr/u8-set'.
16390         * modules/unistr/u8-set-tests: New file.
16391         * tests/unistr/test-u8-set.c: New file.
16392         * tests/unistr/test-set.h: New file.
16393
16394         Tests for module 'unistr/u32-move'.
16395         * modules/unistr/u32-move-tests: New file.
16396         * tests/unistr/test-u32-move.c: New file.
16397
16398         Tests for module 'unistr/u16-move'.
16399         * modules/unistr/u16-move-tests: New file.
16400         * tests/unistr/test-u16-move.c: New file.
16401
16402         Tests for module 'unistr/u8-move'.
16403         * modules/unistr/u8-move-tests: New file.
16404         * tests/unistr/test-u8-move.c: New file.
16405         * tests/unistr/test-move.h: New file.
16406
16407         Tests for module 'unistr/u32-cpy'.
16408         * modules/unistr/u32-cpy-tests: New file.
16409         * tests/unistr/test-u32-cpy.c: New file.
16410
16411         Tests for module 'unistr/u16-cpy'.
16412         * modules/unistr/u16-cpy-tests: New file.
16413         * tests/unistr/test-u16-cpy.c: New file.
16414
16415         Tests for module 'unistr/u8-cpy'.
16416         * modules/unistr/u8-cpy-tests: New file.
16417         * tests/unistr/test-u8-cpy.c: New file.
16418         * tests/unistr/test-cpy.h: New file.
16419
16420 2010-01-09  Bruno Haible  <bruno@clisp.org>
16421
16422         Tests for module 'unistr/u32-uctomb'.
16423         * modules/unistr/u32-uctomb-tests: New file.
16424         * tests/unistr/test-u32-uctomb.c: New file.
16425
16426         Tests for module 'unistr/u16-uctomb'.
16427         * modules/unistr/u16-uctomb-tests: New file.
16428         * tests/unistr/test-u16-uctomb.c: New file.
16429
16430         Tests for module 'unistr/u8-uctomb'.
16431         * modules/unistr/u8-uctomb-tests: New file.
16432         * tests/unistr/test-u8-uctomb.c: New file.
16433
16434         Tests for module 'unistr/u32-mbtoucr'.
16435         * modules/unistr/u32-mbtoucr-tests: New file.
16436         * tests/unistr/test-u32-mbtoucr.c: New file.
16437
16438         Tests for module 'unistr/u16-mbtoucr'.
16439         * modules/unistr/u16-mbtoucr-tests: New file.
16440         * tests/unistr/test-u16-mbtoucr.c: New file.
16441
16442         Tests for module 'unistr/u8-mbtoucr'.
16443         * modules/unistr/u8-mbtoucr-tests: New file.
16444         * tests/unistr/test-u8-mbtoucr.c: New file.
16445
16446         Tests for module 'unistr/u32-mbtouc'.
16447         * modules/unistr/u32-mbtouc-tests: New file.
16448         * tests/unistr/test-u32-mbtouc.c: New file.
16449
16450         Tests for module 'unistr/u16-mbtouc'.
16451         * modules/unistr/u16-mbtouc-tests: New file.
16452         * tests/unistr/test-u16-mbtouc.c: New file.
16453
16454         Tests for module 'unistr/u8-mbtouc'.
16455         * modules/unistr/u8-mbtouc-tests: New file.
16456         * tests/unistr/test-u8-mbtouc.c: New file.
16457
16458         Tests for module 'unistr/u32-mbtouc-unsafe'.
16459         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
16460         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
16461         * tests/unistr/test-u32-mbtouc.h: New file.
16462
16463         Tests for module 'unistr/u16-mbtouc-unsafe'.
16464         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
16465         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
16466         * tests/unistr/test-u16-mbtouc.h: New file.
16467
16468         Tests for module 'unistr/u8-mbtouc-unsafe'.
16469         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
16470         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
16471         * tests/unistr/test-u8-mbtouc.h: New file.
16472
16473         Tests for module 'unistr/u32-mblen'.
16474         * modules/unistr/u32-mblen-tests: New file.
16475         * tests/unistr/test-u32-mblen.c: New file.
16476
16477         Tests for module 'unistr/u16-mblen'.
16478         * modules/unistr/u16-mblen-tests: New file.
16479         * tests/unistr/test-u16-mblen.c: New file.
16480
16481         Tests for module 'unistr/u8-mblen'.
16482         * modules/unistr/u8-mblen-tests: New file.
16483         * tests/unistr/test-u8-mblen.c: New file.
16484
16485         Tests for module 'unistr/u32-to-u16'.
16486         * modules/unistr/u32-to-u16-tests: New file.
16487         * tests/unistr/test-u32-to-u16.c: New file.
16488
16489         Tests for module 'unistr/u32-to-u8'.
16490         * modules/unistr/u32-to-u8-tests: New file.
16491         * tests/unistr/test-u32-to-u8.c: New file.
16492
16493         Tests for module 'unistr/u16-to-u32'.
16494         * modules/unistr/u16-to-u32-tests: New file.
16495         * tests/unistr/test-u16-to-u32.c: New file.
16496
16497         Tests for module 'unistr/u16-to-u8'.
16498         * modules/unistr/u16-to-u8-tests: New file.
16499         * tests/unistr/test-u16-to-u8.c: New file.
16500
16501         Tests for module 'unistr/u8-to-u32'.
16502         * modules/unistr/u8-to-u32-tests: New file.
16503         * tests/unistr/test-u8-to-u32.c: New file.
16504
16505         Tests for module 'unistr/u8-to-u16'.
16506         * modules/unistr/u8-to-u16-tests: New file.
16507         * tests/unistr/test-u8-to-u16.c: New file.
16508
16509         Tests for module 'unistr/u32-check'.
16510         * modules/unistr/u32-check-tests: New file.
16511         * tests/unistr/test-u32-check.c: New file.
16512
16513         Tests for module 'unistr/u16-check'.
16514         * modules/unistr/u16-check-tests: New file.
16515         * tests/unistr/test-u16-check.c: New file.
16516
16517         Tests for module 'unistr/u8-check'.
16518         * modules/unistr/u8-check-tests: New file.
16519         * tests/unistr/test-u8-check.c: New file.
16520
16521         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
16522         (category_equals): New function.
16523         (main): Add more tests.
16524         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
16525
16526         * tests/unictype/test-bidi_byname.c (main): Add more tests.
16527
16528 2010-01-10  Bruno Haible  <bruno@clisp.org>
16529
16530         unistr/u*-strcoll: Try harder to distinguish different strings.
16531         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
16532         compare s1 and s2 to see if they are different.
16533
16534 2010-01-10  Bruno Haible  <bruno@clisp.org>
16535
16536         unistr/u*-stpncpy: Fix the return value.
16537         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
16538         description of the return value consistent with stpncpy in glibc.
16539         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
16540         written non-NUL unit.
16541
16542 2010-01-10  Bruno Haible  <bruno@clisp.org>
16543
16544         unistr/u*-next: Add missing dependencies.
16545         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
16546         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
16547         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
16548
16549 2010-01-10  Bruno Haible  <bruno@clisp.org>
16550
16551         unistr/u8-mbsnlen: Fix return value for incomplete character.
16552         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
16553         u8_mblen.
16554         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
16555         Remove unistr/u8-mblen.
16556         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
16557         u16_mblen.
16558         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
16559         Remove unistr/u16-mblen.
16560
16561 2010-01-10  Bruno Haible  <bruno@clisp.org>
16562
16563         wchar: Fix compilation error when <wchar.h> is used from coreutils.
16564         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
16565         Reported by Brian Gough <bjg@gnu.org> and
16566         Chris Clayton <chris2553@googlemail.com> via
16567         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
16568
16569 2010-01-09  Bruno Haible  <bruno@clisp.org>
16570
16571         unistr/u16-to-u32: Reject invalid input.
16572         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
16573         u16_mbtouc.
16574         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
16575         Remove unistr/u16-mbtouc.
16576
16577         unistr/u16-to-u8: Reject invalid input.
16578         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
16579         u16_mbtouc.
16580         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
16581         Remove unistr/u16-mbtouc.
16582
16583         unistr/u8-to-u32: Reject invalid input.
16584         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
16585         u8_mbtouc.
16586         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
16587         Remove unistr/u8-mbtouc.
16588
16589         unistr/u8-to-u16: Reject invalid input.
16590         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
16591         u8_mbtouc.
16592         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
16593         Remove unistr/u8-mbtouc.
16594
16595 2010-01-09  Bruno Haible  <bruno@clisp.org>
16596
16597         Tests for module 'getlogin'.
16598         * modules/getlogin-tests: New file.
16599         * tests/test-getlogin.c: New file.
16600
16601         New module 'getlogin'.
16602         * lib/unistd.in.h (getlogin): New declaration.
16603         * lib/getlogin.c: New file.
16604         * m4/getlogin.m4: New file.
16605         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
16606         HAVE_GETLOGIN.
16607         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
16608         HAVE_GETLOGIN.
16609         * modules/getlogin: New file.
16610         * doc/posix-functions/getlogin.texi: Mention the new module.
16611         Reported by John W. Eaton <jwe@gnu.org>.
16612
16613 2010-01-09  Bruno Haible  <bruno@clisp.org>
16614
16615         getlogin_r: Support for native Windows.
16616         * lib/getlogin_r.c: Include <windows.h>
16617         (getlogin_r): Implement for native Windows.
16618         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
16619         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
16620         via John W. Eaton <jwe@gnu.org>.
16621
16622 2010-01-09  Bruno Haible  <bruno@clisp.org>
16623
16624         getlogin_r: Small fixes.
16625         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
16626         succeeds.
16627         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
16628         before testing whether getlogin_r is declared. No need to set
16629         HAVE_DECL_GETLOGIN_R to 1.
16630         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
16631
16632 2010-01-09  Bruno Haible  <bruno@clisp.org>
16633
16634         * lib/unistd.in.h (getlogin_r): Add comment.
16635
16636 2010-01-09  Bruno Haible  <bruno@clisp.org>
16637
16638         Tests for module 'getlogin_r'.
16639         * modules/getlogin_r-tests: New file.
16640         * tests/test-getlogin_r.c: New file.
16641
16642 2010-01-09  Jim Meyering  <meyering@redhat.com>
16643
16644         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
16645         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
16646         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
16647
16648 2010-01-08  Simon Josefsson  <simon@josefsson.org>
16649
16650         * lib/dup2.c (rpl_dup2): Improve comment.
16651
16652 2010-01-08  Eric Blake  <ebb9@byu.net>
16653
16654         maint.mk: allow packages to add makefile @@ exceptions
16655         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
16656         (sc_makefile_check): Rename...
16657         (sc_makefile_at_at_check): ...to this, and use hook.
16658
16659         dup2: work around mingw bug
16660         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
16661         Reported by Simon Josefsson.
16662
16663 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
16664
16665         glob: Fix C++ compilation.
16666         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
16667         C++.
16668
16669 2010-01-07  Bruno Haible  <bruno@clisp.org>
16670
16671         Fix indentation of wctype.in.h, broken since 2007-01-06.
16672         * lib/wctype.in.h: Fix indentation of preprocessor directives.
16673
16674 2010-01-07  Bruno Haible  <bruno@clisp.org>
16675
16676         mbslen: Avoid collision with system function.
16677         * lib/string.in.h [MirBSD]: Include <wchar.h>.
16678         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
16679         * m4/mbslen.m4: New file.
16680         * modules/mbslen (Files): Add it.
16681         (configure.ac): Invoke gl_MBSLEN.
16682         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
16683         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
16684         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
16685         via Ian Beckwith <ianb@erislabs.net>.
16686
16687 2010-01-07  Bruno Haible  <bruno@clisp.org>
16688
16689         dirent: Document the last fix.
16690         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
16691
16692 2010-01-07  Bruno Haible  <bruno@clisp.org>
16693
16694         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
16695         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
16696         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
16697         va_list are defined.
16698         * doc/posix-headers/stdio.texi: Document the bug of missing types.
16699         Reported by Eric Blake.
16700
16701 2010-01-07  Bruno Haible  <bruno@clisp.org>
16702
16703         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
16704         * modules/xlist (Depends-on): Add 'list',
16705         * modules/xoset (Depends-on): Add 'oset'.
16706         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16707
16708 2010-01-07  Bruno Haible  <bruno@clisp.org>
16709
16710         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
16711         * doc/posix-functions/strncasecmp.texi: Likewise.
16712
16713 2010-01-07  Bruno Haible  <bruno@clisp.org>
16714
16715         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
16716
16717 2010-01-07  John W. Eaton  <jwe@octave.org>
16718
16719         wctype: allow C++ use
16720         * lib/wctype.in.h: Add extern "C" block for C++.
16721
16722 2010-01-06  Eric Blake  <ebb9@byu.net>
16723
16724         maint.mk: detect incorrect GFDL usage
16725         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
16726
16727 2010-01-06  Jim Meyering  <meyering@redhat.com>
16728         and Eric Blake  <ebb9@byu.net>
16729
16730         maint.mk: ignore multi-line copyright in NEWS
16731         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
16732
16733 2010-01-06  Eric Blake  <ebb9@byu.net>
16734
16735         select: add missing dependency
16736         * modules/select-tests (Depends-on): Move sockets dependency...
16737         * modules/select (Depends-on): ...here.
16738         Reported by Ian Beckwith.
16739
16740         doc: regenerate INSTALL
16741         * doc/INSTALL: Reflect recent autoconf update.
16742         * doc/INSTALL.ISO: Likewise.
16743         * doc/INSTALL.UTF-8: Likewise.
16744
16745         pread: fix compilation on glibc
16746         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
16747         Reported by Ralf Wildenhues.
16748
16749         dirent: fix test failure
16750         * lib/dirent.in.h (includes): Guarantee ino_t.
16751         Reported by Ralf Wildenhues.
16752
16753 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
16754
16755         linkat, renameat: avoid bad free
16756         * lib/at-func2.c (at_func2): Fix typo.
16757         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
16758
16759 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16760
16761         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
16762         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
16763         to avoid failure of symlink test later.
16764
16765 2010-01-06  Eric Blake  <ebb9@byu.net>
16766
16767         stdio, unistd: guarantee ssize_t
16768         * lib/unistd.in.h (includes): Ensure that types required by POSIX
16769         2008 are exposed when needed.
16770         * lib/stdio.in.h (includes): Likewise.
16771         Reported by Ralf Wildenhues.
16772
16773 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
16774
16775         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
16776         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
16777         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
16778
16779 2010-01-06  Jim Meyering  <meyering@redhat.com>
16780
16781         readtokens: this module *does* require xalloc.h
16782         It uses only functions that were omitted by the old syntax-check rule.
16783         * lib/readtokens.c: Include "xalloc.h" once again.
16784         * modules/readtokens (Depends-on): Add xalloc.
16785         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
16786
16787 2010-01-05  Eric Blake  <ebb9@byu.net>
16788
16789         maint: support 'make announcement' from a VPATH build
16790         * top/maint.mk (announcement): Look for correct NEWS file.
16791
16792 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
16793
16794         utimens (fdutimens): ignore a negative FD, per contract
16795         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
16796         when we have a valid file descriptor.  Otherwise, using a brand
16797         new glibc (with just-patched futimens that now fails with EBADF)
16798         would cause this function to fail with ENOSYS.
16799         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
16800         See also http://bugzilla.redhat.com/552320.
16801
16802 2010-01-05  Eric Blake  <ebb9@byu.net>
16803
16804         strcase: document what it provides
16805         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
16806         gnulib module.
16807         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
16808         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
16809
16810 2010-01-05  Jim Meyering  <meyering@redhat.com>
16811
16812         maint: remove useless inclusions of "xalloc.h"
16813         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
16814         * lib/readtokens.c: Likewise.
16815         * lib/same.c: Likewise.
16816         * modules/getloadavg (Depends-on): Remove xalloc.
16817         * modules/readtokens: Likewise.
16818         * modules/same: Likewise.
16819
16820         maint.mk: include 4 more function names in alloca.h-checking regexp
16821         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
16822         regexp.  Before, we would give a false-positive (saying alloca.h
16823         is included unnecessarily) when the only uses involved omitted symbols.
16824
16825         xalloc.h: use consistent formatting
16826         * lib/xalloc.h: Move declarations to start in the first column.
16827
16828 2010-01-05  Eric Blake  <ebb9@byu.net>
16829
16830         mkdir: avoid xalloc
16831         * lib/mkdir.c (includes): Drop unused header.
16832         Reported by John W. Eaton.
16833
16834 2010-01-04  Jim Meyering  <meyering@redhat.com>
16835
16836         nl_langinfo: avoid configure-time syntax error
16837         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
16838         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
16839         the empty string.  Don't let that provoke a shell syntax error.
16840
16841         regcomp, regexec, fnmatch: avoid array bounds read error
16842         * lib/regcomp.c (build_equiv_class): From glibc:
16843         Use only the low 24 bits of a findidx return value as an index
16844         into the weights array.  Patch by Ulrich Drepper:
16845         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
16846         * lib/regexec.c (check_node_accept_bytes): Likewise.
16847         * lib/fnmatch_loop.c (FCT): Likewise.
16848
16849         regcomp: skip collseq lookup when there are no rules
16850         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
16851         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
16852
16853         regcomp: recognize ill-formed { } expressions
16854         * lib/regcomp.c (parse_dup_op): From glibc:
16855         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
16856
16857         regcomp: fix typo in comment
16858         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
16859         s/satisfy/satisfies/.
16860
16861         regcomp: sync from glibc: remove dead store
16862         * lib/regcomp.c (duplicate_node_closure): Remove useless
16863         search_duplicated_node call and dead store.
16864
16865         regcomp: sync from glibc; always use nl_langinfo
16866         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
16867         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
16868         * modules/regex (Depends-on): Add nl_langinfo.
16869
16870 2010-01-04  Eric Blake  <ebb9@byu.net>
16871
16872         fdopendir: fix configure test
16873         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
16874
16875 2010-01-01  Bruno Haible  <bruno@clisp.org>
16876
16877         wchar: Remove unused configure check.
16878         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
16879
16880 2010-01-01  Eric Blake  <ebb9@byu.net>
16881
16882         headers: make check of system header explicit
16883         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
16884         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
16885         ourselves.
16886         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
16887         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
16888         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
16889         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
16890         internals.
16891         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
16892         missing.
16893         Suggested by Bruno Haible.
16894
16895 2010-01-01  Jim Meyering  <meyering@redhat.com>
16896
16897         ChangeLog: tweak to eliminate unnecessary copyright line
16898         * ChangeLog: Remove a copyright line that was mistakenly updated
16899         by today's update-copyright run.  Reported by Eric Blake.
16900
16901         test-update-copyright: don't let envvar setting cause test failure
16902         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
16903
16904 2010-01-01  Bruno Haible  <bruno@clisp.org>
16905
16906         localename: Avoid gcc warning.
16907         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
16908         function if it is not used.
16909
16910 2010-01-01  Jim Meyering  <meyering@redhat.com>
16911
16912         update nearly all FSF copyright year lists to include 2010
16913         Use the same procedure as for 2009, outlined in
16914         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
16915
16916         version-etc: set COPYRIGHT_YEAR to 2010
16917         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
16918
16919 2009-12-31  Eric Blake  <ebb9@byu.net>
16920
16921         doc: correct availability of cygwin 1.5.x getopt
16922         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
16923         variables.
16924         * doc/posix-functions/opterr.texi (opterr): Likewise.
16925         * doc/posix-functions/optind.texi (optind): Likewise.
16926         * doc/posix-functions/optopt.texi (optopt): Likewise.
16927         * doc/posix-functions/tzname.texi (tzname): Likewise.
16928
16929         openat: update maintainer
16930         * modules/openat (Maintainer): Add myself.
16931
16932         utimens: avoid shadowing warning
16933         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
16934         buffers into one, to avoid shadowing, as well as avoiding a
16935         redundant stat.
16936         Reported by Jim Meyering.
16937
16938         test-dup2: avoid compiler warning
16939         * tests/test-dup2.c (is_inheritable): Only define if used.
16940
16941 2010-01-01  Bruno Haible  <bruno@clisp.org>
16942
16943         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
16944         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
16945         defined, use wctomb instead of wcrtomb.
16946
16947 2010-01-01  Bruno Haible  <bruno@clisp.org>
16948
16949         iconv: Reject native Solaris iconv.
16950         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
16951         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
16952
16953 2009-12-31  Bruno Haible  <bruno@clisp.org>
16954
16955         * tests/test-signal.c (main): Remove test of 'SIG'.
16956
16957 2009-12-31  Bruno Haible  <bruno@clisp.org>
16958
16959         spawn: Fix incomplete fix.
16960         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
16961         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
16962         warnings for GNULIB_POSIXCHECK again.
16963         Reported by Eric Blake.
16964
16965 2009-12-31  Bruno Haible  <bruno@clisp.org>
16966
16967         Avoid namespace pollution on glibc systems.
16968         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
16969         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
16970         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
16971         glibc systems.
16972
16973 2009-12-31  Bruno Haible  <bruno@clisp.org>
16974
16975         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
16976         (gl_REPLACE_WCHAR_H): Turn into a no-op.
16977         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
16978         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
16979         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
16980         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
16981         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
16982
16983 2009-12-31  Bruno Haible  <bruno@clisp.org>
16984
16985         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
16986         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
16987         afterwards.
16988
16989 2009-12-31  Bruno Haible  <bruno@clisp.org>
16990
16991         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
16992         SYS_UTSNAME_H.
16993
16994 2009-12-31  Bruno Haible  <bruno@clisp.org>
16995
16996         spawn: Fix misapplied patch.
16997         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
16998         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
16999         warnings for GNULIB_POSIXCHECK.
17000
17001 2009-12-31  Bruno Haible  <bruno@clisp.org>
17002
17003         times: Update after sys_times changed.
17004         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
17005         * modules/times (Files): Add it.
17006         (configure.ac): Invoke gl_FUNC_TIMES.
17007
17008 2009-12-31  Bruno Haible  <bruno@clisp.org>
17009
17010         Use AC_C_INLINE where necessary.
17011         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
17012         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
17013         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
17014         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
17015         * m4/mbfile.m4 (gl_MBFILE): Likewise.
17016         * m4/mbiter.m4 (gl_MBITER): Likewise.
17017         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
17018         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
17019         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
17020         * modules/u64 (configure.ac): Likewise.
17021
17022 2009-12-31  Bruno Haible  <bruno@clisp.org>
17023
17024         Use AC_C_INLINE instead of module 'inline' where possible.
17025         * modules/inline (Description): Clarify purpose.
17026         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
17027         * modules/count-one-bits (Depends-on): Remove inline.
17028         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
17029         * modules/openat (Depends-on): Remove inline.
17030         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
17031         instead of depending on module 'inline'.
17032         * modules/filevercmp (Depends-on, configure.ac): Likewise.
17033         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
17034         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
17035         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
17036         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
17037         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
17038         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
17039         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
17040         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
17041         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
17042         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
17043         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
17044         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
17045         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
17046         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
17047         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
17048         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
17049         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
17050         Likewise.
17051         * modules/unictype/property-ascii-hex-digit (Depends-on,
17052         configure.ac): Likewise.
17053         * modules/unictype/property-bidi-arabic-digit (Depends-on,
17054         configure.ac): Likewise.
17055         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
17056         configure.ac): Likewise.
17057         * modules/unictype/property-bidi-block-separator (Depends-on,
17058         configure.ac): Likewise.
17059         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
17060         configure.ac): Likewise.
17061         * modules/unictype/property-bidi-common-separator (Depends-on,
17062         configure.ac): Likewise.
17063         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
17064         Likewise.
17065         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
17066         configure.ac): Likewise.
17067         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
17068         configure.ac): Likewise.
17069         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
17070         configure.ac): Likewise.
17071         * modules/unictype/property-bidi-european-digit (Depends-on,
17072         configure.ac): Likewise.
17073         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
17074         configure.ac): Likewise.
17075         * modules/unictype/property-bidi-left-to-right (Depends-on,
17076         configure.ac): Likewise.
17077         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
17078         configure.ac): Likewise.
17079         * modules/unictype/property-bidi-other-neutral (Depends-on,
17080         configure.ac): Likewise.
17081         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
17082         Likewise.
17083         * modules/unictype/property-bidi-segment-separator (Depends-on,
17084         configure.ac): Likewise.
17085         * modules/unictype/property-bidi-whitespace (Depends-on,
17086         configure.ac): Likewise.
17087         * modules/unictype/property-combining (Depends-on, configure.ac):
17088         Likewise.
17089         * modules/unictype/property-composite (Depends-on, configure.ac):
17090         Likewise.
17091         * modules/unictype/property-currency-symbol (Depends-on,
17092         configure.ac): Likewise.
17093         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
17094         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
17095         Likewise.
17096         * modules/unictype/property-default-ignorable-code-point (Depends-on,
17097         configure.ac): Likewise.
17098         * modules/unictype/property-deprecated (Depends-on, configure.ac):
17099         Likewise.
17100         * modules/unictype/property-diacritic (Depends-on, configure.ac):
17101         Likewise.
17102         * modules/unictype/property-extender (Depends-on, configure.ac):
17103         Likewise.
17104         * modules/unictype/property-format-control (Depends-on, configure.ac):
17105         Likewise.
17106         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
17107         Likewise.
17108         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
17109         Likewise.
17110         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
17111         Likewise.
17112         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
17113         Likewise.
17114         * modules/unictype/property-hyphen (Depends-on, configure.ac):
17115         Likewise.
17116         * modules/unictype/property-id-continue (Depends-on, configure.ac):
17117         Likewise.
17118         * modules/unictype/property-id-start (Depends-on, configure.ac):
17119         Likewise.
17120         * modules/unictype/property-ideographic (Depends-on, configure.ac):
17121         Likewise.
17122         * modules/unictype/property-ids-binary-operator (Depends-on,
17123         configure.ac): Likewise.
17124         * modules/unictype/property-ids-trinary-operator (Depends-on,
17125         configure.ac): Likewise.
17126         * modules/unictype/property-ignorable-control (Depends-on,
17127         configure.ac): Likewise.
17128         * modules/unictype/property-iso-control (Depends-on, configure.ac):
17129         Likewise.
17130         * modules/unictype/property-join-control (Depends-on, configure.ac):
17131         Likewise.
17132         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
17133         Likewise.
17134         * modules/unictype/property-line-separator (Depends-on, configure.ac):
17135         Likewise.
17136         * modules/unictype/property-logical-order-exception (Depends-on,
17137         configure.ac): Likewise.
17138         * modules/unictype/property-lowercase (Depends-on, configure.ac):
17139         Likewise.
17140         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
17141         * modules/unictype/property-non-break (Depends-on, configure.ac):
17142         Likewise.
17143         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
17144         Likewise.
17145         * modules/unictype/property-numeric (Depends-on, configure.ac):
17146         Likewise.
17147         * modules/unictype/property-other-alphabetic (Depends-on,
17148         configure.ac): Likewise.
17149         * modules/unictype/property-other-default-ignorable-code-point
17150         (Depends-on, configure.ac): Likewise.
17151         * modules/unictype/property-other-grapheme-extend (Depends-on,
17152         configure.ac): Likewise.
17153         * modules/unictype/property-other-id-continue (Depends-on,
17154         configure.ac): Likewise.
17155         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
17156         Likewise.
17157         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
17158         Likewise.
17159         * modules/unictype/property-other-math (Depends-on, configure.ac):
17160         Likewise.
17161         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
17162         Likewise.
17163         * modules/unictype/property-paired-punctuation (Depends-on,
17164         configure.ac): Likewise.
17165         * modules/unictype/property-paragraph-separator (Depends-on,
17166         configure.ac): Likewise.
17167         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
17168         Likewise.
17169         * modules/unictype/property-pattern-white-space (Depends-on,
17170         configure.ac): Likewise.
17171         * modules/unictype/property-private-use (Depends-on, configure.ac):
17172         Likewise.
17173         * modules/unictype/property-punctuation (Depends-on, configure.ac):
17174         Likewise.
17175         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
17176         Likewise.
17177         * modules/unictype/property-radical (Depends-on, configure.ac):
17178         Likewise.
17179         * modules/unictype/property-sentence-terminal (Depends-on,
17180         configure.ac): Likewise.
17181         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
17182         Likewise.
17183         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
17184         * modules/unictype/property-terminal-punctuation (Depends-on,
17185         configure.ac): Likewise.
17186         * modules/unictype/property-titlecase (Depends-on, configure.ac):
17187         Likewise.
17188         * modules/unictype/property-unassigned-code-value (Depends-on,
17189         configure.ac): Likewise.
17190         * modules/unictype/property-unified-ideograph (Depends-on,
17191         configure.ac): Likewise.
17192         * modules/unictype/property-uppercase (Depends-on, configure.ac):
17193         Likewise.
17194         * modules/unictype/property-variation-selector (Depends-on,
17195         configure.ac): Likewise.
17196         * modules/unictype/property-white-space (Depends-on, configure.ac):
17197         Likewise.
17198         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
17199         Likewise.
17200         * modules/unictype/property-xid-start (Depends-on, configure.ac):
17201         Likewise.
17202         * modules/unictype/property-zero-width (Depends-on, configure.ac):
17203         Likewise.
17204         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
17205         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
17206         Likewise.
17207
17208 2009-12-31  Bruno Haible  <bruno@clisp.org>
17209
17210         Remove unnecessary AC_C_INLINE invocation.
17211         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
17212         since 2009-08-21.
17213
17214 2009-12-31  Jim Meyering  <meyering@redhat.com>
17215
17216         maint.mk: don't require explicit gpg_key_ID in cfg.mk
17217         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
17218         With this change, we can all remove the gpg_key_ID = ... definition
17219         from our respective cfg.mk files.
17220
17221         maint.mk: create announcement template in ~/, not in /tmp
17222         * top/maint.mk (emit_upload_commands): Adjust.
17223         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
17224         Remove temporary file, .ci-msg.
17225
17226 2009-12-31  Eric Blake  <ebb9@byu.net>
17227
17228         link-warning: always build headers with link warnings
17229         * modules/arpa_inet (Makefile.am): Always build replacement
17230         header.
17231         * modules/ctype (Makefile.am): Likewise.
17232         * modules/dirent (Makefile.am): Likewise.
17233         * modules/inttypes (Makefile.am): Likewise.
17234         * modules/langinfo (Makefile.am): Likewise.
17235         * modules/locale (Makefile.am): Likewise.
17236         * modules/spawn (Makefile.am): Likewise.
17237         * modules/sys_file (Makefile.am): Likewise.
17238         * modules/sys_ioctl (Makefile.am): Likewise.
17239         * modules/sys_select (Makefile.am): Likewise.
17240         * modules/sys_socket (Makefile.am): Likewise.
17241         * modules/sys_times (Makefile.am): Likewise.
17242         * modules/sys_utsname (Makefile.am): Likewise.
17243         * modules/sys_wait (Makefile.am): Likewise.
17244         * modules/wchar (Makefile.am): Likewise.
17245         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
17246         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
17247         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
17248         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
17249         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
17250         Likewise.
17251         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
17252         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
17253         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
17254         Likewise.
17255         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
17256         Likewise.
17257         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
17258         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
17259         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
17260         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
17261         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
17262         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
17263         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
17264         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
17265         (gl_WCHAR_H_DEFAULTS): Likewise.
17266
17267 2009-12-31  Eric Blake  <ebb9@byu.net>
17268
17269         signal, spawn: use link warnings
17270         * lib/signal.in.h (sigset_t): Make unconditional.
17271         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
17272         (sigpending, sigprocmask, sigaction): Add link warnings.
17273         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
17274         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
17275         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
17276         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
17277         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
17278         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
17279         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
17280         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
17281         (posix_spawn_file_actions_destroy)
17282         (posix_spawn_file_actions_addopen)
17283         (posix_spawn_file_actions_addclose)
17284         (posix_spawn_file_actions_adddup2): Likewise.
17285         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
17286         * tests/test-signal.c (main): Enhance test.
17287
17288         spawn: improve wrapper support
17289         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
17290         (gl_SPAWN_H_DEFAULTS): New defaults.
17291         * modules/spawn (Makefile.am): Substitute them.
17292         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
17293         Only declare if missing or broken.
17294
17295         sys_times, sys_utsname: use include_next
17296         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
17297         header.
17298         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
17299         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
17300         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
17301         * modules/sys_times (Depends-on): Add include_next.
17302         (Makefile.am): Substitute additional values.
17303         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
17304         * lib/sys_times.in.h (includes): Include native header, if
17305         available.
17306         * lib/sys_utsname.in.h (includes): Likewise.
17307         * tests/test-sys_times.c (main): Enhance test.
17308
17309         fdutimensat: revert prior patch
17310         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
17311         utimens.h.
17312         Reported by Bruno Haible.
17313
17314 2009-12-30  Eric Blake  <ebb9@byu.net>
17315
17316         sys_wait: drop link-warning dependency
17317         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
17318         link-warning efforts.
17319         * lib/sys_wait.in.h: Likewise.
17320
17321         fdutimensat: remove bogus dependency
17322         * modules/fdutimensat (Depends-on): Drop inline.
17323
17324         unistd: fix typo
17325         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
17326
17327 2009-12-30  Bruno Haible  <bruno@clisp.org>
17328
17329         Fix compilation error with Solaris cc.
17330         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
17331         * lib/unicase/u16-is-invariant.c: Likewise.
17332         * lib/unicase/u32-is-invariant.c: Likewise.
17333         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
17334
17335 2009-12-30  Bruno Haible  <bruno@clisp.org>
17336
17337         Fix test crash.
17338         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
17339         locales.
17340         Reported by Simon Josefsson <simon@josefsson.org>.
17341
17342 2009-12-30  Bruno Haible  <bruno@clisp.org>
17343
17344         Fix compilation error on most platforms.
17345         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
17346         Reported by Simon Josefsson <simon@josefsson.org>
17347         and Nelson H. F. Beebe <beebe@math.utah.edu>.
17348
17349 2009-12-30  Eric Blake  <ebb9@byu.net>
17350
17351         futimens, utimensat: work around ntfs-3g bug
17352         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
17353         a ctime bug is present, and expand workaround to cover ntfs-3g.
17354         * lib/utimens.c (fdutimens, lutimens): Likewise.
17355         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
17356         (validate_timespec): Adjust return value.
17357         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
17358         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
17359         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
17360
17361 2009-12-29  Eric Blake  <ebb9@byu.net>
17362
17363         link-warning: make usage consistent
17364         * modules/ctype (Depends-on): Add link-warning.
17365         (Makefile.am): Update rules accordingly.
17366         * modules/langinfo (Depends-on, Makefile.am): Likewise.
17367         * modules/locale (Depends-on, Makefile.am): Likewise.
17368         * modules/sys_file (Makefile.am): Likewise.
17369         * modules/getopt-posix (Makefile.am): Delete unused link warning
17370         efforts.
17371         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
17372         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
17373         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
17374         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
17375
17376         stdio: remove unused variables
17377         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
17378         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
17379         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
17380
17381         tests: test more substitute headers
17382         * modules/ctype-tests: New file.
17383         * modules/dirent-tests: Likewise.
17384         * modules/spawn-tests: Likewise.
17385         * modules/sys_file-tests: Likewise.
17386         * modules/sys_ioctl-tests: Likewise.
17387         * modules/sys_wait-tests: Likewise.
17388         * tests/test-ctype.c: Likewise.
17389         * tests/test-dirent.c: Likewise.
17390         * tests/test-spawn.c: Likewise.
17391         * tests/test-sys_file.c: Likewise.
17392         * tests/test-sys_ioctl.c: Likewise.
17393         * tests/test-sys_wait.c: Likewise.
17394         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
17395         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
17396         whether or not flock is in use.
17397
17398         tests: remove License section from module
17399         * modules/arpa_inet-tests: Remove unneeded section.
17400         * modules/byteswap-tests: Likewise.
17401         * modules/ceilf-tests: Likewise.
17402         * modules/ceill-tests: Likewise.
17403         * modules/crypto/des-tests: Likewise.
17404         * modules/crypto/gc-arcfour-tests: Likewise.
17405         * modules/crypto/gc-arctwo-tests: Likewise.
17406         * modules/crypto/gc-des-tests: Likewise.
17407         * modules/crypto/gc-hmac-md5-tests: Likewise.
17408         * modules/crypto/gc-hmac-sha1-tests: Likewise.
17409         * modules/crypto/gc-md2-tests: Likewise.
17410         * modules/crypto/gc-md4-tests: Likewise.
17411         * modules/crypto/gc-md5-tests: Likewise.
17412         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
17413         * modules/crypto/gc-rijndael-tests: Likewise.
17414         * modules/crypto/gc-sha1-tests: Likewise.
17415         * modules/crypto/gc-tests: Likewise.
17416         * modules/crypto/md2-tests: Likewise.
17417         * modules/crypto/md4-tests: Likewise.
17418         * modules/fcntl-h-tests: Likewise.
17419         * modules/floorf-tests: Likewise.
17420         * modules/floorl-tests: Likewise.
17421         * modules/frexp-nolibm-tests: Likewise.
17422         * modules/frexp-tests: Likewise.
17423         * modules/frexpl-nolibm-tests: Likewise.
17424         * modules/frexpl-tests: Likewise.
17425         * modules/getaddrinfo-tests: Likewise.
17426         * modules/inttypes-tests: Likewise.
17427         * modules/isfinite-tests: Likewise.
17428         * modules/isinf-tests: Likewise.
17429         * modules/ldexpl-tests: Likewise.
17430         * modules/locale-tests: Likewise.
17431         * modules/math-tests: Likewise.
17432         * modules/netdb-tests: Likewise.
17433         * modules/netinet_in-tests: Likewise.
17434         * modules/printf-frexp-tests: Likewise.
17435         * modules/printf-frexpl-tests: Likewise.
17436         * modules/priv-set-tests: Likewise.
17437         * modules/random_r-tests: Likewise.
17438         * modules/round-tests: Likewise.
17439         * modules/roundf-tests: Likewise.
17440         * modules/roundl-tests: Likewise.
17441         * modules/search-tests: Likewise.
17442         * modules/select-tests: Likewise.
17443         * modules/signal-tests: Likewise.
17444         * modules/stdbool-tests: Likewise.
17445         * modules/stddef-tests: Likewise.
17446         * modules/stdint-tests: Likewise.
17447         * modules/stdio-tests: Likewise.
17448         * modules/stdlib-tests: Likewise.
17449         * modules/string-tests: Likewise.
17450         * modules/strings-tests: Likewise.
17451         * modules/sys_select-tests: Likewise.
17452         * modules/sys_socket-tests: Likewise.
17453         * modules/sys_stat-tests: Likewise.
17454         * modules/sys_time-tests: Likewise.
17455         * modules/sys_utsname-tests: Likewise.
17456         * modules/sysexits-tests: Likewise.
17457         * modules/time-tests: Likewise.
17458         * modules/trunc-tests: Likewise.
17459         * modules/truncf-tests: Likewise.
17460         * modules/truncl-tests: Likewise.
17461         * modules/tsearch-tests: Likewise.
17462         * modules/unistd-tests: Likewise.
17463         * modules/wchar-tests: Likewise.
17464         * modules/wctype-tests: Likewise.
17465
17466         tests: fix license on several tests
17467         * tests/test-des.c: Update to GPLv3+.
17468         * tests/test-flock.c: Likewise.
17469         * tests/test-fsync.c: Likewise.
17470         * tests/test-futimens.h: Likewise.
17471         * tests/test-gc-arcfour.c: Likewise.
17472         * tests/test-gc-arctwo.c: Likewise.
17473         * tests/test-gc-des.c: Likewise.
17474         * tests/test-gc-hmac-md5.c: Likewise.
17475         * tests/test-gc-hmac-sha1.c: Likewise.
17476         * tests/test-gc-md2.c: Likewise.
17477         * tests/test-gc-md4.c: Likewise.
17478         * tests/test-gc-md5.c: Likewise.
17479         * tests/test-gc-pbkdf2-sha1.c: Likewise.
17480         * tests/test-gc-rijndael.c: Likewise.
17481         * tests/test-gc-sha1.c: Likewise.
17482         * tests/test-gc.c: Likewise.
17483         * tests/test-getcwd.c: Likewise.
17484         * tests/test-link.c: Likewise.
17485         * tests/test-link.h: Likewise.
17486         * tests/test-lutimens.h: Likewise.
17487         * tests/test-md2.c: Likewise.
17488         * tests/test-md4.c: Likewise.
17489         * tests/test-mkdir.h: Likewise.
17490         * tests/test-rename.c: Likewise.
17491         * tests/test-rename.h: Likewise.
17492         * tests/test-safe-alloc.c: Likewise.
17493         * tests/test-utimens-common.h: Likewise.
17494         * tests/test-utimens.h: Likewise.
17495
17496         maint: sync license texts
17497         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
17498         * doc/gpl-3.0.texi: Revert copyright year update.
17499         * doc/lgpl-3.0.texi: Likewise.
17500
17501 2009-12-29  Jim Meyering  <meyering@redhat.com>
17502
17503         update nearly all FSF copyright year lists to include 2009
17504         The files named by the following are exempted:
17505             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
17506               test -f "$dst" && { echo "$dst"; continue; }
17507               test -d "$dst" || continue
17508               echo "$dst"/$(basename "$src")
17509             done > exempt
17510             git ls-files tests/unictype >> exempt
17511         In the remaining files, convert to all-interval notation if
17512         - there is already at least one year interval like 2000-2003
17513         - the file is maintained by me
17514         - the file is in lib/uni*/, where that style already prevails
17515         Otherwise, use update-copyright's default.
17516
17517 2009-12-29  Simon Josefsson  <simon@josefsson.org>
17518         and Eric Blake  <ebb9@byu.net>
17519
17520         tests: don't require debug system() to pass
17521         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
17522         * tests/test-rmdir.h (test_rmdir_func): Likewise.
17523         * tests/test-unlink.h (test_unlink_func): Likewise.
17524         * tests/test-fstatat.c (main): ...into callers.
17525         * tests/test-lstat.c (main): Likewise.
17526         * tests/test-rmdir.c (main): Likewise.
17527         * tests/test-unlink.c (main): Likewise.
17528         * tests/test-unlinkat.c (main): Likewise.
17529         * tests/test-areadlink-with-size.c (main): Don't require a
17530         debug-only system call to pass, aiding cross-testing to mingw.
17531         * tests/test-areadlink.c (main): Likewise.
17532         * tests/test-areadlinkat-with-size.c (main): Likewise.
17533         * tests/test-areadlinkat.c (main): Likewise.
17534         * tests/test-canonicalize-lgpl.c (main): Likewise.
17535         * tests/test-canonicalize.c (main): Likewise.
17536         * tests/test-chown.c (main): Likewise.
17537         * tests/test-fchownat.c (main): Likewise.
17538         * tests/test-lchown.c (main): Likewise.
17539         * tests/test-fdutimensat.c (main): Likewise.
17540         * tests/test-futimens.c (main): Likewise.
17541         * tests/test-link.c (main): Likewise.
17542         * tests/test-linkat.c (main): Likewise.
17543         * tests/test-mkdir.c (main): Likewise.
17544         * tests/test-mkdirat.c (main): Likewise.
17545         * tests/test-mkfifo.c (main): Likewise.
17546         * tests/test-mkfifoat.c (main): Likewise.
17547         * tests/test-mknod.c (main): Likewise.
17548         * tests/test-readlink.c (main): Likewise.
17549         * tests/test-remove.c (main): Likewise.
17550         * tests/test-rename.c (main): Likewise.
17551         * tests/test-renameat.c (main): Likewise.
17552         * tests/test-symlink.c (main): Likewise.
17553         * tests/test-symlinkat.c (main): Likewise.
17554         * tests/test-utimens.c (main): Likewise.
17555         * tests/test-utimensat.c (main): Likewise.
17556
17557 2009-12-29  Simon Josefsson  <simon@josefsson.org>
17558
17559         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
17560         on $(UNUSED_PARAMETER_H) to avoid build failure.
17561
17562 2009-12-28  Jim Meyering  <meyering@redhat.com>
17563
17564         update-copyright: you may specify a max. line length other than 72
17565         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
17566
17567         maint: use consistent FSF copyright line syntax
17568         * lib/posixtm.c: Add missing comma in FSF copyright line.
17569         * lib/posixtm.h: Likewise.
17570         * lib/getugroups.c: Add missing ", Inc.".
17571
17572         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
17573         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
17574         FSF copyright line.  Remove trailing blanks.
17575
17576 2009-12-28  Eric Blake  <ebb9@byu.net>
17577
17578         test-dup2: reduce dependencies
17579         * modules/cloexec (Configure.ac): Set witness.
17580         * modules/dup2-tests (Depends-on): Drop cloexec.
17581         * tests/test-dup2.c (main): Skip portion of test if cloexec module
17582         not present.
17583         Suggested by Bruno Haible.
17584
17585 2009-12-26  Bruno Haible  <bruno@clisp.org>
17586
17587         Remove an unneeded dependency.
17588         * modules/fseterr (Depends-on): Remove dup2.
17589
17590 2009-12-26  Eric Blake  <ebb9@byu.net>
17591
17592         tests: use macros.h in more places
17593         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
17594         (ASSERT_STREAM): Provide default of stderr.
17595         * tests/test-dirent-safer.c: Include macros.h, using alternate
17596         stream for assertions.
17597         * tests/test-dup-safer.c: Likewise.
17598         * tests/test-freopen-safer.c: Likewise.
17599         * tests/test-getopt.c: Likewise.
17600         * tests/test-openat-safer.c: Likewise.
17601         * tests/test-pipe.c: Likewise.
17602         * tests/test-popen-safer.c: Likewise.
17603         * modules/dirent-safer-tests (Files): Include macros.h.
17604         * modules/unistd-safer-tests (Files): Likewise.
17605         * modules/freopen-safer-tests (Files): Likewise.
17606         * modules/getopt-posix-tests (Files): Likewise.
17607         * modules/openat-safer-tests (Files): Likewise.
17608         * modules/pipe-tests (Files): Likewise.
17609
17610 2009-12-26  Bruno Haible  <bruno@clisp.org>
17611
17612         javacomp: Portability fix.
17613         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
17614         that it also works on Solaris.
17615
17616 2009-12-26  Bruno Haible  <bruno@clisp.org>
17617
17618         localename: Fix storage allocation of gl_locale_name_thread's result.
17619         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
17620         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
17621         all platforms that have 'uselocale'.
17622         (gl_locale_name_thread_unsafe): New function, extracted from
17623         gl_locale_name_thread.
17624         (gl_locale_name_thread): Call struniq on all platforms that have
17625         'uselocale'.
17626         * tests/test-localename.c (test_locale_name_thread): Check that the
17627         resulting strings are permanently allocated.
17628         * modules/localename-tests (Depends-on): Add strdup.
17629
17630 2009-12-26  Bruno Haible  <bruno@clisp.org>
17631
17632         * tests/test-localename.c (categories): Fill in the strings.
17633
17634 2009-12-26  Jim Meyering  <meyering@redhat.com>
17635
17636         isdir: complete the removal of m4/isdir.m4
17637         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
17638
17639         isdir: clean up, since at least grep still uses it
17640         * lib/isdir.c: Include "isdir.h".
17641         (S_ISDIR): Remove now-unneeded definition.
17642         * modules/isdir (Files): Add lib/isdir.h.
17643         * lib/isdir.h: New file, with declaration.
17644         * m4/isdir.m4: Remove file -- unneeded.
17645
17646 2009-12-25  Bruno Haible  <bruno@clisp.org>
17647
17648         selinux-h: Make generated .h files standalone.
17649         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
17650         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
17651         * lib/se-selinux.in.h: Likewise.
17652         * modules/selinux-h (Depends-on): Add unused-parameter.
17653         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
17654         selinux/selinux.h and selinux/context.h.
17655         Suggested by Eric Blake.
17656
17657 2009-12-25  Bruno Haible  <bruno@clisp.org>
17658
17659         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
17660         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
17661         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
17662         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
17663         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
17664
17665 2009-12-24  Bruno Haible  <bruno@clisp.org>
17666
17667         openat: Fix warning.
17668         * lib/openat-proc.c: Include <unistd.h>.
17669
17670 2009-12-24  Bruno Haible  <bruno@clisp.org>
17671
17672         New module 'unused-parameter'.
17673         * build-aux/unused-parameter.h: New file, extracted from earlier
17674         gnulib-common.m4.
17675         * modules/unused-parameter: New file.
17676         * lib/unistr.h: Include unused-parameter.h.
17677         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
17678         _GL_UNUSED.
17679         * modules/unistr/base (Depends-on): Add unused-parameter.
17680
17681 2009-12-24  Bruno Haible  <bruno@clisp.org>
17682
17683         Add missing dependencies to 'extensions' module.
17684         * m4/extensions.m4: Add comment.
17685         * modules/accept4 (Depends-on): Add extensions.
17686         * modules/dup3 (Depends-on): Likewise.
17687         * modules/fcntl (Depends-on): Likewise.
17688         * modules/futimens (Depends-on): Likewise.
17689         * modules/mknod (Depends-on): Likewise.
17690         * modules/pipe2 (Depends-on): Likewise.
17691         * modules/stat-time (Depends-on): Likewise.
17692         * modules/strcasestr-simple (Depends-on): Likewise.
17693         * modules/strsignal (Depends-on): Likewise.
17694         * modules/utimensat (Depends-on): Likewise.
17695         * modules/localcharset (Depends-on): Likewise. Needed because of
17696         gl_FCNTL_O_FLAGS.
17697         * modules/wcrtomb (Depends-on): Likewise. Needed because of
17698         AC_TYPE_MBSTATE_T.
17699         * modules/wcsnrtombs (Depends-on): Likewise.
17700         * modules/wcsrtombs (Depends-on): Likewise.
17701
17702 2009-12-24  Bruno Haible  <bruno@clisp.org>
17703
17704         binary-io: Avoid gcc warning due to SET_BINARY.
17705         * lib/binary-io.h (SET_BINARY): Cast the result to void.
17706         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
17707
17708 2009-12-24  Bruno Haible  <bruno@clisp.org>
17709
17710         Avoid future namespace pollution on glibc systems.
17711         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
17712         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
17713         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
17714         glibc systems.
17715
17716 2009-12-24  Bruno Haible  <bruno@clisp.org>
17717
17718         Refactor common macros used in tests.
17719         * tests/macros.h: New file.
17720         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
17721         and/or <stdlib.h>, if appropriate.
17722         (ASSERT, SIZEOF): Remove macros.
17723         * tests/test-areadlink-with-size.c: Likewise.
17724         * tests/test-areadlinkat.c: Likewise.
17725         * tests/test-areadlinkat-with-size.c: Likewise.
17726         * tests/test-argmatch.c: Likewise.
17727         * tests/test-argv-iter.c: Likewise.
17728         * tests/test-array-mergesort.c: Likewise.
17729         * tests/test-array_list.c: Likewise.
17730         * tests/test-array_oset.c: Likewise.
17731         * tests/test-avltree_list.c: Likewise.
17732         * tests/test-avltree_oset.c: Likewise.
17733         * tests/test-avltreehash_list.c: Likewise.
17734         * tests/test-base64.c: Likewise.
17735         * tests/test-binary-io.c: Likewise.
17736         * tests/test-bitrotate.c: Likewise.
17737         * tests/test-btowc.c: Likewise.
17738         * tests/test-byteswap.c: Likewise.
17739         * tests/test-c-ctype.c: Likewise.
17740         * tests/test-c-stack.c: Likewise.
17741         * tests/test-c-strcasecmp.c: Likewise.
17742         * tests/test-c-strcasestr.c: Likewise.
17743         * tests/test-c-strncasecmp.c: Likewise.
17744         * tests/test-c-strstr.c: Likewise.
17745         * tests/test-canonicalize-lgpl.c: Likewise.
17746         * tests/test-canonicalize.c: Likewise.
17747         * tests/test-carray_list.c: Likewise.
17748         * tests/test-ceilf1.c: Likewise.
17749         * tests/test-ceilf2.c: Likewise.
17750         * tests/test-ceill.c: Likewise.
17751         * tests/test-chown.c: Likewise.
17752         * tests/test-cloexec.c: Likewise.
17753         * tests/test-copy-acl.c: Likewise.
17754         * tests/test-copy-file.c: Likewise.
17755         * tests/test-count-one-bits.c: Likewise.
17756         * tests/test-dprintf-posix.c: Likewise.
17757         * tests/test-dup2.c: Likewise.
17758         * tests/test-dup3.c: Likewise.
17759         * tests/test-duplocale.c: Likewise.
17760         * tests/test-fbufmode.c: Likewise.
17761         * tests/test-fchdir.c: Likewise.
17762         * tests/test-fchownat.c: Likewise.
17763         * tests/test-fcntl-safer.c: Likewise.
17764         * tests/test-fcntl.c: Likewise.
17765         * tests/test-fdopendir.c: Likewise.
17766         * tests/test-fdutimensat.c: Likewise.
17767         * tests/test-fflush2.c: Likewise.
17768         * tests/test-file-has-acl.c: Likewise.
17769         * tests/test-filevercmp.c: Likewise.
17770         * tests/test-flock.c: Likewise.
17771         * tests/test-floorf1.c: Likewise.
17772         * tests/test-floorf2.c: Likewise.
17773         * tests/test-floorl.c: Likewise.
17774         * tests/test-fnmatch.c: Likewise.
17775         * tests/test-fopen.h: Likewise.
17776         * tests/test-fpending.c: Likewise.
17777         * tests/test-fprintf-posix.c: Likewise.
17778         * tests/test-fpurge.c: Likewise.
17779         * tests/test-freadable.c: Likewise.
17780         * tests/test-freadahead.c: Likewise.
17781         * tests/test-freading.c: Likewise.
17782         * tests/test-freadptr.c: Likewise.
17783         * tests/test-freadptr2.c: Likewise.
17784         * tests/test-freadseek.c: Likewise.
17785         * tests/test-freopen.c: Likewise.
17786         * tests/test-frexp.c: Likewise.
17787         * tests/test-frexpl.c: Likewise.
17788         * tests/test-fseek.c: Likewise.
17789         * tests/test-fseeko.c: Likewise.
17790         * tests/test-fstatat.c: Likewise.
17791         * tests/test-fstrcmp.c: Likewise.
17792         * tests/test-fsync.c: Likewise.
17793         * tests/test-ftell.c: Likewise.
17794         * tests/test-ftello.c: Likewise.
17795         * tests/test-func.c: Likewise.
17796         * tests/test-futimens.c: Likewise.
17797         * tests/test-fwritable.c: Likewise.
17798         * tests/test-fwriting.c: Likewise.
17799         * tests/test-getcwd.c: Likewise.
17800         * tests/test-getdate.c: Likewise.
17801         * tests/test-getdelim.c: Likewise.
17802         * tests/test-getdtablesize.c: Likewise.
17803         * tests/test-getgroups.c: Likewise.
17804         * tests/test-getline.c: Likewise.
17805         * tests/test-getndelim2.c: Likewise.
17806         * tests/test-glob.c: Likewise.
17807         * tests/test-hash.c: Likewise.
17808         * tests/test-i-ring.c: Likewise.
17809         * tests/test-iconv-utf.c: Likewise.
17810         * tests/test-iconv.c: Likewise.
17811         * tests/test-idpriv-drop.c: Likewise.
17812         * tests/test-idpriv-droptemp.c: Likewise.
17813         * tests/test-inet_ntop.c: Likewise.
17814         * tests/test-inet_pton.c: Likewise.
17815         * tests/test-isblank.c: Likewise.
17816         * tests/test-isfinite.c: Likewise.
17817         * tests/test-isinf.c: Likewise.
17818         * tests/test-isnan.c: Likewise.
17819         * tests/test-isnand.h: Likewise.
17820         * tests/test-isnanf.h: Likewise.
17821         * tests/test-isnanl.h: Likewise.
17822         * tests/test-lchown.c: Likewise.
17823         * tests/test-ldexpl.c: Likewise.
17824         * tests/test-link.c: Likewise.
17825         * tests/test-linkat.c: Likewise.
17826         * tests/test-linked_list.c: Likewise.
17827         * tests/test-linkedhash_list.c: Likewise.
17828         * tests/test-localename.c: Likewise.
17829         * tests/test-lseek.c: Likewise.
17830         * tests/test-lstat.c: Likewise.
17831         * tests/test-mbmemcasecmp.c: Likewise.
17832         * tests/test-mbmemcasecoll.c: Likewise.
17833         * tests/test-mbrtowc.c: Likewise.
17834         * tests/test-mbscasecmp.c: Likewise.
17835         * tests/test-mbscasestr1.c: Likewise.
17836         * tests/test-mbscasestr2.c: Likewise.
17837         * tests/test-mbscasestr3.c: Likewise.
17838         * tests/test-mbscasestr4.c: Likewise.
17839         * tests/test-mbschr.c: Likewise.
17840         * tests/test-mbscspn.c: Likewise.
17841         * tests/test-mbsinit.c: Likewise.
17842         * tests/test-mbsncasecmp.c: Likewise.
17843         * tests/test-mbsnrtowcs.c: Likewise.
17844         * tests/test-mbspbrk.c: Likewise.
17845         * tests/test-mbspcasecmp.c: Likewise.
17846         * tests/test-mbsrchr.c: Likewise.
17847         * tests/test-mbsrtowcs.c: Likewise.
17848         * tests/test-mbsspn.c: Likewise.
17849         * tests/test-mbsstr1.c: Likewise.
17850         * tests/test-mbsstr2.c: Likewise.
17851         * tests/test-mbsstr3.c: Likewise.
17852         * tests/test-memchr.c: Likewise.
17853         * tests/test-memchr2.c: Likewise.
17854         * tests/test-memcmp.c: Likewise.
17855         * tests/test-memmem.c: Likewise.
17856         * tests/test-memrchr.c: Likewise.
17857         * tests/test-mkdir.c: Likewise.
17858         * tests/test-mkdirat.c: Likewise.
17859         * tests/test-mkfifo.c: Likewise.
17860         * tests/test-mkfifoat.c: Likewise.
17861         * tests/test-mknod.c: Likewise.
17862         * tests/test-nanosleep.c: Likewise.
17863         * tests/test-nl_langinfo.c: Likewise.
17864         * tests/test-obstack-printf.c: Likewise.
17865         * tests/test-open.c: Likewise.
17866         * tests/test-openat.c: Likewise.
17867         * tests/test-pipe-filter-gi1.c: Likewise.
17868         * tests/test-pipe-filter-gi2-main.c: Likewise.
17869         * tests/test-pipe-filter-ii1.c: Likewise.
17870         * tests/test-pipe-filter-ii2-main.c: Likewise.
17871         * tests/test-pipe2.c: Likewise.
17872         * tests/test-popen.h: Likewise.
17873         * tests/test-posixtm.c: Likewise.
17874         * tests/test-pread.c: Likewise.
17875         * tests/test-printf-frexp.c: Likewise.
17876         * tests/test-printf-frexpl.c: Likewise.
17877         * tests/test-printf-posix.c: Likewise.
17878         * tests/test-priv-set.c: Likewise.
17879         * tests/test-quotearg.c: Likewise.
17880         * tests/test-random_r.c: Likewise.
17881         * tests/test-rawmemchr.c: Likewise.
17882         * tests/test-rbtree_list.c: Likewise.
17883         * tests/test-rbtree_oset.c: Likewise.
17884         * tests/test-rbtreehash_list.c: Likewise.
17885         * tests/test-readlink.c: Likewise.
17886         * tests/test-remove.c: Likewise.
17887         * tests/test-rename.c: Likewise.
17888         * tests/test-renameat.c: Likewise.
17889         * tests/test-rmdir.c: Likewise.
17890         * tests/test-round1.c: Likewise.
17891         * tests/test-roundf1.c: Likewise.
17892         * tests/test-roundl.c: Likewise.
17893         * tests/test-safe-alloc.c: Likewise.
17894         * tests/test-sameacls.c: Likewise.
17895         * tests/test-set-mode-acl.c: Likewise.
17896         * tests/test-setenv.c: Likewise.
17897         * tests/test-sigaction.c: Likewise.
17898         * tests/test-signbit.c: Likewise.
17899         * tests/test-sleep.c: Likewise.
17900         * tests/test-snprintf-posix.c: Likewise.
17901         * tests/test-snprintf.c: Likewise.
17902         * tests/test-sprintf-posix.c: Likewise.
17903         * tests/test-stat-time.c: Likewise.
17904         * tests/test-stat.c: Likewise.
17905         * tests/test-strcasestr.c: Likewise.
17906         * tests/test-strchrnul.c: Likewise.
17907         * tests/test-strerror.c: Likewise.
17908         * tests/test-striconv.c: Likewise.
17909         * tests/test-striconveh.c: Likewise.
17910         * tests/test-striconveha.c: Likewise.
17911         * tests/test-strsignal.c: Likewise.
17912         * tests/test-strstr.c: Likewise.
17913         * tests/test-strtod.c: Likewise.
17914         * tests/test-strverscmp.c: Likewise.
17915         * tests/test-symlink.c: Likewise.
17916         * tests/test-symlinkat.c: Likewise.
17917         * tests/test-trunc1.c: Likewise.
17918         * tests/test-trunc2.c: Likewise.
17919         * tests/test-truncf1.c: Likewise.
17920         * tests/test-truncf2.c: Likewise.
17921         * tests/test-truncl.c: Likewise.
17922         * tests/test-uname.c: Likewise.
17923         * tests/test-unlink.c: Likewise.
17924         * tests/test-unlinkat.c: Likewise.
17925         * tests/test-unsetenv.c: Likewise.
17926         * tests/test-usleep.c: Likewise.
17927         * tests/test-utimens.c: Likewise.
17928         * tests/test-utimensat.c: Likewise.
17929         * tests/test-vasnprintf-posix.c: Likewise.
17930         * tests/test-vasnprintf-posix2.c: Likewise.
17931         * tests/test-vasnprintf.c: Likewise.
17932         * tests/test-vasprintf-posix.c: Likewise.
17933         * tests/test-vasprintf.c: Likewise.
17934         * tests/test-vdprintf-posix.c: Likewise.
17935         * tests/test-vfprintf-posix.c: Likewise.
17936         * tests/test-vprintf-posix.c: Likewise.
17937         * tests/test-vsnprintf-posix.c: Likewise.
17938         * tests/test-vsnprintf.c: Likewise.
17939         * tests/test-vsprintf-posix.c: Likewise.
17940         * tests/test-wcrtomb.c: Likewise.
17941         * tests/test-wcsnrtombs.c: Likewise.
17942         * tests/test-wcsrtombs.c: Likewise.
17943         * tests/test-wctype.c: Likewise.
17944         * tests/test-wcwidth.c: Likewise.
17945         * tests/test-xfprintf-posix.c: Likewise.
17946         * tests/test-xmemdup0.c: Likewise.
17947         * tests/test-xprintf-posix.c: Likewise.
17948         * tests/test-xvasprintf.c: Likewise.
17949         * tests/unicase/test-locale-language.c: Likewise.
17950         * tests/unicase/test-mapping-part1.h: Likewise.
17951         * tests/unicase/test-predicate-part1.h: Likewise.
17952         * tests/unicase/test-u8-casecmp.c: Likewise.
17953         * tests/unicase/test-u8-casecoll.c: Likewise.
17954         * tests/unicase/test-u8-casefold.c: Likewise.
17955         * tests/unicase/test-u8-is-cased.c: Likewise.
17956         * tests/unicase/test-u8-is-casefolded.c: Likewise.
17957         * tests/unicase/test-u8-is-lowercase.c: Likewise.
17958         * tests/unicase/test-u8-is-titlecase.c: Likewise.
17959         * tests/unicase/test-u8-is-uppercase.c: Likewise.
17960         * tests/unicase/test-u8-tolower.c: Likewise.
17961         * tests/unicase/test-u8-totitle.c: Likewise.
17962         * tests/unicase/test-u8-toupper.c: Likewise.
17963         * tests/unicase/test-u16-casecmp.c: Likewise.
17964         * tests/unicase/test-u16-casecoll.c: Likewise.
17965         * tests/unicase/test-u16-casefold.c: Likewise.
17966         * tests/unicase/test-u16-is-cased.c: Likewise.
17967         * tests/unicase/test-u16-is-casefolded.c: Likewise.
17968         * tests/unicase/test-u16-is-lowercase.c: Likewise.
17969         * tests/unicase/test-u16-is-titlecase.c: Likewise.
17970         * tests/unicase/test-u16-is-uppercase.c: Likewise.
17971         * tests/unicase/test-u16-tolower.c: Likewise.
17972         * tests/unicase/test-u16-totitle.c: Likewise.
17973         * tests/unicase/test-u16-toupper.c: Likewise.
17974         * tests/unicase/test-u32-casecmp.c: Likewise.
17975         * tests/unicase/test-u32-casecoll.c: Likewise.
17976         * tests/unicase/test-u32-casefold.c: Likewise.
17977         * tests/unicase/test-u32-is-cased.c: Likewise.
17978         * tests/unicase/test-u32-is-casefolded.c: Likewise.
17979         * tests/unicase/test-u32-is-lowercase.c: Likewise.
17980         * tests/unicase/test-u32-is-titlecase.c: Likewise.
17981         * tests/unicase/test-u32-is-uppercase.c: Likewise.
17982         * tests/unicase/test-u32-tolower.c: Likewise.
17983         * tests/unicase/test-u32-totitle.c: Likewise.
17984         * tests/unicase/test-u32-toupper.c: Likewise.
17985         * tests/unicase/test-ulc-casecmp.c: Likewise.
17986         * tests/unicase/test-ulc-casecoll.c: Likewise.
17987         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
17988         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
17989         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
17990         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
17991         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
17992         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
17993         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
17994         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
17995         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
17996         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
17997         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
17998         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
17999         * tests/unictype/test-bidi_byname.c: Likewise.
18000         * tests/unictype/test-bidi_name.c: Likewise.
18001         * tests/unictype/test-bidi_of.c: Likewise.
18002         * tests/unictype/test-bidi_test.c: Likewise.
18003         * tests/unictype/test-block_list.c: Likewise.
18004         * tests/unictype/test-block_of.c: Likewise.
18005         * tests/unictype/test-block_test.c: Likewise.
18006         * tests/unictype/test-categ_and.c: Likewise.
18007         * tests/unictype/test-categ_and_not.c: Likewise.
18008         * tests/unictype/test-categ_byname.c: Likewise.
18009         * tests/unictype/test-categ_name.c: Likewise.
18010         * tests/unictype/test-categ_none.c: Likewise.
18011         * tests/unictype/test-categ_of.c: Likewise.
18012         * tests/unictype/test-categ_or.c: Likewise.
18013         * tests/unictype/test-categ_test_withtable.c: Likewise.
18014         * tests/unictype/test-combining.c: Likewise.
18015         * tests/unictype/test-decdigit.c: Likewise.
18016         * tests/unictype/test-digit.c: Likewise.
18017         * tests/unictype/test-mirror.c: Likewise.
18018         * tests/unictype/test-numeric.c: Likewise.
18019         * tests/unictype/test-pr_byname.c: Likewise.
18020         * tests/unictype/test-pr_test.c: Likewise.
18021         * tests/unictype/test-predicate-part1.h: Likewise.
18022         * tests/unictype/test-scripts.c: Likewise.
18023         * tests/unictype/test-sy_c_ident.c: Likewise.
18024         * tests/unictype/test-sy_java_ident.c: Likewise.
18025         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
18026         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
18027         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
18028         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
18029         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
18030         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
18031         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
18032         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
18033         * tests/uninorm/test-canonical-decomposition.c: Likewise.
18034         * tests/uninorm/test-compat-decomposition.c: Likewise.
18035         * tests/uninorm/test-composition.c: Likewise.
18036         * tests/uninorm/test-decomposing-form.c: Likewise.
18037         * tests/uninorm/test-decomposition.c: Likewise.
18038         * tests/uninorm/test-u8-nfc.c: Likewise.
18039         * tests/uninorm/test-u8-nfd.c: Likewise.
18040         * tests/uninorm/test-u8-nfkc.c: Likewise.
18041         * tests/uninorm/test-u8-nfkd.c: Likewise.
18042         * tests/uninorm/test-u8-normcmp.c: Likewise.
18043         * tests/uninorm/test-u8-normcoll.c: Likewise.
18044         * tests/uninorm/test-u16-nfc.c: Likewise.
18045         * tests/uninorm/test-u16-nfd.c: Likewise.
18046         * tests/uninorm/test-u16-nfkc.c: Likewise.
18047         * tests/uninorm/test-u16-nfkd.c: Likewise.
18048         * tests/uninorm/test-u16-normcmp.c: Likewise.
18049         * tests/uninorm/test-u16-normcoll.c: Likewise.
18050         * tests/uninorm/test-u32-nfc.c: Likewise.
18051         * tests/uninorm/test-u32-nfd.c: Likewise.
18052         * tests/uninorm/test-u32-nfkc.c: Likewise.
18053         * tests/uninorm/test-u32-nfkd.c: Likewise.
18054         * tests/uninorm/test-u32-normalize-big.c: Likewise.
18055         * tests/uninorm/test-u32-normcmp.c: Likewise.
18056         * tests/uninorm/test-u32-normcoll.c: Likewise.
18057         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
18058         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
18059         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
18060         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
18061         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
18062         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
18063         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
18064         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
18065         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
18066         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
18067         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
18068         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
18069         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
18070         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
18071         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
18072         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
18073         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
18074         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
18075         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
18076         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
18077         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
18078         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
18079         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
18080         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
18081         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
18082         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
18083         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
18084         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
18085         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
18086         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
18087         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
18088         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
18089         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
18090         * tests/uniwidth/test-u8-strwidth.c: Likewise.
18091         * tests/uniwidth/test-u8-width.c: Likewise.
18092         * tests/uniwidth/test-u16-strwidth.c: Likewise.
18093         * tests/uniwidth/test-u16-width.c: Likewise.
18094         * tests/uniwidth/test-u32-strwidth.c: Likewise.
18095         * tests/uniwidth/test-u32-width.c: Likewise.
18096         * tests/uniwidth/test-uc_width.c: Likewise.
18097         * tests/uniwidth/test-uc_width2.c: Likewise.
18098         * modules/acl-tests (Files): Add tests/macros.h.
18099         * modules/areadlink-tests (Files): Likewise.
18100         * modules/areadlink-with-size-tests (Files): Likewise.
18101         * modules/areadlinkat-tests (Files): Likewise.
18102         * modules/areadlinkat-with-size-tests (Files): Likewise.
18103         * modules/argmatch-tests (Files): Likewise.
18104         * modules/argv-iter-tests (Files): Likewise.
18105         * modules/array-list-tests (Files): Likewise.
18106         * modules/array-mergesort-tests (Files): Likewise.
18107         * modules/array-oset-tests (Files): Likewise.
18108         * modules/avltree-list-tests (Files): Likewise.
18109         * modules/avltree-oset-tests (Files): Likewise.
18110         * modules/avltreehash-list-tests (Files): Likewise.
18111         * modules/base64-tests (Files): Likewise.
18112         * modules/binary-io-tests (Files): Likewise.
18113         * modules/bitrotate-tests (Files): Likewise.
18114         * modules/btowc-tests (Files): Likewise.
18115         * modules/byteswap-tests (Files): Likewise.
18116         * modules/c-ctype-tests (Files): Likewise.
18117         * modules/c-stack-tests (Files): Likewise.
18118         * modules/c-strcase-tests (Files): Likewise.
18119         * modules/c-strcasestr-tests (Files): Likewise.
18120         * modules/c-strstr-tests (Files): Likewise.
18121         * modules/canonicalize-lgpl-tests (Files): Likewise.
18122         * modules/canonicalize-tests (Files): Likewise.
18123         * modules/carray-list-tests (Files): Likewise.
18124         * modules/ceilf-tests (Files): Likewise.
18125         * modules/ceill-tests (Files): Likewise.
18126         * modules/chown-tests (Files): Likewise.
18127         * modules/cloexec-tests (Files): Likewise.
18128         * modules/copy-file-tests (Files): Likewise.
18129         * modules/count-one-bits-tests (Files): Likewise.
18130         * modules/dprintf-posix-tests (Files): Likewise.
18131         * modules/dup2-tests (Files): Likewise.
18132         * modules/dup3-tests (Files): Likewise.
18133         * modules/duplocale-tests (Files): Likewise.
18134         * modules/fbufmode-tests (Files): Likewise.
18135         * modules/fchdir-tests (Files): Likewise.
18136         * modules/fcntl-safer-tests (Files): Likewise.
18137         * modules/fcntl-tests (Files): Likewise.
18138         * modules/fdopendir-tests (Files): Likewise.
18139         * modules/fdutimensat-tests (Files): Likewise.
18140         * modules/fflush-tests (Files): Likewise.
18141         * modules/filevercmp-tests (Files): Likewise.
18142         * modules/flock-tests (Files): Likewise.
18143         * modules/floorf-tests (Files): Likewise.
18144         * modules/floorl-tests (Files): Likewise.
18145         * modules/fnmatch-tests (Files): Likewise.
18146         * modules/fopen-safer-tests (Files): Likewise.
18147         * modules/fopen-tests (Files): Likewise.
18148         * modules/fpending-tests (Files): Likewise.
18149         * modules/fprintf-posix-tests (Files): Likewise.
18150         * modules/fpurge-tests (Files): Likewise.
18151         * modules/freadable-tests (Files): Likewise.
18152         * modules/freadahead-tests (Files): Likewise.
18153         * modules/freading-tests (Files): Likewise.
18154         * modules/freadptr-tests (Files): Likewise.
18155         * modules/freadseek-tests (Files): Likewise.
18156         * modules/freopen-tests (Files): Likewise.
18157         * modules/frexp-nolibm-tests (Files): Likewise.
18158         * modules/frexp-tests (Files): Likewise.
18159         * modules/frexpl-nolibm-tests (Files): Likewise.
18160         * modules/frexpl-tests (Files): Likewise.
18161         * modules/fseek-tests (Files): Likewise.
18162         * modules/fseeko-tests (Files): Likewise.
18163         * modules/fstrcmp-tests (Files): Likewise.
18164         * modules/fsync-tests (Files): Likewise.
18165         * modules/ftell-tests (Files): Likewise.
18166         * modules/ftello-tests (Files): Likewise.
18167         * modules/func-tests (Files): Likewise.
18168         * modules/futimens-tests (Files): Likewise.
18169         * modules/fwritable-tests (Files): Likewise.
18170         * modules/fwriting-tests (Files): Likewise.
18171         * modules/getcwd-tests (Files): Likewise.
18172         * modules/getdate-tests (Files): Likewise.
18173         * modules/getdelim-tests (Files): Likewise.
18174         * modules/getdtablesize-tests (Files): Likewise.
18175         * modules/getgroups-tests (Files): Likewise.
18176         * modules/getline-tests (Files): Likewise.
18177         * modules/getndelim2-tests (Files): Likewise.
18178         * modules/glob-tests (Files): Likewise.
18179         * modules/hash-tests (Files): Likewise.
18180         * modules/i-ring-tests (Files): Likewise.
18181         * modules/iconv-tests (Files): Likewise.
18182         * modules/iconv_open-utf-tests (Files): Likewise.
18183         * modules/idpriv-drop-tests (Files): Likewise.
18184         * modules/idpriv-droptemp-tests (Files): Likewise.
18185         * modules/inet_ntop-tests (Files): Likewise.
18186         * modules/inet_pton-tests (Files): Likewise.
18187         * modules/isblank-tests (Files): Likewise.
18188         * modules/isfinite-tests (Files): Likewise.
18189         * modules/isinf-tests (Files): Likewise.
18190         * modules/isnan-tests (Files): Likewise.
18191         * modules/isnand-nolibm-tests (Files): Likewise.
18192         * modules/isnand-tests (Files): Likewise.
18193         * modules/isnanf-nolibm-tests (Files): Likewise.
18194         * modules/isnanf-tests (Files): Likewise.
18195         * modules/isnanl-nolibm-tests (Files): Likewise.
18196         * modules/isnanl-tests (Files): Likewise.
18197         * modules/lchown-tests (Files): Likewise.
18198         * modules/ldexpl-tests (Files): Likewise.
18199         * modules/link-tests (Files): Likewise.
18200         * modules/linkat-tests (Files): Likewise.
18201         * modules/linked-list-tests (Files): Likewise.
18202         * modules/linkedhash-list-tests (Files): Likewise.
18203         * modules/localename-tests (Files): Likewise.
18204         * modules/lseek-tests (Files): Likewise.
18205         * modules/lstat-tests (Files): Likewise.
18206         * modules/mbmemcasecmp-tests (Files): Likewise.
18207         * modules/mbmemcasecoll-tests (Files): Likewise.
18208         * modules/mbrtowc-tests (Files): Likewise.
18209         * modules/mbscasecmp-tests (Files): Likewise.
18210         * modules/mbscasestr-tests (Files): Likewise.
18211         * modules/mbschr-tests (Files): Likewise.
18212         * modules/mbscspn-tests (Files): Likewise.
18213         * modules/mbsinit-tests (Files): Likewise.
18214         * modules/mbsncasecmp-tests (Files): Likewise.
18215         * modules/mbsnrtowcs-tests (Files): Likewise.
18216         * modules/mbspbrk-tests (Files): Likewise.
18217         * modules/mbspcasecmp-tests (Files): Likewise.
18218         * modules/mbsrchr-tests (Files): Likewise.
18219         * modules/mbsrtowcs-tests (Files): Likewise.
18220         * modules/mbsspn-tests (Files): Likewise.
18221         * modules/mbsstr-tests (Files): Likewise.
18222         * modules/memchr-tests (Files): Likewise.
18223         * modules/memchr2-tests (Files): Likewise.
18224         * modules/memcmp-tests (Files): Likewise.
18225         * modules/memmem-tests (Files): Likewise.
18226         * modules/memrchr-tests (Files): Likewise.
18227         * modules/mkdir-tests (Files): Likewise.
18228         * modules/mkfifo-tests (Files): Likewise.
18229         * modules/mkfifoat-tests (Files): Likewise.
18230         * modules/mknod-tests (Files): Likewise.
18231         * modules/nanosleep-tests (Files): Likewise.
18232         * modules/nl_langinfo-tests (Files): Likewise.
18233         * modules/obstack-printf-tests (Files): Likewise.
18234         * modules/open-tests (Files): Likewise.
18235         * modules/openat-tests (Files): Likewise.
18236         * modules/pipe-filter-gi-tests (Files): Likewise.
18237         * modules/pipe-filter-ii-tests (Files): Likewise.
18238         * modules/pipe2-tests (Files): Likewise.
18239         * modules/popen-safer-tests (Files): Likewise.
18240         * modules/popen-tests (Files): Likewise.
18241         * modules/posixtm-tests (Files): Likewise.
18242         * modules/pread-tests (Files): Likewise.
18243         * modules/printf-frexp-tests (Files): Likewise.
18244         * modules/printf-frexpl-tests (Files): Likewise.
18245         * modules/printf-posix-tests (Files): Likewise.
18246         * modules/priv-set-tests (Files): Likewise.
18247         * modules/quotearg-tests (Files): Likewise.
18248         * modules/random_r-tests (Files): Likewise.
18249         * modules/rawmemchr-tests (Files): Likewise.
18250         * modules/rbtree-list-tests (Files): Likewise.
18251         * modules/rbtree-oset-tests (Files): Likewise.
18252         * modules/rbtreehash-list-tests (Files): Likewise.
18253         * modules/readlink-tests (Files): Likewise.
18254         * modules/remove-tests (Files): Likewise.
18255         * modules/rename-tests (Files): Likewise.
18256         * modules/renameat-tests (Files): Likewise.
18257         * modules/rmdir-tests (Files): Likewise.
18258         * modules/round-tests (Files): Likewise.
18259         * modules/roundf-tests (Files): Likewise.
18260         * modules/roundl-tests (Files): Likewise.
18261         * modules/safe-alloc-tests (Files): Likewise.
18262         * modules/setenv-tests (Files): Likewise.
18263         * modules/sigaction-tests (Files): Likewise.
18264         * modules/signbit-tests (Files): Likewise.
18265         * modules/sleep-tests (Files): Likewise.
18266         * modules/snprintf-posix-tests (Files): Likewise.
18267         * modules/snprintf-tests (Files): Likewise.
18268         * modules/sprintf-posix-tests (Files): Likewise.
18269         * modules/stat-tests (Files): Likewise.
18270         * modules/stat-time-tests (Files): Likewise.
18271         * modules/strcasestr-tests (Files): Likewise.
18272         * modules/strchrnul-tests (Files): Likewise.
18273         * modules/strerror-tests (Files): Likewise.
18274         * modules/striconv-tests (Files): Likewise.
18275         * modules/striconveh-tests (Files): Likewise.
18276         * modules/striconveha-tests (Files): Likewise.
18277         * modules/strsignal-tests (Files): Likewise.
18278         * modules/strstr-tests (Files): Likewise.
18279         * modules/strtod-tests (Files): Likewise.
18280         * modules/strverscmp-tests (Files): Likewise.
18281         * modules/symlink-tests (Files): Likewise.
18282         * modules/symlinkat-tests (Files): Likewise.
18283         * modules/trunc-tests (Files): Likewise.
18284         * modules/truncf-tests (Files): Likewise.
18285         * modules/truncl-tests (Files): Likewise.
18286         * modules/uname-tests (Files): Likewise.
18287         * modules/unicase/cased-tests (Files): Likewise.
18288         * modules/unicase/ignorable-tests (Files): Likewise.
18289         * modules/unicase/locale-language-tests (Files): Likewise.
18290         * modules/unicase/tolower-tests (Files): Likewise.
18291         * modules/unicase/totitle-tests (Files): Likewise.
18292         * modules/unicase/toupper-tests (Files): Likewise.
18293         * modules/unicase/u8-casecmp-tests (Files): Likewise.
18294         * modules/unicase/u8-casecoll-tests (Files): Likewise.
18295         * modules/unicase/u8-casefold-tests (Files): Likewise.
18296         * modules/unicase/u8-is-cased-tests (Files): Likewise.
18297         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
18298         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
18299         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
18300         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
18301         * modules/unicase/u8-tolower-tests (Files): Likewise.
18302         * modules/unicase/u8-totitle-tests (Files): Likewise.
18303         * modules/unicase/u8-toupper-tests (Files): Likewise.
18304         * modules/unicase/u16-casecmp-tests (Files): Likewise.
18305         * modules/unicase/u16-casecoll-tests (Files): Likewise.
18306         * modules/unicase/u16-casefold-tests (Files): Likewise.
18307         * modules/unicase/u16-is-cased-tests (Files): Likewise.
18308         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
18309         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
18310         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
18311         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
18312         * modules/unicase/u16-tolower-tests (Files): Likewise.
18313         * modules/unicase/u16-totitle-tests (Files): Likewise.
18314         * modules/unicase/u16-toupper-tests (Files): Likewise.
18315         * modules/unicase/u32-casecmp-tests (Files): Likewise.
18316         * modules/unicase/u32-casecoll-tests (Files): Likewise.
18317         * modules/unicase/u32-casefold-tests (Files): Likewise.
18318         * modules/unicase/u32-is-cased-tests (Files): Likewise.
18319         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
18320         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
18321         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
18322         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
18323         * modules/unicase/u32-tolower-tests (Files): Likewise.
18324         * modules/unicase/u32-totitle-tests (Files): Likewise.
18325         * modules/unicase/u32-toupper-tests (Files): Likewise.
18326         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
18327         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
18328         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
18329         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
18330         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
18331         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
18332         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
18333         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
18334         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
18335         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
18336         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
18337         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
18338         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
18339         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
18340         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
18341         * modules/unictype/bidicategory-name-tests (Files): Likewise.
18342         * modules/unictype/bidicategory-of-tests (Files): Likewise.
18343         * modules/unictype/bidicategory-test-tests (Files): Likewise.
18344         * modules/unictype/block-list-tests (Files): Likewise.
18345         * modules/unictype/block-of-tests (Files): Likewise.
18346         * modules/unictype/block-test-tests (Files): Likewise.
18347         * modules/unictype/category-C-tests (Files): Likewise.
18348         * modules/unictype/category-Cc-tests (Files): Likewise.
18349         * modules/unictype/category-Cf-tests (Files): Likewise.
18350         * modules/unictype/category-Cn-tests (Files): Likewise.
18351         * modules/unictype/category-Co-tests (Files): Likewise.
18352         * modules/unictype/category-Cs-tests (Files): Likewise.
18353         * modules/unictype/category-L-tests (Files): Likewise.
18354         * modules/unictype/category-Ll-tests (Files): Likewise.
18355         * modules/unictype/category-Lm-tests (Files): Likewise.
18356         * modules/unictype/category-Lo-tests (Files): Likewise.
18357         * modules/unictype/category-Lt-tests (Files): Likewise.
18358         * modules/unictype/category-Lu-tests (Files): Likewise.
18359         * modules/unictype/category-M-tests (Files): Likewise.
18360         * modules/unictype/category-Mc-tests (Files): Likewise.
18361         * modules/unictype/category-Me-tests (Files): Likewise.
18362         * modules/unictype/category-Mn-tests (Files): Likewise.
18363         * modules/unictype/category-N-tests (Files): Likewise.
18364         * modules/unictype/category-Nd-tests (Files): Likewise.
18365         * modules/unictype/category-Nl-tests (Files): Likewise.
18366         * modules/unictype/category-No-tests (Files): Likewise.
18367         * modules/unictype/category-P-tests (Files): Likewise.
18368         * modules/unictype/category-Pc-tests (Files): Likewise.
18369         * modules/unictype/category-Pd-tests (Files): Likewise.
18370         * modules/unictype/category-Pe-tests (Files): Likewise.
18371         * modules/unictype/category-Pf-tests (Files): Likewise.
18372         * modules/unictype/category-Pi-tests (Files): Likewise.
18373         * modules/unictype/category-Po-tests (Files): Likewise.
18374         * modules/unictype/category-Ps-tests (Files): Likewise.
18375         * modules/unictype/category-S-tests (Files): Likewise.
18376         * modules/unictype/category-Sc-tests (Files): Likewise.
18377         * modules/unictype/category-Sk-tests (Files): Likewise.
18378         * modules/unictype/category-Sm-tests (Files): Likewise.
18379         * modules/unictype/category-So-tests (Files): Likewise.
18380         * modules/unictype/category-Z-tests (Files): Likewise.
18381         * modules/unictype/category-Zl-tests (Files): Likewise.
18382         * modules/unictype/category-Zp-tests (Files): Likewise.
18383         * modules/unictype/category-Zs-tests (Files): Likewise.
18384         * modules/unictype/category-and-not-tests (Files): Likewise.
18385         * modules/unictype/category-and-tests (Files): Likewise.
18386         * modules/unictype/category-byname-tests (Files): Likewise.
18387         * modules/unictype/category-name-tests (Files): Likewise.
18388         * modules/unictype/category-none-tests (Files): Likewise.
18389         * modules/unictype/category-of-tests (Files): Likewise.
18390         * modules/unictype/category-or-tests (Files): Likewise.
18391         * modules/unictype/category-test-withtable-tests (Files): Likewise.
18392         * modules/unictype/combining-class-tests (Files): Likewise.
18393         * modules/unictype/ctype-alnum-tests (Files): Likewise.
18394         * modules/unictype/ctype-alpha-tests (Files): Likewise.
18395         * modules/unictype/ctype-blank-tests (Files): Likewise.
18396         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
18397         * modules/unictype/ctype-digit-tests (Files): Likewise.
18398         * modules/unictype/ctype-graph-tests (Files): Likewise.
18399         * modules/unictype/ctype-lower-tests (Files): Likewise.
18400         * modules/unictype/ctype-print-tests (Files): Likewise.
18401         * modules/unictype/ctype-punct-tests (Files): Likewise.
18402         * modules/unictype/ctype-space-tests (Files): Likewise.
18403         * modules/unictype/ctype-upper-tests (Files): Likewise.
18404         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
18405         * modules/unictype/decimal-digit-tests (Files): Likewise.
18406         * modules/unictype/digit-tests (Files): Likewise.
18407         * modules/unictype/mirror-tests (Files): Likewise.
18408         * modules/unictype/numeric-tests (Files): Likewise.
18409         * modules/unictype/property-alphabetic-tests (Files): Likewise.
18410         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
18411         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
18412         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
18413         Likewise.
18414         * modules/unictype/property-bidi-block-separator-tests (Files):
18415         Likewise.
18416         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
18417         Likewise.
18418         * modules/unictype/property-bidi-common-separator-tests (Files):
18419         Likewise.
18420         * modules/unictype/property-bidi-control-tests (Files): Likewise.
18421         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
18422         Likewise.
18423         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
18424         Likewise.
18425         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
18426         Likewise.
18427         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
18428         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
18429         Likewise.
18430         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
18431         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
18432         Likewise.
18433         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
18434         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
18435         * modules/unictype/property-bidi-segment-separator-tests (Files):
18436         Likewise.
18437         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
18438         * modules/unictype/property-byname-tests (Files): Likewise.
18439         * modules/unictype/property-combining-tests (Files): Likewise.
18440         * modules/unictype/property-composite-tests (Files): Likewise.
18441         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
18442         * modules/unictype/property-dash-tests (Files): Likewise.
18443         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
18444         * modules/unictype/property-default-ignorable-code-point-tests (Files):
18445         Likewise.
18446         * modules/unictype/property-deprecated-tests (Files): Likewise.
18447         * modules/unictype/property-diacritic-tests (Files): Likewise.
18448         * modules/unictype/property-extender-tests (Files): Likewise.
18449         * modules/unictype/property-format-control-tests (Files): Likewise.
18450         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
18451         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
18452         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
18453         * modules/unictype/property-hex-digit-tests (Files): Likewise.
18454         * modules/unictype/property-hyphen-tests (Files): Likewise.
18455         * modules/unictype/property-id-continue-tests (Files): Likewise.
18456         * modules/unictype/property-id-start-tests (Files): Likewise.
18457         * modules/unictype/property-ideographic-tests (Files): Likewise.
18458         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
18459         * modules/unictype/property-ids-trinary-operator-tests (Files):
18460         Likewise.
18461         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
18462         * modules/unictype/property-iso-control-tests (Files): Likewise.
18463         * modules/unictype/property-join-control-tests (Files): Likewise.
18464         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
18465         * modules/unictype/property-line-separator-tests (Files): Likewise.
18466         * modules/unictype/property-logical-order-exception-tests (Files):
18467         Likewise.
18468         * modules/unictype/property-lowercase-tests (Files): Likewise.
18469         * modules/unictype/property-math-tests (Files): Likewise.
18470         * modules/unictype/property-non-break-tests (Files): Likewise.
18471         * modules/unictype/property-not-a-character-tests (Files): Likewise.
18472         * modules/unictype/property-numeric-tests (Files): Likewise.
18473         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
18474         * modules/unictype/property-other-default-ignorable-code-point-tests
18475         (Files): Likewise.
18476         * modules/unictype/property-other-grapheme-extend-tests (Files):
18477         Likewise.
18478         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
18479         * modules/unictype/property-other-id-start-tests (Files): Likewise.
18480         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
18481         * modules/unictype/property-other-math-tests (Files): Likewise.
18482         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
18483         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
18484         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
18485         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
18486         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
18487         * modules/unictype/property-private-use-tests (Files): Likewise.
18488         * modules/unictype/property-punctuation-tests (Files): Likewise.
18489         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
18490         * modules/unictype/property-radical-tests (Files): Likewise.
18491         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
18492         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
18493         * modules/unictype/property-space-tests (Files): Likewise.
18494         * modules/unictype/property-terminal-punctuation-tests (Files):
18495         Likewise.
18496         * modules/unictype/property-test-tests (Files): Likewise.
18497         * modules/unictype/property-titlecase-tests (Files): Likewise.
18498         * modules/unictype/property-unassigned-code-value-tests (Files):
18499         Likewise.
18500         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
18501         * modules/unictype/property-uppercase-tests (Files): Likewise.
18502         * modules/unictype/property-variation-selector-tests (Files): Likewise.
18503         * modules/unictype/property-white-space-tests (Files): Likewise.
18504         * modules/unictype/property-xid-continue-tests (Files): Likewise.
18505         * modules/unictype/property-xid-start-tests (Files): Likewise.
18506         * modules/unictype/property-zero-width-tests (Files): Likewise.
18507         * modules/unictype/scripts-tests (Files): Likewise.
18508         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
18509         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
18510         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
18511         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
18512         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
18513         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
18514         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
18515         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
18516         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
18517         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
18518         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
18519         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
18520         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
18521         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
18522         * modules/uninorm/composition-tests (Files): Likewise.
18523         * modules/uninorm/decomposing-form-tests (Files): Likewise.
18524         * modules/uninorm/decomposition-tests (Files): Likewise.
18525         * modules/uninorm/filter-tests (Files): Likewise.
18526         * modules/uninorm/nfc-tests (Files): Likewise.
18527         * modules/uninorm/nfd-tests (Files): Likewise.
18528         * modules/uninorm/nfkc-tests (Files): Likewise.
18529         * modules/uninorm/nfkd-tests (Files): Likewise.
18530         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
18531         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
18532         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
18533         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
18534         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
18535         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
18536         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
18537         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
18538         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
18539         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
18540         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
18541         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
18542         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
18543         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
18544         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
18545         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
18546         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
18547         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
18548         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
18549         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
18550         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
18551         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
18552         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
18553         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
18554         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
18555         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
18556         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
18557         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
18558         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
18559         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
18560         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
18561         * modules/uniwidth/u8-width-tests (Files): Likewise.
18562         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
18563         * modules/uniwidth/u16-width-tests (Files): Likewise.
18564         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
18565         * modules/uniwidth/u32-width-tests (Files): Likewise.
18566         * modules/uniwidth/width-tests (Files): Likewise.
18567         * modules/unlink-tests (Files): Likewise.
18568         * modules/unsetenv-tests (Files): Likewise.
18569         * modules/usleep-tests (Files): Likewise.
18570         * modules/utimens-tests (Files): Likewise.
18571         * modules/utimensat-tests (Files): Likewise.
18572         * modules/vasnprintf-posix-tests (Files): Likewise.
18573         * modules/vasnprintf-tests (Files): Likewise.
18574         * modules/vasprintf-posix-tests (Files): Likewise.
18575         * modules/vasprintf-tests (Files): Likewise.
18576         * modules/vdprintf-posix-tests (Files): Likewise.
18577         * modules/vfprintf-posix-tests (Files): Likewise.
18578         * modules/vprintf-posix-tests (Files): Likewise.
18579         * modules/vsnprintf-posix-tests (Files): Likewise.
18580         * modules/vsnprintf-tests (Files): Likewise.
18581         * modules/vsprintf-posix-tests (Files): Likewise.
18582         * modules/wcrtomb-tests (Files): Likewise.
18583         * modules/wcsnrtombs-tests (Files): Likewise.
18584         * modules/wcsrtombs-tests (Files): Likewise.
18585         * modules/wctype-tests (Files): Likewise.
18586         * modules/wcwidth-tests (Files): Likewise.
18587         * modules/xmemdup0-tests (Files): Likewise.
18588         * modules/xprintf-posix-tests (Files): Likewise.
18589         * modules/xvasprintf-tests (Files): Likewise.
18590
18591 2009-12-24  Eric Blake  <ebb9@byu.net>
18592
18593         test-nanosleep: fix typo
18594         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
18595         patch.
18596         Reported by Bruno Haible.
18597
18598 2009-12-24  Bruno Haible  <bruno@clisp.org>
18599
18600         Reduce namespace pollution on glibc systems.
18601         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
18602         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
18603         systems.
18604         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
18605         <getopt.h> on glibc systems.
18606         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
18607         systems.
18608         * lib/fcntl.c: Include <unistd.h> here instead.
18609
18610 2009-12-24  Bruno Haible  <bruno@clisp.org>
18611
18612         * lib/stdlib.in.h (includes): Fix typo in today's commit.
18613
18614 2009-12-24  Eric Blake  <ebb9@byu.net>
18615
18616         tests: add signature checks
18617         * tests/signature.h (SIGNATURE_CHECK): New file.
18618         * modules/atexit-tests (Files): Use it.
18619         * modules/btowc-tests (Files): Likewise.
18620         * modules/canonicalize-lgpl-tests (Files): Likewise.
18621         * modules/ceilf-tests (Files): Likewise.
18622         * modules/ceill-tests (Files): Likewise.
18623         * modules/chown-tests (Files): Likewise.
18624         * modules/dprintf-posix-tests (Files): Likewise.
18625         * modules/dup2-tests (Files): Likewise.
18626         * modules/dup3-tests (Files): Likewise.
18627         * modules/duplocale-tests (Files): Likewise.
18628         * modules/fchdir-tests (Files): Likewise.
18629         * modules/fcntl-tests (Files): Likewise.
18630         * modules/fdopendir-tests (Files): Likewise.
18631         * modules/fflush-tests (Files): Likewise.
18632         * modules/flock-tests (Files): Likewise.
18633         * modules/floorf-tests (Files): Likewise.
18634         * modules/floorl-tests (Files): Likewise.
18635         * modules/fnmatch-tests (Files): Likewise.
18636         * modules/fopen-tests (Files): Likewise.
18637         * modules/fprintf-posix-tests (Files): Likewise.
18638         * modules/freopen-tests (Files): Likewise.
18639         * modules/frexp-nolibm-tests (Files): Likewise.
18640         * modules/frexp-tests (Files): Likewise.
18641         * modules/frexpl-nolibm-tests (Files): Likewise.
18642         * modules/frexpl-tests (Files): Likewise.
18643         * modules/fseek-tests (Files): Likewise.
18644         * modules/fseeko-tests (Files): Likewise.
18645         * modules/fsync-tests (Files): Likewise.
18646         * modules/ftell-tests (Files): Likewise.
18647         * modules/ftello-tests (Files): Likewise.
18648         * modules/futimens-tests (Files): Likewise.
18649         * modules/getaddrinfo-tests (Files): Likewise.
18650         * modules/getcwd-tests (Files): Likewise.
18651         * modules/getdelim-tests (Files): Likewise.
18652         * modules/getdtablesize-tests (Files): Likewise.
18653         * modules/getgroups-tests (Files): Likewise.
18654         * modules/gethostname-tests (Files): Likewise.
18655         * modules/getline-tests (Files): Likewise.
18656         * modules/getopt-posix-tests (Files): Likewise.
18657         * modules/gettimeofday-tests (Files): Likewise.
18658         * modules/glob-tests (Files): Likewise.
18659         * modules/iconv-tests (Files): Likewise.
18660         * modules/inet_ntop-tests (Files): Likewise.
18661         * modules/inet_pton-tests (Files): Likewise.
18662         * modules/isblank-tests (Files): Likewise.
18663         * modules/lchown-tests (Files): Likewise.
18664         * modules/ldexpl-tests (Files): Likewise.
18665         * modules/link-tests (Files): Likewise.
18666         * modules/linkat-tests (Files): Likewise.
18667         * modules/lseek-tests (Files): Likewise.
18668         * modules/lstat-tests (Files): Likewise.
18669         * modules/mbrtowc-tests (Files): Likewise.
18670         * modules/mbsinit-tests (Files): Likewise.
18671         * modules/mbsnrtowcs-tests (Files): Likewise.
18672         * modules/mbsrtowcs-tests (Files): Likewise.
18673         * modules/memchr-tests (Files): Likewise.
18674         * modules/memcmp-tests (Files): Likewise.
18675         * modules/memmem-tests (Files): Likewise.
18676         * modules/memrchr-tests (Files): Likewise.
18677         * modules/mkdir-tests (Files): Likewise.
18678         * modules/mkfifo-tests (Files): Likewise.
18679         * modules/mkfifoat-tests (Files): Likewise.
18680         * modules/mknod-tests (Files): Likewise.
18681         * modules/nanosleep-tests (Files): Likewise.
18682         * modules/nl_langinfo-tests (Files): Likewise.
18683         * modules/obstack-printf-tests (Files): Likewise.
18684         * modules/open-tests (Files): Likewise.
18685         * modules/openat-tests (Files): Likewise.
18686         * modules/perror-tests (Files): Likewise.
18687         * modules/pipe2-tests (Files): Likewise.
18688         * modules/poll-tests (Files): Likewise.
18689         * modules/popen-tests (Files): Likewise.
18690         * modules/posix_spawn-tests (Files): Likewise.
18691         * modules/posix_spawnp-tests (Files): Likewise.
18692         * modules/pread-tests (Files): Likewise.
18693         * modules/printf-posix-tests (Files): Likewise.
18694         * modules/pty-tests (Files): Likewise.
18695         * modules/random_r-tests (Files): Likewise.
18696         * modules/rawmemchr-tests (Files): Likewise.
18697         * modules/readlink-tests (Files): Likewise.
18698         * modules/remove-tests (Files): Likewise.
18699         * modules/rename-tests (Files): Likewise.
18700         * modules/renameat-tests (Files): Likewise.
18701         * modules/rmdir-tests (Files): Likewise.
18702         * modules/round-tests (Files): Likewise.
18703         * modules/roundf-tests (Files): Likewise.
18704         * modules/roundl-tests (Files): Likewise.
18705         * modules/select-tests (Files): Likewise.
18706         * modules/setenv-tests (Files): Likewise.
18707         * modules/sigaction-tests (Files): Likewise.
18708         * modules/sleep-tests (Files): Likewise.
18709         * modules/snprintf-posix-tests (Files): Likewise.
18710         * modules/snprintf-tests (Files): Likewise.
18711         * modules/sprintf-posix-tests (Files): Likewise.
18712         * modules/stat-tests (Files): Likewise.
18713         * modules/strcasestr-tests (Files): Likewise.
18714         * modules/strchrnul-tests (Files): Likewise.
18715         * modules/strerror-tests (Files): Likewise.
18716         * modules/strsignal-tests (Files): Likewise.
18717         * modules/strstr-tests (Files): Likewise.
18718         * modules/strtod-tests (Files): Likewise.
18719         * modules/strverscmp-tests (Files): Likewise.
18720         * modules/symlink-tests (Files): Likewise.
18721         * modules/symlinkat-tests (Files): Likewise.
18722         * modules/times-tests (Files): Likewise.
18723         * modules/trunc-tests (Files): Likewise.
18724         * modules/truncf-tests (Files): Likewise.
18725         * modules/truncl-tests (Files): Likewise.
18726         * modules/tsearch-tests (Files): Likewise.
18727         * modules/uname-tests (Files): Likewise.
18728         * modules/unlink-tests (Files): Likewise.
18729         * modules/unsetenv-tests (Files): Likewise.
18730         * modules/usleep-tests (Files): Likewise.
18731         * modules/utimensat-tests (Files): Likewise.
18732         * modules/vasprintf-tests (Files): Likewise.
18733         * modules/vdprintf-posix-tests (Files): Likewise.
18734         * modules/vfprintf-posix-tests (Files): Likewise.
18735         * modules/vprintf-posix-tests (Files): Likewise.
18736         * modules/vsnprintf-posix-tests (Files): Likewise.
18737         * modules/vsnprintf-tests (Files): Likewise.
18738         * modules/vsprintf-posix-tests (Files): Likewise.
18739         * modules/wcrtomb-tests (Files): Likewise.
18740         * modules/wcsnrtombs-tests (Files): Likewise.
18741         * modules/wcsrtombs-tests (Files): Likewise.
18742         * modules/wcwidth-tests (Files): Likewise.
18743         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
18744         * tests/test-isinf.c (isinf): Likewise.
18745         * tests/test-isnan.c (isnan): Likewise.
18746         * tests/test-signbit.c (signbit): Likewise.
18747         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
18748         declaration, either as macro or with correct signature.
18749         (select): Ensure function under test is declared with correct
18750         signature in correct header.
18751         * tests/test-atexit.c (atexit): Likewise.
18752         * tests/test-btowc.c (btowc): Likewise.
18753         * tests/test-canonicalize-lgpl.c (realpath)
18754         (canonicalize_file_name): Likewise.
18755         * tests/test-ceilf1.c (ceilf): Likewise.
18756         * tests/test-ceill.c (ceill): Likewise.
18757         * tests/test-chown.c (chown): Likewise.
18758         * tests/test-dprintf-posix.c (dprintf): Likewise.
18759         * tests/test-dup2.c (dup2): Likewise.
18760         * tests/test-dup3.c (dup3): Likewise.
18761         * tests/test-duplocale.c (duplocale): Likewise.
18762         * tests/test-fchdir.c (fchdir): Likewise.
18763         * tests/test-fchownat.c (fchownat): Likewise.
18764         * tests/test-fcntl.c (fcntl): Likewise.
18765         * tests/test-fdopendir.c (fdopendir): Likewise.
18766         * tests/test-fflush.c (fflush): Likewise.
18767         * tests/test-flock.c (flock): Likewise.
18768         * tests/test-floorf1.c (floorf): Likewise.
18769         * tests/test-floorl.c (floorl): Likewise.
18770         * tests/test-fnmatch.c (fnmatch): Likewise.
18771         * tests/test-fopen.c (fopen): Likewise.
18772         * tests/test-fprintf-posix.c (fprintf): Likewise.
18773         * tests/test-freopen.c (freopen): Likewise.
18774         * tests/test-frexp.c (frexp): Likewise.
18775         * tests/test-frexpl.c (frexpl): Likewise.
18776         * tests/test-fseek.c (fseek): Likewise.
18777         * tests/test-fseeko.c (fseeko): Likewise.
18778         * tests/test-fstatat.c (fstatat): Likewise.
18779         * tests/test-fsync.c (fsync): Likewise.
18780         * tests/test-ftell.c (ftell): Likewise.
18781         * tests/test-ftello.c (ftello): Likewise.
18782         * tests/test-futimens.c (futimens): Likewise.
18783         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
18784         (gai_strerror): Likewise.
18785         * tests/test-getcwd.c (getcwd): Likewise.
18786         * tests/test-getdelim.c (getdelim): Likewise.
18787         * tests/test-getdtablesize.c (getdtablesize): Likewise.
18788         * tests/test-getgroups.c (getgroups): Likewise.
18789         * tests/test-gethostname.c (gethostname): Likewise.
18790         * tests/test-getline.c (getline): Likewise.
18791         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
18792         Likewise.
18793         * tests/test-gettimeofday.c (gettimeofday): Likewise.
18794         * tests/test-glob.c (glob, globfree): Likewise.
18795         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
18796         * tests/test-inet_ntop.c (inet_ntop): Likewise.
18797         * tests/test-inet_pton.c (inet_pton): Likewise.
18798         * tests/test-isblank.c (isblank): Likewise.
18799         * tests/test-lchown.c (lchown): Likewise.
18800         * tests/test-ldexpl.c (ldexpl): Likewise.
18801         * tests/test-link.c (link): Likewise.
18802         * tests/test-linkat.c (linkat): Likewise.
18803         * tests/test-lseek.c (lseek): Likewise.
18804         * tests/test-lstat.c (lstat): Likewise.
18805         * tests/test-mbrtowc.c (mbrtowc): Likewise.
18806         * tests/test-mbsinit.c (mbsinit): Likewise.
18807         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
18808         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
18809         * tests/test-memchr.c (memchr): Likewise.
18810         * tests/test-memcmp.c (memcmp): Likewise.
18811         * tests/test-memmem.c (memmem): Likewise.
18812         * tests/test-memrchr.c (memrchr): Likewise.
18813         * tests/test-mkdir.c (mkdir): Likewise.
18814         * tests/test-mkdirat.c (mkdirat): Likewise.
18815         * tests/test-mkfifo.c (mkfifo): Likewise.
18816         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
18817         * tests/test-mknod.c (mknod): Likewise.
18818         * tests/test-nanosleep.c (nanosleep): Likewise.
18819         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
18820         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
18821         Likewise.
18822         * tests/test-open.c (open): Likewise.
18823         * tests/test-openat.c (openat): Likewise.
18824         * tests/test-perror.c (perror): Likewise.
18825         * tests/test-pipe2.c (pipe2): Likewise.
18826         * tests/test-poll.c (poll): Likewise.
18827         * tests/test-popen.c (popen, pclose): Likewise.
18828         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
18829         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
18830         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
18831         (posix_spawn_file_actions_destroy)
18832         (posix_spawn_file_actions_addclose)
18833         (posix_spawn_file_actions_addopen)
18834         (posix_spawn_file_actions_adddup2): Likewise.
18835         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
18836         * tests/test-pread.c (pread): Likewise.
18837         * tests/test-printf-posix.c (printf): Likewise.
18838         * tests/test-pty.c (openpty, forkpty): Likewise.
18839         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
18840         (random_r): Likewise.
18841         * tests/test-rawmemchr.c (rawmemchr): Likewise.
18842         * tests/test-readlink.c (readlink): Likewise.
18843         * tests/test-remove.c (remove): Likewise.
18844         * tests/test-rename.c (rename): Likewise.
18845         * tests/test-renameat.c (renameat): Likewise.
18846         * tests/test-rmdir.c (rmdir): Likewise.
18847         * tests/test-round1.c (round): Likewise.
18848         * tests/test-roundf1.c (roundf): Likewise.
18849         * tests/test-roundl.c (roundl): Likewise.
18850         * tests/test-setenv.c (setenv): Likewise.
18851         * tests/test-sigaction.c (sigaction): Likewise.
18852         * tests/test-sleep.c (sleep): Likewise.
18853         * tests/test-snprintf.c (snprintf): Likewise.
18854         * tests/test-sprintf-posix.c (sprintf): Likewise.
18855         * tests/test-stat.c (stat): Likewise.
18856         * tests/test-stpncpy.c (stpncpy): Likewise.
18857         * tests/test-strcasestr.c (strcasestr): Likewise.
18858         * tests/test-strchrnul.c (strchrnul): Likewise.
18859         * tests/test-strerror.c (strerror): Likewise.
18860         * tests/test-strsignal.c (strsignal): Likewise.
18861         * tests/test-strstr.c (strstr): Likewise.
18862         * tests/test-strtod.c (strtod): Likewise.
18863         * tests/test-strverscmp.c (strverscmp): Likewise.
18864         * tests/test-symlink.c (symlink): Likewise.
18865         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
18866         * tests/test-times.c (times): Likewise.
18867         * tests/test-trunc1.c (trunc): Likewise.
18868         * tests/test-truncf1.c (truncf): Likewise.
18869         * tests/test-truncl.c (truncl): Likewise.
18870         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
18871         Likewise.
18872         * tests/test-uname.c (uname): Likewise.
18873         * tests/test-unlink.c (unlink): Likewise.
18874         * tests/test-unlinkat.c (unlinkat): Likewise.
18875         * tests/test-unsetenv.c (unsetenv): Likewise.
18876         * tests/test-usleep.c (usleep): Likewise.
18877         * tests/test-utimensat.c (utimensat): Likewise.
18878         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
18879         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
18880         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
18881         * tests/test-vprintf-posix.c (vprintf): Likewise.
18882         * tests/test-vsnprintf.c (vsnprintf): Likewise.
18883         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
18884         * tests/test-wcrtomb.c (wcrtomb): Likewise.
18885         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
18886         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
18887         * tests/test-wcwidth.c (wcwidth): Likewise.
18888
18889         build: pull in conditional headers during GNULIB_POSIXCHECK
18890         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
18891         definitions from any conditionally-included headers.
18892         * lib/stdlib.in.h (includes): Likewise.
18893         * lib/unistd.in.h (includes): Likewise.
18894
18895 2009-12-24  Bruno Haible  <bruno@clisp.org>
18896
18897         * tests/test-argv-iter.c: Include header file being tested immediately
18898         after config.h.
18899         * tests/test-base64.c: Likewise.
18900         * tests/test-flock.c: Likewise.
18901         * tests/test-fsync.c: Likewise.
18902         * tests/test-getdate.c: Likewise.
18903         * tests/test-getndelim2.c: Likewise.
18904         * tests/test-isfinite.c: Likewise.
18905         * tests/test-isinf.c: Likewise.
18906         * tests/test-strerror.c: Likewise.
18907         * tests/test-strsignal.c: Likewise.
18908
18909 2009-12-23  Eric Blake  <ebb9@byu.net>
18910
18911         unistd: work around cygwin bug
18912         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
18913         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
18914         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
18915
18916 2009-12-23  Bruno Haible  <bruno@clisp.org>
18917
18918         localename: More tests.
18919         * tests/test-localename.c (SIZEOF): New macro.
18920         (categories): New variable.
18921         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
18922         test_locale_name_default): Add test w.r.t. thread locale.
18923         (test_locale_name_thread): New function.
18924         (main): Invoke it.
18925
18926         localename: Make aware of thread locale.
18927         * lib/localename.h (gl_locale_name_thread): New declaration.
18928         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
18929         behaviour with respect to thread locale.
18930         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
18931         <langinfo.h>, glthread/lock.h.
18932         (SIZE_BITS): New macro.
18933         (string_hash): New function.
18934         (struct hash_node): New type.
18935         (HASH_TABLE_SIZE): New macro.
18936         (struniq_hash_table, struniq_lock): New variables.
18937         (struniq): New function.
18938         (gl_locale_name_thread): New function.
18939         (gl_locale_name): Invoke it.
18940         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
18941         * modules/localename (Depends-on): Add lock.
18942         Reported by Mike Gran <spk121@yahoo.com>.
18943
18944 2009-12-23  Eric Blake  <ebb9@byu.net>
18945
18946         va-args: new module
18947         * modules/va-args: New file.
18948         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
18949         * MODULES.html.sh (Core language properties): Mention it.
18950
18951         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
18952         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
18953         named alias for __attribute__((__unused__)).
18954         * lib/chown.c: Update client.
18955         * lib/fchmodat.c: Likewise.
18956         * lib/fts.c: Likewise.
18957         * lib/getdate.y: Likewise.
18958         * lib/getgroups.c: Likewise.
18959         * lib/getopt.c: Likewise.
18960         * lib/getugroups.c: Likewise.
18961         * lib/mkdir.c: Likewise.
18962         * lib/mkfifo.c: Likewise.
18963         * lib/mkfifoat.c: Likewise.
18964         * lib/mknod.c: Likewise.
18965         * lib/mknodat.c: Likewise.
18966         * lib/readlink.c: Likewise.
18967         * lib/se-context.in.h: Likewise.
18968         * lib/se-selinux.in.h: Likewise.
18969         * lib/sockets.c: Likewise.
18970         * lib/symlink.c: Likewise.
18971         * lib/symlinkat.c: Likewise.
18972         * lib/unicodeio.c: Likewise.
18973         * lib/unistr.h: Likewise.
18974         * tests/test-areadlink.c: Likewise.
18975         * tests/test-areadlinkat.c: Likewise.
18976         * tests/test-filenamecat.c: Likewise.
18977         * tests/test-fseeko.c: Likewise.
18978         * tests/test-ftello.c: Likewise.
18979         * tests/test-getdate.c: Likewise.
18980         * tests/test-getgroups.c: Likewise.
18981         * tests/test-gethostname.c: Likewise.
18982         * tests/test-quotearg.c: Likewise.
18983         * tests/test-version-etc.c: Likewise.
18984         * tests/test-xalloc-die.c: Likewise.
18985         * tests/test-xfprintf-posix.c: Likewise.
18986         * tests/test-xprintf-posix.c: Likewise.
18987         * tests/test-xvasprintf.c: Likewise.
18988
18989         tests: avoid compiler warnings
18990         * tests/test-fcntl.c (main): Delete unused parameters.
18991         * tests/test-freopen-safer.c (main): Likewise.
18992         * tests/test-xalloc-die.c (main): Mark unused parameters.
18993         * tests/test-fseeko.c (main): Likewise.
18994         * tests/test-ftello.c (main): Likewise.
18995         * tests/test-nanosleep.c (main): Avoid declaration warning.
18996         * tests/test-sleep.c (main): Likewise.
18997         * tests/test-unsetenv.c (main): Silence warning about string
18998         literal.
18999         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
19000
19001 2009-12-23  Bruno Haible  <bruno@clisp.org>
19002
19003         * tests/test-localename.c (test_locale_name): New function, extracted
19004         from main. Also test mixed situations.
19005         (test_locale_name_posix, test_locale_name_environ,
19006         test_locale_name_default): New functions.
19007         (main): Invoke them all.
19008         * modules/localename-tests (configure.ac): Test for newlocale.
19009
19010 2009-12-23  Bruno Haible  <bruno@clisp.org>
19011
19012         unistd: Ensure getcwd gets declared before being overridden.
19013         * lib/unistd.in.h: Conditionally include <io.h>.
19014
19015 2009-12-22  Bruno Haible  <bruno@clisp.org>
19016
19017         wchar: Diagnose broken combination of glibc and gcc versions and flags.
19018         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
19019         (gl_WCHAR_H): Invoke it.
19020         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
19021         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
19022         Reported by Karl Berry <karl@freefriends.org>.
19023
19024 2009-12-22  Eric Blake  <ebb9@byu.net>
19025
19026         math, unistd: avoid redundant includes
19027         * lib/math.in.h (isnan): No need to re-include <math.h>.
19028         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
19029
19030         getsubopt: work around cygwin bug
19031         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
19032         avoid conflicting with system getsubopt.
19033         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
19034         bug.
19035
19036         getopt: synchronize from glibc
19037         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
19038         parameter order.  Adjust all callers.
19039         (_getopt_internal_r, main): Adjust quoting in error messages.
19040         Drop considerations for outdated POSIX 1003.2 error message.
19041         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
19042         callers.
19043         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
19044
19045         test-getopt: test stderr behavior
19046         * modules/getopt-posix-tests (Depends-on): Add dup2.
19047         * tests/test-getopt.c (ASSERT): Avoid stderr.
19048         (main): Move stderr to a temporary file.
19049         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
19050         Instead, add parameter to inform caller if output occurred.
19051         (test_getopt): Adjust all existing tests to expect silence, and
19052         add new tests of leading ":".
19053         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
19054         glibc shortcomings with leading "-:" or "+:" in optstring.
19055         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
19056         Likewise.
19057         * doc/posix-functions/getopt.texi (getopt): Likewise.
19058
19059         test-getopt: enhance test
19060         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
19061         supports optind=0.
19062         * tests/test-getopt.c (OPTIND_MIN): Move...
19063         * tests/test-getopt.h (OPTIND_MIN): ...here.
19064         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
19065         Require that optind=0 works, since modern BSD supports it in
19066         addition to optreset, and since coreutils expects it.
19067         (test_getopt_long_only): New test.
19068         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
19069         glibc shortcomings with 'W;', and enforcement of optind=0.
19070         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
19071         Likewise.
19072
19073 2009-12-21  Bruno Haible  <bruno@clisp.org>
19074
19075         localename: Improvements for MacOS X and Cygwin.
19076         * lib/localename.h (gl_locale_name_environ): New declaration.
19077         * lib/localename.c (gl_locale_name_environ): New function, extracted from
19078         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
19079         (gl_locale_name_posix): Invoke it.
19080         (gl_locale_name_default): Add comments. Use Windows native API also on
19081         Cygwin.
19082
19083 2009-12-21  Bruno Haible  <bruno@clisp.org>
19084
19085         Update list of Win32 locale ids.
19086         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
19087         (LANG_SAMI): Renamed from LANG_SAAMI.
19088         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
19089         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
19090         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
19091         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
19092         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
19093         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
19094         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
19095         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
19096         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
19097         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
19098         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
19099         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
19100         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
19101         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
19102         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
19103         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
19104         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
19105         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
19106         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
19107         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
19108         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
19109         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
19110         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
19111         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
19112         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
19113         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
19114         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
19115         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
19116         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
19117         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
19118         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
19119         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
19120         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
19121         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
19122         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
19123         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
19124         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
19125         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
19126         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
19127         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
19128         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
19129         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
19130         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
19131         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
19132         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
19133         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
19134         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
19135         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
19136         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
19137         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
19138         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
19139         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
19140         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
19141         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
19142         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
19143         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
19144         Add more languages and countries for Sami, Sorbian. Add more countries
19145         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
19146         for Pashto. Change country for Syriac, Tswana.
19147
19148 2009-12-21  Eric Blake  <ebb9@byu.net>
19149
19150         test-utimens: avoid spurious failure
19151         * tests/test-chown.h (nap): Factor...
19152         * tests/nap.h: ...into new file.
19153         * tests/test-lchown.h (nap): Avoid duplication.
19154         * tests/test-utimens-common.h (nap): Use shared implementation,
19155         necessary on file systems with 1-second resolution.
19156         * modules/chown-tests (Files): Include new file.
19157         * modules/fdutimensat-tests (Files): Likewise.
19158         * modules/futimens-tests (Files): Likewise.
19159         * modules/lchown-tests (Files): Likewise.
19160         * modules/openat-tests (Files): Likewise.
19161         * modules/utimens-tests (Files): Likewise.
19162         * modules/utimensat-tests (Files): Likewise.
19163
19164 2009-12-19  Eric Blake  <ebb9@byu.net>
19165
19166         futimens, utimensat: work around Linux bug
19167         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
19168         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
19169         * lib/utimensat.c (rpl_utimensat): Work around it.
19170         * lib/futimens.c (rpl_futimens): Adjust comment.
19171
19172         utimens: work around Linux ctime bug
19173         * lib/utimens.c (detect_ctime_bug): New helper function.
19174         (update_timespec): Differentiate between workaround needed for
19175         this bug vs. what is needed for systems that lack utimensat.
19176         (fdutimens, lutimens): Work around bug.
19177
19178         utimens: check for ctime update
19179         * tests/test-utimens-common.h (check_ctime): Define.
19180         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
19181         * tests/test-futimens.h (test_futimens): Likewise.
19182         * tests/test-lutimens.h (test_lutimens): Likewise.
19183         * doc/posix-functions/futimens.texi (futimens): Document the bug.
19184         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
19185
19186 2009-12-19  Bruno Haible  <bruno@clisp.org>
19187
19188         dprintf-posix: Check against memory leak fixed on 2009-12-15.
19189         * tests/test-dprintf-posix2.sh: New file.
19190         * tests/test-dprintf-posix2.c: New file.
19191         * modules/dprintf-posix-tests (Files): Add them.
19192         (configure.ac): Check for getrlimit and setrlimit.
19193         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
19194
19195 2009-12-19  Bruno Haible  <bruno@clisp.org>
19196
19197         fprintf-posix: Check against memory leak fixed on 2009-12-15.
19198         * tests/test-fprintf-posix3.sh: New file.
19199         * tests/test-fprintf-posix3.c: New file.
19200         * modules/fprintf-posix-tests (Files): Add them.
19201         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
19202
19203 2009-12-19  Eric Blake  <ebb9@byu.net>
19204
19205         dirfd: fix prototype
19206         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
19207         * lib/dirfd.c (dirfd): Likewise.
19208
19209         canonicalize: reduce memory usage
19210         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
19211         allocation to size.
19212         Reported by Solar Designer <solar@openwall.com>.
19213
19214 2009-12-19  Bruno Haible  <bruno@clisp.org>
19215
19216         New module attribute 'Applicability'.
19217         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
19218         * gnulib-tool: New option --extract-applicability.
19219         (func_usage): Document it.
19220         (sed_extract_prog): Recognize it.
19221         (func_get_applicability): New function.
19222         (func_import): Generalize handling of 'link-warning' module.
19223         * modules/link-warning (Applicability): New section.
19224         * modules/arg-nonnull (Applicability): New section.
19225         Repoted by Simon Josefsson <simon@josefsson.org>.
19226
19227 2009-12-19  Bruno Haible  <bruno@clisp.org>
19228
19229         fflush: tweak
19230         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
19231         * lib/fseeko.c (rpl_fseeko): Likewise.
19232
19233 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
19234
19235         * lib/gl_list.h: Fix typo in comment.
19236
19237 2009-12-16  Eric Blake  <ebb9@byu.net>
19238
19239         fcntl: use to simplify other modules
19240         * modules/cloexec (Depends-on): Add fcntl.
19241         * modules/fchdir (Depends-on): Likewise.
19242         * modules/fd-safer-flag (Depends-on): Likewise.
19243         * modules/unistd-safer (Depends-on): Likewise.
19244         * modules/dup3 (configure.ac): Set module indicator.
19245         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
19246         missing.
19247         * lib/fchdir.c (_gl_register_dup): Fix comment.
19248         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
19249         * lib/dup-safer.c (dup_safer): Likewise.
19250         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
19251         * lib/dup3.c (dup3): Likewise.
19252         * tests/test-fchdir.c (main): Enhance test.
19253         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
19254
19255         fcntl: port portions of fcntl to mingw
19256         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
19257         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
19258         replacement for mingw.
19259         * modules/fcntl (Description): Update.
19260         (Depends-on): Add dup2.
19261         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
19262         * modules/fcntl-h (Makefile.am): Substitute it.
19263         * lib/fcntl.in.h (fcntl): Update declaration.
19264         (F_DUPFD, F_GETFD): New macros, when needed.
19265         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
19266         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
19267         * tests/test-fcntl.c (check_flags, main): Enhance test for items
19268         we now guarantee.
19269
19270         fcntl: work around cygwin bug in F_DUPFD
19271         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
19272         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
19273         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
19274         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
19275         * doc/posix-functions/fcntl.texi (fcntl): Document it.
19276
19277         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
19278         * modules/fcntl (Files): List new files.
19279         (configure.ac): Run a test.
19280         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
19281         * lib/fcntl.c (rpl_fcntl): Likewise.
19282         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
19283         (gl_FCNTL_H): Always replace fcntl.h.
19284         * modules/fcntl-h (Makefile.am): Substitute witnesses.
19285         * lib/fcntl.in.h (fcntl): Declare replacement.
19286         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
19287         needed, plus a witness.
19288         * doc/posix-functions/fcntl.texi (fcntl): Document this.
19289         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
19290         * tests/test-fcntl.c: New file.
19291         * modules/fcntl-tests: Likewise.
19292
19293         binary-io: avoid potential compilation warning
19294         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
19295         directives.
19296
19297         fflush: avoid compilation error on NetBSD
19298         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
19299         between off_t and fpos_t, since the latter is sometimes a struct.
19300         * lib/fseeko.c (rpl_fseeko): Likewise.
19301         Reported by Alexander Nasonov <alnsn@yandex.ru>.
19302
19303 2009-12-15  Eric Blake  <ebb9@byu.net>
19304
19305         fcntl-h, stdio, sys_ioctl: fix declarations
19306         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
19307         function must not take arguments.
19308         * lib/sys_ioctl.in.h (ioctl): Likewise.
19309         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
19310         (open): Add a link warning.
19311
19312 2009-12-15  Jim Meyering  <meyering@redhat.com>
19313
19314         areadlink, areadlink-with-size: relax license to LGPLv2+
19315         * modules/areadlink (License): Relax to LGPLv2+.
19316         * modules/areadlink-with-size (License): Likewise.
19317
19318 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
19319             Bruno Haible  <bruno@clisp.org>
19320
19321         *printf: Fix memory leak.
19322         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
19323         * lib/vfprintf.c (vfprintf): Likewise.
19324         * lib/dprintf.c (dprintf): Likewise.
19325         * lib/vdprintf.c (vdprintf): Likewise.
19326
19327 2009-12-14  Eric Blake  <ebb9@byu.net>
19328
19329         accept4: adjust module dependencies
19330         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
19331
19332         utimens: one more try at avoiding compiler warning
19333         * lib/utimens.c (lutimens): Lower scope of result.
19334
19335 2009-12-13  Bruno Haible  <bruno@clisp.org>
19336
19337         Move the malloc checking from module 'list' to new module 'xlist'.
19338         * modules/xlist: New file.
19339         * lib/gl_xlist.h: New file.
19340         * lib/gl_xlist.c: New file.
19341         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
19342         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
19343         gl_list_add_last, gl_list_add_before, gl_list_add_after,
19344         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
19345         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
19346         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
19347         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
19348         gl_sortedlist_nx_add): New declarations.
19349         (struct gl_list_implementation): Rename and change methods accordingly.
19350         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
19351         (gl_list_nx_create): Renamed from gl_list_create.
19352         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
19353         (gl_list_nx_set_at): Renamed from gl_list_set_at.
19354         (gl_list_nx_add_first): Renamed from gl_list_add_first.
19355         (gl_list_nx_add_last): Renamed from gl_list_add_last.
19356         (gl_list_nx_add_before): Renamed from gl_list_add_before.
19357         (gl_list_nx_add_after): Renamed from gl_list_add_after.
19358         (gl_list_nx_add_at): Renamed from gl_list_add_at.
19359         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
19360         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
19361         gl_list_create_empty.
19362         (gl_list_nx_create): Renamed from gl_list_create.
19363         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
19364         (gl_list_nx_set_at): Renamed from gl_list_set_at.
19365         (gl_list_nx_add_first): Renamed from gl_list_add_first.
19366         (gl_list_nx_add_last): Renamed from gl_list_add_last.
19367         (gl_list_nx_add_before): Renamed from gl_list_add_before.
19368         (gl_list_nx_add_after): Renamed from gl_list_add_after.
19369         (gl_list_nx_add_at): Renamed from gl_list_add_at.
19370         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
19371         * lib/gl_array_list.c: Don't include xalloc.h.
19372         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
19373         NULL upon out-of-memory.
19374         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
19375         out-of-memory.
19376         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
19377         Change return type to 'int'.
19378         (gl_array_nx_set_at): Renamed from gl_array_set_at.
19379         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
19380         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
19381         upon out-of-memory.
19382         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
19383         upon out-of-memory.
19384         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
19385         upon out-of-memory.
19386         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
19387         upon out-of-memory.
19388         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
19389         out-of-memory.
19390         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
19391         Update.
19392         (gl_array_list_implementation): Update.
19393         * lib/gl_carray_list.c: Don't include xalloc.h.
19394         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
19395         Return NULL upon out-of-memory.
19396         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
19397         out-of-memory.
19398         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
19399         Change return type to 'int'.
19400         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
19401         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
19402         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
19403         upon out-of-memory.
19404         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
19405         upon out-of-memory.
19406         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
19407         out-of-memory.
19408         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
19409         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
19410         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
19411         Update.
19412         (gl_carray_list_implementation): Update.
19413         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
19414         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
19415         gl_linked_create_empty. Return NULL upon out-of-memory.
19416         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
19417         out-of-memory.
19418         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
19419         Change return type to 'int'. Return -1 upon out-of-memory.
19420         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
19421         out-of-memory.
19422         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
19423         upon out-of-memory.
19424         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
19425         upon out-of-memory.
19426         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
19427         NULL upon out-of-memory.
19428         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
19429         upon out-of-memory.
19430         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
19431         out-of-memory.
19432         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
19433         Update.
19434         * lib/gl_linked_list.c: Don't include xalloc.h.
19435         (gl_linked_list_implementation): Update.
19436         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
19437         (add_to_bucket): Change return type to 'int'.
19438         (gl_linkedhash_list_implementation): Update.
19439         * lib/gl_anytree_list1.h (free_subtree): New function.
19440         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
19441         gl_tree_create_empty. Return NULL upon out-of-memory.
19442         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
19443         Change return type to 'int'. Return -1 upon out-of-memory.
19444         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
19445         out-of-memory.
19446         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
19447         (gl_tree_remove_node): New function, moved here from
19448         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
19449         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
19450         Update.
19451         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
19452         malloc, not xmalloc. Return NULL upon out-of-memory.
19453         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
19454         out-of-memory.
19455         (gl_tree_remove_node_from_tree): New function, extracted from
19456         gl_tree_remove_node.
19457         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
19458         upon out-of-memory.
19459         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
19460         out-of-memory.
19461         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
19462         upon out-of-memory.
19463         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
19464         upon out-of-memory.
19465         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
19466         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
19467         not xmalloc. Return NULL upon out-of-memory.
19468         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
19469         out-of-memory.
19470         (gl_tree_remove_node_from_tree): New function, extracted from
19471         gl_tree_remove_node.
19472         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
19473         upon out-of-memory.
19474         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
19475         out-of-memory.
19476         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
19477         upon out-of-memory.
19478         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
19479         upon out-of-memory.
19480         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
19481         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
19482         gl_anytree_list1.h before gl_anyavltree_list2.h.
19483         (gl_avltree_list_implementation): Update.
19484         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
19485         gl_anytree_list1.h before gl_anyavltree_list2.h.
19486         (gl_rbtree_list_implementation): Update.
19487         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
19488         Change return type to 'int'. Return -1 upon out-of-memory. Use
19489         __builtin_expect.
19490         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
19491         (gl_avltreehash_list_implementation): Update.
19492         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
19493         (gl_rbtreehash_list_implementation): Update.
19494         * modules/array-list (Depends-on): Remove xalloc.
19495         * modules/carray-list (Depends-on): Likewise.
19496         * modules/linked-list (Depends-on): Likewise.
19497         * modules/linkedhash-list (Depends-on): Likewise.
19498         * modules/avltree-list (Depends-on): Likewise.
19499         * modules/rbtree-list (Depends-on): Likewise.
19500         * modules/avltreehash-list (Depends-on): Likewise.
19501         * modules/rbtreehash-list (Depends-on): Likewise.
19502
19503         * modules/xsublist: New file.
19504         * lib/gl_xsublist.h: New file.
19505         * lib/gl_xsublist.c: New file.
19506         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
19507         (gl_sublist_nx_create): New declaration.
19508         * lib/gl_sublist.c: Don't include xalloc.h.
19509         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
19510         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
19511         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
19512         Change return type to 'int'. Return -1 upon out-of-memory.
19513         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
19514         upon out-of-memory.
19515         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
19516         NULL upon out-of-memory.
19517         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
19518         upon out-of-memory.
19519         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
19520         NULL upon out-of-memory.
19521         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
19522         NULL upon out-of-memory.
19523         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
19524         upon out-of-memory.
19525         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
19526         (gl_sublist_list_implementation): Update.
19527         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
19528         upon out-of-memory.
19529         * modules/sublist (Depends-on): Remove xalloc.
19530
19531         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
19532         * tests/test-carray_list.c: Likewise.
19533         * tests/test-linked_list.c: Likewise.
19534         * tests/test-linkedhash_list.c: Likewise.
19535         * tests/test-avltree_list.c: Likewise.
19536         * tests/test-rbtree_list.c: Likewise.
19537         * tests/test-avltreehash_list.c: Likewise.
19538         * tests/test-rbtreehash_list.c: Likewise.
19539         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
19540         * modules/carray-list-tests (Makefile.am): Likewise.
19541         * modules/linked-list-tests (Makefile.am): Likewise.
19542         * modules/linkedhash-list-tests (Makefile.am): Likewise.
19543         * modules/avltree-list-tests (Makefile.am): Likewise.
19544         * modules/rbtree-list-tests (Makefile.am): Likewise.
19545         * modules/avltreehash-list-tests (Makefile.am): Likewise.
19546         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
19547
19548         * NEWS: Mention the changes.
19549
19550         * lib/clean-temp.c: Include gl_xlist.h.
19551         * modules/clean-temp (Depends-on): Add xlist.
19552
19553         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
19554         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
19555
19556         * tests/test-array_oset.c: Include gl_xlist.h.
19557         * modules/array-oset-tests (Depends-on): Add xlist.
19558
19559         Reported by José E. Marchesi <jemarch@gnu.org>.
19560
19561 2009-12-13  Bruno Haible  <bruno@clisp.org>
19562
19563         Move the malloc checking from module 'oset' to new module 'xoset'.
19564         * modules/xoset: New file.
19565         * lib/gl_xoset.h: New file.
19566         * lib/gl_xoset.c: New file.
19567         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
19568         declarations.
19569         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
19570         (struct gl_oset_implementation): Rename and change methods accordingly.
19571         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
19572         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
19573         'int'. Mark as __warn_unused_result__.
19574         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
19575         gl_oset_create_empty.
19576         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
19577         'int'.
19578         * lib/gl_array_oset.c: Don't include xalloc.h.
19579         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
19580         malloc, not xmalloc.
19581         (grow): Change return type to 'int'. Don't call xalloc_die.
19582         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
19583         to 'int'.
19584         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
19585         'int'.
19586         (gl_array_oset_implementation): Update.
19587         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
19588         gl_tree_create_empty.
19589         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
19590         'int'.
19591         * lib/gl_avltree_oset.c: Don't include xalloc.h.
19592         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
19593         xmalloc.
19594         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
19595         not xmalloc.
19596         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
19597         xmalloc.
19598         (gl_avltree_oset_implementation): Update.
19599         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
19600         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
19601         xmalloc.
19602         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
19603         not xmalloc.
19604         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
19605         xmalloc.
19606         (gl_rbtree_oset_implementation): Update.
19607         * modules/array-oset (Depends-on): Remove xalloc.
19608         * modules/avltree-oset (Depends-on): Likewise.
19609         * modules/rbtree-oset (Depends-on): Likewise.
19610         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
19611         * tests/test-avltree_oset.c: Likewise.
19612         * tests/test-rbtree_oset.c: Likewise.
19613         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
19614         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
19615         * modules/rbtree-oset-tests (Makefile.am): Likewise.
19616         * NEWS: Mention the change.
19617
19618 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
19619
19620         maint.mk: allow a project to override release-prep commands
19621         * top/maint.mk (alpha, beta, stable): Move release-preparatory
19622         commands into a new rule.
19623         (release-prep): New rule.
19624         (release-prep-hook): New overridable variable.
19625
19626 2009-12-13  Bruno Haible  <bruno@clisp.org>
19627
19628         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
19629
19630 2009-12-13  Jim Meyering  <meyering@redhat.com>
19631
19632         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
19633         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
19634
19635 2009-12-12  Bruno Haible  <bruno@clisp.org>
19636
19637         duplocale: Tweak.
19638         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
19639
19640 2009-12-12  Karl Berry  <karl@gnu.org>
19641
19642         * config/srclist.txt (strtoll.c): tab changes, no more sync.
19643
19644 2009-12-12  Bruno Haible  <bruno@clisp.org>
19645
19646         * m4/po.m4: Undo incorrect untabification.
19647
19648 2009-12-12  Bruno Haible  <bruno@clisp.org>
19649
19650         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
19651         * modules/c-strtod (Depends-on): Add locale.
19652         * modules/c-strtold (Depends-on): Likewise.
19653
19654 2009-12-12  Bruno Haible  <bruno@clisp.org>
19655
19656         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
19657
19658 2009-12-11  Eric Blake  <ebb9@byu.net>
19659
19660         setenv: relax requirement in light of POSIX ruling
19661         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
19662         not NULL.
19663         * tests/test-setenv.c (main): Relax test.
19664         * tests/test-unsetenv.c (main): Likewise.
19665         * doc/posix-functions/setenv.texi (setenv): Document this.
19666         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
19667
19668 2009-12-11  Bruno Haible  <bruno@clisp.org>
19669
19670         New module 'fd-safer-flag'.
19671         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
19672         * lib/dup-safer.c (dup_safer_flag): Remove function.
19673         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
19674         * lib/fd-safer.c (fd_safer_flag): Remove function.
19675         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
19676         * modules/cloexec (configure.ac): Drop indicator macro.
19677         * modules/fd-safer-flag: New file.
19678         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
19679         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
19680         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
19681
19682 2009-12-11  Bruno Haible  <bruno@clisp.org>
19683
19684         Tests for module 'nl_langinfo'.
19685         * modules/nl_langinfo-tests: New file.
19686         * tests/test-nl_langinfo.sh: New file.
19687         * tests/test-nl_langinfo.c: New file.
19688
19689         New module 'nl_langinfo'.
19690         * lib/nl_langinfo.c: New file.
19691         * m4/nl_langinfo.m4: New file.
19692         * modules/nl_langinfo: New file.
19693         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
19694
19695 2009-12-11  Bruno Haible  <bruno@clisp.org>
19696
19697         Tests for module 'langinfo'.
19698         * modules/langinfo-tests: New file.
19699         * tests/test-langinfo.c: New file.
19700
19701         New module 'langinfo'.
19702         * lib/langinfo.in.h: New file.
19703         * m4/langinfo_h.m4: New file.
19704         * modules/langinfo: New file.
19705         * doc/posix-headers/langinfo.texi: Mention the new module.
19706
19707 2009-12-11  Bruno Haible  <bruno@clisp.org>
19708
19709         * lib/config.charset: Untabify.
19710
19711 2009-12-11  Bruno Haible  <bruno@clisp.org>
19712
19713         * modules/unistd-safer (configure.ac): Drop indicator macro.
19714
19715 2009-12-11  Bruno Haible  <bruno@clisp.org>
19716
19717         Move pipe2-safer code to its own file.
19718         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
19719         * lib/pipe-safer.c (pipe2_safer): Remove function.
19720         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
19721         (Makefile.am): Add it to lib_SOURCES.
19722
19723 2009-12-10  Bruno Haible  <bruno@clisp.org>
19724
19725         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
19726
19727 2009-12-10  Bruno Haible  <bruno@clisp.org>
19728
19729         Declare which arguments expect non-NULL values, for GCC and clang.
19730         * build-aux/arg-nonnull.h: New file.
19731         * modules/arg-nonnull: New file.
19732         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
19733         (inet_ntop, inet_pton): Use it.
19734         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
19735         (closedir, dirfd, opendir, scandir, alphasort): Use it.
19736         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
19737         (open, openat): Use it.
19738         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
19739         (fnmatch): Use it.
19740         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
19741         (getopt, getopt_long, getopt_long_only): Use it.
19742         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
19743         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
19744         Use it.
19745         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
19746         (iconv_open): Use it.
19747         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
19748         (strtoimax, strtoumax): Use it.
19749         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
19750         (duplocale): Use it.
19751         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
19752         (frexp, frexpl): Use it.
19753         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
19754         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
19755         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
19756         (tsearch, tfind, tdelete, twalk): Use it.
19757         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
19758         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
19759         sigpending): Use it.
19760         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
19761         (posix_spawn, posix_spawnp, posix_spawnattr_init,
19762         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
19763         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
19764         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
19765         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
19766         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
19767         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
19768         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
19769         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
19770         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
19771         Use it.
19772         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
19773         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
19774         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
19775         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
19776         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
19777         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
19778         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
19779         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
19780         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
19781         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
19782         strtoull, unsetenv): Use it.
19783         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
19784         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
19785         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
19786         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
19787         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
19788         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
19789         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
19790         (strcasecmp, strncasecmp): Use it.
19791         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
19792         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
19793         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
19794         rpl_setsockopt): Use it.
19795         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
19796         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
19797         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
19798         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
19799         (gettimeofday): Use it.
19800         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
19801         (times): Use it.
19802         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
19803         (uname): Use it.
19804         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
19805         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
19806         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
19807         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
19808         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
19809         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
19810         unlinkat, write): Use it.
19811         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
19812         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
19813         * lib/argv-iter.h: Include arg-nonnull.h.
19814         (_ATTRIBUTE_NONNULL_): Remove macro.
19815         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
19816         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
19817         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
19818         optimization.
19819         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
19820         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
19821         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
19822         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
19823         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
19824         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
19825         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
19826         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
19827         * modules/arpa_inet (Depends-on): Add arg-nonnull.
19828         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
19829         * modules/dirent (Depends-on): Add arg-nonnull.
19830         (Makefile.am): Insert arg-nonnull.h into dirent.h.
19831         * modules/fcntl-h (Depends-on): Add arg-nonnull.
19832         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
19833         * modules/fnmatch (Depends-on): Add arg-nonnull.
19834         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
19835         * modules/getopt-posix (Depends-on): Add arg-nonnull.
19836         (Makefile.am): Insert arg-nonnull.h into getopt.h.
19837         * modules/glob (Depends-on): Add arg-nonnull.
19838         (Makefile.am): Insert arg-nonnull.h into glob.h.
19839         * modules/iconv_open (Depends-on): Add arg-nonnull.
19840         (Makefile.am): Insert arg-nonnull.h into iconv.h.
19841         * modules/inttypes (Depends-on): Add arg-nonnull.
19842         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
19843         * modules/locale (Depends-on): Add arg-nonnull.
19844         (Makefile.am): Insert arg-nonnull.h into locale.h.
19845         * modules/math (Depends-on): Add arg-nonnull.
19846         (Makefile.am): Insert arg-nonnull.h into math.h.
19847         * modules/netdb (Depends-on): Add arg-nonnull.
19848         (Makefile.am): Insert arg-nonnull.h into netdb.h.
19849         * modules/search (Depends-on): Add arg-nonnull.
19850         (Makefile.am): Insert arg-nonnull.h into search.h.
19851         * modules/signal (Depends-on): Add arg-nonnull.
19852         (Makefile.am): Insert arg-nonnull.h into signal.h.
19853         * modules/spawn (Depends-on): Add arg-nonnull.
19854         (Makefile.am): Insert arg-nonnull.h into spawn.h.
19855         * modules/stdio (Depends-on): Add arg-nonnull.
19856         (Makefile.am): Insert arg-nonnull.h into stdio.h.
19857         * modules/stdlib (Depends-on): Add arg-nonnull.
19858         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
19859         * modules/string (Depends-on): Add arg-nonnull.
19860         (Makefile.am): Insert arg-nonnull.h into string.h.
19861         * modules/strings (Depends-on): Add arg-nonnull.
19862         (Makefile.am): Insert arg-nonnull.h into strings.h.
19863         * modules/sys_socket (Depends-on): Add arg-nonnull.
19864         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
19865         * modules/sys_stat (Depends-on): Add arg-nonnull.
19866         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
19867         * modules/sys_time (Depends-on): Add arg-nonnull.
19868         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
19869         * modules/sys_times (Depends-on): Add arg-nonnull.
19870         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
19871         * modules/sys_utsname (Depends-on): Add arg-nonnull.
19872         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
19873         * modules/time (Depends-on): Add arg-nonnull.
19874         (Makefile.am): Insert arg-nonnull.h into time.h.
19875         * modules/unistd (Depends-on): Add arg-nonnull.
19876         (Makefile.am): Insert arg-nonnull.h into unistd.h.
19877         * modules/wchar (Depends-on): Add arg-nonnull.
19878         (Makefile.am): Insert arg-nonnull.h into wchar.h.
19879         * modules/argv-iter (Depends-on): Add arg-nonnull.
19880         * tests/test-canonicalize.c (null_ptr): New function.
19881         (main): Use it.
19882         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
19883         (main): Use it.
19884         * tests/test-memmem.c (null_ptr): New function.
19885         (main): Use it.
19886         Reported by Jim Meyering.
19887
19888 2009-12-10  Bruno Haible  <bruno@clisp.org>
19889
19890         Use spaces for indentation, not tabs.
19891         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
19892         * m4/*.m4: Untabify.
19893         * build-aux/*.h: Untabify.
19894         * tests/**/*.[hc]: Untabify.
19895         * README: New section "Indent with spaces, not TABs", based on
19896         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
19897         * NEWS: Mention the change.
19898
19899 2009-12-10  Bruno Haible  <bruno@clisp.org>
19900
19901         pty test: Fix link error.
19902         * modules/pty-tests (Makefile.am): Add the default LDADD value to
19903         test_pty_LDADD.
19904
19905 2009-12-07  Simon Josefsson  <simon@josefsson.org>
19906
19907         * modules/pty: New file.
19908         * modules/pty-tests: New file.
19909         * m4/pty.m4: New file.
19910         * tests/test-pty.c: New file.
19911         * doc/glibc-headers/pty.texi: Modified.
19912         * doc/glibc-functions/forkpty.texi: Modified.
19913         * doc/glibc-functions/openpty.texi: Modified.
19914
19915 2009-12-10  Bruno Haible  <bruno@clisp.org>
19916
19917         Avoid syntax error in C++ mode.
19918         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
19919
19920 2009-12-10  Bruno Haible  <bruno@clisp.org>
19921
19922         Use sed with option -e.
19923         * gnulib-tool (func_version, func_emit_copyright_notice,
19924         func_emit_initmacro_end, func_import, func_create_testdir): Pass
19925         option -e to sed.
19926         * modules/link-warning (Makefile.am): Likewise.
19927
19928 2009-12-10  Jim Meyering  <meyering@redhat.com>
19929
19930         mgetgroups: do not write bytes beyond end of malloc'd buffer
19931         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
19932         username, we call getgroups with a one-element-shorter buffer,
19933         but still told it the length was original, max_n_groups.
19934
19935 2009-12-09  Eric Blake  <ebb9@byu.net>
19936
19937         cloexec: relax license
19938         * modules/cloexec (Maintainer): Add myself.
19939         (License): Use LGPL, not GPL.
19940
19941         link-warning: optimize generation
19942         * modules/link-warning (Makefile.am): Reduce process usage.
19943
19944 2009-12-09  Bruno Haible  <bruno@clisp.org>
19945
19946         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
19947         workaround was added on 2009-11-17.
19948
19949 2009-12-09  Jim Meyering  <meyering@redhat.com>
19950             Bruno Haible  <bruno@clisp.org>
19951
19952         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
19953         * modules/link-warning (Makefile.am): Make the comment-removing sed
19954         command more robust in the face of bootstrap-prepended comment lines.
19955
19956 2009-12-09  Bruno Haible  <bruno@clisp.org>
19957
19958         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
19959         most one group.
19960
19961 2009-12-09  Simon Josefsson <simon@josefsson.org>
19962             Bruno Haible  <bruno@clisp.org>
19963
19964         * build-aux/link-warning.h: Add copyright notice.
19965         * modules/link-warning (Makefile.am): Generate link-warning.h from
19966         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
19967         * NEWS: Mention change in link-warning module.
19968         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
19969         * modules/dirent (Makefile.am): Add dependency to dirent.h.
19970         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
19971         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
19972         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
19973         * modules/math (Makefile.am): Add dependency to math.h.
19974         * modules/search (Makefile.am): Add dependency to search.h.
19975         * modules/signal (Makefile.am): Add dependency to signal.h.
19976         * modules/spawn (Makefile.am): Add dependency to spawn.h.
19977         * modules/stdio (Makefile.am): Add dependency to stdio.h.
19978         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
19979         * modules/string (Makefile.am): Add dependency to string.h.
19980         * modules/strings (Makefile.am): Add dependency to strings.h.
19981         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
19982         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
19983         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
19984         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
19985         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
19986         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
19987         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
19988         * modules/unistd (Makefile.am): Add dependency to unistd.h.
19989         * modules/wchar (Makefile.am): Add dependency to wchar.h.
19990
19991 2009-12-09  Bruno Haible  <bruno@clisp.org>
19992
19993         fchdir: Optimize away rpl_fstat when possible.
19994         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
19995         REPLACE_OPEN_DIRECTORY.
19996         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
19997
19998 2009-12-09  Bruno Haible  <bruno@clisp.org>
19999
20000         * lib/fchdir.c: Update comment.
20001
20002 2009-12-09  Bruno Haible  <bruno@clisp.org>
20003
20004         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
20005
20006 2009-12-08  Eric Blake  <ebb9@byu.net>
20007
20008         fchdir: avoid memory leak on re-registration.
20009         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
20010
20011 2009-12-08  Jim Meyering  <meyering@redhat.com>
20012
20013         init.sh: avoid Solaris 10 /bin/sh portability problem
20014         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
20015         sourced script:
20016           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
20017           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
20018           bar
20019         tests/init.sh relied on that, accepting a --set-path=DIR argument,
20020         and two tests used that idiom.
20021         * tests/init.sh: Update suggested usage comments.
20022         (path_prepend_): New function, to be used in place
20023         of the --src-path=DIR option.
20024         (setup_): Move PATH-prepending code into path_prepend_.
20025         * tests/test-pread.sh: Adapt to new usage.
20026         * tests/test-xalloc-die.sh: Likewise.
20027
20028 2009-12-08  Simon Josefsson  <simon@josefsson.org>
20029
20030         * doc/gnulib.texi (Glibc pty.h): Add.
20031         * doc/glibc-functions/forkpty.texi: Add.
20032         * doc/glibc-functions/openpty.texi: Add.
20033         Suggested by Bruno Haible.
20034
20035 2009-12-08  Eric Blake  <ebb9@byu.net>
20036
20037         fchdir: fix logic bugs
20038         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
20039         * tests/test-fchdir.c (main): Enhance test.
20040         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
20041         is in use.
20042
20043         dup2: fix logic bugs
20044         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
20045         REPLACE_DUP2 to decide when rpl_dup2 is needed.
20046         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
20047         exists.
20048         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
20049
20050 2009-12-07  Eric Blake  <ebb9@byu.net>
20051
20052         unlink: fix m4 detection
20053         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
20054
20055         unistd-safer: add unit test
20056         * modules/unistd-safer-tests: New file.
20057         * tests/test-dup-safer.c: Likewise.
20058         * tests/test-cloexec.c (setmode): Avoid compiler warning.
20059         * tests/test-dup2.c (setmode): Likewise.
20060         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
20061
20062         cloexec: preserve text vs. binary across dup_cloexec
20063         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
20064         mode.
20065         * modules/dup2-tests (Depends-on): Add binary-io.
20066         * modules/cloexec-tests (Depends-on): Likewise.
20067         * tests/test-dup2.c (setmode, is_mode): New helpers.
20068         (main): Add tests that translation mode is preserved.
20069         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
20070         Reported by Bruno Haible.
20071
20072         mgetgroups: reduce duplicate listings
20073         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
20074         resulting array.
20075         * tests/test-chown.h (test_chown): Simplify client.
20076         * tests/test-lchown.h (test_lchown): Likewise.
20077
20078 2009-12-06  Bruno Haible  <bruno@clisp.org>
20079
20080         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
20081         value.
20082
20083 2009-12-06  Bruno Haible  <bruno@clisp.org>
20084
20085         * lib/progname.c: Include stdio.h, stdlib.h.
20086         (set_program_name): Reject a NULL argument.
20087
20088 2009-12-05  Eric Blake  <ebb9@byu.net>
20089
20090         pipe2-safer: new module
20091         * modules/pipe2-safer: New file.
20092         * lib/unistd-safer.h (pipe2_safer): New prototype.
20093         * lib/unistd--.h (pipe2): New wrapper.
20094         * lib/pipe-safer.c (pipe2_safer): New function.
20095         * modules/pipe (Depends-on): Add pipe2-safer.
20096         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
20097
20098         stdlib-safer: preserve cloexec flag for mkostemp[s]
20099         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
20100         fd_safer_flag.
20101
20102         unistd-safer: allow preservation of cloexec status via flag
20103         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
20104         prototypes.
20105         * lib/dup-safer.c (dup_safer_flag): New function.
20106         * lib/fd-safer.c (fd_safer_flag): Likewise.
20107         * modules/cloexec (configure.ac): Set witness.
20108
20109         test-dup2: enhance test
20110         * modules/dup2-tests (Depends-on): Add cloexec.
20111         * tests/test-dup2.c (main): Enhance test.
20112
20113         cloexec: add dup_cloexec
20114         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
20115         header and comments.
20116         * lib/cloexec.c (set_cloexec_flag): Add comments.
20117         (dup_cloexec): New function, with mingw implementation borrowed
20118         from...
20119         * lib/w32spawn.h (dup_noinherit): ...here.
20120         * modules/execute (Depends-on): Add cloexec.
20121         * modules/pipe (Depends-on): Likewise.
20122         * modules/cloexec (Depends-on): Add dup2.
20123         * modules/cloexec-tests (Files): New file.
20124         * tests/test-cloexec.c: Likewise.
20125
20126         test-xalloc-die: fix test for mingw
20127         * modules/xalloc-die-tests (Files): Add tests/init.sh.
20128         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
20129         directory and .exe suffix off argv[0] output.
20130
20131         test-fseeko: fix test for mingw
20132         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
20133         than undefining fseek, so test will pass on mingw.
20134
20135 2009-12-05  Bruno Haible  <bruno@clisp.org>
20136
20137         * lib/progname.h (set_program_name): Clarify specification.
20138         * lib/progname.c (set_program_name): Likewise.
20139         Reported by Jim Meyering.
20140
20141 2009-12-05  Jim Meyering  <meyering@redhat.com>
20142
20143         maint.mk: backslash-escape parens in default regexp
20144         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
20145         backslash-escape the literal parentheses.
20146
20147         maint.mk: news-date-check: use grep -E
20148         * top/maint.mk (today): Define a Make variable, not a...
20149         (news-date-check): ...shell variable.
20150         (news-date-regexp): Use the Make variable.
20151         Use grep's -E option.  Change the failing diagnostic to mention
20152         the variable, $(news-date-regexp).
20153
20154 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
20155
20156         maintainer-makefile: allow customization of NEWS entry format
20157         * top/maint.mk (news-date-regexp): New overridable variable.
20158         (news-date-check): Use it.
20159
20160 2009-12-04  Eric Blake  <ebb9@byu.net>
20161
20162         mgetgroups: add xgetgroups, and avoid ENOSYS failures
20163         * lib/mgetgroups.h (xgetgroups): New prototype.
20164         * lib/mgetgroups.c (xgetgroups): New wrapper.
20165         (mgetgroups): Handle ENOSYS.
20166         * modules/mgetgroups (Depends-on): Add realloc.
20167         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
20168
20169         mgetgroups: avoid argument promotion issues with -1
20170         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
20171         for invalid gid_t.
20172         * tests/test-chown.h (getegid, test_chown): Likewise.
20173         * tests/test-lchown.h (getegid, test_lchown): Likewise.
20174
20175 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
20176
20177         exclude: Fix header file problems.
20178         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
20179
20180 2009-12-01  Jim Meyering  <meyering@redhat.com>
20181
20182         fts: fts_open: do not let an empty string cause immediate failure
20183         This is required in support of GNU rm, for which the command
20184         "rm A '' B" must process and remove both A and B, in spite of
20185         the empty string argument.
20186         * lib/fts.c (fts_open): Do not let the presence of an empty string
20187         cause fts_open to fail immediately.  Most fts-using tools must be
20188         able to process all arguments, in order, and can be expected to
20189         diagnose such arguments themselves.
20190
20191 2009-11-30  Eric Blake  <ebb9@byu.net>
20192
20193         utimens: fix compilation error
20194         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
20195         Declare variable at right scope.
20196
20197 2009-11-29  Jim Meyering  <meyering@redhat.com>
20198
20199         bootstrap: handle perl-5.11's changed --version output
20200         * build-aux/bootstrap (get_version): Handle perl separately,
20201         since perl-5.11's --version output is different.
20202
20203 2009-11-28  Jim Meyering  <meyering@redhat.com>
20204
20205         userspec: depend on the inttostr module, too
20206         * modules/userspec (Depends-on): Add inttostr.
20207
20208         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
20209         * lib/userspec.c (parse_with_separator): Do not accept a user ID
20210         number of MAXUID when it evaluates to (uid_t) -1.
20211         Likewise for group ID.  Reported by Matt McCutchen in
20212         <http://savannah.gnu.org/bugs/?28113>
20213
20214         userspec: reformat to use spaces, not TABs
20215         * lib/userspec.c: Expand TABs to spaces.
20216         Add Emacs' "indent-tabs-mode: nil" hint.
20217
20218 2009-11-27  Eric Blake  <ebb9@byu.net>
20219
20220         getopt-gnu: flush out another BSD bug
20221         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
20222         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
20223         flush out BSD bug.
20224         * tests/test-getopt.h (test_getopt): End lists with NULL.
20225         * tests/test-getopt_long.h (test_getopt_long): Likewise.
20226         (test_getopt_long_posix): Enhance test.
20227         * modules/getopt-posix-tests (Depends-on): Add stdbool.
20228         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
20229         getopt-gnu.
20230         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
20231         Likewise.
20232
20233 2009-11-27  Simon Josefsson  <simon@josefsson.org>
20234
20235         * modules/idpriv-droptemp-tests (Notice): Fix text.
20236
20237 2009-11-27  Jim Meyering  <meyering@redhat.com>
20238
20239         test-xalloc-die: avoid spurious failure due to libtool argv difference
20240         In a libtool-enabled project, this test would fail due to a difference
20241         in the emitted program name, e.g.,
20242         -test-xalloc-die: memory exhausted
20243         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
20244         Use program to avoid that.
20245         * modules/xalloc-die-tests (Depends-on): Add progname.
20246         * tests/test-xalloc-die.c: Include progname.h".
20247         (program_name): Remove decl.
20248         (main): Call set_program_name.
20249         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
20250
20251 2009-11-26  Richard Jones  <rjones@redhat.com>
20252
20253         w32sock: leave win32 error in place.
20254         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
20255
20256 2009-11-26  Eric Blake  <ebb9@byu.net>
20257
20258         init.sh: suggest to use skip_ and fail_ functions in comments
20259         * tests/init.sh: Add a sentence.
20260
20261 2009-11-25  Bruno Haible  <bruno@clisp.org>
20262
20263         init.sh: add documentation in comments
20264         * tests/init.sh: Add some developer and user documentation.
20265
20266 2009-11-26  Jim Meyering  <meyering@redhat.com>
20267
20268         init.sh: accommodate even those who specify bogus srcdir manually
20269         * tests/init.sh: Normally, srcdir is guaranteed by automake and
20270         configure-time tests to be sanitized, so that there is no need to
20271         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
20272         (with no double quotes) suffices.  However, since tests may be
20273         invoked manually, and since you may explicitly set srcdir to the
20274         name of a directory containing spaces, do quote its uses here.
20275         * tests/test-pread.sh: Likewise.
20276         Suggested by Bruno Haible.
20277
20278         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
20279         * tests/test-pread.sh: Write no data into the pipe, because
20280         test-pread actually reads none.  This avoids a diagnostic,
20281         "bash: echo: write error: Broken pipe", that arises in the unusual
20282         event something is ignoring SIGPIPE, and might be interpreted
20283         as some sort of failure.  Reported by Bruno Haible.
20284
20285 2009-11-25  Jim Meyering  <meyering@redhat.com>
20286
20287         test-pread: cover failure with ESPIPE and EINVAL
20288         * tests/test-pread.c (main): Test for failure, too.
20289         * tests/test-pread.sh: Invoke with stdin on a pipe.
20290         Suggested by Eric Blake.
20291
20292         pread: improvement and fix
20293         * modules/pread (Depends-on): Depend on lseek, for portability to
20294         e.g., mingw.  Suggested by Eric Blake.
20295         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
20296
20297         unistd.in.h: correct declaration of pread
20298         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
20299         Reported by Richard W.M. Jones.
20300
20301         test-pread.sh: distribute the test script
20302         * modules/pread-tests (Files): Include test-pread.sh.
20303
20304         test-pread.sh: clean up
20305         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
20306         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
20307         That is unnecessary, since it's always ".".
20308         Suggestion from Eric Blake.
20309
20310         test-pread.sh: make executable
20311         * tests/test-pread.sh: Set executable bit.
20312         Reported by Eric Blake.
20313
20314         correct typo in test-pread.sh
20315         * tests/test-pread.sh: Add #! line.
20316
20317         test pread
20318         * tests/test-pread.c: New file.
20319         * tests/test-pread.sh: Likewise.
20320         * modules/pread-tests: Likewise.
20321
20322         pread: new module
20323         * modules/pread: New file.
20324         * lib/unistd.in.h (pread): Define/declare.
20325         * lib/pread.c (pread): New file.
20326         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
20327         * modules/unistd (Makefile.am): Substitute witnesses.
20328         * doc/posix-functions/pread.texi (pread): Update.
20329         * MODULES.html.sh: Add pread.
20330
20331 2009-11-25  Jim Meyering  <meyering@redhat.com>
20332
20333         tests/init.sh: new file to be used via most *.sh tests
20334         * tests/init.sh: New file.
20335
20336 2009-11-25  Eric Blake  <ebb9@byu.net>
20337
20338         utimens: work around older Linux failure with symlinks
20339         * lib/utimens.c (lutimensat_works_really): New variable.
20340         (fdutimens, lutimens): Use it to manage kernels that support
20341         nanosecond times on files, but not on symlinks.
20342         Reported by OndÅ™ej Vašík.
20343
20344         utimes: fix configure grammar
20345         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
20346
20347 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
20348
20349         regex: Fix fastmap for multibyte character ranges.
20350         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
20351         characters when a multibyte character range is included.
20352
20353 2009-11-22  Andy Wingo  <wingo@pobox.com>
20354
20355         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
20356         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
20357
20358 2009-11-24  Bruno Haible  <bruno@clisp.org>
20359
20360         doc: Most *_l functions exist in MacOS X 10.5.
20361         * doc/posix-functions/duplocale.texi: Update platforms list.
20362         * doc/posix-functions/freelocale.texi: Likewise.
20363         * doc/posix-functions/newlocale.texi: Likewise.
20364         * doc/posix-functions/uselocale.texi: Likewise.
20365         * doc/posix-functions/isalnum_l.texi: Likewise.
20366         * doc/posix-functions/isalpha_l.texi: Likewise.
20367         * doc/posix-functions/isblank_l.texi: Likewise.
20368         * doc/posix-functions/iscntrl_l.texi: Likewise.
20369         * doc/posix-functions/isdigit_l.texi: Likewise.
20370         * doc/posix-functions/isgraph_l.texi: Likewise.
20371         * doc/posix-functions/islower_l.texi: Likewise.
20372         * doc/posix-functions/isprint_l.texi: Likewise.
20373         * doc/posix-functions/ispunct_l.texi: Likewise.
20374         * doc/posix-functions/isspace_l.texi: Likewise.
20375         * doc/posix-functions/isupper_l.texi: Likewise.
20376         * doc/posix-functions/iswalnum_l.texi: Likewise.
20377         * doc/posix-functions/iswalpha_l.texi: Likewise.
20378         * doc/posix-functions/iswblank_l.texi: Likewise.
20379         * doc/posix-functions/iswcntrl_l.texi: Likewise.
20380         * doc/posix-functions/iswctype_l.texi: Likewise.
20381         * doc/posix-functions/iswdigit_l.texi: Likewise.
20382         * doc/posix-functions/iswgraph_l.texi: Likewise.
20383         * doc/posix-functions/iswlower_l.texi: Likewise.
20384         * doc/posix-functions/iswprint_l.texi: Likewise.
20385         * doc/posix-functions/iswpunct_l.texi: Likewise.
20386         * doc/posix-functions/iswspace_l.texi: Likewise.
20387         * doc/posix-functions/iswupper_l.texi: Likewise.
20388         * doc/posix-functions/iswxdigit_l.texi: Likewise.
20389         * doc/posix-functions/isxdigit_l.texi: Likewise.
20390         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
20391         * doc/posix-functions/strcasecmp_l.texi: Likewise.
20392         * doc/posix-functions/strcoll_l.texi: Likewise.
20393         * doc/posix-functions/strfmon_l.texi: Likewise.
20394         * doc/posix-functions/strftime_l.texi: Likewise.
20395         * doc/posix-functions/strncasecmp_l.texi: Likewise.
20396         * doc/posix-functions/strxfrm_l.texi: Likewise.
20397         * doc/posix-functions/tolower_l.texi: Likewise.
20398         * doc/posix-functions/toupper_l.texi: Likewise.
20399         * doc/posix-functions/towctrans_l.texi: Likewise.
20400         * doc/posix-functions/towlower_l.texi: Likewise.
20401         * doc/posix-functions/towupper_l.texi: Likewise.
20402         * doc/posix-functions/wcscoll_l.texi: Likewise.
20403         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
20404         * doc/posix-functions/wctrans_l.texi: Likewise.
20405         * doc/posix-functions/wctype_l.texi: Likewise.
20406         * doc/glibc-functions/strptime_l.texi: Likewise.
20407         * doc/glibc-functions/strtod_l.texi: Likewise.
20408         * doc/glibc-functions/strtof_l.texi: Likewise.
20409         * doc/glibc-functions/strtol_l.texi: Likewise.
20410         * doc/glibc-functions/strtold_l.texi: Likewise.
20411         * doc/glibc-functions/strtoll_l.texi: Likewise.
20412         * doc/glibc-functions/strtoul_l.texi: Likewise.
20413         * doc/glibc-functions/strtoull_l.texi: Likewise.
20414         * doc/glibc-functions/wcsftime_l.texi: Likewise.
20415         * doc/glibc-functions/wcstod_l.texi: Likewise.
20416         * doc/glibc-functions/wcstof_l.texi: Likewise.
20417         * doc/glibc-functions/wcstol_l.texi: Likewise.
20418         * doc/glibc-functions/wcstold_l.texi: Likewise.
20419         * doc/glibc-functions/wcstoll_l.texi: Likewise.
20420         * doc/glibc-functions/wcstoul_l.texi: Likewise.
20421         * doc/glibc-functions/wcstoull_l.texi: Likewise.
20422
20423 2009-11-24  Bruno Haible  <bruno@clisp.org>
20424
20425         duplocale: Fix logic bug.
20426         * lib/duplocale.c: Don't include <langinfo.h>.
20427         (_NL_LOCALE_NAME): Remove macro.
20428         (rpl_duplocale): Use setlocale instead of nl_langinfo.
20429         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
20430
20431 2009-11-23  Jim Meyering  <meyering@redhat.com>
20432
20433         test-update-copyright: don't hard-code /usr/bin/perl
20434         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
20435         perl to print the current year.  Gilles Espinasse reported that
20436         the replaced use of perl was hard-coded as /usr/bin/perl.
20437
20438 2009-11-23  Bruno Haible  <bruno@clisp.org>
20439
20440         duplocale: Add support for glibc 2.3.x.
20441         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
20442
20443 2009-11-22  Bruno Haible  <bruno@clisp.org>
20444
20445         vasnprintf: Tiny optimization.
20446         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
20447         MacOS X.
20448
20449 2009-11-22  Bruno Haible  <bruno@clisp.org>
20450
20451         Tests for module 'duplocale'.
20452         * modules/duplocale-tests: New file.
20453         * tests/test-duplocale.c: New file.
20454
20455         New module 'duplocale'.
20456         * m4/duplocale.m4: New file.
20457         * lib/locale.in.h (duplocale): New declaration.
20458         * lib/duplocale.c: New file.
20459         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
20460         gl_LOCALE_H_DEFAULTS): New macros.
20461         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
20462         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
20463         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
20464         REPLACE_DUPLOCALE.
20465         * modules/duplocale: New file.
20466         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
20467
20468 2009-11-22  Bruno Haible  <bruno@clisp.org>
20469
20470         * modules/locale-tests (configure.ac): Test for newlocale function.
20471         * tests/test-locale.c: When the system has extended locale functions,
20472         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
20473
20474         locale: Make locale_t available when possible.
20475         * lib/locale.in.h: Include <xlocale.h> when it exists.
20476         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
20477         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
20478         * modules/locale (Depends-on): Add extensions.
20479         (Makefile.am): Also substitute HAVE_XLOCALE_H.
20480         * doc/posix-headers/locale.texi: Document the problem with locale_t.
20481
20482 2009-11-22  Bruno Haible  <bruno@clisp.org>
20483
20484         Add comments.
20485         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
20486         invocation.
20487         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
20488         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
20489         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
20490
20491 2009-11-22  Bruno Haible  <bruno@clisp.org>
20492
20493         error: account for the possibility of freopen (stdout).
20494         * lib/error.c: Include <unistd.h>.
20495         (flush_stdout): New function, extracted from error and error_at_line.
20496         Determine stdout's fd dynamically.
20497         (error, error_at_line): Invoke flush_stdout.
20498         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
20499         * modules/error (Depends-on): Add unistd.
20500
20501 2009-11-22  Bruno Haible  <bruno@clisp.org>
20502
20503         diffseq: Add comment.
20504         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
20505
20506 2009-11-22  Jim Meyering  <meyering@redhat.com>
20507
20508         c-stack: avoid defining an unused static function
20509         * lib/c-stack.c (find_stack_direction): Do not define this function
20510         when it will not be used.
20511
20512         diffseq: avoid spurious gcc warnings
20513         * lib/diffseq.h (IF_LINT2): Define.
20514         (compareseq): Use it to initialize two members of "part".
20515         This avoids two used-uninitialized warnings.
20516
20517 2009-11-21  Jim Meyering  <meyering@redhat.com>
20518
20519         c-stack: avoid "ignoring return value of `write'" warning
20520         * lib/c-stack.c: Include "ignore-value.h".
20521         (die): Explicitly ignore each write return value.
20522         * modules/c-stack (Depends-on): Add ignore-value.
20523
20524 2009-11-21  Bruno Haible  <bruno@clisp.org>
20525
20526         diffseq: reduce scope of variable 'best'.
20527         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
20528         variable, earlier used for two different purposes.
20529
20530 2009-11-21  Jim Meyering  <meyering@redhat.com>
20531
20532         diffseq: remove useless assignment to "best"
20533         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
20534         assignment.  At that point "best" is already guaranteed to be zero.
20535
20536 2009-11-20  Eric Blake  <ebb9@byu.net>
20537
20538         build: mention ftp redirector in release announcements
20539         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
20540         values that used to come from cfg.mk; mention FTP redirect URL.
20541         * build-aux/announce-gen: Mention the mirror list.
20542         Suggested by Karl Berry.
20543
20544         nanosleep: improve port to mingw
20545         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
20546         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
20547         LIB_NANOSLEEP, but only when needed.
20548         * modules/select (Link): Document LIBSOCKET.
20549         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
20550         enough.
20551
20552         nanosleep: work around cygwin bug
20553         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
20554         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
20555         bug.
20556         (getnow): Delete, not needed.
20557         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
20558         LIB_CLOCK_GETTIME.
20559         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
20560         clock-time, gettime.
20561         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
20562         bug.
20563         * modules/nanosleep-tests: New test.
20564         * tests/test-nanosleep.c: New file.
20565
20566         sleep: work around cygwin bug
20567         * lib/sleep.c (rpl_sleep): Work around the bug.
20568         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
20569         (gl_PREREQ_SLEEP): Delete unused macro.
20570         * modules/sleep (Depends-on): Add verify.
20571         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
20572         * modules/unistd (Makefile.am): Substitute witness.
20573         * lib/unistd.in.h (sleep): Update prototype.
20574         * doc/posix-functions/sleep.texi (sleep): Document the bug.
20575         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
20576         * modules/sleep-tests (Depends-on): Check for alarm.
20577
20578 2009-11-20  Jim Meyering  <meyering@redhat.com>
20579
20580         maint.mk: improve sc_prohibit_magic_number_exit
20581         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
20582         so it does not match uses like System.exit(1).
20583         Add comments showing how to correct all offenders.
20584
20585 2009-11-19  Eric Blake  <ebb9@byu.net>
20586
20587         xalloc-die-tests: add missing library
20588         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
20589
20590         test-xvasprintf: silence compiler warnings
20591         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
20592         empty string from gcc.
20593
20594 2009-11-19  Jim Meyering  <meyering@redhat.com>
20595
20596         xfreopen: new module, from coreutils
20597         * modules/xfreopen: New module.
20598         * lib/xfreopen.c: New file.
20599         * lib/xfreopen.h: New file.
20600         * MODULES.html.sh (File stream based Input/Output"): Add it.
20601
20602 2009-11-19  Eric Blake  <ebb9@byu.net>
20603
20604         manywarnings: depend on warnings
20605         * modules/manywarnings (Depends-on): Add warnings.
20606
20607         build: avoid compiler warnings
20608         * lib/select.c (rpl_select): Delete unused variable.
20609         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
20610
20611 2009-11-18  Eric Blake  <ebb9@byu.net>
20612
20613         tests: avoid false negative with --with-packager
20614         * tests/test-version-etc.sh: Discard packager information.
20615         * tests/test-argp-version-etc-1.sh: Likewise.
20616         Reported by Mike Frysinger.
20617
20618         utimens: fix regression on Solaris
20619         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
20620         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
20621         can only change fd timestamps via futimesat.  Instead, use an
20622         additional witness macro to avoid BSD bug.
20623         Reported by Jim Meyering.
20624
20625 2009-11-17  Eric Blake  <ebb9@byu.net>
20626
20627         usleep: use it to simplify tests
20628         * modules/stat-time-tests (Depends-on): Add usleep.
20629         (configure.ac): Drop usleep check.
20630         * modules/chown-tests (Depends-on, configure.ac): Likewise.
20631         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
20632         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
20633         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
20634         * modules/openat-tests (Depends-on, configure.ac): Likewise.
20635         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
20636         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
20637         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
20638         Likewise.
20639         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
20640         * tests/test-lchown.h (nap): Likewise.
20641         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
20642         * tests/test-stat-time.c (nap): Likewise.
20643         * tests/test-utimens-common.h (nap): Update comments.
20644
20645         usleep: new module
20646         * modules/usleep: New file.
20647         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
20648         * lib/usleep.c (usleep): Likewise.
20649         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
20650         * modules/unistd (Makefile.am): Substitute witnesses.
20651         * lib/unistd.in.h (usleep): Add declaration.
20652         * doc/pastposix-functions/usleep.texi (usleep): Document this.
20653         * MODULES.html.sh (Date and time): Likewise.
20654         * modules/usleep-tests (Depends-on): New test.
20655         * tests/test-usleep.c: New file.
20656
20657         chown: work around OpenBSD bug
20658         * lib/chown.c (rpl_chown): Work around the bug.
20659         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
20660         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
20661         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
20662         * modules/chown (Depends-on): Add stdbool.
20663         * modules/lchown (Depends-on): Likewise.
20664         * doc/posix-functions/chown.texi (chown): Document the bug.
20665         * doc/posix-functions/lchown.texi (lchown): Likewise.
20666         * tests/test-lchown.h (test_chown): Relax test.
20667
20668         mkstemp: avoid conflict with C++ keyword template
20669         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
20670         * lib/mkostemp.c (mkostemp): Likewise.
20671         * lib/mkostemps.c (mkostemps): Likewise.
20672         * lib/mkstemp.c (mkstemp): Likewise.
20673         * lib/mkstemps.c (mkstemps): Likewise.
20674
20675         xalloc-die-tests: optimize
20676         * tests/test-xalloc-die.sh: Reduce number of processes.
20677
20678 2009-11-17  Simon Josefsson  <simon@josefsson.org>
20679
20680         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
20681         patch from ludo@gnu.org (Ludovic Courtès).
20682
20683 2009-11-17  Jim Meyering  <meyering@redhat.com>
20684
20685         version-etc: use proper license string
20686         * modules/version-etc (License): Use LGPL, not LGPLv3+.
20687         * modules/version-etc-fsf: Likewise.
20688
20689 2009-11-17  Simon Josefsson  <simon@josefsson.org>
20690
20691         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
20692         printed to stdout.  Deal with EOL differences.
20693
20694 2009-11-17  Eric Blake  <ebb9@byu.net>
20695
20696         unsetenv: work around Solaris bug
20697         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
20698         * lib/unsetenv.c (rpl_unsetenv): Work around it.
20699         Reported by Jim Meyering.
20700
20701         vasnprintf: avoid compiler warnings
20702         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
20703         variables.
20704         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
20705
20706 2009-11-17  Simon Josefsson  <simon@josefsson.org>
20707
20708         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
20709         settings since xalloc-die is no longer the self test,
20710         xalloc-die.sh is.
20711
20712 2009-11-17  Jim Meyering  <meyering@redhat.com>
20713
20714         test-xalloc-die.sh: make the code agree with the commit log
20715         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
20716         at the end, just in case you happen to have a test-xalloc-die
20717         program in some other PATH directory.
20718
20719         test-xalloc-die.sh: fix a portability bug
20720         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
20721         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
20722         Otherwise, argv[0] (as often seen in diagnostics) would be too
20723         system-dependent, sometimes with, and sometimes without the leading "./".
20724
20725         version-etc-fsf: relax license to LGPLv3+
20726         * modules/version-etc-fsf (License): Relax license.
20727
20728 2009-11-16  Eric Blake  <ebb9@byu.net>
20729
20730         xalloc-die-tests: avoid printing null pointer
20731         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
20732         shell script.
20733         * tests/test-xalloc-die.c (program_name): Declare.
20734         * tests/test-xalloc-die.sh (tmpfiles): New file.
20735
20736         setenv, unsetenv: work around various bugs
20737         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
20738         (setenv) [HAVE_SETENV]: Work around bugs.
20739         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
20740         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
20741         for bugs.
20742         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
20743         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
20744         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
20745         * modules/stdlib (Makefile.am): Update substitutions.
20746         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
20747         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
20748         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
20749         * modules/setenv-tests: New test.
20750         * modules/unsetenv-tests: Likewise.
20751         * tests/test-setenv.c: New file.
20752         * tests/test-unsetenv.c: Likewise.
20753
20754 2009-11-16  Jim Meyering  <meyering@redhat.com>
20755
20756         version-etc: relax license to LGPLv3+
20757         * modules/version-etc (License): Relax license.
20758
20759         better AC_REQUIRE expanded-before-required-warning avoidance
20760         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
20761         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
20762         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
20763         which is no longer needed.
20764
20765 2009-11-16  Eric Blake  <ebb9@byu.net>
20766
20767         test-freading: clean up temporary file
20768         * tests/test-freading.c (main): Remove file on success, and use
20769         ASSERT more liberally.
20770         Reported by Jim Meyering.
20771
20772 2009-11-16  Jim Meyering  <meyering@redhat.com>
20773
20774         avoid new AC_REQUIRE expanded-before-required warnings
20775         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
20776         merely using it.
20777         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
20778         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
20779
20780 2009-11-15  Simon Josefsson  <simon@josefsson.org>
20781
20782         * tests/test-xalloc-die.c: New file.
20783         * modules/xalloc-die-tests: New file.
20784         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
20785         XFAIL_TESTS so it can be appended by modules.
20786
20787 2009-11-15  Simon Josefsson  <simon@josefsson.org>
20788
20789         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
20790         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
20791
20792 2009-11-14  Eric Blake  <ebb9@byu.net>
20793
20794         fnmatch: avoid compiler warning
20795         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
20796         to silence compiler warning about mismatch signedness in ?:.
20797         Reported by Robert Millan.
20798
20799         intprops: add double-inclusion guard
20800         * lib/intprops.h: Allow idempotent includes.
20801         Suggested by Bruce Korb.
20802
20803         openat: detect Solaris fchownat bug
20804         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
20805         penalizing glibc chownat when only lchownat is broken.
20806         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
20807         trailing slash bugs.
20808         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
20809         * modules/openat-tests (Files): Include more files.
20810         (Depends-on): Add mgetgroups, sleep, stat-time.
20811         (configure.ac): Add additional checks.
20812         (Makefile.am): Build new test.
20813         * tests/test-fchownat.c: New file.
20814
20815         lchown: detect Solaris and FreeBSD bug
20816         * lib/lchown.c (rpl_lchown): Work around bug.
20817         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
20818         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
20819         * modules/unistd (Makefile.am): Populate it.
20820         * lib/unistd.in.h (lchown): Update declaration.
20821         * doc/posix-functions/lchown.texi (lchown): Document the bug.
20822         * modules/lchown-tests: New file.
20823         * tests/test-lchown.h (test_lchown): Likewise.
20824         * tests/test-lchown.c (main): Likewise.
20825
20826         chown: detect Solaris and FreeBSD bug
20827         * lib/chown.c (rpl_chown): Work around bug.
20828         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
20829         (gl_PREREQ_CHOWN): Delete.
20830         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
20831         * modules/unistd (Makefile.am): Populate it.
20832         * lib/unistd.in.h (chown): Update declaration.
20833         * lib/lchown.c (chown): Update client.
20834         * modules/lchown (Depends-on): Add lstat.
20835         * doc/posix-functions/chown.texi (chown): Document the bug.
20836         * doc/posix-functions/getgroups.texi (getgroups): Document
20837         getgroups pitfall.
20838         * modules/chown-tests: New file.
20839         * tests/test-chown.h (test_chown): Likewise.
20840         * tests/test-chown.c (main): Likewise.
20841
20842 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
20843
20844         gnulib-tool: correctly detect absence of m4 directories
20845         * gnulib-tool: Avoid extra newline on data passed to wc -l.
20846
20847 2009-11-14  Jim Meyering  <meyering@redhat.com>
20848
20849         maint.mk: Prohibit inclusion of "xalloc.h" without use.
20850         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
20851
20852 2009-11-14  John W. Eaton  <jwe@gnu.org>
20853
20854         strftime.h: wrap funtion declaration in extern "C" block
20855         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
20856
20857 2009-11-13  Eric Blake  <ebb9@byu.net>
20858
20859         getgroups: avoid compiler warning
20860         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
20861
20862         getgroups: work around FreeBSD bug
20863         * lib/getgroups.c (rpl_getgroups): Work around the bug.
20864         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
20865         * doc/posix-functions/getgroups.texi (getgroups): Document it.
20866         * tests/test-getgroups.c (main): Fix buffer overrun.
20867
20868         getgroups: avoid compilation failure
20869         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
20870         * modules/getgroups (Depends-on): Add stdint.
20871
20872 2009-11-13  Jim Meyering  <meyering@redhat.com>
20873
20874         test-getgroups: avoid compilation failure
20875         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
20876
20877 2009-11-13  Eric Blake  <ebb9@byu.net>
20878
20879         mgetgroups: new module, taken from coreutils
20880         * modules/mgetgroups: New file.
20881         * lib/mgetgroups.h: Likewise.
20882         * lib/mgetgroups.c (mgetgroups): Likewise.
20883         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
20884         * MODULES.html.sh (Users and groups): Mention it.
20885
20886         getgroups: don't expose GETGROUPS_T to user
20887         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
20888         an element at a time if GETGROUPS_T is wrong size.
20889         * lib/getugroups.h (getugroups): Change signature.
20890         * lib/unistd.in.h (getgroups): Likewise.
20891         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
20892         signature needs fixing.
20893         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
20894         AC_TYPE_GETGROUPS.
20895         * modules/group-member (Depends-on): Add getgroups.
20896         * lib/group-member.c (group_info, get_group_info): Use gid_t.
20897         (group_member): Rely on getgroups replacement.
20898         * lib/getugroups.c (getugroups): Use gid_t.
20899         * tests/test-getgroups.c (main): Likewise.
20900         * NEWS: Mention the signature change.
20901         * doc/posix-functions/getgroups.texi (getgroups): Mention the
20902         problem with signature.
20903         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
20904         GETGROUPS_T is still useful for setgroups.
20905
20906         getgroups, getugroups: provide stubs for mingw
20907         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
20908         * lib/getugroups.c (getugroups): Likewise.
20909         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
20910         function.  Modernize replacement scheme.
20911         (gl_PREREQ_GETGROUPS): Delete.
20912         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
20913         * modules/getgroups (configure.ac): Declare witness.
20914         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
20915         * modules/unistd (Depends-on): Substitute witness.
20916         * lib/unistd.in.h (getgroups): Declare replacement.
20917
20918         getgroups: avoid calling exit
20919         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
20920         drop xalloc.
20921         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
20922         dependencies.
20923         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
20924         exiting, in the rare case of malloc failure.
20925
20926         getgroups: fix logic error
20927         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
20928         has more than 20 groups.
20929         * modules/getgroups-tests: New test.
20930         * tests/test-getgroups.c: New file.
20931
20932 2009-11-13  Simon Josefsson  <simon@josefsson.org>
20933
20934         * tests/test-base64.c: Improve.
20935
20936 2009-11-13  Simon Josefsson  <simon@josefsson.org>
20937
20938         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
20939         Blake <ebb9@byu.net>.
20940
20941 2009-11-13  Simon Josefsson  <simon@josefsson.org>
20942
20943         * tests/test-xvasprintf.c: Add %s%s related checks.
20944
20945 2009-11-12  Eric Blake  <ebb9@byu.net>
20946
20947         version-etc: match standards.texi style
20948         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
20949         and use <> only for URLs.
20950
20951 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
20952
20953         fts: do not fail on a submount during traversal
20954         * lib/fts.c (fts_build): Read the stat info again after opening
20955         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
20956         Original report at http://bugzilla.redhat.com/501848.
20957
20958 2009-11-12  Jim Meyering  <meyering@redhat.com>
20959
20960         bootstrap: sync from coreutils
20961         * build-aux/bootstrap (bootstrap_epilogue): New function.
20962         Use git_modules_config in one more place.  This make bootstrap's
20963         --gnulib-srcdir option more useful for testing.
20964
20965         bootstrap: generalize autoheader check
20966         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
20967         AC_CONFIG_HEADERS.
20968
20969 2009-11-11  Eric Blake  <ebb9@byu.net>
20970
20971         mkfifoat: use new modules for Solaris and BSD bugs
20972         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
20973         * lib/mkfifoat.c (mknodat): Split...
20974         * lib/mknodat.c (mknodat): ...into new file.
20975         * modules/mkfifoat (Files): Ship new file.
20976         (Depends-on): Add mkfifo, mknod.
20977         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
20978         (Depends-on): Add symlink.
20979         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
20980         redundant with test_mkfifo.h.
20981         (do_mkfifoat, do_mknodat): New helpers.
20982
20983         mknod: new module
20984         * modules/mknod: New file.
20985         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
20986         * lib/mknod.c (mknod): Likewise.
20987         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
20988         defaults.
20989         * modules/sys_stat (Makefile.am): Substitute them.
20990         * lib/sys_stat.in.h (mknod): Declare replacement.
20991         * MODULES.html.sh (Support for systems lacking POSIX:2008):
20992         Document it.
20993         * doc/posix-functions/mknod.texi (mknod): Likewise.
20994         * modules/mknod-tests: New test.
20995         * tests/test-mknod.c: Likewise.
20996
20997         mkfifo: new module
20998         * modules/mkfifo: New file.
20999         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
21000         * lib/mkfifo.c (mkfifo): Likewise.
21001         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
21002         defaults.
21003         * modules/sys_stat (Makefile.am): Substitute them.
21004         * lib/sys_stat.in.h (mkfifo): Declare replacement.
21005         * MODULES.html.sh (Support for systems lacking POSIX:2008):
21006         Document it.
21007         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
21008         * modules/mkfifo-tests: New test.
21009         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
21010         from test-mkfifoat.c.
21011         * tests/test-mkfifo.c: New file.
21012
21013         readlink: detect FreeBSD bug
21014         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
21015         slash on symlink.
21016         * doc/posix-functions/readlink.texi (readlink): Document the bug.
21017         * tests/test-readlink.h (test_readlink): Enhance test.
21018
21019         symlink: detect FreeBSD bug
21020         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
21021         slash on symlink.
21022         * doc/posix-functions/symlink.texi (symlink): Document the bug.
21023         * tests/test-symlink.h (test_symlink): Enhance test.
21024
21025 2009-11-10  Eric Blake  <ebb9@byu.net>
21026
21027         link: detect FreeBSD bug
21028         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
21029         symlink.
21030         * doc/posix-functions/link.texi (link): Document the bug.
21031         * tests/test-link.h (test_link): Enhance test.
21032         * tests/test-linkat.c (main): Update caller.
21033
21034         unlink, remove: detect FreeBSD bug
21035         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
21036         slash on symlink.
21037         * doc/posix-functions/unlink.texi (unlink): Document the bug.
21038         * doc/posix-functions/remove.texi (remove): Likewise.
21039         * tests/test-unlink.h (test_unlink): Enhance test.
21040         * tests/test-remove.c (main): Likewise.
21041
21042 2009-11-09  Eric Blake  <ebb9@byu.net>
21043
21044         rename: detect FreeBSD bug
21045         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
21046         slash on symlink.
21047         * modules/renameat-tests (Depends-on): Add filenamecat.
21048         * tests/test-rename.h (test_rename): Allow one more errno.
21049         * tests/test-renameat.c (main): Likewise.
21050         * doc/posix-functions/rename.texi (rename): Document the bug.
21051
21052         open: detect FreeBSD bug
21053         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
21054         symlink.
21055         * doc/posix-functions/open.texi (open): Document the bug.
21056         * doc/posix-functions/utimes.texi (utimes): Likewise.
21057         * tests/test-open.h (test_open): Add parameters, and test symlink
21058         handling.
21059         * tests/test-open.c (main): Adjust caller.
21060         * tests/test-fcntl-safer.c (main): Likewise.
21061         * modules/open-tests (Depends-on): Add stdbool, symlink.
21062         * modules/fcntl-safer-tests (Depends-on): Likewise.
21063         * tests/test-openat.c (main): Add test-open tests.
21064
21065         stat: detect FreeBSD bug
21066         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
21067         symlink.
21068         * doc/posix-functions/stat.texi (stat): Document the bug.
21069         * tests/test-stat.h (test_stat_func): Add argument.
21070         * tests/test-stat.c (main): Adjust caller.
21071         * tests/test-fstatat.c (main): Likewise.
21072         * modules/stat-tests (Depends-on): Add stdbool, symlink.
21073         Reported by Jim Meyering.
21074
21075 2009-11-09  James Youngman  <jay@gnu.org>
21076
21077         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
21078         * lib/strftime.c: Correct placement of #include "ignore-value.h".
21079
21080 2009-11-08  Jim Meyering  <meyering@redhat.com>
21081
21082         utimens: remove invalid futimesat call
21083         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
21084         It used the file descriptor of the target file as the DIR_FD
21085         parameter and NULL as the file name.  That caused failure with
21086         errno == EFAULT on FreeBSD-8.0-rc2
21087
21088 2009-11-07  Eric Blake  <ebb9@byu.net>
21089
21090         fflush, freadseek: use fseeko, not fseek
21091         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
21092         (clear_ungetc_buffer): Avoid potential problems on large files.
21093         * lib/freadseek.c (freadseek): Likewise.
21094         * modules/freadseek (Depends-on): Add fseeko.
21095         * modules/fseek (configure.ac): Set a witness.
21096         * tests/test-fflush.c (main): Use fseeko.
21097         * tests/test-fpurge.c (fseek): Disable link warning.
21098         * tests/test-freadable.c (fseek): Likewise.
21099         * tests/test-freading.c (fseek): Likewise.
21100         * tests/test-fseeko.c (fseek): Likewise.
21101         * tests/test-ftell.c (fseek): Likewise.
21102         * tests/test-ftello.c (fseek): Likewise.
21103         * tests/test-fwritable.c (fseek): Likewise.
21104         * tests/test-fwriting.c (fseek): Likewise.
21105
21106 2009-11-06  Simon Josefsson  <simon@josefsson.org>
21107
21108         * modules/memchr (Depends-on): Drop getpagesize dependency.
21109
21110 2009-11-06  Simon Josefsson  <simon@josefsson.org>
21111
21112         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
21113         Reported by Ludovic Courtès.
21114         * build-aux/pmccabe2html: Improve example usage.
21115         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
21116
21117 2009-11-06  Jim Meyering  <meyering@redhat.com>
21118
21119         do-release-commit-and-tag: New module.
21120         Automate the release-commit and tag process.
21121         * build-aux/do-release-commit-and-tag: New script, from coreutils.
21122         * modules/do-release-commit-and-tag: New file.
21123         * MODULES.html.sh (Support for maintaining and releasing): Add it.
21124
21125 2009-11-06  Simon Josefsson  <simon@josefsson.org>
21126
21127         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
21128         because test-select.c uses inet_pton.
21129
21130 2009-11-06  Simon Josefsson  <simon@josefsson.org>
21131
21132         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
21133         GETADDRINFO_LIB.  Bump serial number.
21134         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
21135         Suggested by Eric Blake <ebb9@byu.net>.
21136
21137 2009-11-05  Eric Blake  <ebb9@byu.net>
21138
21139         strtod: detect darwin bug
21140         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
21141         Reported by Leo Davis.
21142
21143         freopen-safer: new module
21144         * modules/freopen-safer: New module.
21145         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
21146         * lib/freopen-safer.c (freopen_safer): New file.
21147         * lib/stdio-safer.h (freopen_safer): New declaration.
21148         * lib/stdio--.h (freopen): New override.
21149         * MODULES.html.sh (File stream based Input/Output): Mention it.
21150         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
21151         freopen-safer module.
21152         * doc/posix-functions/stderr.texi (stderr): Likewise.
21153         * doc/posix-functions/stdin.texi (stdin): Likewise.
21154         * doc/posix-functions/stdout.texi (stdout): Likewise.
21155         * modules/freopen-safer-tests: New test.
21156         * tests/test-reopen-safer.c: New file.
21157
21158 2009-11-05  Jim Meyering  <meyering@redhat.com>
21159
21160         maint.mk: Prohibit inclusion of "close-stream.h" without use.
21161         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
21162
21163 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21164
21165         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
21166
21167 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21168
21169         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
21170
21171 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21172
21173         Fix link error.
21174         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
21175         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
21176
21177 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21178
21179         * tests/test-func.c: Also test value of __func__.
21180
21181 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21182
21183         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
21184         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
21185
21186 2009-11-05  Bruno Haible  <bruno@clisp.org>
21187
21188         Fix link error.
21189         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
21190         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
21191         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
21192
21193 2009-11-05  Bruno Haible  <bruno@clisp.org>
21194
21195         Tests for module 'inet_pton'.
21196         * modules/inet_pton-tests: New file.
21197         * tests/test-inet_pton.c: New file.
21198
21199 2009-11-05  Bruno Haible  <bruno@clisp.org>
21200
21201         Tests for module 'inet_ntop'.
21202         * modules/inet_ntop-tests: New file.
21203         * tests/test-inet_ntop.c: New file.
21204
21205 2009-11-04  Eric Blake  <ebb9@byu.net>
21206
21207         stdlib-safer: wrap all mkstemp variants
21208         * modules/mkostemp (configure.ac): Set witness.
21209         * modules/mkostemps (configure.ac): Likewise.
21210         * modules/mkstemps (configure.ac): Likewise.
21211         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
21212         (mkstemps_safer): Wrap more functions.
21213         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
21214         wrapping.
21215         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
21216         (mkstemps_safer): Implement the wrappers.
21217
21218         mkstemps, mkostemps: new modules
21219         * modules/mkostemps: New module.
21220         * modules/mkstemps: Likewise.
21221         * lib/mkostemps.c (mkostemps): New file.
21222         * lib/mkstemps.c (mkstemps): Likewise.
21223         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
21224         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
21225         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
21226         * modules/stdlib (Makefile.am): Substitute them.
21227         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
21228         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
21229         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
21230         * doc/gnulib.texi (Glibc stdlib.h): Include them.
21231         * MODULES.html.sh (File system functions): Mention them.
21232
21233         tempname: resync from glibc
21234         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
21235         same values for __GT_FILE as glibc.  Abort even when assertions
21236         are disabled.
21237         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
21238         match its value otherwise.  Allow idempotent inclusion.
21239         * lib/mkdtemp.c (mkdtemp): Adjust caller.
21240         * lib/mkostemp.c (mkostemp): Likewise.
21241         * lib/mkstemp.c (mkstemp): Likewise.
21242         * lib/tmpfile.c (tmpfile): Likewise.
21243         * NEWS: Document this.
21244
21245         utimens: fix use of futimens on older Linux
21246         * lib/utimens.c (fdutimens): Use updated, rather than original,
21247         timespec to avoid bug in older Linux kernel.
21248         Reported by Simon Josefsson.
21249
21250 2009-11-04  Bruno Haible  <bruno@clisp.org>
21251
21252         Make num_processors more flexible and consistent.
21253         * lib/nproc.h (enum nproc_query): New type.
21254         (num_processors): Add a 'query' argument.
21255         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
21256         (num_processors): Add a 'query' argument. Test the value of the
21257         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
21258         mingw, count the number of CPUs available for the current process.
21259         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
21260         Check for sched_getaffinity and sched_getaffinity_np.
21261         * modules/nproc (Depends-on): Add c-ctype, extensions.
21262         * NEWS: Mention the change.
21263
21264 2009-11-03  Bruno Haible  <bruno@clisp.org>
21265
21266         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
21267
21268 2009-11-03  Jim Meyering  <meyering@redhat.com>
21269
21270         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
21271         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
21272         if it is defined.
21273
21274 2009-11-02  Eric Blake  <ebb9@byu.net>
21275
21276         mktime, timegm: share common declaration
21277         * lib/mktime-internal.h: New file.
21278         * lib/mktime.c: Use it rather than open-coding a declaration.
21279         * lib/timegm.c: Likewise.
21280         * modules/mktime (Files): Ship it.
21281         * modules/timegm (Files): Likewise.
21282         Suggested by Bruno Haible.
21283
21284         test-update-copyright: update test to match script changes
21285         * tests/test-update-copyright.sh: Avoid hard-coding perl
21286         location.  Don't update *.bak created by earlier runs.
21287
21288 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
21289             Simon Josefsson  <simon@josefsson.org>
21290             Bruno Haible  <bruno@clisp.org>
21291
21292         Fix link error on Solaris 8.
21293         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
21294         also in libnsl. Define also INET_PTON_LIB.
21295         * modules/inet_pton (Link): New section.
21296
21297 2009-11-02  Simon Josefsson  <simon@josefsson.org>
21298             Bruno Haible  <bruno@clisp.org>
21299
21300         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
21301         * modules/inet_ntop (Link): New section.
21302         Reported by Boyan Kasarov <bkasarov@gmail.com>.
21303
21304 2009-11-02  Eric Blake  <ebb9@byu.net>
21305
21306         maint: avoid compiler warnings in m4 macros
21307         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
21308         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
21309
21310 2009-11-02  Simon Josefsson  <simon@josefsson.org>
21311
21312         * m4/pmccabe2html.m4: Remove file.
21313         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
21314         function.  Change maintainer.
21315         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
21316         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
21317         Courtès).
21318
21319 2009-10-31  Eric Blake  <ebb9@byu.net>
21320
21321         fseeko: fix m4 regression
21322         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
21323         regression from 2009-10-27.
21324         Reported by Ralf Wildenhues.
21325
21326 2009-10-31  Jim Meyering  <meyering@redhat.com>
21327
21328         inttostr: aesthetics and improved (compile-time) safety
21329         Define inttype_is_signed rather than inttype_is_unsigned,
21330         since the sole use is via "#if inttype_is_signed".
21331         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
21332         inttype_is_unsigned.
21333         * lib/offtostr.c (inttype_is_signed): Likewise.
21334         * lib/uinttostr.c (inttype_is_signed): Likewise.
21335         * lib/umaxtostr.c (inttype_is_signed): Likewise.
21336         * lib/inttostr.c (inttostr): Use verify to cross-check the
21337         inttype_is_signed value and the signedness of the actual type.
21338         * modules/inttostr (Depends-on): Add verify.
21339
21340 2009-10-30  Eric Blake  <ebb9@byu.net>
21341
21342         build: avoid compiler warnings
21343         * lib/fchmodat.c (lchmod): Mark unused variables.
21344         * lib/getopt.c (_getopt_initialize): Likewise.
21345         * lib/mktime.c (__mktime_internal): Provide prototype.
21346         * lib/inttostr.c (inttostr): Avoid compiler warning even with
21347         older gcc that do not understand #pragma GCC diagnostic.
21348         * lib/uinttostr.c (inttype_is_unsigned): Define.
21349         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
21350
21351 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
21352
21353         stat: fix compilation on AIX
21354         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
21355         only see struct stat64.
21356
21357 2009-10-30  Eric Blake  <ebb9@byu.net>
21358
21359         exclude: make more robust
21360         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
21361         rather than masking a coding bug.
21362         Suggested by Bruno Haible.
21363
21364 2009-10-30  Jim Meyering  <meyering@redhat.com>
21365
21366         perl scripts: remove #!/usr/bin/perl in favor of more portable...
21367         Rather than putting #!/usr/bin/perl on the first line,
21368         start with a variant of what's recommended by "man perlrun" that
21369         invokes the first "perl" program from your shell's search path.
21370         * build-aux/gitlog-to-changelog: Replace #!... as above.
21371         Add a "Local Variables" perl mode setting.
21372         Prompted by a patch from Ludovic Courtès.
21373         Improved by Eric Blake.
21374         * build-aux/useless-if-before-free: Likewise.
21375         * build-aux/announce-gen: Likewise.
21376         * build-aux/update-copyright: Likewise.
21377
21378 2009-10-29  Eric Blake  <ebb9@byu.net>
21379
21380         filenamecat-lgpl: adjust clients
21381         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
21382         filenamecat.
21383         * modules/renameat (Depends-on): Likewise.
21384
21385         filenamecat: split into filenamecat-lgpl
21386         * modules/filenamecat-lgpl: New module.
21387         * modules/filenamecat (Files): Move library-safe files into
21388         filenamecat-lgpl.
21389         (Depends-on): Add filenamecat-lgpl.
21390         (configure.ac): Declare witness.
21391         * lib/filenamecat.h (file_name_concat): Only declare when using
21392         GPL module.
21393         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
21394         Move...
21395         * lib/filenamecat-lgpl.c: ...into new file.
21396         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
21397         (gl_FILE_NAME_CONCAT): Use it.
21398         * MODULES.html.sh (File system functions): Mention new module.
21399
21400         argp: avoid memory leak
21401         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
21402         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
21403         base_name, since the latter malloc()s and can call exit().
21404         Leak introduced 2006-07-03.
21405
21406         dirname-lgpl: adjust clients that don't need full dirname
21407         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
21408         * modules/filenamecat (Depends-on): Likewise.
21409         * modules/linkat (Depends-on): Likewise.
21410         * modules/mkancesdirs (Depends-on): Likewise.
21411         * modules/mkdir (Depends-on): Likewise.
21412         * modules/openat (Depends-on): Likewise.
21413         * modules/savewd (Depends-on): Likewise.
21414         * modules/rename (Depends-on): Likewise.
21415         (License): Relax license.
21416         * modules/mkdir-tests (Depends-on): Drop progname.
21417         (Makefile.am): Delete unneeded LDADD.
21418         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
21419
21420         dirname: split into dirname-lgpl
21421         * modules/dirname-lgpl: New module.
21422         * modules/dirname (Files): Move library-safe files into
21423         dirname-lgpl.
21424         (Depends-on): Add dirname-lgpl.
21425         (configure.ac): Declare witness.
21426         * modules/double-slash-root (License): Relax license.
21427         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
21428         module.
21429         * lib/dirname.c (dir_len, mdir_name): Move...
21430         * lib/dirname-lgpl.c: ...into new file.
21431         * lib/basename.c (last_component, base_len): Move...
21432         * lib/basename-lgpl.c: ...into new file.
21433         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
21434         (gl_DIRNAME): Use it.
21435         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
21436         Mention new module.
21437         * modules/dirname-tests (Depends-on): Add progname.
21438         * tests/test-dirname.c (program_name): Delete.
21439
21440         mkdir: make safe for libraries
21441         * modules/mkdir (Depends-on): Drop xalloc.
21442         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
21443         exit.
21444
21445         tests: avoid some compiler warnings
21446         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
21447         literals.
21448         * tests/test-memchr.c (main): Avoid type mismatch.
21449         * tests/test-arpa_inet.c (main): Avoid unused parameters.
21450         * tests/test-base64.c (main): Likewise.
21451         * tests/test-getdelim.c (main): Likewise.
21452         * tests/test-gethostname.c (main): Likewise.
21453         * tests/test-getline.c (main): Likewise.
21454         * tests/test-netinet_in.c (main): Likewise.
21455         * tests/test-select.c (open_server_socket, main): Likewise.
21456         * tests/test-select-stdin.c (main): Likewise.
21457         * tests/test-sockets.c (main): Likewise.
21458         * tests/test-strsignal.c (main): Likewise.
21459         * tests/test-sys_select.c (main): Likewise.
21460         * tests/test-sys_socket.c (main): Likewise.
21461         * tests/test-u64.c (main): Likewise.
21462         * tests/test-xfprintf-posix.c (main): Likewise.
21463         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
21464
21465         sockets: avoid compiler warning
21466         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
21467
21468         maint: detect usage(1) and other suspicious exits
21469         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
21470
21471 2009-10-29  Jim Meyering  <meyering@redhat.com>
21472
21473         timespec: long-to-int truncation could make timespec_cmp malfunction
21474         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
21475         a multiple of 2^32 nanoseconds as no difference.
21476
21477 2009-10-28  Jim Meyering  <meyering@redhat.com>
21478
21479         fprintftime: wrap macro code argument in "do {...} while(0)"
21480         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
21481         cpy macro must be a statement that can be followed by a semicolon.
21482         Now that the else clause contains a comment and is hence longer
21483         than one line, I require curly braces.  That in turn requires
21484         that we wrap this code block in the standard do...while(0).
21485
21486         fprintftime: remove stray semicolon from previous change
21487         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
21488
21489         fprintftime: avoid a warning about ignored fwrite return value
21490         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
21491         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
21492         that is unsafe.
21493         * modules/fprintftime (Depends-on): Add ignore-value.
21494
21495         exclude: avoid an unwarranted warning
21496         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
21497
21498 2009-10-27  Eric Blake  <ebb9@byu.net>
21499
21500         fseek: avoid compilation failure when fflush is replaced
21501         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
21502         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
21503         module is in use.
21504         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
21505         module is not in use; since REPLACE_FSEEK worked otherwise.
21506         (GNULIB_FTELLO): Likewise for ftell.
21507         Reported by Ian Beckwith and others.
21508
21509 2009-10-27  Bruno Haible  <bruno@clisp.org>
21510
21511         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
21512         Reported by Jim Meyering.
21513
21514 2009-10-27  Jim Meyering  <jim@meyering.net>
21515             Bruno Haible  <bruno@clisp.org>
21516
21517         Avoid warning despite dropping the return value of fwrite.
21518         * lib/unicodeio.c: Include ignore-value.h.
21519         (fwrite_success_callback): Explicitly ignore fwrite's return value.
21520         * modules/unicodeio (Depends-on): Add ignore-value.
21521
21522 2009-10-26  Eric Blake  <ebb9@byu.net>
21523
21524         areadlinkat: fix fallback path
21525         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
21526         pointer and zero.
21527
21528 2009-10-22  Pádraig Brady  <P@draigBrady.com>
21529
21530         Use a better IO block size for modern systems
21531         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
21532         * lib/md2.c: Likewise.
21533         * lib/md4.c: Likewise.
21534         * lib/md5.c: Likewise.
21535         * lib/sha1.c: Likewise.
21536         * lib/sha256.c: Likewise.
21537         * lib/sha512.c: Likewise.
21538
21539 2009-10-22  Eric Blake  <ebb9@byu.net>
21540
21541         tests: avoid several compiler warnings
21542         * tests/test-getcwd.c (main): Avoid buffer underflow.
21543         * tests/test-getdate.c (main): String literals are not safe with
21544         putenv, so use setenv.  Declare unused argument.
21545         * modules/getdate-tests (Depends-on): Add setenv.
21546         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
21547         problems with string literals in char *.
21548         * tests/test-hash.c (main): Avoid shadowing declaration.
21549         (insert_new): Treat string literals as char const *.
21550         * tests/test-getopt.h (test_getopt): Likewise.
21551         (getopt_loop): Alter types to minimize casting elsewhere.
21552         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
21553         (test_getopt_long_posix): Likewise.
21554         (do_getopt_long): Add wrapper to minimize casting.
21555         * tests/test-atexit.c (clear_temp_file): Use void.
21556         * tests/test-areadlink-with-size.c (main): Declare unused
21557         arguments.
21558         * tests/test-areadlink.c (main): Likewise.
21559         * tests/test-areadlinkat-with-size.c (main): Likewise.
21560         * tests/test-areadlinkat.c (main): Likewise.
21561         * tests/test-canonicalize-lgpl.c (main): Likewise.
21562         * tests/test-canonicalize.c (main): Likewise.
21563         * tests/test-dirent-safer.c (main): Likewise.
21564         * tests/test-dirname.c (main): Likewise.
21565         * tests/test-dup2.c (main): Likewise.
21566         * tests/test-fchdir.c (main): Likewise.
21567         * tests/test-fcntl-h.c (main): Likewise.
21568         * tests/test-fcntl-safer.c (main): Likewise.
21569         * tests/test-fdopendir.c (main): Likewise.
21570         * tests/test-fdutimensat.c (main): Likewise.
21571         * tests/test-fflush.c (main): Likewise.
21572         * tests/test-filenamecat.c (main): Likewise.
21573         * tests/test-filevercmp.c (main): Likewise.
21574         * tests/test-fopen-safer.c (main): Likewise.
21575         * tests/test-fopen.c (main): Likewise.
21576         * tests/test-fpending.c (main): Likewise.
21577         * tests/test-fpurge.c (main): Likewise.
21578         * tests/test-freading.c (main): Likewise.
21579         * tests/test-fstatat.c (main): Likewise.
21580         * tests/test-fsync.c (main): Likewise.
21581         * tests/test-futimens.c (main): Likewise.
21582         * tests/test-getndelim2.c (main): Likewise.
21583         * tests/test-gettimeofday.c (main): Likewise.
21584         * tests/test-getopt.c (main): Likewise.
21585         * tests/test-i-ring.c (main): Likewise.
21586         * tests/test-inttypes.c (main): Likewise.
21587         * tests/test-link.c (main): Likewise.
21588         * tests/test-lstat.c (main): Likewise.
21589         * tests/test-math.c (main): Likewise.
21590         * tests/test-md5.c (main): Likewise.
21591         * tests/test-memchr2.c (main): Likewise.
21592         * tests/test-memrchr.c (main): Likewise.
21593         * tests/test-mkdir.c (main): Likewise.
21594         * tests/test-mkdirat.c (main): Likewise.
21595         * tests/test-mkfifoat.c (main): Likewise.
21596         * tests/test-open.c (main): Likewise.
21597         * tests/test-openat-safer.c (main): Likewise.
21598         * tests/test-openat.c (main): Likewise.
21599         * tests/test-quotearg.c (main): Likewise.
21600         * tests/test-rawmemchr.c (main): Likewise.
21601         * tests/test-readlink.c (main): Likewise.
21602         * tests/test-remove.c (main): Likewise.
21603         * tests/test-rename.c (main): Likewise.
21604         * tests/test-renameat.c (main): Likewise.
21605         * tests/test-rmdir.c (main): Likewise.
21606         * tests/test-sha1.c (main): Likewise.
21607         * tests/test-signal.c (main): Likewise.
21608         * tests/test-sigaction.c (main): Likewise.
21609         * tests/test-stat.c (main): Likewise.
21610         * tests/test-stat-time.c (main): Likewise.
21611         * tests/test-stddef.c (main): Likewise.
21612         * tests/test-stdint.c (main): Likewise.
21613         * tests/test-stdio.c (main): Likewise.
21614         * tests/test-stdlib.c (main): Likewise.
21615         * tests/test-strchrnul.c (main): Likewise.
21616         * tests/test-strerror.c (main): Likewise.
21617         * tests/test-string.c (main): Likewise.
21618         * tests/test-strtod.c (main): Likewise.
21619         * tests/test-strverscmp.c (main): Likewise.
21620         * tests/test-symlink.c (main): Likewise.
21621         * tests/test-symlinkat.c (main): Likewise.
21622         * tests/test-sys_stat.c (main): Likewise.
21623         * tests/test-sys_time.c (main): Likewise.
21624         * tests/test-time.c (main): Likewise.
21625         * tests/test-unistd.c (main): Likewise.
21626         * tests/test-unlink.c (main): Likewise.
21627         * tests/test-unlinkat.c (main): Likewise.
21628         * tests/test-utimens.c (main): Likewise.
21629         * tests/test-utimensat.c (main): Likewise.
21630         * tests/test-version-etc.c (main): Likewise.
21631         * tests/test-wchar.c (main): Likewise.
21632         * tests/test-wctype.c (main): Likewise.
21633         * tests/test-xprintf-posix.c (main): Likewise.
21634         * tests/test-posixtm.c (main): Likewise.
21635         (STREQ): Delete unused macro.
21636         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
21637         shadowed variables.
21638         * tests/test-memchr.c (main): Likewise.
21639
21640 2009-10-21  Eric Blake  <ebb9@byu.net>
21641
21642         areadlinkat: avoid failure on older glibc
21643         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
21644         rather than mis-comparing 0 against FUNC_RESULT of char*.
21645
21646 2009-10-21  Bruno Haible  <bruno@clisp.org>
21647
21648         * modules/stpncpy (License): Relicense under LGPLv2+.
21649         Reported by David Lutterkort <lutter@redhat.com>.
21650
21651 2009-10-20  Eric Blake  <ebb9@byu.net>
21652
21653         utimensat: work around Solaris 9 bug
21654         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
21655         has trailing slash bugs.
21656         * tests/test-lutimens.h (test_lutimens): Enhance test.
21657         * tests/test-utimens.h (test_utimens): Likewise.
21658         * doc/posix-functions/utime.texi (utime): Enhance documentation.
21659         * doc/posix-functions/utimes.texi (utimes): Likewise.
21660         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
21661         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
21662         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
21663         * doc/posix-functions/futimens.texi (futimens): Likewise.
21664
21665         fdutimensat: new module
21666         * modules/fdutimensat: New file.
21667         * lib/fdutimensat.c (fdutimensat): Likewise.
21668         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
21669         * MODULES.html.sh (File system functions): Mention module.
21670         * modules/fdutimensat-tests: New test.
21671         * tests/test-fdutimensat.c: Likewise.
21672
21673         doc: regenerate INSTALL
21674         * doc/INSTALL: Reflect recent autoconf update.
21675         * doc/INSTALL.ISO: Likewise.
21676         * doc/INSTALL.UTF-8: Likewise.
21677
21678 2009-10-20  Pádraig Brady  <P@draigBrady.com>
21679
21680         acl: warn if ACL support is not detected
21681         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
21682
21683 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
21684
21685         * lib/nproc.h: Add extern "C" block for C++.
21686
21687 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
21688             Bruno Haible  <bruno@clisp.org>
21689
21690         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
21691         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
21692         * doc/posix-functions/isalpha.texi: Likewise.
21693         * doc/posix-functions/isblank.texi: Likewise.
21694         * doc/posix-functions/iscntrl.texi: Likewise.
21695         * doc/posix-functions/isdigit.texi: Likewise.
21696         * doc/posix-functions/isgraph.texi: Likewise.
21697         * doc/posix-functions/islower.texi: Likewise.
21698         * doc/posix-functions/isprint.texi: Likewise.
21699         * doc/posix-functions/ispunct.texi: Likewise.
21700         * doc/posix-functions/isspace.texi: Likewise.
21701         * doc/posix-functions/isupper.texi: Likewise.
21702         * doc/posix-functions/isxdigit.texi: Likewise.
21703
21704 2009-10-18  Bruno Haible  <bruno@clisp.org>
21705
21706         Tests for module 'isblank'.
21707         * modules/isblank-tests: New file.
21708         * tests/test-isblank.c: New file.
21709
21710         New module 'isblank'.
21711         * lib/isblank.c: New file.
21712         * m4/isblank.m4: New file.
21713         * modules/isblank: New file.
21714         * doc/posix-functions/isblank.texi: Mention the new module.
21715
21716 2009-10-18  Bruno Haible  <bruno@clisp.org>
21717
21718         New module 'ctype'.
21719         * lib/ctype.in.h: New file.
21720         * m4/ctype.m4: New file.
21721         * modules/ctype: New file.
21722         * doc/posix-headers/ctype.texi: Mention the new module.
21723
21724 2009-10-18  Jim Meyering  <meyering@redhat.com>
21725
21726         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
21727         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
21728         right after its initialization, rather than farther down.
21729         Keeping these in close proximity makes it easier to ensure
21730         that each such variable is initialized.  E.g.,
21731
21732             LIB_CLOCK_GETTIME=
21733             AC_SUBST([LIB_CLOCK_GETTIME])
21734
21735         This change also increments these serial numbers.
21736         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
21737         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
21738         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
21739
21740 2009-10-18  Bruno Haible  <bruno@clisp.org>
21741
21742         Don't let environment variables perturb build.
21743         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
21744         (gl_PREREQ_GETHRXTIME): ... not here.
21745
21746 2009-10-18  Bruno Haible  <bruno@clisp.org>
21747
21748         Avoid symlink attack in localcharset module.
21749         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
21750         (O_NOFOLLOW): Define fallback.
21751         (get_charset_aliases): Don't open the file if it is a symbolic link.
21752         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
21753         gl_FCNTL_H.
21754         (gl_FCNTL_H): Require it.
21755         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
21756         * modules/localcharset (Files): Add m4/fcntl_h.m4.
21757         Reported by Fergal Glynn <fglynn@veracode.com>.
21758
21759 2009-10-18  Bruno Haible  <bruno@clisp.org>
21760
21761         Implement nproc for mingw.
21762         * lib/nproc.c: Include <windows.h>
21763         (num_processors): On native Windows platforms, try GetSystemInfo.
21764
21765 2009-10-18  Bruno Haible  <bruno@clisp.org>
21766
21767         Implement nproc for IRIX.
21768         * lib/nproc.c: Include <sys/sysmp.h>.
21769         (num_processors): On IRIX systems, try sysmp.
21770         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
21771
21772 2009-10-18  Bruno Haible  <bruno@clisp.org>
21773
21774         Implement nproc for HP-UX.
21775         * lib/nproc.c: Include <sys/pstat.h>
21776         (num_processors): On HP-UX systems, try pstat_getdynamic.
21777         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
21778         pstat_getdynamic.
21779
21780 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
21781             Bruno Haible  <bruno@clisp.org>
21782
21783         Implement nproc for NetBSD, OpenBSD.
21784         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
21785         (ARRAY_SIZE): New macro.
21786         (num_processors): On BSD systems, try sysctl of HW_NCPU.
21787         * m4/nproc.m4: New file.
21788         * modules/nproc (Files): Add m4/nproc.m4.
21789         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
21790         (Makefile.am): Instead, augment lib_SOURCES.
21791
21792 2009-10-18  Bruno Haible  <bruno@clisp.org>
21793
21794         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
21795         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
21796         sys/param.h.
21797
21798 2009-10-16  Eric Blake  <ebb9@byu.net>
21799
21800         utimensat: new module
21801         * modules/utimensat: New file.
21802         * lib/utimensat.c (utimensat): Likewise.
21803         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
21804         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
21805         so we can work around Linux bugs.
21806         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
21807         * modules/sys_stat (Makefile.am): Substitute them.
21808         * lib/sys_stat.in.h (utimensat): Declare it.
21809         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
21810         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
21811         * modules/utimensat-tests: New test.
21812         * tests/test-utimensat.c: Likewise.
21813
21814         utimens: let lutimens work on non-symlinks
21815         * lib/utimens.c (lutimens): Fall back to utimens rather than
21816         failing with ENOSYS, when file is not a symlink.
21817         (utimens): Reduce redirection.
21818         * tests/test-lutimens.h (test_lutimens): Update test to cover
21819         non-symlinks.
21820         * tests/test-utimens.h (test_utimens): Update test to cover
21821         symlinks.
21822         * tests/test-utimens.c (main): Update caller.
21823
21824         utimens: cache whether utimensat syscall works
21825         * lib/utimens.c (utimensat_works_really): New cache variable.
21826         (fdutimens, lutimens): Use it to avoid failing syscall.
21827
21828         test-stat-time, test-utimens: improve portability
21829         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
21830         ext4 on alpha, and for cygwin.
21831         * tests/test-utimens-common.h: New file.
21832         (nap): Factor delays into single function.
21833         * tests/test-lutimens.h (test_lutimens): Use new header.
21834         * tests/test-futimens.h (test_futimens): Likewise.
21835         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
21836         timestamps to occur from same machine, as was done previously for
21837         test_utimens.
21838         * modules/utimens-tests (Files): Ship new file.
21839         * modules/futimens-tests (Files): Likewise.
21840         Reported in part by Jim Meyering.
21841
21842         sys_stat: sort replacement declarations
21843         * lib/sys_stat.in.h: Sort declarations.
21844         * lib/futimens.c (futimens): Fix typo.
21845
21846 2009-10-15  Jim Meyering  <meyering@redhat.com>
21847
21848         don't let environment settings perturb build
21849         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
21850         could cause a configure-time and/or build-time malfunction.
21851         Typically, a configure-time function-in-library test is performed
21852         via code like this:
21853
21854           LIB_VAR=
21855           AC_SUBST([LIB_VAR])
21856           prefix_saved_LIBS=$LIBS
21857             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
21858                        [test "$ac_cv_search_FUNC" = "none required" ||
21859                         LIB_VAR=$ac_cv_search_FUNC])
21860           LIBS=$prefix_saved_LIBS
21861
21862         However, in each of the files affected by this change, the LIB_VAR=
21863         initialization was omitted.  Thus, when set in the environment, its
21864         value would propagate into generated Makefiles when FUNC is not found
21865         in LIB_NAME.
21866         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
21867         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
21868         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
21869
21870 2009-10-14  Eric Blake  <ebb9@byu.net>
21871
21872         fchdir: avoid infinite recursion in mingw
21873         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
21874         recursing.
21875
21876         test-stat-time: port to mingw
21877         * tests/test-stat-time.c (force_unlink): Return a value.
21878         (test_ctime) [W32]: Fix compilation error.
21879         (nap): Don't call usleep with too large an argument.  Use
21880         force_unlink.
21881         * doc/pastposix-functions/usleep.texi (usleep): Document the
21882         portability issue.
21883
21884 2009-10-13  Jim Meyering  <meyering@redhat.com>
21885
21886         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
21887         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
21888         * modules/pipe-filter-ii: Likewise.
21889         * modules/sys_socket-tests: Likewise.
21890         * modules/tsearch-tests: Likewise.
21891         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
21892         (check): Depend on it.
21893
21894 2009-10-12  Eric Blake  <ebb9@byu.net>
21895
21896         utimens-tests: port to NFS file systems
21897         * tests/test-utimens.h (test_utimens): Refactor utimecmp
21898         comparisons to avoid spurious failures from timestamp drift
21899         between NFS machines.
21900
21901 2009-10-12  Eric Blake  <ebb9@byu.net>
21902
21903         stat-time-tests: minor cleanups
21904         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
21905         * tests/test-stat-time.c (nap): Separate assignment from call.
21906         Suggested by Paolo Bonzini and Bruno Haible.
21907
21908         sys_stat: guarantee struct timespec
21909         * lib/sys_stat.in.h (includes): Always include <time.h>
21910         * modules/sys_stat (Depends-on): Add time.
21911         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
21912         mode_t permission values.
21913         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
21914         get at subsecond timestamps.
21915
21916 2009-10-10  Eric Blake  <ebb9@byu.net>
21917
21918         futimens: new module
21919         * modules/futimens: New file.
21920         * lib/futimens.c (futimens): Likewise.
21921         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
21922         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
21923         we can work around Linux bugs.
21924         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
21925         * modules/sys_stat (Makefile.am): Substitute them.
21926         * lib/sys_stat.in.h (futimens): Declare it.
21927         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
21928         * doc/posix-functions/futimens.texi (futimens): Likewise.
21929         * modules/futimens-tests: New test.
21930         * tests/test-futimens.c: Likewise.
21931
21932         utimens: introduce fdutimens
21933         * lib/utimens.h (fdutimens): New prototype.
21934         * lib/utimens.c (gl_futimens): Move guts...
21935         (fdutimens): ...to new interface.
21936         * tests/test-utimens.c (do_fdutimens): Use it.
21937
21938         utimens: add UTIME_NOW and UTIME_OMIT support
21939         * lib/utimens.c (validate_timespec, update_timespec): New helper
21940         functions.
21941         (gl_futimens, lutimens): Use them.
21942         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
21943         stdbool, sys_stat.
21944         (Link): Mention resulting library dependency.
21945         * modules/utimecmp (Link): Likewise.
21946         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
21947         (Makefile.am): Pick up library dependency.
21948         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
21949         definition.
21950         * tests/test-sys_stat.c: Test the definitions.
21951         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
21952         * NEWS: Document library dependency.
21953
21954         utimecmp: support symlink timestamps
21955         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
21956         hashing when possible.  Use pathconf when available.
21957         (SYSCALL_RESOLUTION): Recognize tighter resolution.
21958         * modules/utimecmp (Depends-on): Add lstat.
21959
21960         utimens: add lutimens interface
21961         * lib/utimens.c (lutimens): New function.
21962         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
21963         * lib/utimens.h (lutimens): Declare new interface.
21964         * tests/test-utimens.c (main): Enhance test.
21965         * tests/test-lutimens.h (test_lutimens): New file.
21966         * modules/utimens-tests (Files): Distribute it.
21967         (Depends-on): Add symlink.
21968         (configure.ac): Check for usleep.
21969
21970         utimens: validate futimens usage
21971         * lib/utimens.c (gl_futimens): Require valid fd up front, using
21972         fewer syscalls on failure later on.  Avoid compiler warning on
21973         mingw.
21974         * modules/utimens (Depends-on): Add dup2.
21975
21976         utimens: add test
21977         * modules/utimens-tests: New test.
21978         * tests/test-utimens.h: New file.
21979         * tests/test-futimens.h: Likewise.
21980         * tests/test-utimens.c: Likewise.
21981
21982         doc: mention timestamp portability issues
21983         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
21984         instead.
21985         * doc/posix-functions/utime.texi (utime): Likewise.
21986         * doc/posix-functions/utimes.texi (utimes): Likewise.
21987         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
21988         instead.
21989         * doc/posix-functions/futimens.texi (futimens): Mention utimens
21990         module.
21991         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
21992         Mention weakness with symlink timestamps.
21993         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
21994         to utimensat/futimens instead.
21995         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
21996
21997         test-dup2: enhance test
21998         * tests/test-dup2.c (main): Also check AT_FDCWD.
21999
22000         test-stat-time: avoid more spurious failures
22001         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
22002         xfs; and avoid race if the two timestamps cross quantization edge.
22003
22004         relocatable: prefer 'file system' over 'filesystem'
22005         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
22006         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
22007         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
22008         * doc/relocatable.texi (Enabling Relocatability): Likewise.
22009         * lib/relocatable.c (compute_curr_prefix): Likewise.
22010
22011 2009-10-10  Jim Meyering  <meyering@redhat.com>
22012
22013         stat-time-tests: check for the usleep function
22014         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
22015
22016 2009-10-10  Bruno Haible  <bruno@clisp.org>
22017
22018         * modules/xnanosleep: Put the Link section after the Include section.
22019
22020 2009-10-09  Eric Blake  <ebb9@byu.net>
22021
22022         dup2: work around FreeBSD 6.1 bug
22023         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
22024         * doc/posix-functions/dup2.texi (dup2): Document it.
22025         Reported by Nelson H. F. Beebe and Jim Meyering.
22026
22027         test-stat-time: port to buggy NFS clients
22028         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
22029         (test_ctime): Also skip test if mtime and ctime are skewed.
22030
22031         maint: prefer 'file system' over 'filesystem'
22032         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
22033         * doc/posix-functions/lstat.texi (lstat): Likewise.
22034         * lib/file-has-acl.c (file_has_acl): Likewise.
22035         * lib/fwriteerror.c [TEST]: Likewise.
22036         * tests/test-areadlink.h (test_areadlink): Likewise.
22037         * tests/test-areadlinkat-with-size.c (main): Likewise.
22038         * tests/test-areadlinkat.c (main): Likewise.
22039         * tests/test-canonicalize-lgpl.c (main): Likewise.
22040         * tests/test-canonicalize.c (main): Likewise.
22041         * tests/test-fstatat.c (main): Likewise.
22042         * tests/test-linkat.c (main): Likewise.
22043         * tests/test-lstat.h (test_lstat_func): Likewise.
22044         * tests/test-mkdir.h (test_mkdir): Likewise.
22045         * tests/test-readlink.h (test_readlink): Likewise.
22046         * tests/test-remove.c (main): Likewise.
22047         * tests/test-rename.h (test_rename): Likewise.
22048         * tests/test-renameat.c (main): Likewise.
22049         * tests/test-rmdir.h (test_rmdir_func): Likewise.
22050         * tests/test-symlink.h (test_symlink): Likewise.
22051         * tests/test-symlinkat.c (main): Likewise.
22052         * tests/test-unlink.h (test_unlink_func): Likewise.
22053         * tests/test-unlinkat.c (main): Likewise.
22054
22055         maint: make realtime library usage explicit
22056         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
22057         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
22058         * modules/settime (Link): Likewise.
22059         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
22060
22061         test-stat-time: speed up execution
22062         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
22063         warning on mingw.
22064         (nap): New helper function.
22065         (prepare_test): Use it to reduce sleep time.
22066         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
22067         execution.
22068         * modules/stat-time-tests (configure.ac): Check for usleep.
22069
22070 2009-10-09  Jim Meyering  <meyering@redhat.com>
22071
22072         selinux-h: always use getfilecon wrappers
22073         * lib/getfilecon.c: New file.
22074         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
22075         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
22076         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
22077         (fgetfilecon): Provide a stub.
22078         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
22079         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
22080         file unconditionally.
22081         When <selinux/selinux.h> is found, arrange to use wrappers.
22082         * modules/selinux-h (Files): Add getfilecon.c.
22083         (Makefile.am): Substitute include-next-related bits
22084         into the now-always-generated selinux/selinux.h file.
22085         * doc/glibc-functions/lgetfilecon.texi: New file.
22086         * doc/glibc-functions/fgetfilecon.texi: New file.
22087         * doc/glibc-functions/getfilecon.texi: New file.
22088         * doc/glibc-functions/getfilecon-desc.texi: New file.
22089         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
22090         which to pull in the new files.
22091         * MODULES.html.sh (Misc): Add selinux-h.
22092
22093 2009-10-08  Jim Meyering  <meyering@redhat.com>
22094
22095         unistd: fix comment typo
22096         * lib/unistd.in.h (euidaccess): Fix a comment typo.
22097
22098 2009-10-08  Eric Blake  <ebb9@byu.net>
22099
22100         areadlink: use SIZE_MAX consistently
22101         * modules/areadlink (Depends-on): Add stdint.
22102         * modules/areadlink-with-size (Depends-on): Likewise.
22103         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
22104         gives NULL; drop sys/types, since unistd gives size_t; and add
22105         stdint for SIZE_MAX.
22106         (SIZE_MAX): Rely on headers.
22107         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
22108         and add stdint.
22109         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
22110         (SIZE_MAX): Likewise.
22111         (INITIAL_BUF_SIZE): Turn into enum.
22112         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
22113
22114 2009-10-08  Jim Meyering  <meyering@redhat.com>
22115
22116         areadlinkat: avoid compilation failure
22117         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
22118         Fix typo in comment.
22119
22120 2009-10-07  Eric Blake  <ebb9@byu.net>
22121
22122         areadlinkat-with-size: new module
22123         * modules/areadlinkat-with-size: New module.
22124         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
22125         * lib/areadlink.h (areadlinkat): Declare it.
22126         * MODULES.html.sh (File system functions): Mention it.
22127         * modules/areadlinkat-with-size-tests: New test.
22128         * tests/test-areadlinkat-with-size.c: New file.
22129
22130         xreadlinkat: new module
22131         * modules/xreadlinkat: New module.
22132         * lib/xreadlinkat.c (xreadlinkat): New file.
22133         * lib/xreadlink.h (xreadlinkat): Declare it.
22134         * MODULES.html.sh (File system functions): Mention it.
22135
22136         areadlinkat: new module
22137         * lib/at-func.c (FUNC_FAIL): New define.
22138         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
22139         * modules/areadlinkat: New module.
22140         * lib/linkat.c (areadlinkat): Move...
22141         * lib/areadlinkat.c (areadlinkat): ...to new file.
22142         * lib/areadlink.h (areadlinkat): Declare it.
22143         * modules/linkat (Depends-on): Add areadlinkat.
22144         * MODULES.html.sh (File system functions): Mention it.
22145         * modules/areadlinkat-tests: New test.
22146         * tests/test-areadlinkat.c: New file.
22147
22148         areadlink, areadlink-with-size: add tests
22149         * modules/areadlink-tests: New test.
22150         * modules/areadlink-with-size-tests: Likewise.
22151         * tests/test-areadlink.h: New file.
22152         * tests/test-areadlink.c: Likewise.
22153         * tests/test-areadlink-with-size.c: Likewise.
22154
22155         maint: minor cleanups
22156         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
22157         _UNUSED_PARAMETER_ instead.
22158         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
22159         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
22160         * modules/linkat-tests (Files): Distribute test-link.h.
22161
22162         openat, utimens: whitespace cleanup
22163         * lib/openat.c: Prefer space throughout, rather than mix of 8
22164         spaces vs. tabs.
22165         * lib/at-func.c: Likewise.
22166         * lib/utimens.c: Likewise.
22167
22168         openat: avoid using wrong fd
22169         * lib/openat.c (openat_permissive): Reject user's fd if saving the
22170         working directory chooses same fd.
22171         * lib/at-func.c (AT_FUNC_NAME): Likewise.
22172
22173         mkdir, mkdirat: fix cygwin 1.5.x bug
22174         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
22175         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
22176         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
22177         bug.
22178         (gl_PREREQ_MKDIR): Delete unused macro.
22179         * modules/mkdir (Files): Track file rename.
22180         (configure.ac): Update macro name.
22181         * modules/openat (Depends-on): Add mkdir.
22182         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
22183
22184         mkdir, mkdirat: add tests
22185         * modules/mkdir-tests: New test.
22186         * tests/test-mkdir.h: New file.
22187         * tests/test-mkdir.c: Likewise.
22188         * tests/test-mkdirat.c: Likewise.
22189         * modules/openat-tests (Files): Add new files.
22190         (Makefile.am): Run new test.
22191
22192 2009-10-06  Eric Blake  <ebb9@byu.net>
22193
22194         doc: tweak *at function documentation
22195         * doc/posix-functions/faccessat.texi (faccessat): Mention
22196         known issue with replacement.
22197         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
22198         * doc/posix-functions/linkat.texi (linkat): Likewise.
22199         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
22200         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
22201         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
22202         * doc/posix-functions/renameat.texi (renameat): Likewise.
22203         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
22204
22205         openat: fix GNU/Hurd bug in unlinkat
22206         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
22207         broken.
22208         * doc/posix-functions/unlink.texi (unlink): Document this.
22209         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
22210
22211         fdopendir: fix GNU/Hurd bug
22212         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
22213         allowing non-directory fds.
22214         * lib/fdopendir.c (rpl_fdopendir): Work around it.
22215         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
22216         * modules/dirent (Makefile.am): Substitute it.
22217         * lib/dirent.in.h (fdopendir): Declare replacement.
22218         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
22219         * tests/test-fdopendir.c (main): Test something other than
22220         /dev/null, since on Hurd that behaves like a directory.
22221
22222         test-symlink: port to GNU/Hurd
22223         * tests/test-symlink.h (test_symlink): Relax expected errno.
22224
22225         doc: tweak more cygwin information
22226         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
22227         now compatible with glibc.
22228         * doc/posix-functions/getopt.texi (getopt): Likewise.
22229
22230         getopt-gnu: add another test
22231         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
22232         guarantee behavior relied on by m4.
22233         * tests/test-getopt.c (main): Use it.
22234         * modules/getopt-posix-tests (Depends-on): Add setenv.
22235         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
22236
22237         getopt: fix compilation on darwin
22238         * lib/getopt.in.h (includes): Leave breadcrumbs during system
22239         include.
22240         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
22241         Reported by Ludovic Courtès.
22242
22243 2009-10-06  Bruno Haible  <bruno@clisp.org>
22244
22245         * modules/size_max (Description): Discourage its use.
22246         Reported by Simon Josefsson.
22247
22248 2009-10-06  Jim Meyering  <meyering@redhat.com>
22249
22250         linkat: avoid compilation failure
22251         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
22252
22253 2009-10-05  Eric Blake  <ebb9@byu.net>
22254
22255         linkat: support Linux 2.6.17
22256         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
22257         linkat on Linux, but allow cache variable override.
22258         * lib/linkat.c (rpl_linkat): Define override.
22259         * modules/linkat (Depends-on): Add symlinkat.
22260         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
22261         * modules/unistd (Makefile.am): Substitute it.
22262         * lib/unistd.in.h (linkat): Declare replacement.
22263         Reported by Pádraig Brady.
22264
22265         quotearg: port test to systems with C.UTF-8 locale
22266         * tests/test-quotearg.c (struct result_strings): Add another
22267         member, differentiating between C.ASCII and C.UTF-8 handling.
22268         (compare_strings): Add parameter.
22269         (main): Adjust all callers.
22270
22271         getopt: avoid clash with FreeBSD _getopt_internal
22272         * lib/getopt.in.h (_getopt_internal): Override the name.
22273         * lib/getopt_int.h (includes): Pick up any overrides.
22274         Reported by Reuben Thomas.
22275
22276         hash: allow C89 compilation
22277         * lib/hash.c (check_tuning): Move declaration before statement.
22278         Reported by Reuben Thomas.
22279
22280 2009-10-05  Karl Berry  <karl@gnu.org>
22281
22282         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
22283
22284 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
22285             Bruno Haible  <bruno@clisp.org>
22286
22287         * lib/uname.c (uname): Use a table-driven algorithm to compute
22288         Windows NT versions.
22289
22290 2009-10-04  Bruno Haible  <bruno@clisp.org>
22291
22292         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
22293         program_invocation_short_name.
22294         * modules/progname (configure.ac): Test for presence of
22295         program_invocation_short_name.
22296         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
22297
22298 2009-10-04  Bruno Haible  <bruno@clisp.org>
22299
22300         * lib/progname.c (set_program_name): Fix comment.
22301         Reported by Jim Meyering.
22302
22303 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
22304             Bruno Haible  <bruno@clisp.org>
22305
22306         * lib/uname.c: Include <string.h>.
22307         (uname): Do only one call to GetVersionEx in the common case.
22308
22309 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
22310             Bruno Haible  <bruno@clisp.org>
22311
22312         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
22313         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
22314         (uname): Add support for Windows CE and various non-x86 CPU types.
22315
22316 2009-10-03  Bruno Haible  <bruno@clisp.org>
22317
22318         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
22319         invocation to tests/configure.ac.
22320         Reported by Ian Beckwith <ianb@erislabs.net>.
22321
22322 2009-10-02  Eric Blake  <ebb9@byu.net>
22323
22324         fchdir: avoid compiler warning
22325         * lib/fchdir.c (canonicalize_file_name)
22326         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
22327
22328         test-open: support mingw errno values
22329         * tests/test-open.h (test_open): Relax test.
22330         * tests/test-fopen.h (test_fopen): Likewise.
22331         * tests/test-openat-safer.c (main): Likewise.
22332
22333         open: fix opening directory on mingw
22334         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
22335
22336         test-open: on GNU/Hurd, /dev/null is a directory
22337         * tests/test-fopen.h (main): Rename...
22338         (test_fopen): ...to this.  Use a guaranteed non-directory when
22339         confirming open behavior on trailing slash.
22340         * tests/test-openat-safer.c (main): Likewise.
22341         * tests/test-open.h (main): Likewise....
22342         (test_open): ...to this.
22343         * tests/test-fopen.c (main): Adjust caller.
22344         * tests/test-fopen-safer.c (main): Likewise.
22345         * tests/test-open.c (main): Likewise.
22346         * tests/test-fcntl-safer.c (main): Likewise.
22347         Reported by Samuel Thibault.
22348
22349         rename, fchdir: don't ignore chdir failure
22350         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
22351         * lib/rename.c (rpl_rename) [W32]: Likewise.
22352         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
22353         an empty destination directory if source cannot be renamed,
22354         although there is still possibility for failure.
22355         * doc/posix-functions/rename.texi (rename): Document the race.
22356         Reported by Jim Meyering.
22357
22358         maint: cleanup whitespace in recent commits
22359         * lib/rename.c (rpl_rename): Remove tabs.
22360         * tests/test-link.h (test_link): Likewise.
22361         * lib/fchdir.c (get_name): Likewise.
22362         Reported by Jim Meyering.
22363
22364 2009-10-02  Ben Pfaff  <blp@gnu.org>
22365
22366         relocatable-prog-wrapper: Add missing dependency on
22367         double-slash-root.
22368         * modules/relocatable-prog-wrapper: Add dependency.
22369         Reported by Ian Beckwith <ianb@erislabs.net>.
22370
22371 2009-10-02  Eric Blake  <ebb9@byu.net>
22372
22373         renameat: fix Solaris bugs
22374         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
22375         needed fixing.
22376         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
22377         * modules/stdio (Makefile.am): Substitute it.
22378         * lib/stdio.in.h (renameat): Declare replacement.
22379         * lib/renameat.c (rpl_renameat): Implement fix.
22380
22381         renameat: new module
22382         * modules/renameat: New file.
22383         * lib/renameat.c (renameat): Likewise.
22384         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
22385         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
22386         * modules/stdio (Makefile.am): Substitute them.
22387         * lib/stdio.in.h (renameat): Declare it.
22388         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
22389         * doc/posix-functions/renameat.texi (renameat): Likewise.
22390         * modules/renameat-tests: New test.
22391         * tests/test-renameat.c: Likewise.
22392
22393         rename: fix mingw bugs
22394         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
22395         directory overwrite bugs.
22396
22397         rename: fix another cygwin 1.5 bug
22398         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
22399         checks.
22400         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
22401         unnecessary cygwin workarounds.  Also work around bug with moving
22402         full directory onto an empty one.
22403         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
22404
22405         rename-dest-slash: merge into rename module
22406         * modules/rename-dest-slash (Status): Mark obsolete.
22407         (Depends-on): Add rename.
22408         (Files): Let rename do it all.
22409         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
22410         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
22411         * m4/rename-dest-slash.m4: ...so this file can be deleted.
22412         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
22413         * lib/rename.c (rpl_rename): Update comments.
22414
22415         rename: fix cygwin 1.5.x bugs
22416         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
22417         * lib/rename.c (rpl_rename): Work around them.
22418         * modules/rename (Depends-on): Add same-inode.
22419
22420         rename: fix Solaris 10 bug
22421         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
22422         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
22423         was the only bug.
22424
22425         rename: fix Solaris 9 bug
22426         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
22427         on non-directory.  Avoid calling exit.
22428         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
22429         strdup.
22430         * modules/rename-tests (Depends-on): Drop lstat.
22431         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
22432         (gl_PREREQ_RENAME): Delete unused macro.
22433
22434         rename-dest-slash: fix NetBSD bug
22435         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
22436         links.
22437         * modules/rename-dest-slash (Depends-on): Add same-inode.
22438
22439         rename-tests: new test, exposes several platform bugs
22440         * modules/rename-tests: New file.
22441         * tests/test-rename.h: Likewise.
22442         * tests/test-rename.c: Likewise.
22443         * doc/posix-functions/rename.texi (rename): Improve documentation,
22444         including bugs that will eventually be fixed in gnulib.
22445
22446 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
22447
22448         * lib/uname.c: Include <stdlib.h>
22449         (uname): Assume version info is available.
22450
22451 2009-10-02  Jim Meyering  <meyering@redhat.com>
22452
22453         gnu-web-doc-update: correct --help output
22454         * build-aux/gnu-web-doc-update: Make --help output relevant.
22455
22456         gnu-web-doc-update: add standard options
22457         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
22458
22459         gnu-web-doc-update: New module.
22460         Use this script to automatically update the on-line web documentation
22461         for your GNU project at http://www.gnu.org/software/$pkg/manual/
22462         * modules/gnu-web-doc-update: New file, from coreutils.
22463         * build-aux/gnu-web-doc-update: New script.
22464
22465 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
22466
22467         link: LoadLibrary is not needed.
22468         * lib/link.c: Use GetModuleHandle.
22469
22470 2009-10-01  Eric Blake  <ebb9@byu.net>
22471
22472         getopt: bump serial number
22473         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
22474         change.
22475
22476         tests: tighten link, rmdir, and remove tests
22477         * tests/test-link.h (includes): No need to use <config.h> here.
22478         Clean up if directory hard link was created, otherwise test for
22479         trailing '.'.
22480         * tests/test-linkat.c (main): Simplify.
22481         * tests/test-remove.c (main): Enhance test for trailing '.'.
22482         * tests/test-rmdir.h (test_rmdir_func): Likewise.
22483
22484 2009-10-01  Jim Meyering  <meyering@redhat.com>
22485
22486         maint.mk: requiring "make major" was annoying, for a "minor" release.
22487         What is intended is "stable", to contrast with alpha and beta,
22488         so require "make stable", not "make major".
22489         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
22490         (get_tool_versions): Likewise.
22491         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
22492
22493 2009-09-30  Ben Pfaff  <blp@gnu.org>
22494
22495         Fix broken build of replacement for Windows tmpfile().
22496         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
22497         flags argument added along with the 'mkostemp' module.
22498
22499 2009-09-28  Bruno Haible  <bruno@clisp.org>
22500
22501         Avoid identifier clash with POSIX function 'remove' defined as a macro.
22502         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
22503         to 'remove_elt'.
22504         (gl_list_remove): Update.
22505         * lib/gl_list.c (gl_list_remove): Update.
22506         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
22507         to 'remove_elt'.
22508         (gl_oset_remove): Update.
22509         * lib/gl_list.c (gl_oset_remove): Update.
22510         Reported by Eric Blake.
22511
22512 2009-09-28  Eric Blake  <ebb9@byu.net>
22513
22514         doc: mention yet more cygwin 1.7 status
22515         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
22516         cygwin.
22517         * doc/glibc-functions/execvpe.texi (execvpe): New file.
22518         * doc/gnulib.texi (Glibc unistd.h): Mention it.
22519
22520         argp: fix test failure
22521         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
22522         that are not upper-case.  Pass correct range to tolower.
22523
22524 2009-09-27  Jim Meyering  <meyering@redhat.com>
22525
22526         test-yesno: work around sparc-dash here-document infelicity
22527         Without this change, the literal \177 byte in a here document
22528         would make dash 0.5.5.1-3 access uninitialized memory.
22529         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
22530         Instead, use a marker, "@", and filter through tr to create the desired
22531         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
22532
22533 2009-09-27  Bruno Haible  <bruno@clisp.org>
22534
22535         Disable untested support for new flavours of ACLs on AIX.
22536         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
22537         progress.
22538         * lib/set-mode-acl.c (qset_acl): Likewise.
22539
22540 2008-12-07  Bruno Haible  <bruno@clisp.org>
22541
22542         Add support for new flavours of ACLs on AIX. (Untested.)
22543         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
22544         (file_has_acl): Add support for newer AIX.
22545         * lib/set-mode-acl.c (qset_acl): Likewise.
22546         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
22547         Rainer Tammer <tammer@tammer.net>.
22548
22549 2009-09-26  Eric Blake  <ebb9@byu.net>
22550
22551         argp: fix compilation of getopt
22552         * lib/getopt.in.h (includes): Use different guard than glibc.
22553         Reported by Sergey Poznyakoff.
22554
22555         doc: mention more cygwin 1.7 status
22556         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
22557         bug.
22558         * doc/posix-functions/execl.texi (execl): Likewise.
22559         * doc/posix-functions/execle.texi (execle): Likewise.
22560         * doc/posix-functions/execlp.texi (execlp): Likewise.
22561         * doc/posix-functions/execv.texi (execv): Likewise.
22562         * doc/posix-functions/execve.texi (execve): Likewise.
22563         * doc/posix-functions/execvp.texi (execvp): Likewise.
22564         * doc/glibc-functions/canonicalize_file_name.texi
22565         (canonicalize_file_name): Cygwin 1.7 now provides this.
22566         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
22567         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
22568         on AT_SYMLINK_NOFOLLOW.
22569
22570 2009-09-24  Eric Blake  <ebb9@byu.net>
22571
22572         test-linkat: make test more robust
22573         * tests/test-linkat.c (main): Avoid collision with EEXIST.
22574
22575         getopt: fix inclusion guards for cygwin
22576         * modules/getopt-posix (Depends-on): Add include-next.
22577         (Makefile.am): Substitute more items in replacement header.
22578         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
22579         <getopt.h>.
22580         * lib/getopt.in.h (includes): Use split inclusion guard, and
22581         prefer <getopt.h> over include <unistd.h> when one is present.
22582         (option): Also override name of 'struct option'.
22583
22584         same-inode: revert prior change; it is not yet ready
22585         * NEWS: Undo mention of this change.
22586         * lib/same-inode.h (same-inode.h): Undo tri-state change.
22587         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
22588         * lib/cycle-check.c (cycle_check): Likewise.
22589         * lib/same.c (same_name): Likewise.
22590         * lib/at-func2.c (at_func2): Likewise.
22591
22592 2009-09-23  Eric Blake  <ebb9@byu.net>
22593
22594         linkat: new module
22595         * modules/linkat: New file.
22596         * lib/at-func2.c (at_func2): Likewise.
22597         * lib/linkat.c (linkat): Likewise.
22598         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
22599         * lib/openat-priv.h (at_func2): Add declaration.
22600         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
22601         * modules/unistd (Makefile.am): Substitute them.
22602         * lib/unistd.in.h (linkat): Declare it.
22603         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
22604         * doc/posix-functions/linkat.texi (linkat): Likewise.
22605         * doc/posix-functions/link.texi (link): Tweak wording.
22606         * tests/test-link.c (main): Move guts...
22607         * tests/test-link.h (test_link): ...into new file.
22608         * modules/linkat-tests: New test.
22609         * tests/test-linkat.c: Likewise.
22610         * modules/link-tests (Files): Ship new file.
22611         (Depends-on): Add stdbool.
22612
22613         dirname: add library-safe mdir_name
22614         * lib/dirname.h (mdir_name): New prototype.
22615         * lib/dirname.c (dir_name): Move guts...
22616         (mdir_name): ...to new function that avoids xalloc_die.
22617
22618         fchdir: another mingw fix
22619         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
22620         * lib/fchdir.c (get_name): New helper method; skips canonicalize
22621         on mingw (where it has not yet been ported), and make it optional
22622         elsewhere.
22623         (_gl_register_fd): Use it.
22624
22625         same-inode: make SAME_INODE tri-state, to port to mingw
22626         * NEWS: Mention this change.
22627         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
22628         st_ino always being 0.
22629         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
22630         * lib/cycle-check.c (cycle_check): Likewise.
22631         * lib/same.c (same_name): Likewise.
22632
22633         lstat: avoid mingw compilation error
22634         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
22635         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
22636         lstat ourselves.
22637         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
22638         was adequate.
22639         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
22640         the checks for lstat.
22641         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
22642
22643         link: fix test failure on Solaris 9
22644         * lib/link.c (rpl_link): Don't assume link will catch bogus
22645         trailing slash on source.
22646
22647         test-symlinkat: enhance test
22648         * tests/test-readlink.c (main): Move guts...
22649         * tests/test-readlink.h (test_readlink): ...into new file.
22650         * tests/test-symlink.c (main): Move guts...
22651         * tests/test-symlink.h (test_symlink): ...into new file.
22652         * tests/test-symlinkat.c (main): Use new files for further
22653         coverage.
22654         (do_symlink, do_readlink): New helper functions.
22655         * modules/symlink-tests (Files): Ship new file.
22656         (Depends-on): Add stdbool.
22657         * modules/readlink-tests (Files): Ship new file.
22658         (Depends-on): Add stdbool.
22659         * modules/symlinkat-tests (Files): Use new files.
22660
22661 2009-09-23  Eric Blake  <ebb9@byu.net>
22662
22663         readlink: document portability issue with symlink length
22664         * doc/posix-functions/lstat.texi (lstat): Mention that some file
22665         systems have bogus st_size on symlinks, and mention the
22666         areadlink-with-size module.
22667         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
22668         * doc/posix-functions/readlink.texi (readlink): Mention the
22669         areadlink module, and ERANGE failure.
22670         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
22671         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
22672
22673         readlink: fix Solaris 9 bug with trailing slash
22674         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
22675         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
22676         * doc/posix-functions/readlink.texi (readlink): Document this.
22677         * modules/readlink-tests: New test.
22678         * tests/test-readlink.c: Likewise.
22679
22680         readlink: fix cygwin 1.5.x bug with return type
22681         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
22682         * lib/unistd.in.h (readlink): Use ssize_t.
22683         * lib/readlink.c (readlink): Likewise.
22684         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
22685         * modules/unistd (Makefile.am): Substitute it.
22686         * lib/unistd.in.h (readlink): Declare replacement.
22687         * doc/posix-functions/readlink.texi (readlink): Document this.
22688
22689         symlink: use throughout gnulib
22690         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
22691         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
22692         symlink is not used.
22693         * modules/symlinkat (Depends-on): Add symlink.
22694         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
22695         * modules/canonicalize-tests (Depends-on): Likewise.
22696         * modules/lstat-tests (Depends-on): Likewise.
22697         * modules/openat-tests (Depends-on): Likewise.
22698         * modules/remove-tests (Depends-on): Likewise.
22699         * modules/rmdir-tests (Depends-on): Likewise.
22700         * modules/unlink-tests (Depends-on): Likewise.
22701         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
22702         * tests/test-canonicalize.c (symlink): Likewise.
22703         * tests/test-fstatat.c (symlink): Likewise.
22704         * tests/test-lstat.c (symlink): Likewise.
22705         * tests/test-remove.c (symlink): Likewise.
22706         * tests/test-rmdir.c (symlink): Likewise.
22707         * tests/test-unlink.c (symlink): Likewise.
22708         * tests/test-unlinkat.c (symlink): Likewise.
22709
22710         symlink: new module, for Solaris 9 bug
22711         * modules/symlink: New file.
22712         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
22713         * lib/symlink.c: Likewise.
22714         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
22715         * modules/unistd (Makefile.am): Substitute them.
22716         * lib/unistd.in.h (symlink): Declare replacement.
22717         * MODULES.html.sh (File system functions): Mention it.
22718         * doc/posix-functions/symlink.texi (symlink): Likewise.
22719         * modules/symlink-tests: New test.
22720         * tests/test-symlink.c: Likewise.
22721
22722 2009-09-23  Bruno Haible  <bruno@clisp.org>
22723
22724         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
22725         when needed.
22726         Test case: gnulib-tool --import --with-tests atexit inttypes.
22727         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
22728
22729 2009-09-23  Bruno Haible  <bruno@clisp.org>
22730
22731         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
22732         subcommand, not in a subshell.
22733
22734 2009-09-22  Eric Blake  <ebb9@byu.net>
22735
22736         unistd: sort replacement declarations
22737         * lib/unistd.in.h: Sort declarations.
22738
22739         open, openat: minor optimization
22740         * lib/open.c (open): If open succeeded, len is non-zero.
22741         * lib/openat.c (rpl_openat): Likewise.
22742
22743         link-follow: ensure correct result
22744         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
22745         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
22746         distinguish between possible failures.
22747
22748 2009-09-21  Eric Blake  <ebb9@byu.net>
22749
22750         fts: avoid compiler warning
22751         * lib/fts.c (dirent_inode_sort_may_be_useful)
22752         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
22753
22754 2009-09-19  Bruno Haible  <bruno@clisp.org>
22755
22756         * lib/progreloc.c (canonicalize_file_name): New declaration.
22757
22758 2009-09-19  Eric Blake  <ebb9@byu.net>
22759
22760         link: fix quoting
22761         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
22762
22763         openat: fix openat bugs on Solaris 9
22764         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
22765         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
22766         * modules/openat (Depends-on): Add open.
22767         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
22768         * modules/fcntl-h (Makefile.am): Substitute it.
22769         * lib/fcntl.in.h (openat): Declare replacement.
22770         * doc/posix-functions/openat.texi (openat): Document this.
22771
22772         openat: move fstatat and unlinkat into correct files
22773         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
22774         compiled.
22775         * lib/openat.c (fstatat, unlinkat): Move...
22776         * lib/fstatat.c (fstatat): ...into correct files.
22777         * lib/unlinkat.c (unlinkat): Likewise.
22778
22779         openat: fix unlinkat bugs on Solaris 9
22780         * lib/unlinkat.c (unlinkat): New file.
22781         * modules/openat (Depends-on): Add unlink.
22782         (Files): Distribute it.
22783         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
22784         trailing slash behavior is broken.
22785         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
22786         * modules/unistd (Makefile.am): Substitute it.
22787         * lib/unistd.in.h (unlinkat): Declare replacement.
22788         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
22789
22790         openat: fix fstatat bugs on Solaris 9
22791         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
22792         stat.
22793         * doc/posix-functions/fstatat.texi (fstatat): Document this.
22794
22795         test-unlinkat: enhance test, to expose Solaris 9 bug
22796         * tests/test-unlink.c (main): Factor guts...
22797         * tests/test-unlink.h (test_rmdir_func): ...into new file.
22798         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
22799         * tests/test-rmdir.c (main): Adjust caller.
22800         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
22801         (unlinker): New helper function.
22802         (rmdirat): Enhance check.
22803         * modules/rmdir-tests (Depends-on): Add stdbool.
22804         * modules/unlink-tests (Depends-on): Likewise.
22805         (Files): Add test-unlink.h.
22806         * modules/openat-tests (Files): Likewise.
22807         (Depends-on): Add unlinkdir.
22808
22809         test-fstatat: new test, to expose Solaris 9 bugs
22810         * tests/test-stat.c (main): Factor guts...
22811         * tests/test-stat.h (test_stat_func): ...into new file.
22812         * tests/test-lstat.c (main): Factor guts...
22813         * tests/test-lstat.h (test_lstat_func): ...into new file.
22814         * tests/test-fstatat.c: New file.
22815         * modules/stat-tests (Files): Add test-stat.h.
22816         * modules/lstat-tests (Files): Add test-lstat.h.
22817         (Depends-on): Add stdbool.
22818         * modules/openat-tests (Depends-on): Add pathmax.
22819         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
22820         (Makefile.am): Run new test.
22821
22822         remove: new module, for mingw and Solaris 9 bugs
22823         * modules/remove: New file.
22824         * lib/remove.c: Likewise.
22825         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
22826         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
22827         * modules/stdio (Makefile.am): Use them.
22828         * lib/stdio.in.h (remove): Declare replacement.
22829         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
22830         * doc/posix-functions/remove.texi (remove): Likewise.
22831         * modules/remove-tests: New test.
22832         * tests/test-remove.c: Likewise.
22833
22834         unlink: new module, for Solaris 9 bug
22835         * modules/unlink: New file.
22836         * lib/unlink.c: Likewise.
22837         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
22838         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
22839         * modules/unistd (Makefile.am): Use them.
22840         * lib/unistd.in.h (stat): Declare replacement.
22841         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
22842         * doc/posix-functions/unlink.texi (unlink): Likewise.
22843         * modules/unlink-tests: New test.
22844         * tests/test-unlink.c: Likewise.
22845
22846         lstat: fix Solaris 9 bug
22847         * lib/lstat.c (lstat): Also check for trailing slash on
22848         non-symlink, non-directories.  Use stat module to simplify logic.
22849         * doc/posix-functions/lstat.texi (lstat): Document it.
22850         * modules/lstat-tests (Depends-on): Add errno, same-inode.
22851         (configure.ac): Check for symlink.
22852         * tests/test-lstat.c (main): Add more tests.
22853
22854         stat: add as dependency to other modules
22855         * modules/chown (Depends-on): Add stat.
22856         * modules/euidaccess (Depends-on): Likewise.
22857         * modules/fchdir (Depends-on): Likewise.
22858         * modules/isdir (Depends-on): Likewise.
22859         * modules/link (Depends-on): Likewise.
22860         * modules/lstat (Depends-on): Likewise.
22861         * modules/mkdir-p (Depends-on): Likewise.
22862         * modules/modechange (Depends-on): Likewise.
22863         * modules/open (Depends-on): Likewise.
22864         * modules/readlink (Depends-on): Likewise.
22865         * modules/same (Depends-on): Likewise.
22866
22867         stat: fix Solaris 9 bug
22868         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
22869         slash.
22870         * lib/stat.c (rpl_stat): Work around it.
22871         * doc/posix-functions/stat.texi (stat): Update documentation.
22872
22873         stat: new module, for mingw bug
22874         * modules/stat: New file.
22875         * lib/stat.c: Likewise.
22876         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
22877         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
22878         * modules/sys_stat (Makefile.am): Use them.
22879         * lib/sys_stat.in.h (stat): Declare replacement.
22880         * lib/openat.c (fstatat): Deal with lstat and stat being function
22881         macros.
22882         * modules/openat (Depends-on): Add inline.
22883         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
22884         * doc/posix-functions/stat.texi (stat): Likewise.
22885         * modules/stat-tests: New test.
22886         * tests/test-stat.c: Likewise.
22887
22888 2009-09-19  Jim Meyering  <meyering@redhat.com>
22889
22890         syntax-check: detect unnecessary inclusion of canonicalize.h
22891         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
22892
22893 2009-09-19  Eric Blake  <ebb9@byu.net>
22894
22895         canonicalize-lgpl: adjust clients to use correct header
22896         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
22897         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
22898         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
22899         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
22900         * lib/progreloc.c (includes): Likewise.
22901
22902 2009-09-19  Jim Meyering  <meyering@redhat.com>
22903
22904         test-posixtm.c: correct a comment
22905         * tests/test-posixtm.c: Correct first-line comment.
22906         Spotted by Eric Blake.
22907
22908 2009-09-16  Jim Meyering  <meyering@redhat.com>
22909
22910         posixtm-tests: make T const-correct; add a test case
22911         * tests/test-posixtm.c (T): Declare const.
22912         Add a test for -(2^31+1).
22913         Remove useless can-succeed-only-in-2002 test.
22914
22915         posixtm-tests: adjust the sole failing test
22916         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
22917         expected output matches what mktime now produces.  Cross-checked via
22918         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
22919
22920         posixtm: move #ifdef'd tests into a new module
22921         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
22922         * tests/test-posixtm.c: ... this new file.
22923         * modules/posixtm-tests: New module.
22924
22925 2009-09-19  Eric Blake  <ebb9@byu.net>
22926
22927         openat: simplify use of at-func.c
22928         * lib/at-func.c (includes): Include prerequisites here, to
22929         simplify requirements on client files.
22930         * lib/openat-priv.h: Add double-inclusion guard.
22931         * lib/faccessat.c (includes): Simplify.
22932         * lib/fchmodat.c (includes): Likewise.
22933         * lib/fchownat.c (includes): Likewise.
22934         * lib/mkdirat.c (includes): Likewise.
22935         * lib/mkfifoat.c (includes): Likewise.
22936         * lib/symlinkat.c (includes): Likewise.
22937
22938         openat: allow return of fd 0
22939         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
22940         * modules/save-cwd (Depends-on): Replace fcntl-safer with
22941         unistd-safer.
22942         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
22943         <fcntl.h>; this module does not leak fds.
22944         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
22945         must be allowed to return 0, leaving openat_safer to add the
22946         safety.
22947         (openat_permissive): Avoid writing to just-opened fd 2 if
22948         restoring the current directory fails.
22949         * lib/openat-die.c (openat_restore_fail): Add comment.
22950         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
22951         (save_cwd): Guarantee safe fd, but without use of open_safer.
22952         * tests/test-openat.c: New test.
22953         * modules/openat-tests (Files, Makefile.am): Distribute and build
22954         new file.
22955
22956         relocatable-prog-wrapper: fix build
22957         * modules/relocatable-prog-wrapper (Files): Update name of
22958         canonicalize m4 file, broken on 2009-09-17.
22959         Reported by emad hajjar <aleppos@hotmail.com>.
22960
22961 2009-09-19  Bruno Haible  <bruno@clisp.org>
22962
22963         * lib/safe-alloc.h: Use the standard header with GPL copyright.
22964         * lib/safe-alloc.c: Likewise.
22965         Reported by Ian Beckwith <ianb@erislabs.net>.
22966
22967 2009-09-18  Bruno Haible  <bruno@clisp.org>
22968
22969         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
22970         Reported by <erobles@sensacd.com.mx>.
22971
22972 2009-09-17  Eric Blake  <ebb9@byu.net>
22973
22974         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
22975         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
22976         slashes when checking if last component is missing.
22977         * tests/test-canonicalize.c (main): Test this.
22978
22979         canonicalize, canonicalize-lgpl: honor // if distinct from /
22980         * modules/canonicalize (Files): Add double-slash-root.m4.
22981         * modules/canonicalize-lgpl (Files): Likewise.
22982         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
22983         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
22984         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
22985         fallback definition.
22986         (canonicalize_filename_mode): Use it to protect //.
22987         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
22988         (__realpath): Likewise.
22989         * tests/test-canonicalize.c (main): Test this.
22990         * tests/test-canonicalize-lgpl.c (main): Likewise.
22991         * modules/canonicalize-tests (Depends-on): Add same-inode.
22992         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
22993
22994         canonicalize-lgpl: fix glibc bug with trailing slash
22995         * m4/canonicalize-lgpl.m4: Move contents...
22996         * m4/canonicalize.m4: ...here.
22997         (gl_CANONICALIZE_LGPL): Factor realpath check...
22998         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
22999         glibc 2.3.5 bug, fixed 2005-04-27.
23000         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
23001         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
23002         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
23003         * modules/canonicalize-lgpl (Files): Manage file rename.
23004         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
23005         * modules/stdlib (Makefile.am): Substitute witness.
23006         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
23007         is needed.
23008         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
23009         replacement is required.
23010         * lib/canonicalize.c (canonicalize_file_name): Likewise.
23011         * doc/glibc-functions/canonicalize_file_name.texi
23012         (canonicalize_file_name): Document this.
23013         * doc/posix-functions/realpath.texi (realpath): Likewise.
23014
23015         canonicalize-lgpl: reject non-directory with trailing slash
23016         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
23017         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
23018         catches failures in glibc 2.3.5.
23019         * tests/test-canonicalize.c (main): Likewise.
23020
23021         canonicalize-lgpl: use native realpath if it works
23022         * lib/canonicalize-lgpl.c (realpath): Guard with
23023         FUNC_REALPATH_WORKS.
23024         * lib/stdlib.in.h (realpath): Make declaration optional based on
23025         HAVE_REALPATH.
23026         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
23027         native realpath works.
23028         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
23029         * modules/stdlib (Makefile.am): Substitute witness.
23030
23031         canonicalize, canonicalize-lgpl: use <stdlib.h>
23032         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
23033         (Include): Mention <stdlib.h>.
23034         (configure.ac): Mention functions we provide.
23035         * modules/canonicalize (configure.ac): Likewise.
23036         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
23037         realpath if canonicalize_file_name is missing.
23038         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
23039         * modules/stdlib (Makefile.am): Substitute witnesses.
23040         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
23041         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
23042         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
23043         * NEWS: Document this.
23044         * doc/glibc-functions/canonicalize_file_name.texi
23045         (canonicalize_file_name): Likewise.
23046         * doc/posix-functions/realpath.texi (realpath): Likewise.
23047         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
23048
23049         test-canonicalize: consolidate into single C program
23050         * tests/test-canonicalize.sh: Delete; move setup into...
23051         * tests/test-canonicalize.c (main): ...the program, making it
23052         easier to run in debugger.  Add some tests.
23053         * modules/canonicalize-tests (Files): Remove unused file.
23054         (Depends-on): Add progname.
23055         (configure.ac, Makefile.am): Simplify.
23056
23057         test-canonicalize-lgpl: consolidate into single C program
23058         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
23059         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
23060         easier to run in debugger.  Add some tests.
23061         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
23062         (configure.ac, Makefile.am): Simplify.
23063
23064         canonicalize: avoid resolvepath
23065         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
23066         unnecessary checks.
23067         * lib/canonicalize.c (includes): Simplify.
23068         (canonicalize_file_name): Drop resolvepath implementation.
23069         * modules/canonicalize (Depends-on): Drop filenamecat.
23070
23071         canonicalize: don't lose errno
23072         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
23073         over calls to free.
23074
23075         canonicalize: simplify errno handling
23076         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
23077         assignment.
23078
23079         canonicalize, canonicalize-lgpl: update module dependencies
23080         * modules/canonicalize (Depends-on): Add extensions, lstat,
23081         pathmax, stdlib.
23082         (Files): Drop pathmax.h.
23083         (configure.ac): Adjust macro name.
23084         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
23085         lstat, stdlib, sys_stat.
23086         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
23087         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
23088         extensions.
23089         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
23090         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
23091         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
23092         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
23093         declaration, if available.
23094         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
23095         we can rely on the readlink module.
23096         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
23097         (includes): Use <unistd.h> unconditionally.
23098
23099 2009-09-17  Eric Blake  <ebb9@byu.net>
23100
23101         maint: make Include sections of modules consistent
23102         * modules/alloca: Use only header name; no need to list #include.
23103         * modules/alloca-opt: Likewise.
23104         * modules/arpa_inet: Likewise.
23105         * modules/canon-host: Likewise.
23106         * modules/configmake: Likewise.
23107         * modules/dirent: Likewise.
23108         * modules/eealloc: Likewise.
23109         * modules/environ: Likewise.
23110         * modules/fchdir: Likewise.
23111         * modules/fcntl: Likewise.
23112         * modules/fcntl-h: Likewise.
23113         * modules/gethrxtime: Likewise.
23114         * modules/gettime: Likewise.
23115         * modules/ignore-value: Likewise.
23116         * modules/inet_ntop: Likewise.
23117         * modules/inet_pton: Likewise.
23118         * modules/inttypes: Likewise.
23119         * modules/isnand-nolibm: Likewise.
23120         * modules/isnanf-nolibm: Likewise.
23121         * modules/mbchar: Likewise.
23122         * modules/mbfile: Likewise.
23123         * modules/mbiter: Likewise.
23124         * modules/mbuiter: Likewise.
23125         * modules/netdb: Likewise.
23126         * modules/netinet_in: Likewise.
23127         * modules/nproc: Likewise.
23128         * modules/pagealign_alloc: Likewise.
23129         * modules/poll: Likewise.
23130         * modules/printf-frexp: Likewise.
23131         * modules/pthread: Likewise.
23132         * modules/putenv: Likewise.
23133         * modules/random_r: Likewise.
23134         * modules/relocatable-prog: Likewise.
23135         * modules/search: Likewise.
23136         * modules/select: Likewise.
23137         * modules/selinux-h: Likewise.
23138         * modules/settime: Likewise.
23139         * modules/signal: Likewise.
23140         * modules/size_max: Likewise.
23141         * modules/socklen: Likewise.
23142         * modules/ssize_t: Likewise.
23143         * modules/stdarg: Likewise.
23144         * modules/stdbool: Likewise.
23145         * modules/stddef: Likewise.
23146         * modules/stdint: Likewise.
23147         * modules/stdio: Likewise.
23148         * modules/stdlib: Likewise.
23149         * modules/string: Likewise.
23150         * modules/strings: Likewise.
23151         * modules/sys_file: Likewise.
23152         * modules/sys_ioctl: Likewise.
23153         * modules/sys_select: Likewise.
23154         * modules/sys_socket: Likewise.
23155         * modules/sys_stat: Likewise.
23156         * modules/sys_time: Likewise.
23157         * modules/sys_times: Likewise.
23158         * modules/sys_utsname: Likewise.
23159         * modules/sys_wait: Likewise.
23160         * modules/sysexits: Likewise.
23161         * modules/time: Likewise.
23162         * modules/times: Likewise.
23163         * modules/tmpfile: Likewise.
23164         * modules/trim: Likewise.
23165         * modules/unistd: Likewise.
23166         * modules/wchar: Likewise.
23167         * modules/wctype: Likewise.
23168
23169 2009-09-17  Bruno Haible  <bruno@clisp.org>
23170
23171         Make getdate.y compile on QNX and NetBSD 5 / i386.
23172         * m4/getdate.m4 (gl_GETDATE): Conditionally define
23173         TIME_T_FITS_IN_LONG_INT.
23174         * lib/getdate.y (long_time_t): New type.
23175         (relative_time): Change type of 'seconds' field to long_time_t.
23176         (get_date): Update types of local variables. Check against overflow
23177         during conversion from long_time_t to time_t.
23178         Reported by Matt Kraai <kraai@ftbfs.org>
23179         and Hasso Tepper <hasso@netbsd.org>.
23180
23181 2009-09-17  Bruno Haible  <bruno@clisp.org>
23182
23183         * modules/COPYING: Update copyright years.
23184         * modules/README: Likeiwse.
23185         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
23186         Reported by Ian Beckwith <ianb@erislabs.net>.
23187
23188 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
23189
23190         * users.txt: Update references for gnuit package.
23191
23192 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
23193
23194         * m4/getdelim.m4: Fix typo in copyright line.
23195
23196 2009-09-17  Bruno Haible  <bruno@clisp.org>
23197
23198         * lib/atoll.c: Use the standard header with GPL copyright.
23199         * lib/argz.in.h: Likewise.
23200         * lib/glob.c: Likewise.
23201         * lib/glob-libc.h: Likewise.
23202         * lib/random_r.c: Likewise.
23203         * lib/siglist.h: Likewise.
23204         * lib/strsignal.c: Likewise.
23205         Reported by Ian Beckwith <ianb@erislabs.net>.
23206
23207 2009-09-17  Eric Blake  <ebb9@byu.net>
23208
23209         rmdir: ensure correct dependency order
23210         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
23211
23212 2009-09-17  Bruno Haible  <bruno@clisp.org>
23213
23214         Disable assertion that fails on NetBSD 5 / i386.
23215         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
23216         Reported by Sam Steingold <sds@gnu.org>
23217         and Hasso Tepper <hasso@netbsd.org>.
23218
23219 2009-09-16  Eric Blake  <ebb9@byu.net>
23220
23221         unlinkdir: port to mingw
23222         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
23223         on which no one can unlink a directory.
23224
23225         stdlib: sort witness names
23226         * modules/stdlib (Makefile.am): Sort replacements.
23227         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
23228         * lib/stdlib.in.h: Likewise.
23229
23230         parse-duration-tests: avoid link failure
23231         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
23232         LIBINTL.
23233         Reported by Tom G. Christensen.
23234
23235         openat-tests: ensure unlinkat behaves like rmdir
23236         * tests/test-rmdir.c (main): Factor guts...
23237         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
23238         * modules/rmdir-tests (Files): Ship new file.
23239         * modules/openat-tests: New test.
23240         * tests/test-unlinkat.c: Likewise.
23241
23242         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
23243         * modules/rmdir-errno (Status, Notice): Now obsolete.
23244
23245         rmdir: work around cygwin 1.5.x and mingw bugs
23246         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
23247         * lib/rmdir.c (rmdir): Work around it.
23248         * modules/rmdir (Status, Notice): No longer obsolete.
23249         (Files): Add dos.m4.
23250         (Depends-on): Add unistd.
23251         (configure.ac): Set witnesses.
23252         (License): Relax to LGPLv2+.
23253         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
23254         * modules/unistd (Makefile.am): Substitute witnesses.
23255         * lib/unistd.in.h (rmdir): Declare replacement.
23256         * doc/posix-functions/rmdir.texi (rmdir): Document this.
23257         * modules/rmdir-tests: New tests.
23258         * tests/test-rmdir.c: Likewise.
23259
23260 2009-09-15  Eric Blake  <ebb9@byu.net>
23261
23262         fchdir: improve use of replacement functions
23263         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
23264         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
23265         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
23266         REPLACE_CLOSEDIR.
23267         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
23268         * modules/sys_stat (Makefile.am): Substitute correct witness.
23269         * modules/dirent (Makefile.am): Likewise.
23270         * modules/unistd (Makefile.am): Likewise.
23271         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
23272         * lib/unistd.in.h (dup): Likewise.
23273         * lib/sys_stat.in.h (fstat): Likewise.
23274
23275         maint: ignore gnulib-tool temp files
23276         * .gitignore: Ignore files created during gnulib-tool --test.
23277
23278 2009-09-13  Jim Meyering  <meyering@redhat.com>
23279
23280         posixtm: don't reject a time that specify "60" as the number of seconds
23281         * lib/posixtm.c (posixtime): The code to reject invalid dates
23282         would also reject a time specified with the .60 suffix.
23283         But POSIX allows that, in order to accommodate leap seconds.
23284         So don't reject it.
23285         (main): Adjust tests accordingly.
23286         * modules/posixtm (Depends-on): Add stpcpy.
23287
23288 2009-09-11  Jim Meyering  <meyering@redhat.com>
23289
23290         announce-gen: include [$release_type] in emitted Subject:
23291         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
23292         e.g., [stable] in the emitted Subject: line.
23293
23294 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23295
23296         Remove obsolete macros from several modules.
23297         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
23298         obsolete Autoconf macros with their modern counterparts.
23299         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
23300         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
23301         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
23302         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
23303         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
23304         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
23305         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
23306         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
23307         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
23308         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
23309         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
23310         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
23311         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
23312         * m4/sockets.m4 (gl_SOCKETS): Likewise.
23313         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
23314         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
23315         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
23316         * m4/time_r.m4 (gl_TIME_R): Likewise.
23317         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
23318         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
23319         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
23320
23321         Fix copyright header in build-aux scripts.
23322         * build-aux/git-version-gen: Fix copyright header to match GPLv3
23323         recommendation.
23324         * build-aux/ncftpput-ftp: Likewise.
23325         * build-aux/update-copyright: Likewise.
23326
23327 2009-09-09  Eric Blake  <ebb9@byu.net>
23328
23329         test-link: allow Linux choice of errno
23330         * tests/test-link.c (main): Relax test for alternate error.
23331
23332         strndup: fix improper m4 caching
23333         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
23334         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
23335         (gl_PREREQ_STRNDUP): Delete.
23336         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
23337         * modules/string (Makefile.am): Substitute it.
23338         * lib/string.in.h (strndup): Modernize prototype.
23339
23340         getcwd: port to mingw
23341         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
23342         different from the POSIX assumptions made throughout the getcwd
23343         module; fortunately, the mingw getcwd does not need replacement.
23344         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
23345         * modules/getcwd-tests: New test.
23346         * tests/test-getcwd.c: Likewise.
23347
23348         link: fix platform bugs
23349         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
23350         * lib/link.c (link): Work around them.  Fix related mingw bug.
23351         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
23352         * modules/unistd (Makefile.am): Substitute it.
23353         * lib/unistd.in.h (link): Declare replacement.
23354         * doc/posix-functions/link.texi (link): Document this.
23355         * modules/link (Depends-on): Add strdup-posix, sys_stat.
23356
23357         test-link: consolidate into single C program, test more cases
23358         * tests/test-link.sh: Delete.
23359         * tests/test-link.c: Test more error conditions.  Exposes bugs on
23360         at least Cygwin and Solaris.
23361         * modules/link-tests (Files): Remove unused file.
23362         (Depends-on): Add errno, sys_stat.
23363         (Makefile.am): Simplify.
23364
23365 2009-09-08  Bruno Haible  <bruno@clisp.org>
23366
23367         Work around towlower, towupper bug on mingw.
23368         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
23369         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
23370         * doc/posix-functions/towlower.texi: Mention the mingw bug.
23371         * doc/posix-functions/towupper.texi: Likewise.
23372         Reported by Eric Blake.
23373
23374 2009-09-08  Jim Meyering  <meyering@redhat.com>
23375
23376         build: don't try to run autoheader if we don't use it
23377         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
23378         is not used in configure.ac.
23379
23380 2009-09-08  Eric Blake  <ebb9@byu.net>
23381
23382         euidaccess: fix compilation error
23383         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
23384
23385         rawmemchr: relax license
23386         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
23387         okay.
23388         Reported by Jim Meyering.
23389
23390         mkfifoat: new module
23391         * modules/mkfifoat: New file.
23392         * lib/mkfifoat.c: Likewise.
23393         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
23394         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
23395         * modules/sys_stat (Makefile.am): Use them.
23396         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
23397         * MODULES.html.sh (File system functions): Mention module.
23398         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
23399         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
23400         * modules/mkfifoat-tests: New test.
23401         * tests/test-mkfifoat.c: Likewise.
23402
23403         strchrnul: relax license
23404         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
23405         okay.
23406         Reported by Jim Meyering.
23407
23408 2009-09-08  Eric Blake  <ebb9@byu.net>
23409
23410         fstatat: fix compilation on Solaris
23411         * lib/fstatat.c (includes): Add fcntl.h.
23412         Reported by Pádraig Brady.
23413
23414 2009-09-07  Eric Blake  <ebb9@byu.net>
23415
23416         rename: modernize replacement
23417         * modules/rename (Depends-on): Add stdio.
23418         (configure.ac): Declare witness.
23419         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
23420         stdio take care of replacement.
23421         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
23422         * modules/stdio (Makefile.am): Substitute them.
23423         * lib/stdio.in.h (rename): Declare replacement.
23424         * lib/rename.c (includes): Allow cross-compilation to non-windows
23425         machines.
23426         * doc/posix-functions/rename.texi (rename): Improve
23427         documentation.
23428
23429         stdio: sort witness names
23430         * modules/stdio (Makefile.am): Sort replacements.
23431         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
23432         * lib/stdio.in.h: Likewise.
23433
23434         getcwd: minor cleanups
23435         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
23436         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
23437
23438         openat: provide more convenience names
23439         * modules/faccessat (configure.ac): Add C witness.
23440         * lib/unistd.in.h (readlinkat): Fix typo.
23441         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
23442         convenience wrappers.
23443         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
23444         wrappers in syntax checks.
23445
23446 2009-09-06  Eric Blake  <ebb9@byu.net>
23447
23448         doc: fix comments in recent patches
23449         * lib/faccessat.c: Mention correct function.
23450         * lib/fchmodat.c: Likewise.
23451         * lib/fchownat.c: Likewise.
23452         * lib/symlinkat.c: Likewise.
23453         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
23454         constants.
23455
23456         faccessat, symlinkat: continue cleanup of previous patch
23457         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
23458         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
23459         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
23460         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
23461         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
23462         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
23463         set.
23464
23465 2009-09-06  Bruno Haible  <bruno@clisp.org>
23466
23467         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
23468         (fstatat): Declare if GNULIB_FSTATAT is set.
23469         (mkdirat): Declare if GNULIB_MKDIRAT is set.
23470         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
23471         (unlinkat): Declare if GNULIB_UNLINKAT is set.
23472         * modules/fcntl-h (Files): Remove m4/openat.m4.
23473         * modules/sys_stat (Files): Remove m4/openat.m4.
23474         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
23475         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
23476         * modules/unistd (Files): Remove m4/openat.m4.
23477         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
23478         GNULIB_OPENAT.
23479         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
23480         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
23481         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
23482         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
23483         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
23484         gl_OPENAT_DEFAULTS.
23485         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
23486         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
23487         Don't require gl_OPENAT_DEFAULTS.
23488         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
23489         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
23490         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
23491         (gl_OPENAT_DEFAULTS): Remove macro.
23492
23493 2009-09-06  Bruno Haible  <bruno@clisp.org>
23494
23495         * modules/openat (configure.ac): Remove unneeded witness.
23496
23497 2009-09-06  Bruno Haible  <bruno@clisp.org>
23498
23499         Set errno to ENOSYS when a function is entirely unsupported.
23500         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
23501         EOPNOTSUPP.
23502         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
23503         * modules/chown (Depends-on): Remove errno.
23504
23505 2009-09-06  Bruno Haible  <bruno@clisp.org>
23506
23507         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
23508
23509 2009-09-06  Bruno Haible  <bruno@clisp.org>
23510
23511         * lib/sys_stat.in.h: Fix preprocessor command indentation.
23512
23513 2009-09-06  Ben Pfaff  <blp@gnu.org>
23514             Bruno Haible  <bruno@clisp.org>
23515
23516         Work around a glibc bug in strtok_r.
23517         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
23518         Undefine if UNDEFINE_STRTOK_R is set.
23519         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
23520         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
23521         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
23522         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
23523         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
23524         UNDEFINE_STRTOK_R.
23525         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
23526
23527 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
23528
23529         exclude: minor fix
23530         * lib/exclude.c: Include wctype.h
23531
23532 2009-09-06  Akim Demaille  <demaille@gostai.com>
23533
23534         bootstrap: improve error message
23535         * build-aux/bootstrap (find_tool): Upon failure, report the list
23536         of candidates.
23537         Honor the initial value of the envvar.
23538
23539 2009-09-05  Eric Blake  <ebb9@byu.net>
23540
23541         symlinkat: new module
23542         * modules/symlinkat: New file.
23543         * lib/symlinkat.c: Likewise.
23544         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
23545         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
23546         * modules/unistd (Makefile.am): Use them.
23547         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
23548         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
23549         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
23550         * MODULES.html.sh (File system functions): Mention module.
23551         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
23552         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
23553         * modules/symlinkat-tests: New test.
23554         * tests/test-symlinkat.c: Likewise.
23555
23556         test-openat-safer: add more checks
23557         * tests/test-openat-safer.c (main): Check more code paths.
23558
23559 2009-09-05  Jim Meyering  <meyering@redhat.com>
23560
23561         syntax-check: detect unnecessary inclusion of openat.h
23562         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
23563
23564 2009-09-05  Bruno Haible  <bruno@clisp.org>
23565
23566         Support towlower, towupper.
23567         * doc/posix-functions/towlower.texi: Mention module wctype.
23568         * doc/posix-functions/towupper.texi: Likewise.
23569         * lib/wctype.in.h (towlower, towupper): New functions.
23570         * tests/test-wctype.c: Include stdio.h, stdlib.h.
23571         (ASSERT): New macro.
23572         (e): New variable.
23573         (main): Test also towlower, towupper. Test WEOF argument.
23574         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
23575
23576 2009-09-05  Bruno Haible  <bruno@clisp.org>
23577
23578         Fix conversion behaviour when the input is invalid.
23579         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
23580         mark occurring in first pass of indirect conversion.
23581         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
23582         input.
23583         Found by clang's static analyzer.
23584
23585 2009-09-05  Bruno Haible  <bruno@clisp.org>
23586
23587         * tests/test-striconveh.c (main): Test indirect conversion on platforms
23588         where direct conversion is possible.
23589
23590 2009-09-04  Eric Blake  <ebb9@byu.net>
23591
23592         openat: fail with ENOENT on empty name
23593         * lib/openat-proc.c (openat_proc_name): Special-case the empty
23594         buffer.
23595
23596         link-follow: fix logic bug in prior patch
23597         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
23598         reversed sense of yes and no in prior patch.  Avoid confusing
23599         compilation failure with desired semantics.
23600
23601         link-follow: accomodate mingw and cross-compilation
23602         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
23603         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
23604         cross-compilation results to -1, to make linkat easier to
23605         implement when cross-compiling.  Trivially support mingw.
23606         * modules/link-follow (configure.ac): Call new name.
23607         * NEWS: Mention this.
23608
23609 2009-09-03  Eric Blake  <ebb9@byu.net>
23610
23611         faccessat: compile replacement
23612         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
23613         needed.
23614
23615         fts: fix compilation error
23616         * lib/fts.c (includes): Re-add "openat.h", for
23617         openat_needs_fchdir.
23618
23619         faccessat: new module
23620         * modules/faccessat: New file.
23621         * lib/faccessat.c: Likewise.
23622         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
23623         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
23624         * modules/unistd (Makefile.am): Use it.
23625         * lib/unistd.in.h (faccessat): Declare it.
23626         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
23627         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
23628         * MODULES.html.sh (File system functions): Mention it.
23629         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
23630         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
23631
23632         euidaccess: prefer POSIX over non-standard implementation
23633         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
23634         * lib/euidaccess.c (euidaccess): Use it if available.
23635
23636         openat: make template easier to use
23637         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
23638         AT_FUNC_F2 to be undefined.
23639         (VALIDATE_FLAG): New macro; use it to reject bad flags.
23640         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
23641         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
23642         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
23643         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
23644         Likewise.
23645         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
23646         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
23647         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
23648         Likewise.
23649
23650         openat: declare in POSIX headers
23651         * NEWS: Mention this.
23652         * modules/openat (configure.ac): Declare witnesses.
23653         (Depends-on): Add fcntl-h, sys_stat, unistd.
23654         (Include): Mention correct headers.
23655         * modules/fcntl-h (Depends-on): Add link-warning.
23656         (Files): Add openat.m4.
23657         (Makefile.am): Substitute witnesses.
23658         * modules/sys_stat (Files, Makefile.am): Likewise.
23659         * modules/unistd (Files, Makefile.am): Likewise.
23660         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
23661         (gl_OPENAT_DEFAULTS): New macro.
23662         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
23663         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
23664         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
23665         (SYS_STAT_H): Remove unused variable.
23666         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
23667         * lib/fcntl--.h (includes): Remove unneeded header.
23668         * lib/openat-safer.c (includes): Likewise.
23669         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
23670         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
23671         appropriate headers.
23672         (__OPENAT_PREFIX): Delete.
23673         * lib/fcntl.in.h (openat): Provide declaration.
23674         (AT_FDCWD): Fix Solaris bug.
23675         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
23676         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
23677         * lib/fchmodat.c (includes):  Adjust to find declaration.
23678         * lib/fchownat.c (includes): Likewise.
23679         * lib/mkdirat.c (includes): Likewise.
23680         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
23681         still visible.
23682
23683 2009-09-02  Eric Blake  <ebb9@byu.net>
23684
23685         errno: use consistently
23686         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
23687         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
23688         * lib/canonicalize.c (ELOOP): Likewise.
23689         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
23690         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
23691         * lib/lchown.c (EOPNOTSUPP): Likewise.
23692         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
23693         * lib/savewd.c (ESTALE): Likewise.
23694         * lib/settime.c (ENOSYS): Likewise.
23695         * lib/utimens.c (ENOSYS): Likewise.
23696         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
23697         * lib/chdir-safer.c (ELOOP): Likewise.
23698         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
23699         * modules/c-stack (Depends-on): Add errno.
23700         * modules/canonicalize (Depends-on): Likewise.
23701         * modules/chdir-safer (Depends-on): Likewise.
23702         * modules/fdopendir (Depends-on): Likewise.
23703         * modules/inet_ntop (Depends-on): Likewise.
23704         * modules/inet_pton (Depends-on): Likewise.
23705         * modules/lchown (Depends-on): Likewise.
23706         * modules/openat (Depends-on): Likewise.
23707         * modules/savewd (Depends-on): Likewise.
23708         * modules/settime (Depends-on): Likewise.
23709         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
23710
23711         fts: avoid leaking fds
23712         * modules/fts (Depends-on): Add cloexec.
23713         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
23714         flag.
23715
23716         fts: make directory fds more robust
23717         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
23718         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
23719
23720         backupfile, chdir-long, fts, savedir: make safer
23721         * lib/backupfile.c (includes): Use "dirent--.h", since
23722         numbered_backup can write to stderr during readdir.
23723         * lib/savedir.c (includes): Likewise.
23724         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
23725         emulation can write to stderr on failure.
23726         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
23727         * lib/getcwd.c: Document why opendir_safer is unused.
23728         * lib/glob.c: Likewise.
23729         * lib/scandir.c: Likewise.
23730         * lib/openat-proc.c: Likewise, for open_safer.
23731         * modules/backupfile (Depends-on): Add dirent-safer.
23732         * modules/savedir (Depends-on): Likewise.
23733         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
23734         * modules/chdir-long (Depends-on): Add openat-safer.
23735
23736         openat-safer: new module
23737         * modules/openat-safer: New file.
23738         * lib/openat-safer.c: Likewise.
23739         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
23740         * lib/fcntl-safer.h (openat_safer): Declare.
23741         * lib/fcntl--.h (openat): Override.
23742         * MODULES.html.sh (File descriptor based I/O): Mention it.
23743         * lib/openat.h: Add double-inclusion guards.
23744         * lib/openat.c (includes): Only include "fcntl-safer.h", not
23745         "fcntl--.h", so we can implement openat.
23746         * modules/openat-safer-tests: New test.
23747         * tests/test-openat-safer.c: New file.
23748
23749         dirent-safer: new module
23750         * modules/dirent-safer: New file.
23751         * lib/dirent--.h: Likewise.
23752         * lib/dirent-safer.h: Likewise.
23753         * lib/opendir-safer.c: Likewise.
23754         * m4/dirent-safer.m4: Likewise.
23755         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
23756         * modules/dirent-safer-tests: New test.
23757         * tests/test-dirent-safer.c: New file.
23758         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
23759
23760         fdopendir: optimize on mingw
23761         * lib/unistd.in.h (_gl_directory_name): New prototype.
23762         * lib/fchdir.c (_gl_directory_name): Implement it.
23763         (fchdir): Use it to simplify implementation.
23764         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
23765         fchdir, when available, to avoid calling [f]chdir().
23766
23767         fdopendir: split into its own module
23768         * lib/openat.c (fdopendir): Move...
23769         * lib/fdopendir.c: ...into new file.
23770         * modules/fdopendir: New module.
23771         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
23772         * modules/openat (Depends-on): Add fdopendir.
23773         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
23774         fdopendir here.
23775         * modules/savedir (Depends-on): Only need fdopendir, not full
23776         openat.
23777         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
23778         * lib/openat.h (fdopendir): Drop prototype.
23779         * lib/dirent.in.h (fdopendir): Provide prototype.
23780         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
23781         * modules/dirent (Makefile.am): Substitute them.
23782         * MODULES.html.sh (File system functions): Mention it.
23783         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
23784         * modules/fdopendir-tests: New file.
23785         * tests/test-fdopendir.c: Likewise.
23786
23787         fchdir: use more consistent macro convention
23788         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
23789         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
23790         REPLACE_FCHDIR, rather than relying on config.h macros.
23791         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
23792         inside a single make-time REPLACE_FCHDIR block, rather than using
23793         the config.h FCHDIR_REPLACEMENT.
23794         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
23795         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
23796         Manage fstat replacement.
23797         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
23798         REPLACE_FCHDIR.
23799         * modules/sys_stat (Files): Add m4/unistd_h.m4.
23800         (Makefile.am): Substitute REPLACE_FCHDIR.
23801         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
23802         FCHDIR_REPLACEMENT.
23803         * lib/dup-safer.c (dup_safer): Likewise.
23804         * lib/dup2.c (rpl_dup2): Likewise.
23805         * lib/dup3.c (rpl_dup3): Likewise.
23806         * lib/open.c (rpl_open): Likewise.
23807
23808         fchdir: simplify error handling, and support dup3
23809         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
23810         stdbool, malloc-posix, realloc-posix.
23811         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
23812         (ensure_dirs_slot): Return false on allocation failure.
23813         (rpl_dup2): Delete.
23814         (_gl_register_dup): New function.
23815         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
23816         (_gl_register_fd): Close fd on allocation failure.
23817         * lib/fcntl.in.h (_gl_register_fd): Update signature.
23818         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
23819         prototype.
23820         (rpl_dup2_fchdir): Delete prototype.
23821         * lib/open.c (open): Update caller.
23822         * lib/dup2.c (dup2): Track fchdir metadata.
23823         * lib/dup3.c (dup3): Likewise.
23824         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
23825         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
23826
23827 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23828
23829         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
23830         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
23831         don't pass arguments to AC_OUTPUT.
23832
23833 2009-09-02  Bruno Haible  <bruno@clisp.org>
23834
23835         * modules/mkdtemp (License): Relicense under LGPLv2+.
23836         Reported by Paolo Bonzini.
23837
23838 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23839
23840         Replace uses of obsolete autoconf macros in Jim's modules.
23841         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
23842         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
23843         can evoke a warning from autoconf when run with -Wobsolete
23844         enabled.  They were declared obsolete for good reasons (see
23845         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
23846         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
23847         should not continue using the deprecated macros.
23848         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
23849         obsolete Autoconf macros with modern counterparts.
23850         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
23851         * m4/dos.m4 (gl_AC_DOS): Likewise.
23852         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
23853         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
23854         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
23855         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
23856         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
23857         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
23858         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
23859         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
23860         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
23861         Likewise.
23862         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
23863         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
23864         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
23865         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
23866         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
23867         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
23868
23869 2009-09-01  Eric Blake  <ebb9@byu.net>
23870
23871         fchdir: fix off-by-one bug in previous patch
23872         * lib/fchdir.c (rpl_fstat): Use correct bounds.
23873         (_gl_unregister_fd): Delete useless if.
23874
23875 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
23876
23877         maint.mk: sort the list of syntax-check rules
23878         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
23879         easier to get a sense of progress when the rules are run sequentially
23880         and take a long time.
23881
23882 2009-09-01  Simon Josefsson  <simon@josefsson.org>
23883
23884         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
23885         * modules/netinet_in: Likewise.
23886         * modules/sys_file: Likewise.
23887         * modules/sys_ioctl: Likewise.
23888         * modules/sys_select: Likewise.
23889         * modules/sys_socket: Likewise.
23890         * modules/sys_stat: Likewise.
23891         * modules/sys_time: Likewise.
23892         * modules/sys_times: Likewise.
23893         * modules/sys_utsname: Likewise.
23894         * modules/sys_wait: Likewise.
23895
23896 2009-09-01  Jim Meyering  <meyering@redhat.com>
23897
23898         fts: help ensure that return values are not ignored
23899         * lib/fts_.h (__GNUC_PREREQ): Define.
23900         (__attribute_warn_unused_result__): Define.
23901         (fts_children, fts_close, fts_open, fts_read): Declare with
23902         __attribute_warn_unused_result__.
23903
23904         fts: fts_close now fails also when closing a dir file descriptor fails
23905         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
23906         and propagate to caller, along with errno.
23907
23908         announce-gen: correct formatting in --help output
23909         * build-aux/announce-gen (usage): Move the one-line description in
23910         --help output "up", to where it belongs, just after Usage:.
23911
23912 2009-08-31  Eric Blake  <ebb9@byu.net>
23913
23914         fchdir: port to mingw
23915         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
23916         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
23917         opened, then use a substitute.
23918         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
23919         replacement.
23920         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
23921         (_gl_register_fd): No need to check stat if open already filters
23922         all directories.
23923         (fchdir): Fix error condition to match POSIX.
23924         * modules/fchdir (Depends-on): Add sys_stat.
23925         * doc/posix-functions/open.texi (open): Document the limitation.
23926         * modules/fchdir-tests: New file.
23927         * tests/test-fchdir.c: Likewise.
23928
23929         canonicalize: allow cross-testing from cygwin to mingw
23930         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
23931         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
23932         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
23933         Likewise.
23934         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
23935         target does not support symlinks.
23936         * tests/test-canonicalize-lgpl.sh: Likewise.
23937
23938         chown: avoid compilation warning on mingw
23939         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
23940         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
23941         mingw.
23942         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
23943         * modules/chown (Depends-on): Add errno.
23944
23945 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
23946
23947         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
23948         command.
23949
23950 2009-08-31  Jim Meyering  <meyering@redhat.com>
23951
23952         canonicalize: remove useless initialization
23953         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
23954         initialization of local, "end".
23955
23956 2009-08-30  Bruno Haible  <bruno@clisp.org>
23957
23958         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
23959         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
23960         ENOSYS.
23961
23962 2009-08-30  Bruno Haible  <bruno@clisp.org>
23963
23964         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
23965         /usr/xpg4/bin/tr when it exists.
23966         * tests/test-pipe-filter-gi1.sh: Likewise.
23967
23968 2009-08-30  Bruno Haible  <bruno@clisp.org>
23969
23970         Work around deficient /usr/bin/id program on Solaris.
23971         * tests/test-file-has-acl.sh (ID): New variable.
23972         * tests/test-set-mode-acl.sh (ID): Likewise.
23973         * tests/test-copy-acl.sh (ID): Likewise.
23974         * tests/test-copy-file.sh (ID): Likewise.
23975
23976 2009-08-30  Bruno Haible  <bruno@clisp.org>
23977
23978         New module 'xstriconveh'.
23979         * lib/xstriconveh.h: New file.
23980         * lib/xstriconveh.c: New file.
23981         * modules/xstriconveh: New file.
23982
23983 2009-08-30  Bruno Haible  <bruno@clisp.org>
23984
23985         Make it easier to use mem_cd_iconveh.
23986         * lib/striconveh.h (iconveh_t): New type.
23987         (iconveh_open, iconveh_close): New declarations.
23988         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
23989         with a single 'const iconveh_t *' argument.
23990         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
23991         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
23992         with a single 'const iconveh_t *' argument.
23993         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
23994         * tests/test-striconveh.c (main): Update.
23995         * NEWS: Mention the change.
23996
23997 2009-08-30  Bruno Haible  <bruno@clisp.org>
23998
23999         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
24000         problem.
24001
24002 2009-08-30  Bruno Haible  <bruno@clisp.org>
24003
24004         Work around iconv_open problem on Solaris.
24005         * lib/iconv_open-solaris.gperf: New file.
24006         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
24007         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
24008         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
24009         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
24010         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
24011         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
24012
24013 2009-08-29  Jim Meyering  <meyering@redhat.com>
24014
24015         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
24016         * top/maint.mk (cvs-check): Remove target; it was just an alias
24017         to the better-named vc-diff-check.
24018         (maintainer-distcheck): Remove rule.  It was used only from
24019         the (alpha/beta/major) target, and all of its commands but one
24020         were coreutils-specific.
24021         (vc-dist): Remove rule.
24022         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
24023         Run vc-diff-check, not vc-dist.
24024         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
24025
24026 2009-08-27  Bruno Haible  <bruno@clisp.org>
24027
24028         * tests/test-bitrotate.c (main): Remove test that uses a shift count
24029         of 0.
24030
24031 2009-08-27  Bruno Haible  <bruno@clisp.org>
24032
24033         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
24034         compilers.
24035         * doc/func.texi: Document the SunPRO C bug.
24036
24037 2009-08-27  Bruno Haible  <bruno@clisp.org>
24038
24039         Fix link error on Solaris.
24040         * tests/test-parse-duration.c (xstrdup): Remove function.
24041
24042 2009-08-26  Pádraig Brady  <P@draigbrady.com>
24043
24044         ignore-value: handle pointer types, too
24045         * lib/ignore-value.h (__attribute__): Remove definition.
24046         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
24047         of a more concise and more-often effective "(void) i" statement.
24048         (ignore_ptr): New function to suppress warnings from functions that
24049         return pointers, and to make it explicit that one function doesn't
24050         handle all cases.
24051
24052 2009-08-25  Bruno Haible  <bruno@clisp.org>
24053
24054         dup2: work around a Linux bug.
24055         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
24056         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
24057         * doc/posix-functions/dup2.texi: Mention the Linux bug.
24058         Reported by Simon Josefsson.
24059
24060 2009-08-25  Jim Meyering  <meyering@redhat.com>
24061
24062         libguestfs uses gnulib
24063         * users.txt: Add libguestfs.
24064
24065 2009-08-24  Eric Blake  <ebb9@byu.net>
24066
24067         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
24068         * lib/pipe2.c (includes): Add binary-io.h.
24069         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
24070
24071 2009-08-24  Bruno Haible  <bruno@clisp.org>
24072
24073         Tolerate declared but missing accept4 syscall.
24074         * lib/accept4.c (accept4): Invoke original accept4 function first, if
24075         available.
24076         * lib/sys_socket.in.h (accept4): If the function is already present,
24077         override it.
24078         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
24079         * modules/accept4 (Makefile.am): Compile accept4.c always.
24080         Reported by Paolo Bonzini and Eric Blake.
24081
24082 2009-08-23  Bruno Haible  <bruno@clisp.org>
24083
24084         New module 'accept4'.
24085         * lib/sys_socket.in.h (accept4): New declaration.
24086         * lib/accept4.c: New file.
24087         * m4/accept4.m4: New file.
24088         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
24089         GNULIB_ACCEPT4, HAVE_ACCEPT4.
24090         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
24091         HAVE_ACCEPT4.
24092         * modules/accept4: New file.
24093         * doc/glibc-functions/accept4.texi: Mention the new module.
24094
24095 2009-08-24  Jim Meyering  <meyering@redhat.com>
24096
24097         progname: also set global program_invocation_name, when possible
24098         Before this change, a libtool-enabled program that calls glibc's
24099         error function would report the program name as
24100         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
24101         * modules/progname (configure.ac): Check for a declaration of
24102         program_invocation_name.
24103         * lib/progname.c:  Include <errno.h>.
24104         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
24105         Set program_invocation_name.
24106
24107 2009-08-23  Bruno Haible  <bruno@clisp.org>
24108
24109         * lib/dup3.c: Include <string.h>.
24110
24111 2009-08-23  Bruno Haible  <bruno@clisp.org>
24112
24113         * lib/dup3.c (dup3): Test only once whether the system actually exists.
24114         * lib/pipe2.c (pipe2): Likewise.
24115         Suggested by Eric Blake.
24116
24117 2009-08-23  Bruno Haible  <bruno@clisp.org>
24118
24119         Tolerate declared but missing dup3 syscall.
24120         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
24121         * lib/unistd.in.h (dup3): If the function is already present,
24122         override it.
24123         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
24124         * modules/dup3 (Makefile.am): Compile dup3.c always.
24125         Reported by Paolo Bonzini.
24126
24127 2009-08-23  Bruno Haible  <bruno@clisp.org>
24128
24129         Tolerate declared but missing pipe2 syscall.
24130         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
24131         available.
24132         * lib/unistd.in.h (pipe2): If the function is already present,
24133         override it.
24134         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
24135         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
24136         Reported by Paolo Bonzini.
24137
24138 2009-08-23  Bruno Haible  <bruno@clisp.org>
24139
24140         * lib/pipe2.c (pipe2): Move #ifs inside function.
24141
24142 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
24143
24144         quotearg: document limitations of quote_these_too
24145         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
24146         those limitations are created.
24147         * lib/quotearg.h (set_char_quoting): Document that digits and
24148         letters that are special after backslash are not permitted.
24149         (quotearg_char): Cross-reference set_char_quoting documentation.
24150
24151 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
24152
24153         quotearg: implement custom_quoting_style
24154         * lib/quotearg.c: (struct quoting_options): Add left_quote and
24155         right_quote fields.
24156         (set_custom_quoting): New public function.
24157         (quotearg_buffer_restyled): Add left_quote and right_quote
24158         arguments, handle them very much like locale quoting, and update
24159         all uses.
24160         (quotearg_n_custom): New public function.
24161         (quotearg_n_custom_mem): New public function.
24162         (quotearg_custom): New public function.
24163         (quotearg_custom_mem): New public function.
24164         * lib/quotearg.h: Prototype and document new public functions.
24165         (enum quoting_style): For escape_quoting_style and
24166         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
24167         ignored even though they're otherwise like c_quoting_style.
24168         Add custom_quoting_style member and document with comparison to
24169         clocale_quoting_style.
24170         * tests/test-quotearg.c (custom_quotes): New array.
24171         (custom_results): New array.
24172         (main): Extend to test custom quoting.
24173
24174 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
24175
24176         quotearg: fix right quote escaping when it's in quote_these_too
24177         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
24178         quote, be sure to prepend only one backslash.
24179         * tests/test-quotearg.c (use_quote_double_quotes): New function.
24180         (main): Test it.
24181
24182 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
24183
24184         quotearg-tests: test escaping of embedded locale quotes
24185         * tests/test-quotearg.c (struct result_strings): Add member for
24186         new input.
24187         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
24188         (inputs): Add new input.
24189         (results_g): Add expected results.
24190         (flag_results): Likewise.
24191         (locale_results): Likewise.
24192         (compare_strings): Check those.
24193
24194 2009-08-23  Bruno Haible  <bruno@clisp.org>
24195
24196         Tests for module 'dup3'.
24197         * modules/dup3-tests: New file.
24198         * tests/test-dup3.c: New file.
24199
24200         New module 'dup3'.
24201         * lib/unistd.in.h (dup3): New declaration.
24202         * lib/dup3.c: New file.
24203         * m4/dup3.m4: New file.
24204         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
24205         HAVE_DUP3.
24206         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
24207         * modules/dup3: New file.
24208         * doc/glibc-functions/dup3.texi: Mention the new module.
24209
24210 2009-08-23  Bruno Haible  <bruno@clisp.org>
24211
24212         Tweak the dup2 test.
24213         * tests/test-dup2.c (main): Create the test file empty. Verify that an
24214         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
24215         the test file is still empty. Fix argument order of lseek.
24216
24217 2009-08-23  Bruno Haible  <bruno@clisp.org>
24218
24219         Avoid test link errors when the modules getopt-gnu, gettext are used.
24220         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
24221         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24222
24223 2009-08-23  Bruno Haible  <bruno@clisp.org>
24224
24225         Fix getdtablesize() on mingw.
24226         * lib/getdtablesize.c (getdtablesize): Implement differently.
24227         * lib/unistd.in.h (getdtablesize): Improve comment.
24228
24229 2009-08-23  Bruno Haible  <bruno@clisp.org>
24230
24231         New module 'mkostemp'.
24232         Based on Ulrich Drepper's 2007-08-10 change in glibc.
24233         * lib/stdlib.in.h (mksotemp): New declaration.
24234         * lib/mkostemp.c: New file, from glibc with modifications.
24235         * lib/tempname.h (GT_FILE): Remove outdated comment.
24236         (gen_tempname): Add flags argument.
24237         * lib/tempname.c (__GT_BIGFILE): Remove macro.
24238         (__GT_FILE): Map to 1.
24239         (small_open, large_open): Remove macros.
24240         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
24241         * lib/mkstemp.c (mkstemp): Update.
24242         * lib/mkdtemp.c (mkdtemp): Likewise.
24243         * m4/mkostemp.m4: New file.
24244         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
24245         HAVE_MKOSTEMP.
24246         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
24247         HAVE_MKOSTEMP.
24248         * modules/mkostemp: New file, based on modules/mkstemp.
24249         * doc/glibc-functions/mkostemp.texi: Mention the new module.
24250         * NEWS: Mention the change.
24251
24252 2009-08-23  Bruno Haible  <bruno@clisp.org>
24253
24254         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
24255         Reported by Eric Blake.
24256
24257 2009-08-23  Bruno Haible  <bruno@clisp.org>
24258
24259         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
24260         Reported by Eric Blake.
24261
24262 2009-08-23  Bruno Haible  <bruno@clisp.org>
24263
24264         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
24265         * modules/pipe2 (Depends-on): Likewise.
24266
24267 2009-08-23  Eric Blake  <ebb9@byu.net>
24268
24269         fcntl-h: add O_TTY_INIT support
24270         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
24271         * tests/test-fcntl-h.c (o): Test it.
24272         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
24273
24274         fcntl-h: rename from fcntl, in preparation for fcntl(2)
24275         * modules/fcntl: Move <fcntl.h> header replacement...
24276         * modules/fcntl-h: ...to new name, so as not to collide with
24277         like-named function.
24278         * tests/test-fcntl.c: Rename...
24279         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
24280         * modules/fcntl-tests: Rename...
24281         * modules/fcntl-h-tests: ...to this.  Update test file name.
24282         * modules/chdir-long (Depends-on): Update clients.
24283         * modules/chdir-safer (Depends-on): Likewise.
24284         * modules/fcntl-safer (Depends-on): Likewise.
24285         * modules/fts (Depends-on): Likewise.
24286         * modules/mkancesdirs (Depends-on): Likewise.
24287         * modules/mkdir-p (Depends-on): Likewise.
24288         * modules/open (Depends-on): Likewise.
24289         * modules/savewd (Depends-on): Likewise.
24290         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
24291         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
24292
24293 2009-08-22  Bruno Haible  <bruno@clisp.org>
24294
24295         * modules/binary-io (License): Relicense under LGPL.
24296         * modules/pipe2 (License): Likewise.
24297
24298 2009-08-22  Bruno Haible  <bruno@clisp.org>
24299
24300         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
24301         return value.
24302         * lib/pipe-filter-gi.c (filter_init): Likewise.
24303         Reported by Eric Blake.
24304
24305 2009-08-22  Bruno Haible  <bruno@clisp.org>
24306
24307         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
24308         * modules/pipe (Depends-on): Add pipe2.
24309
24310 2009-08-22  Bruno Haible  <bruno@clisp.org>
24311
24312         Tests for module 'pipe2'.
24313         * modules/pipe2-tests: New file.
24314         * tests/test-pipe2.c: New file.
24315
24316         New module 'pipe2'.
24317         * lib/unistd.in.h (pipe2): New declaration.
24318         * lib/pipe2.c: New file.
24319         * m4/pipe2.m4: New file.
24320         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
24321         HAVE_PIPE2.
24322         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
24323         * modules/pipe2: New file.
24324         * doc/glibc-functions/pipe2.texi: Mention the new module.
24325
24326 2009-08-22  Bruno Haible  <bruno@clisp.org>
24327
24328         Reference some new glibc functions.
24329         * doc/glibc-functions/accept4.texi: New file.
24330         * doc/glibc-functions/dup3.texi: New file.
24331         * doc/glibc-functions/mkostemp.texi: New file.
24332         * doc/glibc-functions/pipe2.texi: New file.
24333         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
24334         (Glibc sys/socket.h): Refer to accept4.
24335         (Glibc unistd.h): Refer to dup3, pipe2.
24336         Reported by Eric Blake.
24337
24338 2009-08-22  Jim Meyering  <meyering@redhat.com>
24339             Bruno Haible  <bruno@clisp.org>
24340
24341         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
24342         This makes it so packages using automake-1.11's silent-rules option
24343         can print e.g., a single "GEN    configmake.h" line, rather than
24344         the 30+ statements that perform the job.  If you want to see the
24345         actual commands, you can still run "make V=1".
24346         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
24347         so that make output is abbreviated when those variables are defined
24348         appropriately.
24349         * modules/argz: Likewise.
24350         * modules/arpa_inet: Likewise.
24351         * modules/byteswap: Likewise.
24352         * modules/configmake: Likewise.
24353         * modules/dirent: Likewise.
24354         * modules/errno: Likewise.
24355         * modules/fcntl: Likewise.
24356         * modules/float: Likewise.
24357         * modules/fnmatch: Likewise.
24358         * modules/getopt-posix: Likewise.
24359         * modules/glob: Likewise.
24360         * modules/iconv_open: Likewise.
24361         * modules/inttypes: Likewise.
24362         * modules/localcharset: Likewise.
24363         * modules/locale: Likewise.
24364         * modules/math: Likewise.
24365         * modules/netdb: Likewise.
24366         * modules/netinet_in: Likewise.
24367         * modules/poll: Likewise.
24368         * modules/posix_spawnp-tests: Likewise.
24369         * modules/sched: Likewise.
24370         * modules/search: Likewise.
24371         * modules/selinux-h: Likewise.
24372         * modules/signal: Likewise.
24373         * modules/spawn: Likewise.
24374         * modules/stdarg: Likewise.
24375         * modules/stdbool: Likewise.
24376         * modules/stddef: Likewise.
24377         * modules/stdint: Likewise.
24378         * modules/stdio: Likewise.
24379         * modules/stdlib: Likewise.
24380         * modules/string: Likewise.
24381         * modules/strings: Likewise.
24382         * modules/sys_file: Likewise.
24383         * modules/sys_ioctl: Likewise.
24384         * modules/sys_select: Likewise.
24385         * modules/sys_socket: Likewise.
24386         * modules/sys_stat: Likewise.
24387         * modules/sys_time: Likewise.
24388         * modules/sys_times: Likewise.
24389         * modules/sys_utsname: Likewise.
24390         * modules/sys_wait: Likewise.
24391         * modules/sysexits: Likewise.
24392         * modules/time: Likewise.
24393         * modules/unistd: Likewise.
24394         * modules/wchar: Likewise.
24395         * modules/wctype: Likewise.
24396
24397 2009-08-22  Jim Meyering  <meyering@redhat.com>
24398
24399         announce-gen: detect write failure
24400         * build-aux/announce-gen: Add Coda at end.
24401         Remove equivalent-but-more-verbose block at top.
24402
24403 2009-08-19  Akim Demaille  <demaille@gostai.com>
24404
24405         bootstrap: --help to stdout.
24406         * bootstrap (usage): Don't send --help to stderr.
24407         Use a here doc instead of a long string.
24408
24409 2009-08-21  Eric Blake  <ebb9@byu.net>
24410
24411         test-popen-safer: split from test-popen
24412         * tests/test-popen.c (main): Move...
24413         * tests/test-popen.h: ...into new file.
24414         * tests/test-popen-safer2.c: New file.
24415         * modules/popen-tests (Files): Add test-popen.h.
24416         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
24417         Suggested by Bruno Haible.
24418
24419         test-fcntl-safer: split from test-open
24420         * tests/test-open.c (main): Move...
24421         * tests/test-open.h: ...into new file.
24422         * tests/test-fcntl-safer.c: New file.
24423         * modules/open-tests (Files): Add test-open.h.
24424         * modules/fcntl-safer-tests: New file.
24425         Suggested by Bruno Haible.
24426
24427         test-fopen-safer: split from test-fopen
24428         * tests/test-fopen.c (main): Move...
24429         * tests/test-fopen.h: ...into new file.
24430         * tests/test-fopen-safer.c: New file.
24431         * modules/fopen-tests (Files): Add test-fopen.h.
24432         * modules/fopen-safer-tests: New file.
24433         Suggested by Bruno Haible.
24434
24435 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
24436
24437         popen-safer: test O_CLOEXEC at run-time.
24438         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
24439
24440 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
24441
24442         fcntl: move more flags to the header
24443         * lib/cloexec.c: Do not define FD_CLOEXEC here.
24444         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
24445         * lib/fcntl.in.h: Do both things here.
24446
24447 2009-08-21  Jim Meyering  <meyering@redhat.com>
24448
24449         consistently remove $@-t before redirecting to it
24450         * modules/argz: Remove $@-t and $@ before redirecting to the former.
24451         * modules/alloca-opt: Likewise.
24452         * modules/byteswap: Likewise.
24453         * modules/fnmatch: Likewise.
24454         * modules/getopt-posix: Likewise.
24455         * modules/glob: Likewise.
24456         * modules/poll: Likewise.
24457         * modules/posix_spawnp-tests: Likewise.
24458         * modules/sys_socket: Likewise.
24459         * modules/sysexits: Likewise.
24460
24461 2009-08-21  Eric Blake  <ebb9@byu.net>
24462
24463         popen: simplify access to original popen
24464         * lib/popen.c (rpl_popen): No need to worry about popen being a
24465         macro.
24466         Reported by Bruno Haible.
24467
24468 2009-08-20  Eric Blake  <ebb9@byu.net>
24469
24470         build: avoid some compiler warnings
24471         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
24472         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
24473         type.
24474         (new_exclude_segment, excluded_file_pattern_p)
24475         (excluded_file_name_p): Reduce scope.
24476         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
24477         old-style declaration.
24478
24479 2009-08-20  Simon Josefsson  <simon@josefsson.org>
24480
24481         * tests/test-exclude1.sh: Handle Windows EOL.
24482         * tests/test-exclude2.sh: Likewise.
24483         * tests/test-exclude3.sh: Likewise.
24484         * tests/test-exclude4.sh: Likewise.
24485         * tests/test-exclude5.sh: Likewise.
24486         * tests/test-exclude6.sh: Likewise.
24487         * tests/test-exclude7.sh: Likewise.
24488
24489 2009-08-19  Akim Demaille  <demaille@gostai.com>
24490
24491         bootstrap: find sha1sum when named gsha1sum.
24492         * bootstrap (find_tool): New.
24493         ($SHA1SUM): New.
24494         Use it.
24495
24496 2009-08-20  Jim Meyering  <meyering@redhat.com>
24497
24498         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
24499         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
24500         expression that converts "." in a file name to "\." in the resulting
24501         regexp.  Start with a dummy statement, so that prior shell variable
24502         definitions are expanded portably.  Reported by Simon Josefsson.
24503
24504 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
24505
24506         Fix polling for writeability of a screen buffer.
24507         * lib/poll.c: Distinguish input and screen buffers for the
24508         Win32 implementation.
24509         * lib/select.c: Likewise.
24510
24511 2009-08-19  Eric Blake  <ebb9@byu.net>
24512
24513         popen-safer: prevent popen from clobbering std descriptors
24514         * modules/popen-safer: New file.
24515         * lib/popen-safer.c: Likewise.
24516         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
24517         * lib/stdio--.h (popen): Provide override.
24518         * lib/stdio-safer.h (popen_safer): Provide declaration.
24519         * tests/test-popen.c (includes): Partially test this.
24520         * modules/popen-safer-tests: New file, for more tests.
24521         * tests/test-popen-safer.c: Likewise.
24522         * MODULES.html.sh (file stream based Input/Output): Mention it.
24523
24524         tests: test some of the *-safer modules
24525         * modules/fopen-safer (Depends-on): Add fopen.
24526         * modules/fcntl-safer (Depends-on): Add fcntl.
24527         * modules/stdlib-safer (Depends-on): Add stdlib.
24528         (configure.ac): Set indicator.
24529         * modules/unistd-safer (configure.ac): Likewise.
24530         * modules/tmpfile-safer (configure.ac): Likewise.
24531         (Depends-on): Add tmpfile.
24532         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
24533         active.
24534         * tests/test-fopen.c (includes): Test safer versions when they are
24535         in use.
24536         * tests/test-open.c (includes): Likewise.
24537
24538         popen: fix cygwin 1.5 bug when stdin closed
24539         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
24540         * modules/popen: New file.
24541         * modules/popen-tests: Likewise.
24542         * tests/test-popen.c: Likewise.
24543         * m4/popen.m4: Likewise.
24544         * lib/popen.c: Likewise.
24545         * lib/stdio.in.h (popen): New declaration.
24546         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
24547         * modules/stdio (Makefile.am): Likewise.
24548         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
24549
24550 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
24551
24552         maint.mk: give full control over update-copyright exclusions
24553         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
24554         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
24555         (update-copyright): Don't force inclusion of top-level
24556         ChangeLog.  Don't force exclusion of all COPYING files, but make
24557         them the default exclusion instead.
24558
24559 2009-08-16  Bruno Haible  <bruno@clisp.org>
24560
24561         Fix test failures on Solaris 10.
24562         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
24563         tests when Solaris iconv() is used.
24564         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
24565         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
24566         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
24567         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
24568         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
24569
24570 2009-08-16  Bruno Haible  <bruno@clisp.org>
24571
24572         Fix test failures on Solaris 10.
24573         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
24574         'tr' program and pass it as first argument.
24575         * tests/test-pipe-filter-gi1.sh: Likewise.
24576         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
24577         program as first argument.
24578         * tests/test-pipe-filter-gi1.c (main): Likewise.
24579
24580 2009-08-16  Eric Blake  <ebb9@byu.net>
24581
24582         fpurge: fix previous commits
24583         * modules/fpurge (Makefile.am): Make replacement conditional,
24584         partially reverting 2007-04-29 change; missed in previous
24585         attempt.
24586         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
24587         is missing.
24588
24589 2009-08-16  Bruno Haible  <bruno@clisp.org>
24590
24591         Clarify fpurge's effect on the file position.
24592         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
24593         * tests/test-fpurge.c (main): Make a second pass for checking the file
24594         position.
24595
24596 2009-08-16  Bruno Haible  <bruno@clisp.org>
24597
24598         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
24599         declaration of fpurge is missing.
24600         * tests/test-fpurge.c (main): Check that the file has not more contents
24601         than expected. Close the file before removing it.
24602
24603 2009-08-15  Eric Blake  <ebb9@byu.net>
24604
24605         fpurge: don't wrap working cygwin implementation
24606         * lib/fpurge.c (fpurge): Fix comment typo.
24607         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
24608         1.7 to avoid replacement.
24609         * tests/test-fpurge.c (main): Enhance test.
24610
24611 2009-08-15  Eric Blake  <ebb9@byu.net>
24612         and Jim Meyering  <meyering@redhat.com>
24613
24614         test-update-copyright: skip if perl is insufficient
24615         * tests/test-update-copyright.sh: Failure to run maintainer tool
24616         should not cause testsuite failure on cygwin 1.5.
24617
24618 2009-08-14  Eric Blake  <ebb9@byu.net>
24619
24620         doc: mention more functions added in cygwin 1.7.0
24621         * doc/posix-headers/limits.texi (limits.h): Update for recent
24622         cygwin additions.
24623         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
24624         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
24625         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
24626         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
24627         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
24628
24629 2009-08-14  Eric Blake  <ebb9@byu.net>
24630
24631         maint.mk: simplify update-copyright rule
24632         * top/maint.mk (update-copyright-local): Delete, and document how
24633         to do it in cfg.mk instead.
24634         (update-copyright-exclude-regexp): Delete, and document how to do
24635         it in .x-update-copyright instead.
24636         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
24637         exclude ChangeLog.
24638
24639 2009-08-14  Bruno Haible  <bruno@clisp.org>
24640
24641         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
24642
24643 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
24644
24645         maint.mk: support update-copyright-env
24646         * top/maint.mk (update-copyright-env): Define place-holder.
24647         (update-copyright): Expand $(update-copyright-env) before
24648         invoking update-copyright.
24649
24650 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
24651
24652         update-copyright: implement forced reformatting
24653         * build-aux/update-copyright: Implement and document
24654         UPDATE_COPYRIGHT_FORCE.
24655         * tests/test-update-copyright.sh: Test it.
24656
24657 2009-08-14  Eric Blake  <ebb9@byu.net>
24658         and Bruno Haible  <bruno@clisp.org>
24659
24660         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
24661         * tests/test-locale.c: Revert previous patch related to NULL.
24662         * tests/test-stdio.c: Likewise.
24663         * tests/test-stdlib.c: Likewise.
24664         * tests/test-string.c: Likewise.
24665         * tests/test-unistd.c: Likewise.
24666         * modules/time-tests (Depends-on): Add verify.
24667         * modules/wchar-tests (Depends-on): Likewise.
24668         * tests/test-time.c: Test for NULL compliance.
24669         * tests/test-wchar.c: Likewise.
24670         * modules/locale (Depends-on): Add stddef.
24671         * modules/stdio (Depends-on): Likewise.
24672         * modules/stdlib (Depends-on): Likewise.
24673         * modules/string (Depends-on): Likewise.
24674         * modules/time (Depends-on): Likewise.
24675         * modules/unistd (Depends-on): Likewise.
24676         * modules/wchar (Depends-on): Likewise.
24677         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
24678         * lib/stdlib.in.h (includes): Likewise.
24679         * lib/string.in.h (includes): Likewise.
24680         * lib/time.in.h (includes): Likewise.
24681         * lib/unistd.in.h (includes): Likewise.
24682         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
24683         replaced.
24684         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
24685         * m4/stddef_h.m4: New file.
24686         * modules/stddef: Likewise.
24687         * lib/stddef.in.h: Likewise.
24688         * modules/stddef-tests: Likewise.
24689         * tests/test-stddef.c: Likewise.
24690         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
24691         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
24692         * doc/posix-headers/locale.texi (locale.h): Likewise.
24693         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
24694         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
24695         * doc/posix-headers/string.texi (string.h): Likewise.
24696         * doc/posix-headers/time.texi (time.h): Likewise.
24697         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
24698         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
24699
24700 2009-08-14  Eric Blake  <ebb9@byu.net>
24701
24702         doc: improve git diff of texinfo files
24703         * .gitattributes: Add rule for *.texi files, with hint on how to
24704         use it.
24705         Copied from m4, and based on a report by Bruno Haible.
24706
24707 2009-08-14  Bruno Haible  <bruno@clisp.org>
24708
24709         Disable multithread support by default on Cygwin 1.5.x for real.
24710         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
24711
24712 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
24713
24714         update-copyright: much ado about intervals
24715         * build-aux/update-copyright: Implement and document
24716         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
24717         of copyright year intervals.
24718         Also, document UPDATE_COPYRIGHT_YEAR.
24719         * tests/test-update-copyright.sh: Test it.
24720
24721         update-copyright: convert 2-digit to 4-digit years
24722         * build-aux/update-copyright: Implement and document.
24723         * tests/test-update-copyright.sh: Update.
24724
24725 2009-08-14  Jim Meyering  <meyering@redhat.com>
24726
24727         test-exclude: avoid coreutils "make check" failure
24728         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
24729         just as in test-argmatch.c.
24730
24731 2009-08-13  Eric Blake  <ebb9@byu.net>
24732
24733         test-dup2: fix bad assumption
24734         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
24735         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
24736
24737         test-version-etc: fix CRLF portability issue
24738         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
24739         recognize \r.
24740         * tests/test-argp-version-etc-1.sh: Likewise.
24741
24742         getopt: update client modules
24743         * modules/argp (Depends-on): Use getopt-gnu.
24744         * modules/git-merge-changelog (Depends-on): Likewise.
24745         * modules/long-options (Depends-on): Likewise.
24746         * modules/xstrtol (Depends-on): Likewise.
24747
24748 2009-08-13  Simon Josefsson  <simon@josefsson.org>
24749
24750         * tests/test-version-etc.sh: Don't fail on different
24751         project/version.  Don't fail on CRLF differences.  Rewrite to use
24752         multiple -e instead of multiple sed forks, suggested by Eric Blake
24753         <ebb9@byu.net>.
24754         * tests/test-argp-version-etc-1.sh: Likewise.
24755
24756 2009-08-13  Simon Josefsson  <simon@josefsson.org>
24757
24758         * tests/test-version-etc.sh: Don't fail on different
24759         project/version.
24760
24761 2009-08-12  Bruno Haible  <bruno@clisp.org>
24762
24763         Tests for modules 'getopt-posix', 'getopt-gnu'.
24764         * modules/getopt-posix-tests: New file.
24765         * tests/test-getopt.c: New file.
24766         * tests/test-getopt.h: New file.
24767         * tests/test-getopt_long.h: New file.
24768
24769         New modules 'getopt-posix', 'getopt-gnu'.
24770         * modules/getopt-gnu: New file, renamed from modules/getopt.
24771         * modules/getopt-posix: New file.
24772         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
24773         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
24774         (gl_GETOPT): Remove macro.
24775         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
24776         Disable the test against BSD systems that declare optreset. Test
24777         against mingw bug. Test against lack of support of optional arguments
24778         on many platforms.
24779         * doc/glibc-headers/getopt.texi: Update module name and list of
24780         relevant platforms.
24781         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
24782         'getopt-gnu' and more portability problems.
24783         * NEWS: Mention the changes.
24784
24785 2009-08-12  Bruno Haible  <bruno@clisp.org>
24786
24787         Ensure that optarg etc. get declared by <unistd.h>.
24788         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
24789         AC_USE_SYSTEM_EXTENSIONS.
24790         * modules/getopt (Depends-on): Add 'extensions'.
24791
24792 2009-08-12  Bruno Haible  <bruno@clisp.org>
24793
24794         Avoid test link errors.
24795         * modules/pipe-filter-ii-tests (Makefile.am): Define
24796         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
24797         * modules/pipe-filter-gi-tests (Makefile.am): Define
24798         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
24799         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24800
24801 2009-08-12  Bruno Haible  <bruno@clisp.org>
24802
24803         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
24804         gl_GETOPT_SUBSTITUTE before.
24805         (gl_GETOPT): Use it.
24806         * m4/argp.m4 (gl_ARGP): Update.
24807         Reported by Sergey Poznyakoff.
24808
24809         * m4/getopt.m4: Reorder macros.
24810         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
24811         (gl_GETOPT_SUBSTITUTE): Remove macro.
24812
24813 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
24814
24815         Minor improvement in gitlog-to-changelog
24816
24817         * build-aux/gitlog-to-changelog: New option `--format' makes
24818         output format string configurable.
24819
24820 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
24821
24822         Optimize exclude: use hash tables for non-wildcard patterns.
24823
24824         * lib/exclude.c: Include hash.h and mbuiter.h
24825         (struct exclude_pattern, exclude_segment): New data types.
24826         (struct exclude): Rewrite.
24827         (fnmatch_pattern_has_wildcards): New function.
24828         (new_exclude_segment, free_exclude_segment): New functions.
24829         (excluded_file_pattern_p, excluded_file_name_p): New functions.
24830         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
24831         * lib/exclude.h (is_fnmatch_pattern): New prototype.
24832         * modules/exclude: Depend on hash and mbuiter.
24833
24834         * modules/exclude-tests: New file.
24835         * tests/test-exclude.c: New file.
24836         * tests/test-exclude1.sh: New file.
24837         * tests/test-exclude2.sh: New file.
24838         * tests/test-exclude3.sh: New file.
24839         * tests/test-exclude4.sh: New file.
24840         * tests/test-exclude5.sh: New file.
24841         * tests/test-exclude6.sh: New file.
24842         * tests/test-exclude7.sh: New file.
24843
24844 2009-08-12  Bruno Haible  <bruno@clisp.org>
24845
24846         Ensure that getopt() gets declared by <unistd.h>.
24847         * lib/unistd.in.h: Conditionally include getopt.h.
24848         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
24849         Set GNULIB_UNISTD_H_GETOPT.
24850         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24851         GNULIB_UNISTD_H_GETOPT.
24852         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
24853
24854 2009-08-12  Bruno Haible  <bruno@clisp.org>
24855
24856         Clarify logic.
24857         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
24858         gl_replace_getopt instead of GETOPT_H.
24859
24860 2009-08-12  Bruno Haible  <bruno@clisp.org>
24861
24862         * m4/getopt.m4: Add comments.
24863
24864 2009-08-12  Bruno Haible  <bruno@clisp.org>
24865
24866         Disable multithread support by default on Cygwin 1.5.x.
24867         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
24868         set gl_use_threads=no if not specified otherwise.
24869
24870 2009-08-11  Bruno Haible  <bruno@clisp.org>
24871
24872         Avoid compilation error on NetBSD 5.0.
24873         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
24874         * tests/test-stdio.c: Likewise.
24875         * tests/test-stdlib.c: Likewise.
24876         * tests/test-string.c: Likewise.
24877         * tests/test-unistd.c: Likewise.
24878         Reported by Greg Troxel <gdt@ir.bbn.com>
24879         at <https://savannah.gnu.org/support/?106973>.
24880
24881 2009-08-11  Bruno Haible  <bruno@clisp.org>
24882
24883         * modules/dup2-tests (Depends-on): Remove close.
24884
24885         Undo 2009-07-19 commit.
24886         * modules/acl-tests (Depends-on): Remove close.
24887         * modules/binary-io-tests (Depends-on): Likewise.
24888         * modules/closein-tests (Depends-on): Likewise.
24889         * modules/flock-tests (Depends-on): Likewise.
24890         * modules/fsync-tests (Depends-on): Likewise.
24891         * modules/lseek-tests (Depends-on): Likewise.
24892         * modules/pipe-tests (Depends-on): Likewise.
24893         * modules/posix_spawn-tests (Depends-on): Likewise.
24894         * modules/posix_spawnp-tests (Depends-on): Likewise.
24895         * modules/stat-time-tests (Depends-on): Likewise.
24896         * modules/yesno-tests (Depends-on): Likewise.
24897
24898 2009-08-10  Bruno Haible  <bruno@clisp.org>
24899
24900         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
24901
24902 2009-08-10  Bruno Haible  <bruno@clisp.org>
24903
24904         Fix a gcc warning.
24905         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
24906
24907 2009-08-10  Bruno Haible  <bruno@clisp.org>
24908
24909         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
24910         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
24911         not only the first time.
24912         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
24913         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
24914         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
24915         is 1, not only the the first time.
24916
24917 2009-08-10  Bruno Haible  <bruno@clisp.org>
24918
24919         Make it possible to use module 'gethostname' without module 'close'.
24920         * lib/unistd.in.h (close): Evoke a link error only if
24921         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
24922         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24923         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
24924         * modules/unistd (Makefile.am): Substitute
24925         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
24926         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
24927         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
24928         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
24929         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
24930         * modules/sys_ioctl (Makefile.am): Substitute
24931         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
24932         * modules/socket (configure.ac): On native Windows, set
24933         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
24934         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
24935         Reported by Sam Steingold <sds@gnu.org>.
24936
24937 2009-08-10  Bruno Haible  <bruno@clisp.org>
24938
24939         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
24940         * modules/ioctl (configure.ac): Likewise.
24941
24942 2009-08-10  Bruno Haible  <bruno@clisp.org>
24943
24944         Avoid collision between gnulib wrapper and libintl wrapper.
24945         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
24946         already defined in intl/printf.c.
24947         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
24948         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
24949
24950 2009-08-09  Bruno Haible  <bruno@clisp.org>
24951
24952         Make <sys/select.h> really self-contained, also on Solaris 10.
24953         * lib/sys_select.in.h: Include <string.h>.
24954         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
24955         Solaris 10 problem.
24956         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
24957         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
24958         Reported by Jim Meyering.
24959
24960 2009-08-09  Bruno Haible  <bruno@clisp.org>
24961
24962         Avoid warnings from 'aclocal' that are due to a use of macro name
24963         AM_XGETTEXT_OPTION that is not defined in automake.
24964         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
24965         automake.
24966         * modules/error (configure.ac): Likewise.
24967         * modules/propername (configure.ac): Likewise.
24968         * modules/vasprintf (configure.ac): Likewise.
24969         * modules/verror (configure.ac): Likewise.
24970         * modules/xprintf (configure.ac): Likewise.
24971         * modules/xvasprintf (configure.ac): Likewise.
24972
24973 2009-08-08  Bruno Haible  <bruno@clisp.org>
24974
24975         Avoid compilation error in C++ mode.
24976         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
24977         Reported by Sam Steingold <sds@gnu.org>.
24978
24979 2009-08-08  Bruno Haible  <bruno@clisp.org>
24980
24981         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
24982         for the various Unix platforms.
24983         * doc/posix-headers/limits.texi: Update platforms list regarding
24984         HOST_NAME_MAX.
24985         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24986
24987 2009-08-07  Jim Meyering  <meyering@redhat.com>
24988
24989         selinux-at: fix typo in a comment
24990         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
24991         Spotted by Paolo Bonzini.
24992
24993         selinux-at: remove redundant m4 code, add documentation
24994         * modules/selinux-at (configure.ac): Remove redundant code.
24995         LIB_SELINUX is already set via the dependent module, selinux-h.
24996         (Include): Add quotes around selinux-at.h.
24997         * lib/selinux-at.h: Add documentation.
24998         Reported by Bruno Haible in
24999         http://marc.info/?l=gnulib-bug&m=124958988300749
25000
25001 2009-08-07  Bruno Haible  <bruno@clisp.org>
25002
25003         Avoid link error on MacOS X 10.3 and 10.4.
25004         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
25005         on non-ELF systems.
25006         * lib/argp-pv.c (argp_program_version): Likewise.
25007         Reported by Simon Josefsson.
25008
25009 2009-08-07  Simon Josefsson  <simon@josefsson.org>
25010
25011         * tests/test-version-etc.sh: Use $EXEEXT.
25012
25013 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
25014
25015         update-copyright: update documentation to point to maint.mk
25016         * build-aux/update-copyright: Here.
25017
25018 2009-08-06  Jim Meyering  <meyering@redhat.com>
25019
25020         maint.mk: support update-copyright-local
25021         * top/maint.mk (update-copyright-local): Define place-holder.
25022         (update-copyright): Depend on $(update-copyright-local).
25023
25024 2009-08-06  Jim Meyering  <meyering@redhat.com>
25025
25026         selinux-at: new module
25027         Initially written for coreutils, this module will soon be
25028         used by findutils, too.
25029         * MODULES.html.sh [Misc]: Add selinux-at.
25030         * lib/selinux-at.h: New file, from coreutils.
25031         * lib/selinux-at.c: Likewise.
25032         * modules/selinux-at: Likewise.
25033         (License): Change from LGPL to GPL, since it depends
25034         on the GPL'd openat module.
25035
25036         doc: update README
25037         * README: Remove references to cogito.
25038         Remove cvs-repo-updating instructions from 2007.
25039         Don't imply that CVS is better if you have limited disk space.
25040
25041 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
25042
25043         update-copyright: support C-style comments
25044         * build-aux/update-copyright: Implement and document.
25045         * tests/test-update-copyright.sh: Test.
25046
25047 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
25048
25049         update-copyright: support omitted "(C)"
25050         * build-aux/update-copyright: Implement and document.  Also,
25051         allow variable whitespace before "(C)".
25052         * tests/test-update-copyright.sh: Test.
25053
25054 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
25055
25056         update-copyright: don't trip on non-FSF copyright statements
25057         * build-aux/update-copyright: Fix so that the first correctly
25058         formatted FSF copyright statement is recognized no matter what
25059         appears before it.  Update documentation.
25060         * tests/test-update-copyright.sh: Test that.
25061
25062 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
25063
25064         update-copyright: clean up code a little
25065         * build-aux/update-copyright: Append "_re" to the name of any
25066         variable holding a regular expression.
25067         Replace "old" and "new" with "stmt" in variable names.
25068         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
25069         handled correctly.
25070         Format code more consistently.
25071
25072 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
25073
25074         update-copyright-tests: improve portability
25075         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
25076         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
25077
25078 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
25079
25080         update-copyright: support @copyright{} and &copy;
25081         * build-aux/update-copyright: Implement and document.
25082         * tests/test-update-copyright.sh: Test.
25083
25084 2009-08-04  Jim Meyering  <meyering@redhat.com>
25085
25086         update-copyright-tests: correctly test EOL=\r\n handling
25087         * tests/test-update-copyright.sh: Put \r at the end of some lines
25088         for the dos-eol tests.  Based on a patch by Joel E. Denny.
25089
25090         maint.mk: make update-copyright exclusion list more configurable
25091         * top/maint.mk (update-copyright): Default to excluding COPYING,
25092         but allow an override, in case someone does want to update that file.
25093
25094         maint.mk: don't update copyright date in COPYING
25095         * top/maint.mk (update-copyright): Exclude COPYING.
25096
25097         maint.mk: add a copyright-updating rule
25098         * top/maint.mk (update-copyright): New rule.
25099         Derived from coreutils/Makefile.am.
25100
25101         update-copyright: rename some variables
25102         * build-aux/update-copyright: Rename a few variables for clarity.
25103         Tweak syntax.  List Joel E. Denny as coauthor.
25104
25105 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
25106
25107         update-copyright: fix bug for 2-digit last year and add tests
25108         * build-aux/update-copyright: Fix bug.
25109         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
25110         specified.
25111         * modules/update-copyright-tests: New
25112         * tests/test-update-copyright.sh: New.
25113
25114 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
25115
25116         update-copyright: handle leading tabs in line prefix
25117         * build-aux/update-copyright: Count leading tabs as 8 spaces
25118         when computing margin.  This helps with the formatting of
25119         ChangeLogs, for example.
25120         Fix documentation a little.
25121
25122 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
25123
25124         update-copyright: support EOL=\r\n
25125         * build-aux/update-copyright: Implement that.
25126
25127 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
25128
25129         update-copyright: automatically format copyright statements
25130         * build-aux/update-copyright: Implement that.
25131         Also, be a little more predictable and safer by always failing
25132         when the full copyright format is not perfectly recognized as an
25133         unbroken whole.  Discussed at
25134         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
25135         Rewrite documentation.
25136
25137 2009-08-03  Bruno Haible  <bruno@clisp.org>
25138
25139         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
25140
25141 2009-08-02  Bruno Haible  <bruno@clisp.org>
25142
25143         Tests for module 'uname'.
25144         * modules/uname-tests: New file.
25145         * tests/test-uname.c: New file.
25146
25147         New module 'uname'.
25148         * lib/uname.c: New file.
25149         * m4/uname.m4: New file.
25150         * modules/uname: New file.
25151         * doc/posix-functions/uname.texi: Mention the new module.
25152
25153 2009-08-02  Bruno Haible  <bruno@clisp.org>
25154
25155         Tests for module 'sys_utsname'.
25156         * modules/sys_utsname-tests: New file.
25157         * tests/test-sys_utsname.c: New file.
25158
25159         New module 'sys_utsname'.
25160         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
25161         * m4/sys_utsname_h.m4: New file.
25162         * modules/sys_utsname: New file.
25163         * doc/posix-headers/sys_utsname.texi: Mention the new module.
25164
25165 2009-08-02  Bruno Haible  <bruno@clisp.org>
25166
25167         Implicitly initialize the sockets library.
25168         * lib/gethostname.c: Include sockets.h.
25169         (rpl_gethostname): Invoke gl_sockets_startup.
25170         * lib/socket.c: Include sockets.h.
25171         (rpl_socket): Invoke gl_sockets_startup.
25172         * modules/gethostname (Depends-on): Add sockets.
25173         * modules/socket (Depends-on): Likewise.
25174         * tests/test-poll.c: Don't include sockets.h.
25175         (main): Don't invoke gl_sockets_startup.
25176         * tests/test-select.c: Don't include sockets.h.
25177         (main): Don't invoke gl_sockets_startup.
25178
25179 2009-08-02  Bruno Haible  <bruno@clisp.org>
25180
25181         Allow multiple calls to gl_sockets_startup.
25182         * lib/sockets.c (initialized_sockets_version): New variable.
25183         (gl_sockets_startup): Do nothing if already called for this or a higher
25184         version.
25185         (gl_sockets_cleanup): Reset initialized_sockets_version.
25186
25187 2009-08-03  Simon Josefsson  <simon@josefsson.org>
25188
25189         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
25190         different project/version.
25191
25192 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
25193             Bruno Haible  <bruno@clisp.org>
25194
25195         Tests for module 'pipe-filter-gi'.
25196         * modules/pipe-filter-gi-tests: New file.
25197         * tests/test-pipe-filter-gi1.sh: New file.
25198         * tests/test-pipe-filter-gi1.c: New file.
25199         * tests/test-pipe-filter-gi2.sh: New file.
25200         * tests/test-pipe-filter-gi2-main.c: New file.
25201         * tests/test-pipe-filter-gi2-child.c: New file.
25202
25203         New module 'pipe-filter-gi'.
25204         * lib/pipe-filter-gi.c: New file.
25205         * modules/pipe-filter-gi: New file.
25206
25207 2009-08-02  Bruno Haible  <bruno@clisp.org>
25208             Paolo Bonzini  <bonzini@gnu.org>
25209
25210         Tests for module 'pipe-filter-ii'.
25211         * modules/pipe-filter-ii-tests: New file.
25212         * tests/test-pipe-filter-ii1.sh: New file.
25213         * tests/test-pipe-filter-ii1.c: New file.
25214         * tests/test-pipe-filter-ii2.sh: New file.
25215         * tests/test-pipe-filter-ii2-main.c: New file.
25216         * tests/test-pipe-filter-ii2-child.c: New file.
25217
25218         New module 'pipe-filter-ii'.
25219         * lib/pipe-filter.h: New file.
25220         * lib/pipe-filter-ii.c: New file.
25221         * lib/pipe-filter-aux.h: New file.
25222         * modules/pipe-filter-ii: New file.
25223
25224 2009-08-02  Simon Josefsson  <simon@josefsson.org>
25225
25226         * lib/gc-libgcrypt.c: Change copyright to FSF.
25227         * lib/gc-gnulib.c: Likewise.
25228
25229 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
25230
25231         * lib/gethostname.c: Include limits.h.
25232
25233 2009-08-02  Simon Josefsson  <simon@josefsson.org>
25234             Bruno Haible  <bruno@clisp.org>
25235
25236         Ensure HOST_NAME_MAX as part of the gethostname module.
25237         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
25238         define also HOST_NAME_MAX.
25239         * tests/test-gethostname.c: Include <limits.h>.
25240         (main): Check also HOST_NAME_MAX.
25241         * doc/posix-headers/limits.texi: Document the mingw problem.
25242
25243 2009-08-02  Bruno Haible  <bruno@clisp.org>
25244
25245         * lib/gethostname.c (gethostname): Fix handling of large len argument.
25246         Add comments.
25247
25248 2009-03-31  Simon Josefsson  <simon@josefsson.org>
25249
25250         * lib/gethostname.c: Add Windows wrapper.
25251         * m4/gethostname.m4: Look for gethostname in -lws2_32.
25252         * modules/gethostname: Depend on sys_socket & errno, for also
25253         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
25254         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
25255
25256 2009-07-31  Jim Meyering  <meyering@redhat.com>
25257
25258         getloadavg: fix symbol name in comment
25259         * lib/getloadavg.c: Correct a typo I introduced when adding
25260         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
25261         Matt Kraai spotted the problem.
25262
25263 2009-07-29  Matt Kraai  <mkraai@beckman.com>
25264
25265         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
25266         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
25267         code also if ! defined N_NAME_POINTER.
25268         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
25269         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
25270         but the n_name member is a 12-byte array.
25271
25272 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
25273
25274         update-copyright: generalize comment handling
25275         * build-aux/update-copyright: Handle copyright statements
25276         within more comment styles.
25277         Document usage.
25278         Report any file with an external copyright holder or parse failure.
25279
25280 2009-07-29  Jim Meyering  <meyering@redhat.com>
25281
25282         mktime: correct setting of REPLACE_MKTIME
25283         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
25284
25285         update-copyright: new module
25286         * modules/update-copyright: New file.
25287         * build-aux/update-copyright: New file.
25288         * MODULES.html.sh (maint+release support): Add update-copyright.
25289
25290 2009-07-27  Bruno Haible  <bruno@clisp.org>
25291
25292         Fix compilation error when <ctime> is used and mktime is replaced.
25293         * lib/time.in.h (mktime): New declaration.
25294         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
25295         REPLACE_MKTIME instead of defining mktime in config.h.
25296         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
25297         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
25298         Reported by Ross McFarland <rwmcfa1@neces.com>.
25299
25300 2009-07-27  Bruno Haible  <bruno@clisp.org>
25301
25302         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
25303         Reported by Matt Kraai <mkraai@beckman.com>.
25304
25305 2009-07-25  Jim Meyering  <meyering@redhat.com>
25306
25307         maint.mk: avoid warnings about missing files
25308         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
25309         diagnostic when .prev-version does not exist.
25310         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
25311         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
25312         nonexistent cfg.mk.
25313         Suggestions from Simon Josefsson.
25314
25315 2009-07-25  Bruno Haible  <bruno@clisp.org>
25316
25317         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
25318         defined as macros. Needed on QNX 6.4.1.
25319         Reported by Matt Kraai <mkraai@beckman.com>.
25320
25321 2009-07-23  Jim Meyering  <meyering@redhat.com>
25322
25323         maint.mk: invoke "make dist" with a working value of XZ_OPT
25324         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
25325
25326 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
25327
25328         Make fseeko.c compile on QNX.
25329         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
25330
25331 2009-07-22  Peter Simons  <simons@cryp.to>
25332
25333         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
25334         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
25335         * lib/md4.h: Likewise.
25336         * lib/md5.h: Likewise.
25337         * lib/sha1.h: Likewise.
25338         * lib/sha256.h: Likewise.
25339         * lib/sha512.h: Likewise.
25340
25341         tests-sha1: don't assign literal string to 'char *' variable
25342         * tests/test-sha1.c (main): Declare locals with "const" to match
25343         attributes of the right hand side.
25344
25345 2009-07-21  Eric Blake  <ebb9@byu.net>
25346
25347         dup2: fix more mingw problems
25348         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
25349         fd to itself.
25350         * doc/posix-functions/dup2.texi (dup2): Document the bug.
25351         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
25352         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
25353         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
25354         care of mingw bugs.
25355
25356 2009-07-21  Jim Meyering  <meyering@redhat.com>
25357
25358         vc-list-files: avoid failure when /bin/sh is dash
25359         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
25360         On some Debian based systems, /bin/sh is a symlink to dash, and running
25361         this command would omit the "/" following each 'tests' prefix:
25362           dash -x build-aux/vc-list-files -C . tests
25363         That is because bash and dash work differently:
25364           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
25365           bash ok
25366           dash odd
25367
25368 2009-07-21  Eric Blake  <ebb9@byu.net>
25369
25370         dup2-tests: test previous patch
25371         * modules/dup2-tests: New file.
25372         * tests/test-dup2.c: Likewise.
25373         * tests/test-open.c (main): Avoid unspecified behavior.
25374         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
25375         test.
25376
25377         dup2: work around mingw and cygwin 1.5 bug
25378         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
25379         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
25380         * modules/unistd (Makefile.am): Substitute it.
25381         * lib/unistd.in.h (dup2): Declare the replacement.
25382         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
25383         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
25384         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
25385         * modules/execute (Depends-on): Add dup2.
25386         * modules/fseterr (Depends-on): Likewise.
25387         * modules/pipe (Depends-on): Likewise.
25388         * modules/posix_spawn-internal (Depends-on): Likewise.
25389
25390 2009-07-21  Bruno Haible  <bruno@clisp.org>
25391
25392         * modules/.gitattributes: New file.
25393
25394 2009-07-20  Bruno Haible  <bruno@clisp.org>
25395
25396         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
25397         (main): Use it.
25398
25399 2009-07-20  Eric Blake  <ebb9@byu.net>
25400
25401         test-pipe: make a bit more robust.
25402         * tests/test-pipe.c (myerr): Allow error messages regardless of
25403         what we do to stderr.
25404         (test_pipe): Rearrange to avoid deadlock.
25405         (child_main): Try a larger read, to ensure we avoided deadlock.
25406         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
25407         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
25408         if misused.
25409
25410 2009-07-19  Jim Meyering  <meyering@redhat.com>
25411
25412         fts: avoid false-positive cycle-detection
25413         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
25414         for each new command line argument.
25415
25416 2009-07-19  Bruno Haible  <bruno@clisp.org>
25417
25418         Fix build error on mingw with the modules sys_select and unistd.
25419         * modules/acl-tests (Depends-on): Add close.
25420         * modules/binary-io-tests (Depends-on): Likewise.
25421         * modules/closein-tests (Depends-on): Likewise.
25422         * modules/flock-tests (Depends-on): Likewise.
25423         * modules/fsync-tests (Depends-on): Likewise.
25424         * modules/lseek-tests (Depends-on): Likewise.
25425         * modules/pipe-tests (Depends-on): Likewise.
25426         * modules/posix_spawn-tests (Depends-on): Likewise.
25427         * modules/posix_spawnp-tests (Depends-on): Likewise.
25428         * modules/stat-time-tests (Depends-on): Likewise.
25429         * modules/yesno-tests (Depends-on): Likewise.
25430
25431 2009-07-19  Bruno Haible  <bruno@clisp.org>
25432
25433         Unify conditionals.
25434         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
25435         macros, not at the compiler macros.
25436         * lib/pipe.c: Likewise.
25437         * lib/execute.c: Likewise.
25438         * lib/spawni.c: Likewise.
25439
25440 2009-07-19  Bruno Haible  <bruno@clisp.org>
25441
25442         Fix handling of closed stdin/stdout/stderr on mingw.
25443         * lib/w32spawn.h: Include unistd.h.
25444         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
25445         file descriptor with O_NOINHERIT flag.
25446         (fd_safer_noinherit): New function, based on fd-safer.c.
25447         (dup_safer_noinherit): New function, based on dup-safer.c.
25448         (undup_safer_noinherit): New function.
25449         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
25450         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
25451         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
25452         instead of fd_safer.
25453         * tests/test-pipe.c: Include <windows.h>.
25454         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
25455
25456         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
25457         from main.
25458         (test_pipe): Pass an extra argument for disambiguation.
25459         (main): Invoke parent_main or child_main.
25460
25461         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
25462         consistently.
25463
25464 2009-07-18  Eric Blake  <ebb9@byu.net>
25465
25466         test-pipe: fix mingw build
25467         * tests/test-pipe.c (main): Avoid fcntl on mingw.
25468
25469 2009-07-18  Bruno Haible  <bruno@clisp.org>
25470
25471         * modules/pipe-tests (Makefile.am): Fix typo.
25472
25473 2009-07-18  Eric Blake  <ebb9@byu.net>
25474
25475         error: fix mingw build
25476         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
25477         Reported by Bruno Haible.
25478
25479         error: avoid undefined use of stdout
25480         * lib/error.c (error, error_at_line): Check that fd 1 is open
25481         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
25482         is handling faults and the close_stdout module wants to report the
25483         detection of closed stdout as an error.
25484
25485 2009-07-17  Eric Blake  <ebb9@byu.net>
25486
25487         pipe: be robust in face of closed fds
25488         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
25489         should cause child to misbehave.
25490         * modules/pipe-tests: New module.
25491         * tests/test-pipe.c: New file.
25492         * tests/test-pipe.sh: New file.
25493         Reported by Akim Demaille.
25494
25495 2009-07-14  Bruno Haible  <bruno@clisp.org>
25496
25497         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
25498         Reported by anonymous kc.
25499
25500 2009-07-07  Jim Meyering  <meyering@redhat.com>
25501
25502         maint.mk: don't look for translatable strings in *.m4 or *.mk
25503         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
25504         when searching for translatable strings.
25505
25506 2009-07-05  Jim Meyering  <meyering@redhat.com>
25507
25508         remove superfluous parentheses in STREQ definition
25509         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
25510         * lib/getugroups.c (STREQ): Likewise.
25511         * lib/fnmatch.c (STREQ): Likewise.
25512         Spotted by Bruno Haible.
25513
25514 2009-07-04  Jim Meyering  <meyering@redhat.com>
25515
25516         argv-iter: new module
25517         * MODULES.html.sh: Add argv-iter.
25518         * lib/argv-iter.c, lib/argv-iter.h: New files.
25519         * modules/argv-iter: New file.
25520         * modules/argv-iter-tests: New file.
25521         * tests/test-argv-iter.c: Test it.
25522
25523 2009-07-04  Bruno Haible  <bruno@clisp.org>
25524
25525         Fix assertion.
25526         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
25527         contains more exact copies of a given entry than file2, leave the extra
25528         copies unpaired rather than aborting.
25529         Reported by Eric Blake.
25530
25531 2009-07-02  Bruno Haible  <bruno@clisp.org>
25532
25533         Speedup git-merge-changelog for git cherry-pick.
25534         * lib/git-merge-changelog.c (struct entries_mapping): New type.
25535         (entries_mapping_get): New function, extracted from compute_mapping.
25536         (entries_mapping_reverse_get): New function.
25537         (compute_mapping): Add a 'full' argument. Return the result in a
25538         'struct entries_mapping'.
25539         (main): Update. Access the mappings through entries_mapping_get.
25540         Reported by Eric Blake.
25541
25542 2009-07-02  Bruno Haible  <bruno@clisp.org>
25543
25544         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
25545         best_i.
25546
25547 2009-07-02  Bruno Haible  <bruno@clisp.org>
25548
25549         Speed up approximate search for matching ChangeLog entries.
25550         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
25551         argument. Call fstrcmp_bounded instead of fstrcmp.
25552         (compute_mapping, try_split_merged_entry, main): Update callers.
25553
25554 2009-07-02  Bruno Haible  <bruno@clisp.org>
25555
25556         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
25557
25558 2009-06-30  Bruno Haible  <bruno@clisp.org>
25559
25560         Reduce the number of uc_is_cased calls.
25561         * lib/unicase.h (casing_suffix_context_t): Add
25562         'first_char_except_ignorable' field.
25563         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
25564         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
25565         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
25566         Update initializer.
25567         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
25568         case-ignorable characters.
25569         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
25570         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
25571         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
25572         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
25573         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
25574
25575 2009-06-30  Bruno Haible  <bruno@clisp.org>
25576
25577         Tests for module 'unicase/ignorable'.
25578         * modules/unicase/ignorable-tests: New file.
25579         * tests/unicase/test-ignorable.c: New file, generated by
25580         gen-uni-tables.
25581
25582         Tests for module 'unicase/cased'.
25583         * modules/unicase/cased-tests: New file.
25584         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
25585         * tests/unicase/test-predicate-part1.h: New file, derived from
25586         tests/unictype/test-predicate-part1.h.
25587         * tests/unicase/test-predicate-part2.h: New file, same as
25588         tests/unictype/test-predicate-part2.h.
25589
25590         Fix evaluation of "Before C" condition of FINAL_SIGMA.
25591         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
25592         (output_casing_properties): New function.
25593         (main): Call it.
25594         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
25595         * lib/unicase/cased.c: Include unictype/bitmap.h.
25596         (uc_is_cased): Define through a bitmap lookup.
25597         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
25598         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
25599         (uc_is_case_ignorable): Define through a bitmap lookup.
25600         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
25601         lib/unictype/bitmap.h.
25602         (Depends-on): Add inline. Clean up.
25603         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
25604         lib/unictype/bitmap.h.
25605         (Depends-on): Add inline. Clean up.
25606         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
25607         recognition.
25608         * tests/unicase/test-u16-tolower.c (main): Likewise.
25609         * tests/unicase/test-u32-tolower.c (main): Likewise.
25610
25611 2009-06-30  Bruno Haible  <bruno@clisp.org>
25612
25613         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
25614         * lib/unicase/u16-casemap.c: Likewise.
25615         * lib/unicase/u32-casemap.c: Likewise.
25616
25617 2009-06-29  Bruno Haible  <bruno@clisp.org>
25618
25619         Define u32_casefold as a wrapper around u32_ct_casefold.
25620         * lib/unicase/u32-casefold.c: Update.
25621         * modules/unicase/u32-casefold (Depends-on): Add
25622         unicase/u32-ct-casefold, unicase/empty-prefix-context,
25623         unicase/empty-suffix-context. Clean up.
25624
25625         Define u16_casefold as a wrapper around u16_ct_casefold.
25626         * lib/unicase/u16-casefold.c: Update.
25627         * modules/unicase/u16-casefold (Depends-on): Add
25628         unicase/u16-ct-casefold, unicase/empty-prefix-context,
25629         unicase/empty-suffix-context. Clean up.
25630
25631         Define u8_casefold as a wrapper around u8_ct_casefold.
25632         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
25633         * lib/unicase/u8-casefold.c: Update.
25634         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
25635         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
25636
25637         Define u32_totitle as a wrapper around u32_ct_totitle.
25638         * lib/unicase/u32-totitle.c: Update.
25639         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
25640         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
25641
25642         Define u16_totitle as a wrapper around u16_ct_totitle.
25643         * lib/unicase/u16-totitle.c: Update.
25644         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
25645         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
25646
25647         Define u8_totitle as a wrapper around u8_ct_totitle.
25648         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
25649         functions.
25650         (FUNC): Delegate to U_CT_TOTITLE.
25651         * lib/unicase/u8-totitle.c: Update.
25652         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
25653         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
25654
25655         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
25656         invocation.
25657         * modules/unicase/u32-tolower (Depends-on): Add
25658         unicase/empty-prefix-context, unicase/empty-suffix-context.
25659
25660         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
25661         invocation.
25662         * modules/unicase/u16-tolower (Depends-on): Add
25663         unicase/empty-prefix-context, unicase/empty-suffix-context.
25664
25665         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
25666         * modules/unicase/u8-tolower (Depends-on): Add
25667         unicase/empty-prefix-context, unicase/empty-suffix-context.
25668
25669         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
25670         invocation.
25671         * modules/unicase/u32-toupper (Depends-on): Add
25672         unicase/empty-prefix-context, unicase/empty-suffix-context.
25673
25674         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
25675         invocation.
25676         * modules/unicase/u16-toupper (Depends-on): Add
25677         unicase/empty-prefix-context, unicase/empty-suffix-context.
25678
25679         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
25680         * modules/unicase/u8-toupper (Depends-on): Add
25681         unicase/empty-prefix-context, unicase/empty-suffix-context.
25682
25683         New module 'unicase/u32-ct-casefold'.
25684         * lib/unicase/u32-ct-casefold.c: New file.
25685         * modules/unicase/u32-ct-casefold: New file.
25686
25687         New module 'unicase/u16-ct-casefold'.
25688         * lib/unicase/u16-ct-casefold.c: New file.
25689         * modules/unicase/u16-ct-casefold: New file.
25690
25691         New module 'unicase/u8-ct-casefold'.
25692         * lib/unicase/u8-ct-casefold.c: New file.
25693         * lib/unicase/u-ct-casefold.h: New file, derived from
25694         lib/unicase/u-casefold.h.
25695         * modules/unicase/u8-ct-casefold: New file.
25696
25697         New module 'unicase/u32-ct-totitle'.
25698         * lib/unicase/u32-ct-totitle.c: New file.
25699         * modules/unicase/u32-ct-totitle: New file.
25700
25701         New module 'unicase/u16-ct-totitle'.
25702         * lib/unicase/u16-ct-totitle.c: New file.
25703         * modules/unicase/u16-ct-totitle: New file.
25704
25705         New module 'unicase/u8-ct-totitle'.
25706         * lib/unicase/u8-ct-totitle.c: New file.
25707         * lib/unicase/u-ct-totitle.h: New file, derived from
25708         lib/unicase/u-totitle.h.
25709         * modules/unicase/u8-ct-totitle: New file.
25710
25711         New module 'unicase/u32-ct-tolower'.
25712         * lib/unicase/u32-ct-tolower.c: New file.
25713         * modules/unicase/u32-ct-tolower: New file.
25714
25715         New module 'unicase/u16-ct-tolower'.
25716         * lib/unicase/u16-ct-tolower.c: New file.
25717         * modules/unicase/u16-ct-tolower: New file.
25718
25719         New module 'unicase/u8-ct-tolower'.
25720         * lib/unicase/u8-ct-tolower.c: New file.
25721         * modules/unicase/u8-ct-tolower: New file.
25722
25723         New module 'unicase/u32-ct-toupper'.
25724         * lib/unicase/u32-ct-toupper.c: New file.
25725         * modules/unicase/u32-ct-toupper: New file.
25726
25727         New module 'unicase/u16-ct-toupper'.
25728         * lib/unicase/u16-ct-toupper.c: New file.
25729         * modules/unicase/u16-ct-toupper: New file.
25730
25731         New module 'unicase/u8-ct-toupper'.
25732         * lib/unicase/u8-ct-toupper.c: New file.
25733         * modules/unicase/u8-ct-toupper: New file.
25734
25735         Add context arguments to u*_casemap functions.
25736         * lib/unicase/unicasemap.h: Include unicase.h.
25737         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
25738         suffix_context arguments.
25739         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
25740         functions.
25741         (FUNC): Add prefix_context and suffix_context arguments. Use
25742         uc_is_cased and uc_is_case_ignorable.
25743         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
25744         * lib/unicase/u16-casemap.c: Likewise.
25745         * lib/unicase/u32-casemap.c: Likewise.
25746         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
25747         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
25748         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
25749         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
25750         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
25751         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
25752
25753         New module 'unicase/u32-suffix-context'.
25754         * lib/unicase/u32-suffix-context.c: New file.
25755         * modules/unicase/u32-suffix-context: New file.
25756
25757         New module 'unicase/u16-suffix-context'.
25758         * lib/unicase/u16-suffix-context.c: New file.
25759         * modules/unicase/u16-suffix-context: New file.
25760
25761         New module 'unicase/u8-suffix-context'.
25762         * lib/unicase/u8-suffix-context.c: New file.
25763         * lib/unicase/u-suffix-context.h: New file.
25764         * modules/unicase/u8-suffix-context: New file.
25765
25766         New module 'unicase/empty-suffix-context'.
25767         * lib/unicase/empty-suffix-context.c: New file.
25768         * modules/unicase/empty-suffix-context: New file.
25769
25770         New module 'unicase/u32-prefix-context'.
25771         * lib/unicase/u32-prefix-context.c: New file.
25772         * modules/unicase/u32-prefix-context: New file.
25773
25774         New module 'unicase/u16-prefix-context'.
25775         * lib/unicase/u16-prefix-context.c: New file.
25776         * modules/unicase/u16-prefix-context: New file.
25777
25778         New module 'unicase/u8-prefix-context'.
25779         * lib/unicase/u8-prefix-context.c: New file.
25780         * lib/unicase/u-prefix-context.h: New file.
25781         * lib/unicase/context.h: New file.
25782         * modules/unicase/u8-prefix-context: New file.
25783
25784         New module 'unicase/empty-prefix-context'.
25785         * lib/unicase/empty-prefix-context.c: New file.
25786         * modules/unicase/empty-prefix-context: New file.
25787
25788         New module 'unicase/ignorable'.
25789         * lib/unicase/ignorable.c: New file.
25790         * modules/unicase/ignorable: New file.
25791
25792         New module 'unicase/cased'.
25793         * lib/unicase/caseprop.h: New file.
25794         * lib/unicase/cased.c: New file.
25795         * modules/unicase/cased: New file.
25796
25797         New functions for case mapping of substrings.
25798         * lib/unicase.h (casing_prefix_context_t): New type.
25799         (unicase_empty_prefix_context): New variable.
25800         (u8_casing_prefix_context, u16_casing_prefix_context,
25801         u32_casing_prefix_context, u8_casing_prefixes_context,
25802         u16_casing_prefixes_context, u32_casing_prefixes_context): New
25803         declarations.
25804         (casing_suffix_context_t): New type.
25805         (unicase_empty_suffix_context): New variable.
25806         (u8_casing_suffix_context, u16_casing_suffix_context,
25807         u32_casing_suffix_context, u8_casing_suffixes_context,
25808         u16_casing_suffixes_context, u32_casing_suffixes_context,
25809         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
25810         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
25811         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
25812         declarations.
25813
25814 2009-06-28  Jim Meyering  <meyering@redhat.com>
25815
25816         boostrap: indent only with spaces
25817         * build-aux/bootstrap: Indent only with spaces, never TABs.
25818
25819         bootstrap: split long lines
25820         * build-aux/bootstrap: Keep line length < 80.
25821
25822         bootstrap: sync from coreutils
25823         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
25824         just as autoreconf does.  Verify a list of prerequisite
25825         package-name,version-number pairs if defined in bootstrap.conf.
25826         Refer to README-prereq, if prerequisites are not satisfied.
25827
25828 2009-06-27  Eric Blake  <ebb9@byu.net>
25829
25830         tests: add test for bogus NULL definition
25831         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
25832         * tests/test-stdlib.c: Likewise.
25833         * tests/test-string.c: Likewise.
25834         * tests/test-locale.c: Likewise.
25835         * tests/test-unistd.c: Likewise.
25836         * modules/stdio-tests (Depends-on): Add verify.
25837         * modules/stdlib-tests (Depends-on): Likewise.
25838         * modules/string-tests (Depends-on): Likewise.
25839         * modules/locale-tests (Depends-on): Likewise.
25840         * modules/unistd-tests (Depends-on): Likewise.
25841
25842 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
25843
25844         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
25845         self-explaining comment.
25846         * m4/selinux-selinux-h: Update serial.
25847         (gl_LIBSELINUX): New macro, adding a warning for missing development
25848         packages to code extracted from...
25849         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
25850         Add warning for missing development packages here, too.
25851
25852 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
25853
25854         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
25855
25856 2009-06-25  Eric Blake  <ebb9@byu.net>
25857
25858         version-etc: fix regression
25859         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
25860         gcc.
25861         (version_etc): Use it, to catch bugs with trailing NULL.
25862         * lib/version-etc.c (version_etc_arn): Delete unused argument.
25863         (version_etc_va): Fix logic bug.
25864         * modules/version-etc-tests: Add test.
25865         * tests/test-version-etc.c: New file.
25866         * tests/test-version-etc.sh: Likewise.
25867
25868 2009-06-25  Sam Steingold  <sds@gnu.org>
25869
25870         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
25871         mbtowc declaration.
25872
25873 2009-06-25  Eric Blake  <ebb9@byu.net>
25874
25875         fpurge: migrate into <stdio.h>
25876         * lib/fpurge.h: Delete...
25877         * lib/stdio.in.h (fpurge): ...and declare here, instead.
25878         * lib/fpurge.c (fpurge): Change declaring header.
25879         * modules/fpurge (Files): Drop deleted file.
25880         (Depends-on): Add stdio.
25881         (configure.ac): Set witness.
25882         * modules/stdio (Makefile.am): Support fpurge macros.
25883         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
25884         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
25885         * lib/fflush.c: Update client.
25886         * tests/test-fpurge.c: Likewise.
25887         * NEWS: Mention the change.
25888
25889 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
25890
25891         * lib/argp-version-etc.c (program_authors): Add const
25892         qualifier.
25893         * lib/version-etc.c: Fix typos in the comments.
25894         * modules/argp-version-etc: Depends on version-etc.
25895
25896 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
25897
25898         argp-version-etc: new module.
25899
25900         * lib/argp-version-etc.c: New file.
25901         * lib/argp-version-etc.h: New file.
25902         * modules/argp-version-etc: New file.
25903         * modules/argp-version-etc-tests: New file.
25904         * tests/test-argp-version-etc.c: New test.
25905         * tests/test-argp-version-etc-1.sh: New test.
25906
25907 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
25908
25909         Provide additional interfaces and documentation for version-etc
25910         module.
25911
25912         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
25913         interfaces.
25914         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
25915         prototypes.
25916
25917 2009-06-24  Bruno Haible  <bruno@clisp.org>
25918
25919         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
25920         HAVE_LIB${NAME} macro.
25921         Reported by Sam Steingold <sds@gnu.org>.
25922
25923 2009-06-23  Simon Josefsson  <simon@josefsson.org>
25924
25925         * modules/hash-tests (test_hash_LDADD): Link to libintl when
25926         needed.
25927
25928 2009-06-21  Bruno Haible  <bruno@clisp.org>
25929
25930         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
25931         work.
25932         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
25933         together with LIB${NAME}, LTLIB${NAME}.
25934         Reported by Sam Steingold <sds@gnu.org>.
25935
25936 2009-06-20  Jim Meyering  <meyering@redhat.com>
25937
25938         tests: make sc_require_test_exit_idiom more generic
25939         * top/maint.mk (Exit_witness_file): New overridable variable.
25940         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
25941         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
25942
25943 2009-06-19  Jim Meyering  <meyering@redhat.com>
25944
25945         hash: reverse order of src/dst parameters in an internal interface
25946         * lib/hash.c (transfer_entries): Reverse order of parameters to
25947         put DST before SRC.  Adjust callers.
25948
25949         tests: test-hash: avoid wholesale duplication
25950         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
25951         Instead, use a loop and add a single conditional.
25952
25953         tests: test-hash: allow seed selection via a command line argument
25954         * tests/test-hash.c (get_seed): New function.
25955         (main): Use it.
25956
25957 2009-06-19  Eric Blake  <ebb9@byu.net>
25958
25959         hash: avoid memory leak on allocation failure
25960         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
25961         failure.  Factor repeated algorithm...
25962         (transfer_entries): ...into new helper routine.
25963         (hash_delete): React to hash_rehash return value.
25964
25965         hash: reduce memory pressure in hash_rehash no-op case
25966         * lib/hash.c (next_prime): Avoid overflow.
25967         (hash_initialize): Factor bucket size computation...
25968         (compute_bucket_size): ...into new helper function.
25969         (hash_rehash): Use new function and open coding to reduce memory
25970         pressure, and avoid a memory leak in USE_OBSTACK code.
25971         Reported by Jim Meyering.
25972
25973 2009-06-18  Eric Blake  <ebb9@byu.net>
25974
25975         hash: make rotation more obvious
25976         * modules/hash (Depends-on): Add bitrotate and stdint.
25977         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
25978         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
25979         (SIZE_MAX): Rely on headers for definition.
25980         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
25981         (raw_hasher): Use rotr_sz.
25982         Suggested by Jim Meyering.
25983
25984         hash: fix memory leak in last patch
25985         * lib/hash.c (hash_rehash): Avoid memory leak.
25986
25987         hash: avoid no-op rehashing
25988         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
25989
25990         hash: provide default callback functions
25991         * lib/hash.c (raw_hasher, raw_comparator): New functions.
25992         (hash_initialize): Use them as defaults.
25993         * tests/test-hash.c (main): Test this.
25994
25995         hash: minor optimization
25996         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
25997         when possible.
25998         (hash_initialize): Document this promise.
25999         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
26000         * tests/test-hash.c (hash_compare_strings): Test this.
26001
26002 2009-06-18  Bruno Haible  <bruno@clisp.org>
26003
26004         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
26005         going to be replaced anyway.
26006
26007 2009-06-18  Bruno Haible  <bruno@clisp.org>
26008
26009         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
26010         in one place.
26011         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
26012         be replaced anyway.
26013
26014 2009-06-18  Eric Blake  <ebb9@byu.net>
26015
26016         hash: check for resize before insertion
26017         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
26018         threshold before insertion, so that a pathological hash_rehash
26019         that fills every bucket can still trigger another rehash.
26020
26021 2009-06-18  Jim Meyering  <meyering@redhat.com>
26022
26023         hash-tests: add a loop around the small tests
26024         * tests/test-hash.c (main): Repeat small tests with selected
26025         small initial table sizes.
26026
26027 2009-06-17  Eric Blake  <ebb9@byu.net>
26028
26029         hash: minor cleanups
26030         * lib/hash.h (hash_entry): Make opaque, by moving...
26031         * lib/hash.c (hash_entry): ...here.
26032         (hash_insert): Clarify restrictions on what can be inserted.
26033         (hash_get_next): Clarify when it is safe to remove an element
26034         during traversal.
26035         (check_tuning): Skip verification when tuning is known safe.
26036         (hash_initialize): Clarify restrictions on tuning.
26037
26038 2009-06-17  Jim Meyering  <jim@meyering.net>
26039         and Eric Blake  <ebb9@byu.net>
26040
26041         hash-tests: new module
26042         * modules/hash-tests: New file.
26043         * tests/test-hash.c: New file.
26044
26045 2009-06-17  Eric Blake  <ebb9@byu.net>
26046
26047         strstr-simple: document new module
26048         * MODULES.html.sh: Document new module.
26049
26050         strstr, strcasestr: replace on platforms with broken memchr
26051         * modules/strstr: Split into...
26052         * modules/strstr-simple: ...new module that does not care about
26053         performance, but does care about glibc bug.
26054         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
26055         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
26056         if platform memchr is broken, per Debian bug 521737.
26057         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
26058         memchr.
26059         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
26060         * doc/posix-functions/strstr.texi (strstr): Document the fix.
26061         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
26062         * modules/mountlist (Depends-on): Add strstr-simple.
26063         * modules/gen-uni-tables (Depends-on): Likewise.
26064         * modules/argz (Depends-on): Add strstr.
26065
26066 2009-06-17  Bruno Haible  <bruno@clisp.org>
26067
26068         * modules/posix_spawn-internal (Depends-on): Add errno.
26069
26070 2009-06-17  Bruno Haible  <bruno@clisp.org>
26071
26072         Define missing ESTALE on Interix 3.5.
26073         * lib/errno.in.h (ESTALE): Assign a value if missing.
26074         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
26075         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
26076         missing.
26077         * doc/posix-headers/errno.texi: Mention the Interix bug.
26078         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
26079
26080 2009-06-15  Eric Blake  <ebb9@byu.net>
26081
26082         memchr, memchr2: add valgrind exception
26083         * lib/memchr.valgrind: New file.
26084         * lib/memchr2.valgrind: New file.
26085         * modules/memchr (Files): Distribute valgrind file.
26086         * modules/memchr2 (Files): Likewise.
26087
26088         docs: memchr is no longer obsolete
26089         * MODULES.html.sh: Move memchr from obsolete to string.h section.
26090         * lib/string.in.h (memchr): Simplify logic.
26091
26092 2009-06-14  Jim Meyering  <meyering@redhat.com>
26093
26094         link-follow: fix the "checking..." message to not mention trailing slash
26095         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
26096         never considered trailing slashes.
26097
26098 2009-06-14  Bruno Haible  <bruno@clisp.org>
26099
26100         * m4/memchr.m4: Mention also the bug on IA-64.
26101         * doc/posix-functions/memchr.texi: Likewise.
26102
26103 2009-06-12  Eric Blake  <ebb9@byu.net>
26104
26105         memchr: detect broken x86_64 and alpha implementations
26106         * modules/memchr-tests (Depends-on): Move mmap detection...
26107         * modules/memchr (Depends-on): ...here.
26108         (configure.ac): Set indicator.
26109         * lib/string.in.h (memchr): Declare replacement.
26110         * modules/string (Makefile.am): Trigger replacement.
26111         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
26112         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
26113         bugs.
26114         * doc/posix-functions/memchr.texi (memchr): Document the bug.
26115         * modules/getpagesize (License): Relax license.
26116
26117 2009-06-11  Bruno Haible  <bruno@clisp.org>
26118
26119         * lib/idpriv.h: Add more references.
26120
26121 2009-06-08  Bruno Haible  <bruno@clisp.org>
26122
26123         Tests for module 'idpriv-droptemp'.
26124         * modules/idpriv-droptemp-tests: New file.
26125         * tests/test-idpriv-droptemp.sh: New file.
26126         * tests/test-idpriv-droptemp.su.sh: New file.
26127         * tests/test-idpriv-droptemp.c: New file.
26128
26129         New module 'idpriv-droptemp'.
26130         * lib/idpriv-droptemp.c: New file.
26131         * modules/idpriv-droptemp: New file.
26132
26133 2009-06-08  Bruno Haible  <bruno@clisp.org>
26134
26135         Tests for module 'idpriv-drop'.
26136         * modules/idpriv-drop-tests: New file.
26137         * tests/test-idpriv-drop.sh: New file.
26138         * tests/test-idpriv-drop.su.sh: New file.
26139         * tests/test-idpriv-drop.c: New file.
26140
26141         New module 'idpriv-drop'.
26142         * lib/idpriv.h: New file.
26143         * lib-idpriv-drop.c: New file.
26144         * m4/idpriv.m4: New file.
26145         * modules/idpriv-drop: New file.
26146
26147 2009-06-08  Bruno Haible  <bruno@clisp.org>
26148
26149         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
26150         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
26151         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
26152         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
26153         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
26154         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
26155         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
26156
26157 2009-06-08  Eric Blake  <ebb9@byu.net>
26158
26159         test-strstr: use memory fence, when possible
26160         * tests/test-strstr.c (main): Use memory fence, in order to be
26161         more likely to trigger Debian bug 521737.
26162         * modules/strstr-tests (Files): Pull in additional files.
26163
26164         memchr: no longer obsolete, for wider field testing
26165         * modules/memchr (Status, Notice): Delete, this module is no
26166         longer obsolete.
26167         * modules/vasnprintf (Depends-on): Add memchr.
26168
26169 2009-06-07  Jim Meyering  <meyering@redhat.com>
26170
26171         hash: declare some functions with the warn_unused_result attribute
26172         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
26173
26174 2009-06-07  Bruno Haible  <bruno@clisp.org>
26175
26176         * tests/test-alignof.c: Don't test int64_t if it does not exist.
26177         Reported by Eric Blake.
26178
26179 2009-06-06  Eric Blake  <ebb9@byu.net>
26180
26181         test-alignof: fix typo with long double
26182         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
26183         compiler error.
26184
26185 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
26186
26187         Escape non-texinfo { and }s.
26188         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
26189         markup error.
26190
26191 2009-06-04  Jim Meyering  <meyering@redhat.com>
26192
26193         gitlog-to-changelog: don't infloop on an empty commit log
26194         * build-aux/gitlog-to-changelog: Warn about an empty log message.
26195         Reported by Boris Petersen <transacid@centerim.org>.
26196
26197 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
26198
26199         version-etc: extend for packagers
26200         Add three new configure options, intended for packagers:
26201           --with-packager="packager name"
26202           --with-packager-version="packager-specific version"
26203           --with-packager-bug-reports="packager bug reporting"
26204         An example with coreutils:
26205           $ ./configure \
26206             --with-packager=Gentoo \
26207             --with-packager-bug-report=http://bugs.gentoo.org/ \
26208             --with-packager-version="patchset 1.6"
26209           $ ./src/ls --version | head -n2
26210           ls (GNU coreutils) 7.1-dirty
26211           Packaged by Gentoo (patchset 1.6)
26212         Note that the bug reporting info via --help doesn't show up because
26213         coreutils uses its own custom emit_bug_reporting_address() implementation
26214         in src/system.h.  If it didn't, it'd look like:
26215           $ ./src/ls --help | tail -n4
26216           Report bugs to <bug-coreutils@gnu.org>.
26217           Report Gentoo bugs to <http://bugs.gentoo.org/>.
26218           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
26219           General help using GNU software: <http://www.gnu.org/gethelp/>.
26220         * lib/version-etc.c: Print new information, if provided.
26221         * m4/version-etc.m4: New file.
26222         * modules/version-etc (Files): Add m4/version-etc.m4.
26223         (configure.ac): Add gl_VERSION_ETC.
26224
26225 2009-05-31  Bruno Haible  <bruno@clisp.org>
26226
26227         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
26228         and 'int64_t'.
26229         * modules/alignof-tests (Dependencies): Add stdint.
26230         Reported by Eric Blake.
26231
26232 2009-05-31  Bruno Haible  <bruno@clisp.org>
26233
26234         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
26235         restriction due to compiler bugs.
26236         Reported by Eric Blake.
26237
26238 2009-05-31  Simon Josefsson  <simon@josefsson.org>
26239             Bruno Haible  <bruno@clisp.org>
26240
26241         Fix test-alignof failure.
26242         * lib/alignof.h (alignof_slot): New macro.
26243         (alignof_type): New macro, with the same semantics as the previous
26244         'alignof'.
26245         (alignof): Alias to alignof_slot.
26246         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
26247         check that the results are usable as constant expressions.
26248
26249 2009-05-31  Bruno Haible  <bruno@clisp.org>
26250
26251         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
26252         * tests/test-memchr.c (main): Check that memchr does not read past the
26253         first occurrence of the byte.
26254         * tests/test-strstr.c (main): Update comment.
26255         Suggested by Eric Blake.
26256
26257 2009-05-30  Bruno Haible  <bruno@clisp.org>
26258
26259         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
26260         detail how to use dumpbin.
26261         Reported by David Byron <dbyron@dbyron.com>.
26262
26263 2009-06-02  Simon Josefsson  <simon@josefsson.org>
26264
26265         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
26266
26267 2009-06-02  Simon Josefsson  <simon@josefsson.org>
26268
26269         * m4/manywarnings.m4: Add GCC 4.4 warnings.
26270
26271 2009-05-28  Bruno Haible  <bruno@clisp.org>
26272
26273         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
26274         build-aux/ files.
26275
26276 2009-05-28  Simon Josefsson  <simon@josefsson.org>
26277
26278         * gnulib-tool (func_import): Transform license on build-aux/ files too.
26279
26280 2009-05-27  Simon Josefsson  <simon@josefsson.org>
26281
26282         * gnulib-tool (sed_transform_main_lib_file)
26283         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
26284         regexps.
26285
26286 2009-05-26  Simon Josefsson  <simon@josefsson.org>
26287
26288         * tests/test-strstr.c: Add another self-test.
26289         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
26290         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
26291
26292 2009-05-23  Bruno Haible  <bruno@clisp.org>
26293
26294         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
26295         change.
26296
26297 2009-05-21  Bruno Haible  <bruno@clisp.org>
26298
26299         Simplify use of mode_t varargs.
26300         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
26301         uses 'mode_t' or 'int'.
26302         * lib/openat.c (openat): Likewise.
26303         * lib/open-safer.c (open_safer): Likewise.
26304         * m4/mode_t.m4: New file.
26305         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
26306         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
26307         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
26308         * modules/open (Files): Add m4/mode_t.m4.
26309         * modules/openat (Files): Likewise.
26310         * modules/fcntl-safer (Files): Likewise.
26311         Suggested by Eric Blake.
26312
26313 2009-05-21  Pádraig Brady  <P@draigbrady.com>
26314
26315         * doc/glibc-functions/fallocate.texi: New file.
26316         * doc/gnulib.texi: Include it.
26317
26318 2009-05-21  Eric Blake  <ebb9@byu.net>
26319             Bruno Haible  <bruno@clisp.org>
26320
26321         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
26322         invocations.
26323         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
26324
26325 2009-05-21  Eric Blake  <ebb9@byu.net>
26326             Bruno Haible  <bruno@clisp.org>
26327
26328         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
26329         include_next. Fix of 2008-11-20 commit.
26330         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
26331         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
26332         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
26333         NEXT_MATH_H.
26334         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
26335         instead of NEXT_MATH_H.
26336
26337 2009-05-21  Bruno Haible  <bruno@clisp.org>
26338
26339         Avoid redefinition warnings for SIZE_MAX.
26340         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
26341         Reported by Simon Josefsson.
26342
26343 2009-05-21  Bruno Haible  <bruno@clisp.org>
26344
26345         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
26346         AC_CACHE_VAL.
26347
26348 2009-05-20  Bruno Haible  <bruno@clisp.org>
26349
26350         Make zeroptr.h work on mingw.
26351         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
26352         mprotect.
26353         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
26354         * modules/memchr2-tests (configure.ac): Likewise.
26355         * modules/memcmp-tests (configure.ac): Likewise.
26356         * modules/memmem-tests (configure.ac): Likewise.
26357         * modules/memrchr-tests (configure.ac): Likewise.
26358         Reported by Simon Josefsson.
26359
26360 2009-05-20  Simon Josefsson  <simon@josefsson.org>
26361
26362         * tests/test-glob.c: Include string.h for strcmp prototype.
26363
26364 2009-05-20  Simon Josefsson  <simon@josefsson.org>
26365
26366         * modules/getdelim (Depends-on): Add explicit stdint, although it
26367         was implicitly already pulled in via realloc-posix.
26368         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
26369
26370 2009-05-20  Simon Josefsson  <simon@josefsson.org>
26371
26372         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
26373         G. Christensen" <tgc@jupiterrise.com>.
26374         * m4/sys_socket_h.m4: Check for sa_family_t.
26375         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
26376         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
26377         * tests/test-sys_socket.c: Check that sa_family_t works.
26378
26379 2009-05-18  Eric Blake  <ebb9@byu.net>
26380
26381         maint.mk: allow gnulib_dir in VPATH build
26382         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
26383
26384 2009-05-15  Jim Meyering  <meyering@redhat.com>
26385
26386         maint.mk: Give gnulib_dir a default definition.
26387         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
26388         Thus, most packages no longer need to specify this variable in cfg.mk
26389
26390 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
26391
26392         rename.m4: fix typos that would make non-mingw cross-configure fail
26393         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
26394
26395 2009-05-13  Eric Blake  <ebb9@byu.net>
26396
26397         mmap-anon: avoid out-of-order autoconf expansion
26398         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
26399         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
26400         * modules/memchr-tests (Depends-on): Add extensions.
26401         * modules/memchr2-tests (Depends-on): Add extensions.
26402         * modules/memcmp-tests (Depends-on): Add extensions.
26403         * modules/memmem-tests (Depends-on): Add extensions.
26404         * modules/memrchr-tests (Depends-on): Add extensions.
26405
26406 2009-05-13  Bruno Haible  <bruno@clisp.org>
26407
26408         Make some tests ISO C 99 compliant.
26409         * tests/zerosize-ptr.h: New file.
26410         * tests/test-memchr.c: Include zerosize-ptr.h.
26411         (main): Use a zero-size object pointer instead of NULL.
26412         * tests/test-memchr2.c: Include zerosize-ptr.h.
26413         (main): Use a zero-size object pointer instead of NULL.
26414         * tests/test-memcmp.c: Include zerosize-ptr.h.
26415         (main): Use a zero-size object pointer instead of NULL.
26416         * tests/test-memmem.c: Include zerosize-ptr.h.
26417         (main): Use a zero-size object pointer instead of NULL.
26418         * tests/test-memrchr.c: Include zerosize-ptr.h.
26419         (main): Use a zero-size object pointer instead of NULL.
26420         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
26421         m4/mmap-anon.m4.
26422         (Depends-on): Add getpagesize.
26423         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
26424         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
26425         m4/mmap-anon.m4.
26426         (Depends-on): Add getpagesize.
26427         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
26428         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
26429         m4/mmap-anon.m4.
26430         (Depends-on): Add getpagesize.
26431         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
26432         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
26433         m4/mmap-anon.m4.
26434         (Depends-on): Add getpagesize.
26435         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
26436         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
26437         m4/mmap-anon.m4.
26438         (Depends-on): Add getpagesize.
26439         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
26440
26441 2009-05-12  Bruno Haible  <bruno@clisp.org>
26442
26443         Tests for module 'alignof'.
26444         * modules/alignof-tests: New file.
26445         * tests/test-alignof.c: New file.
26446
26447 2009-05-12  Bruno Haible  <bruno@clisp.org>
26448
26449         Fix alignof macro.
26450         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
26451         vendor compilers that are always correct.
26452
26453 2009-05-12  Bruno Haible  <bruno@clisp.org>
26454
26455         Make the MAP_ANONYMOUS detection work on HP-UX 11.
26456         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
26457         not whether its fully works.
26458
26459 2009-05-12  Bruno Haible  <bruno@clisp.org>
26460
26461         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
26462
26463 2009-05-12  Jim Meyering  <meyering@redhat.com>
26464
26465         * top/maint.mk: Adjust backslash alignment.
26466
26467 2009-05-11  Simon Josefsson  <simon@josefsson.org>
26468
26469         * top/maint.mk: Make $(srcdir)/build-aux configurable.
26470
26471 2009-05-11  Eric Blake  <ebb9@byu.net>
26472
26473         argp: avoid undefined behavior
26474         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
26475         macros.
26476
26477 2009-05-08  Simon Josefsson  <simon@josefsson.org>
26478
26479         * tests/test-vc-list-files-git.sh: Do git config of user.email and
26480         user.name to prevent git commit from complaining.
26481
26482 2009-05-10  Bruno Haible  <bruno@clisp.org>
26483
26484         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
26485         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
26486         it rewrites every file name only once.
26487         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
26488
26489 2009-05-08  Bruno Haible  <bruno@clisp.org>
26490
26491         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
26492         instead of 'max'.
26493
26494 2009-05-08  Simon Josefsson  <simon@josefsson.org>
26495
26496         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
26497         sockaddr_storage test.
26498
26499 2009-05-07  Simon Josefsson  <simon@josefsson.org>
26500
26501         * modules/sys_socket (Makefile.am): Substitute
26502         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
26503         * m4/sys_socket_h.m4: Check for sockaddr_storage.
26504         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
26505         * tests/test-sys_socket.c: Check sockaddr_storage.
26506
26507 2009-05-08  Bruno Haible  <bruno@clisp.org>
26508
26509         New module 'alignof'.
26510         * lib/alignof.h: New file.
26511         * modules/alignof: New file.
26512
26513 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
26514             Bruno Haible  <bruno@clisp.org>
26515
26516         Fix test-file-has-acl on FreeBSD.
26517         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
26518         mask is implicitly added.
26519         * tests/test-file-has-acl.c: Include <signal.h>.
26520         (main): Terminate the test after 5 seconds.
26521         * modules/acl-tests (configure.ac): Check for alarm function.
26522
26523 2009-05-04  Bruno Haible  <bruno@clisp.org>
26524
26525         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
26526         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
26527         * modules/errno (configure.ac): Drop AC_REQUIRE.
26528         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
26529         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
26530
26531 2009-05-04  Simon Josefsson  <simon@josefsson.org>
26532
26533         * modules/glob-tests: New module.
26534         * tests/test-glob.c: Add.
26535
26536 2009-05-04  Simon Josefsson  <simon@josefsson.org>
26537
26538         * modules/fnmatch-tests: New module.
26539         * tests/test-fnmatch.c: Add.
26540
26541 2009-05-04  Eric Blake  <ebb9@byu.net>
26542
26543         maint: make the new no-submodule-changes rule VPATH-safe
26544         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
26545
26546 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
26547             Bruno Haible  <bruno@clisp.org>
26548
26549         acl: Fix infinite loop on FreeBSD.
26550         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
26551         of return value from acl_get_entry.
26552         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
26553         Likewise.
26554
26555 2009-05-03  Bruno Haible  <bruno@clisp.org>
26556
26557         * lib/acl-internal.h (acl_entries): Clarify return value.
26558         * lib/acl_entries.c (acl_entries): Likewise.
26559
26560 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
26561
26562         Bug fix in acl module.
26563         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
26564
26565 2009-05-03  Bruno Haible  <bruno@clisp.org>
26566
26567         Create gperf-generated file in the source dir, not in the build dir.
26568         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
26569         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
26570         * modules/unicase/locale-language (unicase/locale-languages.h):
26571         Likewise.
26572         * modules/unicase/special-casing (unicase/special-casing-table.h):
26573         Likewise.
26574         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
26575         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
26576         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
26577         Reported by Ralf Wildenhues.
26578
26579 2009-05-03  Bruno Haible  <bruno@clisp.org>
26580
26581         * modules/fnmatch (Description, configure.ac): Taken from
26582         fnmatch-posix.
26583         * modules/fnmatch-posix: Turn into a symbolic reference to the
26584         'fnmatch' module, and deprecate.
26585         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
26586
26587 2009-05-03  Bruno Haible  <bruno@clisp.org>
26588
26589         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
26590         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
26591         Reported by Ralf Wildenhues.
26592
26593 2009-05-04  Simon Josefsson  <simon@josefsson.org>
26594
26595         * m4/fnmatch.m4: Fix fnmatch re-define.
26596
26597 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
26598
26599         priv-set: new module and tests; adapt write-any-file
26600         * lib/priv-set.c: New file.
26601         * lib/priv-set.h: New file.
26602         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
26603         * lib/write-any-file.c: Simplify by using priv-set module.
26604         * m4/priv-set.m4: New file.
26605         * modules/priv-set: New file.
26606         * modules/unlinkdir: Add dependency on priv-set module.
26607         * modules/write-any-file: Likewise.
26608
26609         Tests for module 'priv-set'.
26610         * modules/priv-set-tests: New file.
26611         * tests/test-priv-set.c: New file.
26612
26613 2009-05-03  Jim Meyering  <meyering@redhat.com>
26614             Bruno Haible  <bruno@clisp.org>
26615
26616         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
26617         use the converted UTF-8 variant of the name instead.
26618
26619 2009-05-03  Jim Meyering  <meyering@redhat.com>
26620
26621         tests: tighten some getdate tests
26622         * tests/test-getdate.c (main): Tighten tests: require equality,
26623         not just greater than.  Set TZ envvar to UTC0.
26624
26625 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
26626
26627         getdate: correctly interpret "next monday" when run on a Monday
26628         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
26629         that e.g., "next tues" (when run on a tuesday) results in a date
26630         that is one week in the future, and not today's date.
26631         I.e., add a week when the wday is the same as the current one.
26632         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
26633         and earlier by Martin Bernreuther and Jan Minář.
26634         * tests/test-getdate.c (main): Check that "next DAY" is always in
26635         the future and that "last DAY" is always in the past.
26636
26637 2009-05-02  Jim Meyering  <meyering@redhat.com>
26638
26639         build: ensure that a release build fails when a submodule is unclean
26640         * top/maint.mk (no-submodule-changes): New rule.
26641         (alpha beta major): Depend on it.
26642
26643 2009-05-02  Bruno Haible  <bruno@clisp.org>
26644
26645         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
26646         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
26647         shell variable gl_fnmatch_required to detect which variant is
26648         requested.
26649         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
26650         gl_FUNC_FNMATCH_POSIX.
26651         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
26652         exclude fnmatch-posix.
26653
26654 2009-05-02  Bruno Haible  <bruno@clisp.org>
26655
26656         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
26657         * modules/mbsrtowcs (License): Change to LGPLv2+.
26658         * modules/strnlen1 (License): Likewise.
26659         Reported by Simon Josefsson.
26660
26661 2009-05-02  Bruno Haible  <bruno@clisp.org>
26662
26663         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
26664         "cross".
26665         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
26666         gnulib-tool was called with option --source-base=lib.
26667
26668 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26669
26670         Use automake *-local hooks without commands, for extensibility.
26671         * modules/localcharset (Makefile.am): Rename install-exec-local
26672         rule to install-exec-localcharset, and make it a prerequisite of
26673         install-exec-local.  Likewise, rename the uninstall-local rule to
26674         uninstall-localcharset, and make it a prerequisite of the former.
26675
26676 2009-05-01  Bruno Haible  <bruno@clisp.org>
26677
26678         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
26679         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
26680         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
26681         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
26682         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
26683         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
26684         m4/locale-zh.m4, m4/codeset.m4.
26685
26686         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
26687         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
26688         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
26689         m4/locale-zh.m4.
26690
26691         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
26692         REPLACE_WCRTOMB if mbstate_t must be replaced.
26693         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
26694         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
26695
26696 2009-05-01  Bruno Haible  <bruno@clisp.org>
26697
26698         Avoid compiler warnings when redefining macros defined by <libintl.h>.
26699         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
26700         dngettext, dcngettext, textdomain, bindtextdomain,
26701         bind_textdomain_codeset): Undefine before redefining.
26702
26703 2009-04-30  Bruno Haible  <bruno@clisp.org>
26704
26705         Fix bug introduced on 2009-04-25.
26706         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
26707         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
26708         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
26709         is defined.
26710         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
26711         is defined.
26712         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
26713         is defined.
26714         Reported by Elbert_Pol <elbert.pol@gmail.com>.
26715
26716 2009-04-28  Bruno Haible  <bruno@clisp.org>
26717
26718         Comment tweaks.
26719         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
26720         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
26721         * lib/unicase.h (u*_casexfrm): Likewise.
26722         Reported by Paolo Bonzini.
26723
26724 2009-04-28  Bruno Haible  <bruno@clisp.org>
26725
26726         Fix a compilation error.
26727         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
26728         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
26729         Reported by Jim Meyering.
26730
26731 2009-04-27  Bruno Haible  <bruno@clisp.org>
26732
26733         New module 'libunistring'.
26734         * modules/libunistring: New file.
26735         * m4/libunistring.m4: New file.
26736         * MODULES.html.sh (Unicode string functions): Add it.
26737
26738 2009-04-27  Eric Blake  <ebb9@byu.net>
26739
26740         maint.mk: allow package-specific header to provide <config.h>
26741         * top/maint.mk (sc_require_config_h): New variable.
26742         (sc_require_config_h, sc_require_config_h_first): Use it.
26743
26744 2009-04-27  Simon Josefsson  <simon@josefsson.org>
26745
26746         * top/maint.mk (sc_avoid_if_before_free): Except
26747         useless-if-before-free script.
26748
26749 2009-04-27  Eric Blake  <ebb9@byu.net>
26750
26751         maintainer-makefile: depend on all required helper scripts
26752         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
26753         useless-if-before-free.
26754         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
26755         version, rather than assuming gnulib checkout is available.
26756         Reported by Simen Josefsson.
26757
26758 2009-04-26  Bruno Haible  <bruno@clisp.org>
26759
26760         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
26761         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
26762         "../" or "..".
26763
26764 2009-04-26  Bruno Haible  <bruno@clisp.org>
26765
26766         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
26767         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
26768         AC_LIB_HAVE_LINKFLAGS.
26769
26770 2009-04-26  Bruno Haible  <bruno@clisp.org>
26771
26772         Simplify calling convention of u*_conv_from_encoding.
26773         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
26774         u32_conv_from_encoding): Expect a resultbuf argument and return the
26775         result directly as a pointer.
26776         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
26777         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
26778         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
26779         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
26780         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
26781         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
26782         Update.
26783         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
26784         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
26785         * lib/vasnprintf.c (VASNPRINTF): Update.
26786         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
26787         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
26788         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
26789         * NEWS: Mention the change.
26790
26791 2009-04-26  Bruno Haible  <bruno@clisp.org>
26792
26793         Simplify calling convention of u*_conv_to_encoding.
26794         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
26795         u32_conv_to_encoding): Expect a resultbuf argument and return the
26796         result directly as a pointer.
26797         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
26798         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
26799         freeing scaled_offsets if mem_iconveha failed.
26800         * lib/unicase/u-casexfrm.h (FUNC): Update.
26801         * lib/uninorm/u-normxfrm.h (FUNC): Update.
26802         * lib/vasnprintf.c (VASNPRINTF): Update.
26803         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
26804         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
26805         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
26806         * NEWS: Mention the change.
26807
26808 2009-04-26  Bruno Haible  <bruno@clisp.org>
26809
26810         Avoid test failures on AIX and OSF/1.
26811         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
26812         malloc(0).
26813         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
26814         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
26815         Likewise.
26816         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
26817         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
26818         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
26819         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
26820         * doc/posix-functions/malloc.texi: Document the portability problem
26821         related to malloc(0).
26822
26823 2009-04-26  Bruno Haible  <bruno@clisp.org>
26824
26825         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
26826         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
26827         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
26828
26829 2009-04-25  Bruno Haible  <bruno@clisp.org>
26830
26831         Avoid link error when creating a namespace clean library.
26832         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
26833         as macro with arguments if already defined as an alias.
26834         * lib/signbitf.c (gl_signbitf): Don't undefine.
26835         * lib/signbitd.c (gl_signbitd): Don't undefine.
26836         * lib/signbitl.c (gl_signbitl): Don't undefine.
26837
26838 2009-04-25  Jim Meyering  <meyering@redhat.com>
26839
26840         vc-list-files: fix another quoting bug
26841         * build-aux/vc-list-files: Avoid sed backslash expansion
26842         of pathological directory names.
26843
26844 2009-04-25  Eric Blake  <ebb9@byu.net>
26845
26846         vc-list-files: fix shell quoting error
26847         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
26848         timestamp.
26849
26850 2009-04-25  Jim Meyering  <meyering@redhat.com>
26851
26852         vc-list-files: restore lost functionality with subdir argument
26853         * build-aux/vc-list-files: When given a non-"." sub-directory
26854         argument, substitute the $dir/ prefix back onto each resulting name.
26855         Otherwise, coreutils' root_tests check would fail.
26856
26857 2009-04-24  Eric Blake  <ebb9@byu.net>
26858
26859         vc-list-files: ignore git symlinks
26860         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
26861         than ls-files, to ignore git symlinks.
26862
26863         maint.mk: import improvements from m4
26864         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
26865         (move_if_change): Delete unused macro.
26866         (news-date-check, vc-diff-check): Support VPATH builds.
26867         (announcement): Likewise.  Split --bootstrap-tools list...
26868         (boostrap-tools): ...into separate list, which can be overridden
26869         in cfg.mk.
26870         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
26871         requiring dependency on useless-if-before-free module.
26872         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
26873         Support VPATH builds.
26874
26875 2009-04-24  Jim Meyering  <meyering@redhat.com>
26876
26877         maint.mk: remove coreutils-specific rules and variables
26878         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
26879         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
26880         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
26881
26882         maint.mk: remove obsolete rule
26883         * top/maint.mk (rel-check): Remove rule.
26884         (WGET, WGETFLAGS): Remove now-unused variables.
26885
26886 2009-04-24  Simon Josefsson  <simon@josefsson.org>
26887
26888         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
26889         consistency.
26890
26891         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
26892         '$(PATH_SEPARATOR)' instead of ':'.
26893
26894 2009-04-24  Simon Josefsson  <simon@josefsson.org>
26895
26896         * lib/getopt1.c (main): Use 'const' for static array.
26897
26898 2009-04-24  Simon Josefsson  <simon@josefsson.org>
26899
26900         * top/maint.mk: Sync with coreutils.
26901         * NEWS: Explain incompatibilities.
26902
26903 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
26904             Bruno Haible  <bruno@clisp.org>
26905
26906         Fix cross-compilation results.
26907         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
26908         statement, as third argument of AC_TRY_RUN.
26909         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
26910         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
26911         Likewise.
26912         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
26913         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
26914         Likewise.
26915         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
26916         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
26917         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
26918
26919 2009-04-20  Bruno Haible  <bruno@clisp.org>
26920
26921         Avoid test failure on mingw.
26922         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
26923
26924 2009-04-20  Bruno Haible  <bruno@clisp.org>
26925
26926         Avoid compilation error on mingw.
26927         * modules/localename-tests (Depends-on): Add locale.
26928
26929 2009-04-19  Bruno Haible  <bruno@clisp.org>
26930
26931         Support for building a shared library on Windows platforms.
26932         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
26933         (main): Test the presence of UNINORM_NFC here.
26934         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
26935         (main): Test the presence of UNINORM_NFD here.
26936         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
26937         (main): Test the presence of UNINORM_NFKC here.
26938         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
26939         (main): Test the presence of UNINORM_NFKD here.
26940
26941 2009-04-19  Bruno Haible  <bruno@clisp.org>
26942
26943         Avoid a compiler warning.
26944         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
26945         Change type of variable 'sequence'.
26946
26947 2009-04-19  Bruno Haible  <bruno@clisp.org>
26948
26949         * modules/configmake (Makefile.am): When the contents of configmake.h
26950         does not change, arrange to preserve its modification time.
26951
26952 2009-04-17  Simon Josefsson  <simon@josefsson.org>
26953
26954         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
26955         gettext domain.
26956
26957 2009-04-16  Jim Meyering  <meyering@redhat.com>
26958
26959         useless-if-before-free: improve conversion code
26960         * build-aux/useless-if-before-free: Adjust code-in-comment to match
26961         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
26962
26963 2009-04-14  Bruno Haible  <bruno@clisp.org>
26964
26965         * modules/fcntl (Depends-on): Add extensions.
26966         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
26967
26968 2009-04-12  Ben Pfaff  <blp@gnu.org>
26969
26970         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
26971         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
26972
26973 2009-03-20  Ben Pfaff  <blp@gnu.org>
26974
26975         Make rename replace existing destinations on Windows.
26976         * m4/rename.m4: Add test for Mingw.
26977         * lib/rename.c: Add rename replacement that uses MoveFileEx with
26978         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
26979         * doc/posix-functions/rename.texi: Document.
26980
26981 2009-04-10  Bruno Haible  <bruno@clisp.org>
26982
26983         New include file "iconveh.h".
26984         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
26985         * lib/striconveh.h: Include it.
26986         (enum iconv_ilseq_handler): Remove definition.
26987         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
26988         striconveh.h.
26989         * lib/striconveha.c: Include striconveh.h.
26990         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
26991         * modules/striconveh (Files): Add lib/iconveh.h.
26992         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
26993         lib/striconveh.h.
26994
26995 2009-04-10  Bruno Haible  <bruno@clisp.org>
26996
26997         * lib/uniconv.h: Update comment.
26998
26999 2009-04-10  Bruno Haible  <bruno@clisp.org>
27000
27001         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
27002         always.
27003         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
27004         * lib/unistr/u16-mbtouc-aux.c: Likewise.
27005         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
27006         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
27007         "unistring-notinline.h", so that the function gets defined always.
27008         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
27009         * lib/unistr/u8-uctomb.c: Likewise.
27010         * lib/unistr/u16-mbtouc.c: Likewise.
27011         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
27012         * lib/unistr/u16-uctomb.c: Likewise.
27013         * lib/unistr/u32-mbtouc.c: Likewise.
27014         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
27015         * lib/unistr/u32-uctomb.c: Likewise.
27016
27017 2009-04-10  Bruno Haible  <bruno@clisp.org>
27018
27019         Mark 'utime' obsolete.
27020         * modules/utime (Status, Notice): New sections.
27021         Suggested by Jim Meyering.
27022
27023         Fix cross-compile guess for utime test.
27024         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
27025         autoconf.
27026         * doc/posix-functions/utime.texi: Give more precisions.
27027         Reported by Jan <ipif@ymail.com>.
27028
27029 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
27030
27031         filevercmp: correct today's change
27032         * lib/filevercmp.c: Also handle coreutils' test inputs.
27033         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
27034
27035         Fix regression in 'filevercmp' module. Thanks Sven Joachim
27036         for reporting it.
27037         * lib/filevercmp.c: Special handle for "", "." and "..".
27038         * tests/test-filevercmp.c: Enlarge the set suite.
27039
27040 2009-04-07  Jim Meyering  <meyering@redhat.com>
27041
27042         useless-if-before-free: show how to remove braced useless free, too
27043         * build-aux/useless-if-before-free: still only in a comment, though.
27044
27045 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
27046
27047         maint.mk: import changes to syntax-check macros from coreutils
27048         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
27049         Use them in the relevant macros.
27050
27051 2009-04-06  Bruno Haible  <bruno@clisp.org>
27052
27053         Fix unportable use of bit-fields.
27054         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
27055         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
27056         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
27057
27058 2009-04-06  Bruno Haible  <bruno@clisp.org>
27059
27060         Avoid test failures on AIX and OSF/1.
27061         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
27062         that malloc(0) = NULL.
27063         * tests/unicase/test-u8-tolower.c (check): Likewise.
27064         * tests/unicase/test-u8-totitle.c (check): Likewise.
27065         * tests/unicase/test-u8-toupper.c (check): Likewise.
27066         * tests/unicase/test-u16-casefold.c (check): Likewise.
27067         * tests/unicase/test-u16-tolower.c (check): Likewise.
27068         * tests/unicase/test-u16-totitle.c (check): Likewise.
27069         * tests/unicase/test-u16-toupper.c (check): Likewise.
27070         * tests/unicase/test-u32-casefold.c (check): Likewise.
27071         * tests/unicase/test-u32-tolower.c (check): Likewise.
27072         * tests/unicase/test-u32-totitle.c (check): Likewise.
27073         * tests/unicase/test-u32-toupper.c (check): Likewise.
27074         * tests/uninorm/test-u8-nfc.c (check): Likewise.
27075         * tests/uninorm/test-u8-nfd.c (check): Likewise.
27076         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
27077         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
27078         * tests/uninorm/test-u16-nfc.c (check): Likewise.
27079         * tests/uninorm/test-u16-nfd.c (check): Likewise.
27080         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
27081         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
27082         * tests/uninorm/test-u32-nfc.c (check): Likewise.
27083         * tests/uninorm/test-u32-nfd.c (check): Likewise.
27084         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
27085         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
27086
27087 2009-04-05  Bruno Haible  <bruno@clisp.org>
27088
27089         Work around an autoconf limitation.
27090         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
27091         comment line if it would be longer than 3 KB.
27092
27093 2009-04-05  Bruno Haible  <bruno@clisp.org>
27094
27095         Avoid test failure with libiconv-1.13.
27096         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
27097         of the expected test results.
27098
27099 2009-04-05  Bruno Haible  <bruno@clisp.org>
27100
27101         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
27102         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
27103         that it should be installed.
27104
27105 2009-04-05  Bruno Haible  <bruno@clisp.org>
27106
27107         * gnulib-tool: New option --copy-file.
27108         (func_usage): Document it.
27109         (func_dest_tmpfilename): Moved out of func_import.
27110         (func_add_file, func_update_file): New functions, extracted from
27111         func_import.
27112         (func_import): Update.
27113
27114 2009-04-05  Karl Berry  <karl@gnu.org>
27115
27116         * README: prominently mention gnulib-tool.
27117         Rearrange sections so getting the code is near the top.
27118
27119 2009-04-05  Bruno Haible  <bruno@clisp.org>
27120
27121         * lib/unicase.h: Mention u*_cmp2.
27122         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
27123         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
27124         * lib/unicase/ulc-casecmp.c: Likewise.
27125         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
27126         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
27127         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
27128         unistr/u8-cmp.
27129         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
27130         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
27131         unistr/u16-cmp.
27132         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
27133         unistr/u32-cmp.
27134
27135         * lib/uninorm.h: Mention u*_cmp2.
27136         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
27137         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
27138         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
27139         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
27140         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
27141         unistr/u8-cmp.
27142         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
27143         unistr/u16-cmp.
27144         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
27145         unistr/u32-cmp.
27146
27147         New module 'unistr/u32-cmp2'.
27148         * lib/unistr/u32-cmp2.c: New file.
27149         * modules/unistr/u32-cmp2: New file.
27150
27151         New module 'unistr/u16-cmp2'.
27152         * lib/unistr/u16-cmp2.c: New file.
27153         * modules/unistr/u16-cmp2: New file.
27154
27155         New module 'unistr/u8-cmp2'.
27156         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
27157         * lib/unistr/u8-cmp2.c: New file.
27158         * lib/unistr/u-cmp2.h: New file.
27159         * modules/unistr/u8-cmp2: New file.
27160
27161 2009-04-05  Bruno Haible  <bruno@clisp.org>
27162
27163         * lib/unictype.h (uc_property_is_valid): New macro.
27164         * tests/unictype/test-pr_byname.c (main): Use it.
27165
27166         * lib/unistr.h: Doc fixes.
27167         * lib/uniconv.h: Doc fixes.
27168         * lib/unictype.h: Doc fixes.
27169
27170 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
27171
27172         Port coreutils 7.2 to Solaris 8.
27173
27174         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
27175         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
27176         for Solaris 8.  This is a bit of a hack, as it means it's the
27177         caller's responsibility to add -lnsl if needed, but most likely it
27178         won't be needed since only getaddrinfo uses this and getaddrinfo
27179         isn't needed on Solaris 8.
27180
27181         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
27182         problem to Solaris 8 encountered with coreutils 7.2, which
27183         resulted in a message "fnmatch.c:292: warning: passing argument 4
27184         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
27185         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
27186
27187 2009-04-03  Simon Josefsson  <simon@josefsson.org>
27188
27189         * m4/ld-version-script.m4: Add FIXME comment.
27190
27191 2009-04-02  Simon Josefsson  <simon@josefsson.org>
27192
27193         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
27194         SOVERSION variable.
27195
27196 2009-04-02  Bruno Haible  <bruno@clisp.org>
27197
27198         * Makefile (info, html, dvi, pdf): Combine the rules.
27199         Suggested by Jim Meyering.
27200
27201 2009-04-01  Bruno Haible  <bruno@clisp.org>
27202
27203         * Makefile (info, html, dvi, pdf): New targets.
27204         Reported by Reuben Thomas <rrt@sc3d.org>.
27205
27206 2009-04-01  Bruno Haible  <bruno@clisp.org>
27207
27208         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
27209         can be put into PATH.
27210         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
27211
27212 2009-04-01  Bruno Haible  <bruno@clisp.org>
27213
27214         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
27215
27216 2009-04-01  Bruno Haible  <bruno@clisp.org>
27217
27218         Rename module 'visibility'.
27219         * modules/lib-symbol-visibility: Renamed from modules/visibility.
27220         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
27221         * doc/gnulib.texi: Update.
27222         * MODULES.html.sh (Misc): Update.
27223         * NEWS: Mention the change.
27224
27225 2009-04-01  Simon Josefsson  <simon@josefsson.org>
27226
27227         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
27228         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
27229         Eric Blake <ebb9@byu.net> for review.
27230         * MODULES.html.sh: Add lib-msvc-compat.
27231         * doc/gnulib.texi: Link to new section.
27232         * m4/ld-output-def.m4: New file.
27233         * doc/ld-output-def.texi: New file.
27234
27235 2009-04-01  Simon Josefsson  <simon@josefsson.org>
27236
27237         Rename ld-version-script to lib-symbol-versions.  Suggested by
27238         Bruno Haible <bruno@clisp.org>.
27239         * modules/ld-version-script: Renamed to lib-symbol-versions.
27240         * doc/ld-version-script.texi: Fix module name.
27241         * MODULES.html.sh: Add lib-symbol-versions.
27242
27243 2009-03-31  Simon Josefsson  <simon@josefsson.org>
27244
27245         * modules/u64-tests: New file.
27246         * tests/test-u64.c: New file.
27247
27248 2009-03-04  Simon Josefsson  <simon@josefsson.org>
27249
27250         * MODULES.html.sh: Mention u64.
27251         * modules/u64: New module.
27252         * modules/crypto/sha512: Depend on u64 module instead of providing
27253         u64.h.
27254
27255 2009-03-27  Eric Blake  <ebb9@byu.net>
27256
27257         test-strerror: make debugging EAI_SYSTEM easier
27258         * modules/getaddrinfo-tests (Depends-on): Add strerror.
27259         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
27260         failure was EAI_SYSTEM.
27261
27262 2009-03-25  Bruno Haible  <bruno@clisp.org>
27263
27264         Fix a problem with --enable-relocatable on Solaris 7.
27265         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
27266         since 2008-02-24.
27267
27268 2009-03-25  Eric Blake  <ebb9@byu.net>
27269
27270         test-sockets: avoid gcc warning
27271         * tests/test-sockets.c (main): Silence compiler warning.
27272
27273 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
27274
27275         New modules nproc, pthread, contributed by Glen Lenker.
27276
27277         * MODULES.html.sh: Add pthread, nproc.
27278         * lib/nproc.c: New file.
27279         * lib/nproc.h: New file.
27280         * lib/pthread.in.h: New file.
27281         * m4/pthread.m4: New file.
27282         * modules/nproc: New file.
27283         * modules/pthread: New file.
27284
27285 2009-03-24  Simon Josefsson  <simon@josefsson.org>
27286
27287         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
27288         New variable.
27289
27290 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
27291
27292         filevercmp: handle simple~ and numbered.~3~ backup suffixes
27293         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
27294         * tests/test-filevercmp.c: Add tests for backup suffixes.
27295
27296 2009-03-24  Simon Josefsson  <simon@josefsson.org>
27297
27298         * modules/stdlib (Depends-on): Add stdint, needed when defining
27299         struct random_data on, for example, HP-UX 10.20.  Reported by
27300         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
27301
27302 2009-03-24  Simon Josefsson  <simon@josefsson.org>
27303
27304         * lib/readline.c (readline): Call fflush on stdout after printing
27305         prompt.
27306
27307 2009-03-20  Bruno Haible  <bruno@clisp.org>
27308
27309         Remove dependency from 'close' module to -lws2_32 on native Windows.
27310         * lib/close-hook.h: New file.
27311         * lib/close-hook.c: New file.
27312         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
27313         w32sock.h.
27314         (_gl_close_fd_maybe_socket): Remove function.
27315         (rpl_close): Invoke execute_all_close_hooks instead of
27316         _gl_close_fd_maybe_socket.
27317         * lib/sockets.c: Include close-hook.h, w32sock.h.
27318         (close_fd_maybe_socket): New function, essentially from lib/close.c.
27319         (close_sockets_hook): New variable.
27320         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
27321         (gl_sockets_cleanup): Unregister it.
27322         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
27323         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
27324         * modules/close-hook: New file.
27325         * modules/close (Files): Remove lib/w32sock.h.
27326         (Depends-on): Add close-hook.
27327         (Link): Remove section.
27328         * modules/sockets (Files): Add lib/w32sock.h.
27329         (Depends-on): Add close-hook.
27330         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
27331         invocation.
27332         * NEWS: Mention that LIB_CLOSE is gone.
27333
27334 2009-03-23  Eric Blake  <ebb9@byu.net>
27335
27336         signal-tests: test previous patch
27337         * tests/test-signal.c: New file.
27338         * modules/signal-tests: Likewise.
27339
27340         signal.h: always support 'volatile sig_atomic_t'
27341         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
27342         (gl_SIGNAL_H_DEFAULTS): Add a default.
27343         * modules/signal (Makefile.am): Substitute if needed.
27344         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
27345         users can blindly add volatile.
27346         * doc/posix-headers/signal.texi (signal.h): Document it.
27347         Reported by Matthew Woehlke.
27348
27349 2009-03-23  Jim Meyering  <meyering@redhat.com>
27350
27351         pathmax: PATH_MAX: use pathconf only when available
27352         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
27353         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
27354         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
27355         This avoids a link failure in a PSP cross-compilation environment
27356         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
27357
27358         * lib/vasnprintf.c (divide): Fix typo in comment.
27359
27360 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27361
27362         * gnulib-tool (func_filter_filelist): Fix comment.
27363
27364 2009-03-20  Bruno Haible  <bruno@clisp.org>
27365
27366         Make sockets.h self-contained.
27367         * lib/sockets.c: Include sockets.h first.
27368         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
27369
27370 2009-03-19  Eric Blake  <ebb9@byu.net>
27371
27372         doc: mention more functions added in cygwin 1.7.0
27373         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
27374         addition.
27375         * doc/posix-functions/log2f.texi: Likewise.
27376
27377 2009-03-19  Jim Meyering  <meyering@redhat.com>
27378
27379         fsusage: avoid syntax error due to statement-before-declaration
27380         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
27381         after all declarations.  Reported by Matthew Woehlke in
27382         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
27383
27384 2009-03-18  Eric Blake  <ebb9@byu.net>
27385
27386         build-aux/compile: sync from automake
27387         * build-aux/compile: New file, from automake.
27388         * config/srclist.txt: Mention build-aux/compile.
27389
27390 2009-03-17  Bruno Haible  <bruno@clisp.org>
27391
27392         * lib/git-merge-changelog.c: Fix typo in comment.
27393         Reported by Reuben Thomas <rrt@sc3d.org>.
27394
27395 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
27396
27397         * m4/regex.m4: update and improve help for
27398         --without-included-regex.
27399
27400 2009-03-17  Simon Josefsson  <simon@josefsson.org>
27401
27402         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
27403         failure on missing include files.
27404
27405 2009-03-17  Eric Blake  <ebb9@byu.net>
27406
27407         doc: mention more functions added in cygwin 1.7.0
27408         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
27409         addition.
27410         * doc/posix-functions/fwscanf.texi: Likewise.
27411         * doc/posix-functions/swprintf.texi: Likewise.
27412         * doc/posix-functions/swscanf.texi: Likewise.
27413         * doc/posix-functions/vfwprintf.texi: Likewise.
27414         * doc/posix-functions/vfwscanf.texi: Likewise.
27415         * doc/posix-functions/vswprintf.texi: Likewise.
27416         * doc/posix-functions/vswscanf.texi: Likewise.
27417         * doc/posix-functions/vwprintf.texi: Likewise.
27418         * doc/posix-functions/vwscanf.texi: Likewise.
27419         * doc/posix-functions/wcscasecmp.texi: Likewise.
27420         * doc/posix-functions/wcsdup.texi: Likewise.
27421         * doc/posix-functions/wcsftime.texi: Likewise.
27422         * doc/posix-functions/wcsncasecmp.texi: Likewise.
27423         * doc/posix-functions/wprintf.texi: Likewise.
27424         * doc/posix-functions/wscanf.texi: Likewise.
27425         * doc/glibc-functions/gethostbyname2.texi: Likewise.
27426
27427 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27428
27429         maint.mk: really add $(AM_MAKEFLAGS)
27430         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
27431         was inadvertently omitted in the last commit.
27432         Spotted by Bruno Haible.
27433
27434         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
27435         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
27436         $(AM_MAKEFLAGS)' rather than plain `make'.
27437
27438         gnulib-tool: execute $MAKE not make
27439         * gnulib-tool: Default $MAKE to 'make'.
27440         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
27441         than make.  Initialize $MAKE in the do-autobuild script.
27442
27443         gnulib-tool: use $MAKE not make in generated files
27444         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
27445         make, in generated files.  Initialize $MAKE in the do-autobuild
27446         script.
27447
27448         * top/GNUmakefile (_have-git-version-gen): Fix typo.
27449
27450         GNUmakefile: disable parallelism only for multiple, recursive targets
27451         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
27452         additions in the Makefile.
27453         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
27454         by Automake.
27455         (.NOTPARALLEL): Only disable parallel builds if multiple targets
27456         are listed on the command line and at least one of them is
27457         listed in $(ALL_RECURSIVE_TARGETS).
27458
27459 2009-03-14  Bruno Haible  <bruno@clisp.org>
27460
27461         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
27462         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
27463         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
27464         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
27465         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
27466         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
27467         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
27468         unistr/u8-uctomb.
27469         * modules/unistr/u8-strchr (Depends-on): Likewise.
27470         * modules/unistr/u8-strrchr (Depends-on): Likewise.
27471         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
27472         unistr/u16-uctomb.
27473         * modules/unistr/u16-strchr (Depends-on): Likewise.
27474         * modules/unistr/u16-strrchr (Depends-on): Likewise.
27475
27476 2009-03-12  Bruno Haible  <bruno@clisp.org>
27477
27478         Work around select() bug on Interix 3.5.
27479         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
27480         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
27481         * m4/select.m4: New file.
27482         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
27483         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
27484         * modules/select (Files): Add m4/select.m4.
27485         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
27486         * modules/nanosleep (Depends-on): Add select.
27487         * modules/poll (Depends-on): Likewise.
27488         * doc/posix-functions/select.texi: Mention the Interix bug.
27489         Reported by Markus Duft <mduft@gentoo.org>.
27490
27491         * lib/select.c: Renamed from lib/winsock-select.c.
27492         * modules/select (Files): Add lib/select.c, remove
27493         lib/winsock-select.c.
27494         (configure.ac): Update.
27495
27496 2009-03-12  Jim Meyering  <meyering@redhat.com>
27497
27498         avoid gcc warnings about unused macro definitions
27499         * lib/readtokens.c (STREQ): Remove unused definition.
27500         * lib/xmalloc.c (SIZE_MAX): Likewise.
27501         * lib/openat-die.c (N_): Likewise.
27502         * lib/mountlist.c (SIZE_MAX): Remove definition.
27503         Instead, include <stdint.h>.
27504         * lib/readutmp.c: Likewise.
27505         * modules/readutmp (Depends-on): Add stdint.
27506         * modules/mountlist (Depends-on): Add stdint.
27507         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
27508
27509 2009-03-10  Bruno Haible  <bruno@clisp.org>
27510
27511         Tests for module 'mbmemcasecoll'.
27512         * modules/mbmemcasecoll-tests: New file.
27513         * tests/test-mbmemcasecoll1.sh: New file.
27514         * tests/test-mbmemcasecoll2.sh: New file.
27515         * tests/test-mbmemcasecoll3.sh: New file.
27516         * tests/test-mbmemcasecoll.c: New file.
27517
27518         New module 'mbmemcasecoll'.
27519         * lib/mbmemcasecoll.h: New file.
27520         * lib/mbmemcasecoll.c: New file.
27521         * modules/mbmemcasecoll: New file.
27522
27523         * tests/test-mbmemcasecmp.h: New file, extracted from
27524         tests/test-mbmemcasecmp.c.
27525         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
27526         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
27527         (main): Update.
27528         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
27529
27530 2009-03-09  Bruno Haible  <bruno@clisp.org>
27531
27532         Tests for module 'mbmemcasecmp'.
27533         * modules/mbmemcasecmp-tests: New file.
27534         * tests/test-mbmemcasecmp1.sh: New file.
27535         * tests/test-mbmemcasecmp2.sh: New file.
27536         * tests/test-mbmemcasecmp3.sh: New file.
27537         * tests/test-mbmemcasecmp.c: New file.
27538
27539         New module 'mbmemcasecmp'.
27540         * lib/mbmemcasecmp.h: New file.
27541         * lib/mbmemcasecmp.c: New file.
27542         * modules/mbmemcasecmp: New file.
27543
27544 2009-03-09  Bruno Haible  <bruno@clisp.org>
27545
27546         Tests for module 'unicase/ulc-casecoll'.
27547         * modules/unicase/ulc-casecoll-tests: New file.
27548         * tests/unicase/test-ulc-casecoll1.sh: New file.
27549         * tests/unicase/test-ulc-casecoll2.sh: New file.
27550         * tests/unicase/test-ulc-casecoll.c: New file.
27551
27552         New module 'unicase/ulc-casecoll'.
27553         * lib/unicase.h (ulc_casecoll): New declaration.
27554         * lib/unicase/ulc-casecoll.c: New file.
27555         * modules/unicase/ulc-casecoll: New file.
27556
27557         New module 'unicase/ulc-casexfrm'.
27558         * lib/unicase.h (ulc_casexfrm): New declaration.
27559         * lib/unicase/ulc-casexfrm.c: New file.
27560         * modules/unicase/ulc-casexfrm: New file.
27561
27562 2009-03-09  Bruno Haible  <bruno@clisp.org>
27563
27564         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
27565         invocations.
27566
27567         * m4/mbscasecmp.m4: Remove file.
27568         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
27569         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
27570
27571         * m4/mbscasestr.m4: Remove file.
27572         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
27573         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
27574
27575         * m4/mbschr.m4: Remove file.
27576         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
27577         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
27578
27579         * m4/mbscspn.m4: Remove file.
27580         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
27581         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
27582
27583         * m4/mbslen.m4: Remove file.
27584         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
27585         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
27586
27587         * m4/mbsncasecmp.m4: Remove file.
27588         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
27589         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
27590
27591         * m4/mbsnlen.m4: Remove file.
27592         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
27593         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
27594
27595         * m4/mbspbrk.m4: Remove file.
27596         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
27597         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
27598
27599         * m4/mbspcasecmp.m4: Remove file.
27600         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
27601         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
27602
27603         * m4/mbsrchr.m4: Remove file.
27604         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
27605         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
27606
27607         * m4/mbssep.m4: Remove file.
27608         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
27609         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
27610
27611         * m4/mbsspn.m4: Remove file.
27612         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
27613         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
27614
27615         * m4/mbsstr.m4: Remove file.
27616         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
27617         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
27618
27619         * m4/mbstok_r.m4: Remove file.
27620         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
27621         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
27622
27623         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
27624
27625         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
27626         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
27627
27628         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
27629
27630 2009-03-08  Bruno Haible  <bruno@clisp.org>
27631
27632         Tests for module 'unicase/ulc-casecmp'.
27633         * modules/unicase/ulc-casecmp-tests: New file.
27634         * tests/unicase/test-ulc-casecmp1.sh: New file.
27635         * tests/unicase/test-ulc-casecmp2.sh: New file.
27636         * tests/unicase/test-ulc-casecmp.c: New file.
27637
27638         New module 'unicase/ulc-casecmp'.
27639         * lib/unicase.h (ulc_casecmp): New declaration.
27640         * lib/unicase/ulc-casecmp.c: New file.
27641         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
27642         'const SRC_UNIT *'.
27643         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
27644         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
27645         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
27646         * modules/unicase/ulc-casecmp: New file.
27647
27648         Tests for module 'unicase/u32-is-cased'.
27649         * modules/unicase/u32-is-cased-tests: New file.
27650         * tests/unicase/test-u32-is-cased.c: New file.
27651
27652         Tests for module 'unicase/u16-is-cased'.
27653         * modules/unicase/u16-is-cased-tests: New file.
27654         * tests/unicase/test-u16-is-cased.c: New file.
27655
27656         Tests for module 'unicase/u8-is-cased'.
27657         * modules/unicase/u8-is-cased-tests: New file.
27658         * tests/unicase/test-u8-is-cased.c: New file.
27659         * tests/unicase/test-is-cased.h: New file.
27660
27661         New module 'unicase/u32-is-cased'.
27662         * lib/unicase/u32-is-cased.c: New file.
27663         * modules/unicase/u32-is-cased: New file.
27664
27665         New module 'unicase/u16-is-cased'.
27666         * lib/unicase/u16-is-cased.c: New file.
27667         * modules/unicase/u16-is-cased: New file.
27668
27669         New module 'unicase/u8-is-cased'.
27670         * lib/unicase/u8-is-cased.c: New file.
27671         * lib/unicase/u-is-cased.h: New file.
27672         * modules/unicase/u8-is-cased: New file.
27673
27674         Tests for module 'unicase/u32-is-casefolded'.
27675         * modules/unicase/u32-is-casefolded-tests: New file.
27676         * tests/unicase/test-u32-is-casefolded.c: New file.
27677
27678         Tests for module 'unicase/u16-is-casefolded'.
27679         * modules/unicase/u16-is-casefolded-tests: New file.
27680         * tests/unicase/test-u16-is-casefolded.c: New file.
27681
27682         Tests for module 'unicase/u8-is-casefolded'.
27683         * modules/unicase/u8-is-casefolded-tests: New file.
27684         * tests/unicase/test-u8-is-casefolded.c: New file.
27685         * tests/unicase/test-is-casefolded.h: New file.
27686
27687         New module 'unicase/u32-is-casefolded'.
27688         * lib/unicase/u32-is-casefolded.c: New file.
27689         * modules/unicase/u32-is-casefolded: New file.
27690
27691         New module 'unicase/u16-is-casefolded'.
27692         * lib/unicase/u16-is-casefolded.c: New file.
27693         * modules/unicase/u16-is-casefolded: New file.
27694
27695         New module 'unicase/u8-is-casefolded'.
27696         * lib/unicase/u8-is-casefolded.c: New file.
27697         * modules/unicase/u8-is-casefolded: New file.
27698
27699         Tests for module 'unicase/u32-is-titlecase'.
27700         * modules/unicase/u32-is-titlecase-tests: New file.
27701         * tests/unicase/test-u32-is-titlecase.c: New file.
27702
27703         Tests for module 'unicase/u16-is-titlecase'.
27704         * modules/unicase/u16-is-titlecase-tests: New file.
27705         * tests/unicase/test-u16-is-titlecase.c: New file.
27706
27707         Tests for module 'unicase/u8-is-titlecase'.
27708         * modules/unicase/u8-is-titlecase-tests: New file.
27709         * tests/unicase/test-u8-is-titlecase.c: New file.
27710         * tests/unicase/test-is-titlecase.h: New file.
27711
27712         New module 'unicase/u32-is-titlecase'.
27713         * lib/unicase/u32-is-titlecase.c: New file.
27714         * modules/unicase/u32-is-titlecase: New file.
27715
27716         New module 'unicase/u16-is-titlecase'.
27717         * lib/unicase/u16-is-titlecase.c: New file.
27718         * modules/unicase/u16-is-titlecase: New file.
27719
27720         New module 'unicase/u8-is-titlecase'.
27721         * lib/unicase/u8-is-titlecase.c: New file.
27722         * modules/unicase/u8-is-titlecase: New file.
27723
27724         Tests for module 'unicase/u32-is-lowercase'.
27725         * modules/unicase/u32-is-lowercase-tests: New file.
27726         * tests/unicase/test-u32-is-lowercase.c: New file.
27727
27728         Tests for module 'unicase/u16-is-lowercase'.
27729         * modules/unicase/u16-is-lowercase-tests: New file.
27730         * tests/unicase/test-u16-is-lowercase.c: New file.
27731
27732         Tests for module 'unicase/u8-is-lowercase'.
27733         * modules/unicase/u8-is-lowercase-tests: New file.
27734         * tests/unicase/test-u8-is-lowercase.c: New file.
27735         * tests/unicase/test-is-lowercase.h: New file.
27736
27737         New module 'unicase/u32-is-lowercase'.
27738         * lib/unicase/u32-is-lowercase.c: New file.
27739         * modules/unicase/u32-is-lowercase: New file.
27740
27741         New module 'unicase/u16-is-lowercase'.
27742         * lib/unicase/u16-is-lowercase.c: New file.
27743         * modules/unicase/u16-is-lowercase: New file.
27744
27745         New module 'unicase/u8-is-lowercase'.
27746         * lib/unicase/u8-is-lowercase.c: New file.
27747         * modules/unicase/u8-is-lowercase: New file.
27748
27749         Tests for module 'unicase/u32-is-uppercase'.
27750         * modules/unicase/u32-is-uppercase-tests: New file.
27751         * tests/unicase/test-u32-is-uppercase.c: New file.
27752
27753         Tests for module 'unicase/u16-is-uppercase'.
27754         * modules/unicase/u16-is-uppercase-tests: New file.
27755         * tests/unicase/test-u16-is-uppercase.c: New file.
27756
27757         Tests for module 'unicase/u8-is-uppercase'.
27758         * modules/unicase/u8-is-uppercase-tests: New file.
27759         * tests/unicase/test-u8-is-uppercase.c: New file.
27760         * tests/unicase/test-is-uppercase.h: New file.
27761
27762         New module 'unicase/u32-is-uppercase'.
27763         * lib/unicase/u32-is-uppercase.c: New file.
27764         * modules/unicase/u32-is-uppercase: New file.
27765
27766         New module 'unicase/u16-is-uppercase'.
27767         * lib/unicase/u16-is-uppercase.c: New file.
27768         * modules/unicase/u16-is-uppercase: New file.
27769
27770         New module 'unicase/u8-is-uppercase'.
27771         * lib/unicase/u8-is-uppercase.c: New file.
27772         * modules/unicase/u8-is-uppercase: New file.
27773
27774         New module 'unicase/u32-is-invariant'.
27775         * lib/unicase/u32-is-invariant.c: New file.
27776         * modules/unicase/u32-is-invariant: New file.
27777
27778         New module 'unicase/u16-is-invariant'.
27779         * lib/unicase/u16-is-invariant.c: New file.
27780         * modules/unicase/u16-is-invariant: New file.
27781
27782         New module 'unicase/u8-is-invariant'.
27783         * lib/unicase/u8-is-invariant.c: New file.
27784         * lib/unicase/invariant.h: New file.
27785         * lib/unicase/u-is-invariant.h: New file.
27786         * modules/unicase/u8-is-invariant: New file.
27787
27788         Tests for module 'unicase/u32-casecoll'.
27789         * modules/unicase/u32-casecoll-tests: New file.
27790         * tests/unicase/test-u32-casecoll.c: New file.
27791
27792         Tests for module 'unicase/u16-casecoll'.
27793         * modules/unicase/u16-casecoll-tests: New file.
27794         * tests/unicase/test-u16-casecoll.c: New file.
27795
27796         Tests for module 'unicase/u8-casecoll'.
27797         * modules/unicase/u8-casecoll-tests: New file.
27798         * tests/unicase/test-u8-casecoll.c: New file.
27799
27800         New module 'unicase/u32-casecoll'.
27801         * lib/unicase/u32-casecoll.c: New file.
27802         * modules/unicase/u32-casecoll: New file.
27803
27804         New module 'unicase/u16-casecoll'.
27805         * lib/unicase/u16-casecoll.c: New file.
27806         * modules/unicase/u16-casecoll: New file.
27807
27808         New module 'unicase/u8-casecoll'.
27809         * lib/unicase/u8-casecoll.c: New file.
27810         * lib/unicase/u-casecoll.h: New file.
27811         * modules/unicase/u8-casecoll: New file.
27812
27813         New module 'unicase/u32-casexfrm'.
27814         * lib/unicase/u32-casexfrm.c: New file.
27815         * modules/unicase/u32-casexfrm: New file.
27816
27817         New module 'unicase/u16-casexfrm'.
27818         * lib/unicase/u16-casexfrm.c: New file.
27819         * modules/unicase/u16-casexfrm: New file.
27820
27821         New module 'unicase/u8-casexfrm'.
27822         * lib/unicase/u8-casexfrm.c: New file.
27823         * lib/unicase/u-casexfrm.h: New file.
27824         * modules/unicase/u8-casexfrm: New file.
27825
27826         Tests for module 'unicase/u32-casecmp'.
27827         * modules/unicase/u32-casecmp-tests: New file.
27828         * tests/unicase/test-u32-casecmp.c: New file.
27829
27830         Tests for module 'unicase/u16-casecmp'.
27831         * modules/unicase/u16-casecmp-tests: New file.
27832         * tests/unicase/test-u16-casecmp.c: New file.
27833
27834         Tests for module 'unicase/u8-casecmp'.
27835         * modules/unicase/u8-casecmp-tests: New file.
27836         * tests/unicase/test-u8-casecmp.c: New file.
27837         * tests/unicase/test-casecmp.h: New file.
27838
27839         New module 'unicase/u32-casecmp'.
27840         * lib/unicase/u32-casecmp.c: New file.
27841         * modules/unicase/u32-casecmp: New file.
27842
27843         New module 'unicase/u16-casecmp'.
27844         * lib/unicase/u16-casecmp.c: New file.
27845         * modules/unicase/u16-casecmp: New file.
27846
27847         New module 'unicase/u8-casecmp'.
27848         * lib/unicase/u8-casecmp.c: New file.
27849         * lib/unicase/u-casecmp.h: New file.
27850         * modules/unicase/u8-casecmp: New file.
27851
27852         Tests for module 'unicase/u32-casefold'.
27853         * modules/unicase/u32-casefold-tests: New file.
27854         * tests/unicase/test-u32-casefold.c: New file.
27855
27856         Tests for module 'unicase/u16-casefold'.
27857         * modules/unicase/u16-casefold-tests: New file.
27858         * tests/unicase/test-u16-casefold.c: New file.
27859
27860         Tests for module 'unicase/u8-casefold'.
27861         * modules/unicase/u8-casefold-tests: New file.
27862         * tests/unicase/test-u8-casefold.c: New file.
27863
27864         New module 'unicase/u32-casefold'.
27865         * lib/unicase/u32-casefold.c: New file.
27866         * modules/unicase/u32-casefold: New file.
27867
27868         New module 'unicase/u16-casefold'.
27869         * lib/unicase/u16-casefold.c: New file.
27870         * modules/unicase/u16-casefold: New file.
27871
27872         New module 'unicase/u8-casefold'.
27873         * lib/unicase/u8-casefold.c: New file.
27874         * lib/unicase/u-casefold.h: New file.
27875         * modules/unicase/u8-casefold: New file.
27876
27877         New module 'unicase/tocasefold'.
27878         * lib/unicase/casefold.h: New file.
27879         * lib/unicase/tocasefold.c: New file.
27880         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
27881         * modules/unicase/tocasefold: New file.
27882
27883         Tests for module 'unicase/u32-totitle'.
27884         * modules/unicase/u32-totitle-tests: New file.
27885         * tests/unicase/test-u32-totitle.c: New file.
27886
27887         Tests for module 'unicase/u16-totitle'.
27888         * modules/unicase/u16-totitle-tests: New file.
27889         * tests/unicase/test-u16-totitle.c: New file.
27890
27891         Tests for module 'unicase/u8-totitle'.
27892         * modules/unicase/u8-totitle-tests: New file.
27893         * tests/unicase/test-u8-totitle.c: New file.
27894
27895         New module 'unicase/u32-totitle'.
27896         * lib/unicase/u32-totitle.c: New file.
27897         * modules/unicase/u32-totitle: New file.
27898
27899         New module 'unicase/u16-totitle'.
27900         * lib/unicase/u16-totitle.c: New file.
27901         * modules/unicase/u16-totitle: New file.
27902
27903         New module 'unicase/u8-totitle'.
27904         * lib/unicase/u8-totitle.c: New file.
27905         * lib/unicase/u-totitle.h: New file.
27906         * modules/unicase/u8-totitle: New file.
27907
27908         Tests for module 'unicase/u32-tolower'.
27909         * modules/unicase/u32-tolower-tests: New file.
27910         * tests/unicase/test-u32-tolower.c: New file.
27911
27912         Tests for module 'unicase/u16-tolower'.
27913         * modules/unicase/u16-tolower-tests: New file.
27914         * tests/unicase/test-u16-tolower.c: New file.
27915
27916         Tests for module 'unicase/u8-tolower'.
27917         * modules/unicase/u8-tolower-tests: New file.
27918         * tests/unicase/test-u8-tolower.c: New file.
27919
27920         New module 'unicase/u32-tolower'.
27921         * lib/unicase/u32-tolower.c: New file.
27922         * modules/unicase/u32-tolower: New file.
27923
27924         New module 'unicase/u16-tolower'.
27925         * lib/unicase/u16-tolower.c: New file.
27926         * modules/unicase/u16-tolower: New file.
27927
27928         New module 'unicase/u8-tolower'.
27929         * lib/unicase/u8-tolower.c: New file.
27930         * modules/unicase/u8-tolower: New file.
27931
27932         Tests for module 'unicase/u32-toupper'.
27933         * modules/unicase/u32-toupper-tests: New file.
27934         * tests/unicase/test-u32-toupper.c: New file.
27935
27936         Tests for module 'unicase/u16-toupper'.
27937         * modules/unicase/u16-toupper-tests: New file.
27938         * tests/unicase/test-u16-toupper.c: New file.
27939
27940         Tests for module 'unicase/u8-toupper'.
27941         * modules/unicase/u8-toupper-tests: New file.
27942         * tests/unicase/test-u8-toupper.c: New file.
27943
27944         New module 'unicase/u32-toupper'.
27945         * lib/unicase/u32-toupper.c: New file.
27946         * modules/unicase/u32-toupper: New file.
27947
27948         New module 'unicase/u16-toupper'.
27949         * lib/unicase/u16-toupper.c: New file.
27950         * modules/unicase/u16-toupper: New file.
27951
27952         New module 'unicase/u8-toupper'.
27953         * lib/unicase/u8-toupper.c: New file.
27954         * modules/unicase/u8-toupper: New file.
27955
27956         New module 'unicase/u32-casemap'.
27957         * lib/unicase/u32-casemap.c: New file.
27958         * modules/unicase/u32-casemap: New file.
27959
27960         New module 'unicase/u16-casemap'.
27961         * lib/unicase/u16-casemap.c: New file.
27962         * modules/unicase/u16-casemap: New file.
27963
27964         New module 'unicase/u8-casemap'.
27965         * lib/unicase/unicasemap.h: New file.
27966         * lib/unicase/u8-casemap.c: New file.
27967         * lib/unicase/u-casemap.h: New file.
27968         * modules/unicase/u8-casemap: New file.
27969
27970         New module 'unicase/special-casing'.
27971         * lib/unicase/special-casing.h: New file.
27972         * lib/unicase/special-casing.c: New file.
27973         * lib/unicase/special-casing-table.gperf: New file, generated by
27974         gen-uni-tables.c.
27975         * modules/unicase/special-casing: New file.
27976
27977         Tests for module 'unicase/locale-language'.
27978         * modules/unicase/locale-language-tests: New file.
27979         * tests/unicase/test-locale-language.sh: New file.
27980         * tests/unicase/test-locale-language.c: New file.
27981
27982         New module 'unicase/locale-language'.
27983         * lib/unicase/locale-language.c: New file.
27984         * lib/unicase/locale-languages.gperf: New file.
27985         * modules/unicase/locale-language: New file.
27986
27987         Generate more tables for case conversion and case folding.
27988         * lib/gen-uni-tables.c (SCC_*): New enum items.
27989         (struct special_casing_rule): New type.
27990         (casing_rules, num_casing_rules, allocated_casing_rules): New
27991         variables.
27992         (add_casing_rule, fill_casing_rules): New functions.
27993         (struct casefold_rule): New type.
27994         (casefolding_rules, num_casefolding_rules,
27995         allocated_casefolding_rules): New variables.
27996         (fill_casefolding_rules): New function.
27997         (unicode_casefold): New variable.
27998         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
27999         sort_casing_rules, output_casing_rules): New functions.
28000         (main): Accept to more arguments: SpecialCasing.txt and
28001         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
28002         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
28003         Output mapping for casefolding.
28004
28005         * lib/unicase.h: Include stdbool.h, uninorm.h.
28006         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
28007         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
28008         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
28009         arguments.
28010         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
28011         resultp arguments.
28012         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
28013         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
28014         resultp arguments.
28015         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
28016         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
28017         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
28018         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
28019         declarations.
28020         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
28021
28022 2009-03-08  Bruno Haible  <bruno@clisp.org>
28023
28024         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
28025         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
28026         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
28027         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
28028
28029 2009-03-07  Bruno Haible  <bruno@clisp.org>
28030
28031         Adjust u*_normcmp, u*_normcoll API.
28032         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
28033         u16_normcoll, u32_normcoll): Change failure conventions.
28034         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
28035         errno and return -1.
28036         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
28037
28038 2009-03-07  Bruno Haible  <bruno@clisp.org>
28039
28040         Tests for module 'uninorm/u32-normcoll'.
28041         * modules/uninorm/u32-normcoll-tests: New file.
28042         * tests/uninorm/test-u32-normcoll.c: New file.
28043
28044         Tests for module 'uninorm/u16-normcoll'.
28045         * modules/uninorm/u16-normcoll-tests: New file.
28046         * tests/uninorm/test-u16-normcoll.c: New file.
28047
28048         Tests for module 'uninorm/u8-normcoll'.
28049         * modules/uninorm/u8-normcoll-tests: New file.
28050         * tests/uninorm/test-u8-normcoll.c: New file.
28051
28052 2009-03-07  Bruno Haible  <bruno@clisp.org>
28053
28054         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
28055         tests/uninorm/test-u32-normcmp.c.
28056         * tests/uninorm/test-u32-normcmp.c: Include it.
28057         (test_nonascii): New function, extracted from main. Add some more
28058         tests.
28059         (main): Invoke test_ascii and test_nonascii.
28060         * modules/uninorm/u32-normcmp-tests (Files): Add
28061         tests/uninorm/test-u32-normcmp.h.
28062         (Depends-on): Remove uninorm/u32-normcmp.
28063
28064         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
28065         tests/uninorm/test-u16-normcmp.c.
28066         * tests/uninorm/test-u16-normcmp.c: Include it.
28067         (test_nonascii): New function, extracted from main. Add some more
28068         tests.
28069         (main): Invoke test_ascii and test_nonascii.
28070         * modules/uninorm/u16-normcmp-tests (Files): Add
28071         tests/uninorm/test-u16-normcmp.h.
28072         (Depends-on): Remove uninorm/u16-normcmp.
28073
28074         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
28075         tests/uninorm/test-u8-normcmp.c.
28076         * tests/uninorm/test-u8-normcmp.c: Include it.
28077         (test_nonascii): New function, extracted from main. Add some more
28078         tests.
28079         (main): Invoke test_ascii and test_nonascii.
28080         * modules/uninorm/u8-normcmp-tests (Files): Add
28081         tests/uninorm/test-u8-normcmp.h.
28082         (Depends-on): Remove uninorm/u8-normcmp.
28083
28084 2009-03-07  Bruno Haible  <bruno@clisp.org>
28085
28086         New module 'uninorm/u32-normcoll'.
28087         * lib/uninorm/u32-normcoll.c: New file.
28088         * modules/uninorm/u32-normcoll: New file.
28089
28090         New module 'uninorm/u16-normcoll'.
28091         * lib/uninorm/u16-normcoll.c: New file.
28092         * modules/uninorm/u16-normcoll: New file.
28093
28094         New module 'uninorm/u8-normcoll'.
28095         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
28096         declarations.
28097         * lib/uninorm/u8-normcoll.c: New file.
28098         * lib/uninorm/u-normcoll.h: New file.
28099         * modules/uninorm/u8-normcoll: New file.
28100
28101         New module 'uninorm/u32-normxfrm'.
28102         * lib/uninorm/u32-normxfrm.c: New file.
28103         * modules/uninorm/u32-normxfrm: New file.
28104
28105         New module 'uninorm/u16-normxfrm'.
28106         * lib/uninorm/u16-normxfrm.c: New file.
28107         * modules/uninorm/u16-normxfrm: New file.
28108
28109         New module 'uninorm/u8-normxfrm'.
28110         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
28111         declarations.
28112         * lib/uninorm/u8-normxfrm.c: New file.
28113         * lib/uninorm/u-normxfrm.h: New file.
28114         * modules/uninorm/u8-normxfrm: New file.
28115
28116 2009-03-07  Bruno Haible  <bruno@clisp.org>
28117
28118         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
28119         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
28120         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
28121
28122 2009-03-07  Bruno Haible  <bruno@clisp.org>
28123
28124         New module 'memxfrm'.
28125         * lib/memxfrm.h: New file.
28126         * lib/memxfrm.c: New file.
28127         * modules/memxfrm: New file.
28128
28129 2009-03-07  Bruno Haible  <bruno@clisp.org>
28130
28131         New module 'memcmp2'.
28132         * lib/memcmp2.h: New file.
28133         * lib/memcmp2.c: New file.
28134         * modules/memcmp2: New file.
28135
28136 2009-03-07  Bruno Haible  <bruno@clisp.org>
28137
28138         Tests for module 'uninorm/decomposing-form'.
28139         * modules/uninorm/decomposing-form-tests: New file.
28140         * tests/uninorm/test-decomposing-form.c: New file.
28141
28142         New module 'uninorm/decomposing-form'.
28143         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
28144         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
28145         Add 'decomposing_variant' field.
28146         * lib/uninorm/decomposing-form.c: New file.
28147         * lib/uninorm/nfc.c (uninorm_nfc): Update.
28148         * lib/uninorm/nfd.c (uninorm_nfd): Update.
28149         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
28150         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
28151         * modules/uninorm/decomposing-form: New file.
28152         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
28153         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
28154
28155 2009-03-07  Bruno Haible  <bruno@clisp.org>
28156
28157         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
28158         strings.
28159
28160 2009-03-06  Bruno Haible  <bruno@clisp.org>
28161
28162         Tests for module 'uninorm/u32-normcmp'.
28163         * tests/uninorm/test-u32-normcmp.c: New file.
28164         * modules/uninorm/u32-normcmp-tests: New file.
28165
28166         Tests for module 'uninorm/u16-normcmp'.
28167         * tests/uninorm/test-u16-normcmp.c: New file.
28168         * modules/uninorm/u16-normcmp-tests: New file.
28169
28170         Tests for module 'uninorm/u8-normcmp'.
28171         * tests/uninorm/test-u8-normcmp.c: New file.
28172         * modules/uninorm/u8-normcmp-tests: New file.
28173
28174         New module 'uninorm/u32-normcmp'.
28175         * lib/uninorm/u32-normcmp.c: New file.
28176         * modules/uninorm/u32-normcmp: New file.
28177
28178         New module 'uninorm/u16-normcmp'.
28179         * lib/uninorm/u16-normcmp.c: New file.
28180         * modules/uninorm/u16-normcmp: New file.
28181
28182         New module 'uninorm/u8-normcmp'.
28183         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
28184         declarations.
28185         * lib/uninorm/u8-normcmp.c: New file.
28186         * lib/uninorm/u-normcmp.h: New file.
28187         * modules/uninorm/u8-normcmp: New file.
28188
28189 2009-03-06  Bruno Haible  <bruno@clisp.org>
28190
28191         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
28192         Reported by Eric Blake.
28193
28194 2009-03-06  Eric Blake  <ebb9@byu.net>
28195             Bruno Haible  <bruno@clisp.org>
28196
28197         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
28198         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
28199         condition.
28200         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
28201         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
28202         condition.
28203         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
28204
28205 2009-03-06  Eric Blake  <ebb9@byu.net>
28206
28207         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
28208         to avoid compiler warnings.
28209         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
28210
28211 2009-03-05  Bruno Haible  <bruno@clisp.org>
28212
28213         * tests/test-ftell.c (main): Disable test beyond end of file on
28214         FreeMiNT.
28215         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
28216
28217 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
28218
28219         * lib/filevercmp.c: Move hidden files up in ordering.
28220         * tests/test-filevercmp.c: Add tests for hidden files.
28221
28222 2009-03-04  Bruno Haible  <bruno@clisp.org>
28223
28224         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
28225         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
28226         AM_CFLAGS.
28227         Reported by Simon Josefsson.
28228
28229 2009-03-03  Bruno Haible  <bruno@clisp.org>
28230
28231         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
28232         Reported by Simon Josefsson.
28233
28234         * doc/ld-version-script.texi: Update node reference.
28235
28236 2009-03-03  Bruno Haible  <bruno@clisp.org>
28237
28238         * modules/visibility (License): Change to 'unlimited'.
28239         Suggested by Simon Josefsson.
28240
28241 2009-03-03  Jim Meyering  <meyering@redhat.com>
28242
28243         unlinkdir: cannot_unlink_dir may modify process state
28244         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
28245         it's neither thread-safe nor appropriate for use in a library.
28246
28247 2009-03-03  Eric Blake  <ebb9@byu.net>
28248
28249         test-closein: silence test under Darwin
28250         * tests/test-closein.sh: Ignore stderr from cat, since we don't
28251         care if it dies from EPIPE or EBADF.
28252
28253 2009-03-03  Bruno Haible  <bruno@clisp.org>
28254
28255         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
28256         earlier.
28257         * doc/visibility.texi: Fix @node and @section.
28258
28259 2009-03-03  Simon Josefsson  <simon@josefsson.org>
28260
28261         * doc/gnulib.texi: Link to sections for ld version script and
28262         visibility.
28263         * doc/visibility.texi: Add @node and @section.
28264         * modules/ld-version-script: New module.
28265         * m4/ld-version-script.m4: New file.
28266         * doc/ld-version-script.texi: New file.
28267
28268 2009-03-02  David Lutterkort  <lutter@redhat.com>
28269
28270         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
28271         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
28272
28273 2009-03-02  Bruno Haible  <bruno@clisp.org>
28274
28275         * doc/visibility.texi: Mention libtool's -export-symbols option.
28276
28277 2009-03-02  Jim Meyering  <meyering@redhat.com>
28278
28279         announce-gen: new option: --no-print-checksums
28280         * build-aux/announce-gen (usage): Describe it.
28281         (print_checksums): Print a newline here, not in the [*] footnote.
28282         (main): Honor it.
28283
28284 2009-03-01  Bruno Haible  <bruno@clisp.org>
28285
28286         Use socklen_t in the native Windows replacements prototypes.
28287         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
28288         instead of 'int'.
28289         * lib/getsockopt.c (rpl_getsockopt): Likewise.
28290         * lib/setsockopt.c (rpl_setsockopt): Likewise.
28291         * modules/getsockopt (Depends-on): Add socklen.
28292         * modules/setsockopt (Depends-on): Add socklen.
28293
28294 2009-03-01  Bruno Haible  <bruno@clisp.org>
28295
28296         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
28297         least 4.2.
28298
28299 2009-03-01  Eric Blake  <ebb9@byu.net>
28300             Bruno Haible  <bruno@clisp.org>
28301
28302         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
28303         error messages.
28304         * lib/wait-process.c (wait_subprocess): Omit error message about
28305         deadly signal sent to the child of termsigp != NULL.
28306
28307 2009-03-01  Eric Blake  <ebb9@byu.net>
28308
28309         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
28310
28311 2009-03-01  Bruno Haible  <bruno@clisp.org>
28312
28313         Avoid a gcc warning.
28314         * tests/test-sched.c (b): Make global.
28315         Reported by Eric Blake.
28316
28317 2009-01-19  Martin Lambers  <marlam@marlam.de>
28318
28319         Provide POSIX semantics for socket timeout options on W32.
28320         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
28321         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
28322         * modules/setsockopt: Depend on sys_time module for struct timeval.
28323         * modules/getsockopt: Depend on sys_time module for struct timeval.
28324
28325 2009-03-01  Simon Josefsson  <simon@josefsson.org>
28326
28327         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
28328         __USE_GNU, for consistency with netdb.in.h.
28329         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
28330
28331 2009-03-01  Bruno Haible  <bruno@clisp.org>
28332
28333         More support for FreeMiNT.
28334         * lib/fseeko.c (rpl_fseeko): Complete last commit.
28335         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
28336
28337 2009-03-01  Bruno Haible  <bruno@clisp.org>
28338
28339         More support for FreeMiNT.
28340         * lib/fpurge.c (fpurge): Correct last commit.
28341         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
28342
28343 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28344
28345         Fix unportable awk script in vc-list-files.
28346         * build-aux/vc-list-files: In the replacement awk script, use
28347         substr with a second argument of 1, not zero.
28348         Report by Simon Josefsson.
28349
28350 2009-02-28  Bruno Haible  <bruno@clisp.org>
28351
28352         More support for FreeMiNT.
28353         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
28354         to FreeMiNT today.
28355         * lib/fwriting.c (fwriting): Likewise.
28356         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
28357
28358 2009-02-28  Bruno Haible  <bruno@clisp.org>
28359
28360         * tests/test-freadseek.c (main): Disable test beyond end of file on
28361         FreeMiNT.
28362         * tests/test-ftello.c (main): Likewise.
28363         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
28364
28365 2009-02-28  Bruno Haible  <bruno@clisp.org>
28366
28367         Add tentative support for FreeMiNT.
28368         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
28369         * lib/fpurge.c (fpurge): Likewise.
28370         * lib/freadable.c (freadable): Likewise.
28371         * lib/freading.c (freading): Likewise.
28372         * lib/freadptr.c (freadptr): Likewise.
28373         * lib/freadseek.c (freadptrinc): Likewise.
28374         * lib/fseeko.c (rpl_fseeko): Likewise.
28375         * lib/fseterr.c (fseterr): Likewise.
28376         * lib/fwritable.c (fwritable): Likewise.
28377         * lib/fwriting.c (fwriting): Likewise.
28378         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
28379         Hourihane.
28380         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
28381
28382 2009-02-28  Bruno Haible  <bruno@clisp.org>
28383
28384         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
28385         SIGCHLD.
28386         Reported by Jim Meyering.
28387
28388 2009-02-28  Bruno Haible  <bruno@clisp.org>
28389
28390         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
28391         Mention the results of these tests on various platforms.
28392         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
28393         order.
28394         * doc/posix-functions/printf.texi: Likewise.
28395         * doc/posix-functions/snprintf.texi: Likewise.
28396         * doc/posix-functions/sprintf.texi: Likewise.
28397         * doc/posix-functions/vfprintf.texi: Likewise.
28398         * doc/posix-functions/vprintf.texi: Likewise.
28399         * doc/posix-functions/vsnprintf.texi: Likewise.
28400         * doc/posix-functions/vsprintf.texi: Likewise.
28401         * doc/glibc-functions/obstack_printf.texi: Likewise.
28402         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
28403
28404 2009-02-28  Bruno Haible  <bruno@clisp.org>
28405
28406         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
28407         Reported by Loïc Minier <lool@dooz.org>.
28408
28409 2009-02-27  Bruno Haible  <bruno@clisp.org>
28410
28411         * gnulib-tool (func_import): Make the sed expression used to create the
28412         sed script for updating the .gitignore file POSIX compliant.
28413         Reported by Eric Blake.
28414
28415 2009-02-27  Bruno Haible  <bruno@clisp.org>
28416
28417         * gnulib-tool (sed): Don't alias as "sed --posix".
28418         Reported by Eric Blake.
28419
28420 2009-02-27  Bruno Haible  <bruno@clisp.org>
28421
28422         Avoid test link errors.
28423         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
28424         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
28425         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
28426         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
28427         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
28428
28429 2009-02-27  Bruno Haible  <bruno@clisp.org>
28430
28431         Avoid spurious "(cached)" in configure output.
28432         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
28433         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
28434         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
28435         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
28436         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
28437         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
28438         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
28439         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
28440         Reported by Eric Blake.
28441
28442 2009-02-27  Eric Blake  <ebb9@byu.net>
28443
28444         printf: fix regression in previous patch
28445         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
28446
28447 2009-02-27  Bruno Haible  <bruno@clisp.org>
28448
28449         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
28450         value.
28451         * lib/stdint.in.h: Likewise.
28452         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
28453
28454 2009-02-27  Eric Blake  <ebb9@byu.net>
28455
28456         doc: mention more functions added in cygwin 1.7.0
28457         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
28458         addition.
28459         * doc/posix-functions/open_wmemstream.texi: Likewise.
28460         * doc/posix-functions/wcsnlen.texi: Likewise.
28461         * doc/posix-functions/wcsnrtombs.texi: Likewise.
28462         * doc/posix-functions/wcstod.texi: Likewise.
28463         * doc/posix-functions/wcstof.texi: Likewise.
28464         * doc/posix-functions/wcstoimax.texi: Likewise.
28465         * doc/posix-functions/wcstok.texi: Likewise.
28466         * doc/posix-functions/wcstoumax.texi: Likewise.
28467
28468         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
28469         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
28470         * doc/posix-functions/fprintf.texi: Update.
28471         * doc/posix-functions/printf.texi: Update.
28472         * doc/posix-functions/snprintf.texi: Update.
28473         * doc/posix-functions/sprintf.texi: Update.
28474         * doc/posix-functions/vfprintf.texi: Update.
28475         * doc/posix-functions/vprintf.texi: Update.
28476         * doc/posix-functions/vsnprintf.texi: Update.
28477         * doc/posix-functions/vsprintf.texi: Update.
28478         * doc/glibc-functions/obstack_printf.texi: Update.
28479         * doc/glibc-functions/obstack_vprintf.texi: Update.
28480
28481 2009-02-26  Eric Blake  <ebb9@byu.net>
28482
28483         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
28484         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
28485         compilation bug by using runtime conversion.
28486         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
28487         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
28488         * modules/ceill-tests (Files): Use nan.h.
28489         * modules/floorl-tests (Files): Likewise.
28490         * modules/frexpl-tests (Files): Likewise.
28491         * modules/isnanl-tests (Files): Likewise.
28492         * modules/ldexpl-tests (Files): Likewise.
28493         * modules/roundl-tests (Files): Likewise.
28494         * modules/truncl-tests (Files): Likewise.
28495         * tests/test-ceill.c (main): Use a working NaN.
28496         * tests/test-floorl.c (main): Likewise.
28497         * tests/test-frexpl.c (main): Likewise.
28498         * tests/test-isnan.c (test_long_double): Likewise.
28499         * tests/test-isnanl.h (main): Likewise.
28500         * tests/test-ldexpl.h (main): Likewise.
28501         * tests/test-roundl.h (main): Likewise.
28502         * tests/test-truncl.h (main): Likewise.
28503         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
28504
28505 2009-02-26  Eric Blake  <ebb9@byu.net>
28506             Bruno Haible  <bruno@clisp.org>
28507
28508         Work around a *printf bug with %ls on Solaris.
28509         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
28510         precision is specified, sprintf stops converting the wide string
28511         argument when the number of bytes that have been produced by this
28512         conversion equals or exceeds the precision.
28513         * doc/posix-functions/fprintf.texi: Update.
28514         * doc/posix-functions/printf.texi: Update.
28515         * doc/posix-functions/snprintf.texi: Update.
28516         * doc/posix-functions/sprintf.texi: Update.
28517         * doc/posix-functions/vfprintf.texi: Update.
28518         * doc/posix-functions/vprintf.texi: Update.
28519         * doc/posix-functions/vsnprintf.texi: Update.
28520         * doc/posix-functions/vsprintf.texi: Update.
28521         * doc/glibc-functions/obstack_printf.texi: Update.
28522         * doc/glibc-functions/obstack_vprintf.texi: Update.
28523
28524 2009-02-26  Eric Blake  <ebb9@byu.net>
28525
28526         stdlib: favor compiler check of random.h
28527         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
28528         to avoid an ObjC random.h installed by Swarm.
28529
28530 2009-02-26  Bruno Haible  <bruno@clisp.org>
28531
28532         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
28533         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
28534         Reported by Gary V. Vaughan <gary@gnu.org>.
28535
28536 2009-02-26  Bruno Haible  <bruno@clisp.org>
28537
28538         Fix *printf behaviour regarding the %ls directive.
28539         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
28540         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
28541         NEED_PRINTF_DIRECTIVE_LS.
28542         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
28543         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
28544         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
28545         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
28546         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
28547         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
28548         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
28549         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
28550         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
28551         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
28552         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
28553         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
28554         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
28555         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
28556         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
28557         * doc/posix-functions/fprintf.texi: Update.
28558         * doc/posix-functions/printf.texi: Update.
28559         * doc/posix-functions/snprintf.texi: Update.
28560         * doc/posix-functions/sprintf.texi: Update.
28561         * doc/posix-functions/vfprintf.texi: Update.
28562         * doc/posix-functions/vprintf.texi: Update.
28563         * doc/posix-functions/vsnprintf.texi: Update.
28564         * doc/posix-functions/vsprintf.texi: Update.
28565         * doc/glibc-functions/obstack_printf.texi: Update.
28566         * doc/glibc-functions/obstack_vprintf.texi: Update.
28567         Reported by Eric Blake.
28568
28569 2009-02-25  Bruno Haible  <bruno@clisp.org>
28570
28571         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
28572         with known value.
28573         Reported by Gary V. Vaughan <gary@gnu.org>.
28574
28575 2009-02-25  Bruno Haible  <bruno@clisp.org>
28576
28577         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
28578         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
28579         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
28580         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
28581         Reported by Gary V. Vaughan <gary@gnu.org>.
28582
28583 2009-02-25  Bruno Haible  <bruno@clisp.org>
28584
28585         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
28586         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
28587         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
28588         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
28589         Reported by Gary V. Vaughan <gary@gnu.org>.
28590
28591 2009-02-25  Eric Blake  <ebb9@byu.net>
28592
28593         tests: skip fseek/ftell tests if ungetc is broken
28594         * m4/ungetc.m4: New file.
28595         * modules/fseek-tests: Split test, so ungetc dependency is
28596         separate from rest of test.
28597         * modules/fseeko-tests: Likewise.
28598         * modules/ftell-tests: Likewise.
28599         * modules/ftello-tests: Likewise.
28600         * tests/test-fseek.c (main): Isolate ungetc dependency.
28601         * tests/test-fseeko.c (main): Likewise.
28602         * tests/test-ftell.c (main): Likewise.
28603         * tests/test-ftello.c (main): Likewise.
28604         * tests/test-fseek2.sh: New file.
28605         * tests/test-fseeko2.sh: Likewise.
28606         * tests/test-ftell2.sh: Likewise.
28607         * tests/test-ftello2.sh: Likewise.
28608
28609 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
28610
28611         test-getaddrinfo: fix usage of skip return code 77
28612         * tests/test-gettaddrinfo.c: Return skip code 77 only
28613         for first occurance of skip (4x77 is not 77)
28614
28615 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
28616
28617         strtod: avoid C99 decl-after-statement
28618         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
28619
28620 2009-02-24  Eric Blake  <ebb9@byu.net>
28621
28622         strtod: detect HP-UX 11.31 bug
28623         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
28624         Reported by Gary V. Vaughan.
28625
28626 2009-02-23  Bruno Haible  <bruno@clisp.org>
28627
28628         Fix invalid read past end of memory block.
28629         * lib/vasnprintf.c (DCHAR_SET): Define.
28630         (local_wcslen): Define only when needed.
28631         (local_strnlen, local_wcsnlen): New functions.
28632         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
28633         directives that involve a conversion ourselves.
28634         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
28635         wcsnlen, mbrtowc, wcrtomb.
28636         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
28637         * tests/test-vasprintf-posix.c (test_function): Likewise.
28638         * tests/test-snprintf-posix.h (test_function): Likewise.
28639         * tests/test-sprintf-posix.h (test_function): Likewise.
28640         Reported by Ben Pfaff <blp@cs.stanford.edu>.
28641
28642 2009-02-22  Bruno Haible  <bruno@clisp.org>
28643
28644         Implement new clarified decomposition of Hangul syllables.
28645         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
28646         of type LTV, return only a pairwise decomposition.
28647         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
28648         Likewise.
28649         * tests/uninorm/test-decomposition.c (main): Updated expected result.
28650         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
28651         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
28652
28653 2009-02-22  Bruno Haible  <bruno@clisp.org>
28654
28655         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
28656         zero-length results and shrink excess allocated memory.
28657         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
28658         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
28659         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
28660         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
28661         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
28662         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
28663         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
28664         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
28665         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
28666         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
28667         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
28668         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
28669
28670 2009-02-21  Bruno Haible  <bruno@clisp.org>
28671
28672         * doc/gnulib.texi: Include safe-alloc.texi earlier.
28673         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
28674         spaces after a period. Put a space between a macro name and its
28675         argument list. Trivial rewordings.
28676         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
28677         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
28678         (main): Return 0 explicitly.
28679
28680 2009-02-21  Bruno Haible  <bruno@clisp.org>
28681
28682         Tests for module 'uninorm/filter'.
28683         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
28684         * modules/uninorm/filter-tests: New file.
28685
28686         New module 'uninorm/filter'.
28687         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
28688         uninorm_filter_flush, uninorm_filter_free): New declarations.
28689         * lib/uninorm/uninorm-filter.c: New file.
28690         * modules/uninorm/filter: New file.
28691
28692 2009-02-21  Bruno Haible  <bruno@clisp.org>
28693
28694         Tests for module 'uninorm/nfkc'.
28695         * tests/uninorm/test-nfkc.c: New file.
28696         * tests/uninorm/test-u8-nfkc.c: New file.
28697         * tests/uninorm/test-u16-nfkc.c: New file.
28698         * tests/uninorm/test-u32-nfkc.c: New file.
28699         * tests/uninorm/test-u32-nfkc-big.sh: New file.
28700         * tests/uninorm/test-u32-nfkc-big.c: New file.
28701         * modules/uninorm/nfkc-tests: New file.
28702
28703         New module 'uninorm/nfkc'.
28704         * lib/uninorm/nfkc.c: New file.
28705         * modules/uninorm/nfkc: New file.
28706
28707         Tests for module 'uninorm/nfkd'.
28708         * tests/uninorm/test-nfkd.c: New file.
28709         * tests/uninorm/test-u8-nfkd.c: New file.
28710         * tests/uninorm/test-u16-nfkd.c: New file.
28711         * tests/uninorm/test-u32-nfkd.c: New file.
28712         * tests/uninorm/test-u32-nfkd-big.sh: New file.
28713         * tests/uninorm/test-u32-nfkd-big.c: New file.
28714         * modules/uninorm/nfkd-tests: New file.
28715
28716         New module 'uninorm/nfkd'.
28717         * lib/uninorm/nfkd.c: New file.
28718         * modules/uninorm/nfkd: New file.
28719
28720         Tests for module 'uninorm/nfc'.
28721         * tests/uninorm/test-nfc.c: New file.
28722         * tests/uninorm/test-u8-nfc.c: New file.
28723         * tests/uninorm/test-u16-nfc.c: New file.
28724         * tests/uninorm/test-u32-nfc.c: New file.
28725         * tests/uninorm/test-u32-nfc-big.sh: New file.
28726         * tests/uninorm/test-u32-nfc-big.c: New file.
28727         * modules/uninorm/nfc-tests: New file.
28728
28729         New module 'uninorm/nfc'.
28730         * lib/uninorm/nfc.c: New file.
28731         * modules/uninorm/nfc: New file.
28732
28733         Tests for module 'uninorm/nfd'.
28734         * tests/uninorm/test-nfd.c: New file.
28735         * tests/uninorm/test-u8-nfd.c: New file.
28736         * tests/uninorm/test-u16-nfd.c: New file.
28737         * tests/uninorm/test-u32-nfd.c: New file.
28738         * tests/uninorm/test-u32-nfd-big.sh: New file.
28739         * tests/uninorm/test-u32-nfd-big.c: New file.
28740         * tests/uninorm/test-u32-normalize-big.h: New file.
28741         * tests/uninorm/test-u32-normalize-big.c: New file.
28742         * tests/uninorm/NormalizationTest.txt: New file, created from
28743         Unicode 5.1.0 NormalizationTest.txt.
28744         * modules/uninorm/nfd-tests: New file.
28745
28746         New module 'uninorm/nfd'.
28747         * lib/uninorm/nfd.c: New file.
28748         * modules/uninorm/nfd: New file.
28749
28750         New module 'uninorm/u32-normalize'.
28751         * lib/uninorm/u32-normalize.c: New file.
28752         * modules/uninorm/u32-normalize: New file.
28753
28754         New module 'uninorm/u16-normalize'.
28755         * lib/uninorm/u16-normalize.c: New file.
28756         * modules/uninorm/u16-normalize: New file.
28757
28758         New module 'uninorm/u8-normalize'.
28759         * lib/uninorm/u8-normalize.c: New file.
28760         * lib/uninorm/normalize-internal.h: New file.
28761         * lib/uninorm/u-normalize-internal.h: New file.
28762         * modules/uninorm/u8-normalize: New file.
28763
28764         New module 'uninorm/decompose-internal'.
28765         * lib/uninorm/decompose-internal.c: New file.
28766         * modules/uninorm/decompose-internal: New file.
28767
28768         Tests for module 'uninorm/composition'.
28769         * tests/uninorm/test-composition.c: New file.
28770         * modules/uninorm/composition-tests: New file.
28771
28772         New module 'uninorm/composition'.
28773         * lib/uninorm/composition.c: New file.
28774         * lib/uninorm/composition-table.gperf: New file, generated by
28775         gen-uni-tables.
28776         * modules/uninorm/composition: New file.
28777
28778         Tests for module 'uninorm/compat-decomposition'.
28779         * tests/uninorm/test-compat-decomposition.c: New file.
28780         * modules/uninorm/compat-decomposition-tests: New file.
28781
28782         New module 'uninorm/compat-decomposition'.
28783         * lib/uninorm/decompose-internal.h: New file.
28784         * lib/uninorm/compat-decomposition.c: New file.
28785         * modules/uninorm/compat-decomposition: New file.
28786
28787         Tests for module 'uninorm/canonical-decomposition'.
28788         * tests/uninorm/test-canonical-decomposition.c: New file.
28789         * modules/uninorm/canonical-decomposition-tests: New file.
28790
28791         New module 'uninorm/canonical-decomposition'.
28792         * lib/uninorm/canonical-decomposition.c: New file.
28793         * modules/uninorm/canonical-decomposition: New file.
28794
28795         Tests for module 'uninorm/decomposition'.
28796         * tests/uninorm/test-decomposition.c: New file.
28797         * modules/uninorm/decomposition-tests: New file.
28798
28799         New module 'uninorm/decomposition'.
28800         * lib/uninorm/decomposition.c: New file.
28801         * modules/uninorm/decomposition: New file.
28802
28803         New module 'uninorm/decomposition-table'.
28804         * lib/uninorm/decomposition-table.h: New file.
28805         * lib/uninorm/decomposition-table.c: New file.
28806         * lib/uninorm/decomposition-table1.h: New file, generated by
28807         gen-uni-tables.
28808         * lib/uninorm/decomposition-table2.h: New file, generated by
28809         gen-uni-tables.
28810         * modules/uninorm/decomposition-table: New file.
28811
28812         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
28813         (UC_DECOMP_*): New enumeration items.
28814         (get_decomposition): New function.
28815         (struct decomp_table): New type.
28816         (output_decomposition, output_decomposition_tables): New functions.
28817         (unicode_composition_exclusions): New variable.
28818         (fill_composition_exclusions, debug_output_composition_tables): New
28819         functions.
28820         (main): Accept one more argument. Invoke fill_composition_exclusions.
28821         Output decomposition and composition tables.
28822
28823         New module 'uninorm/base'.
28824         * lib/uninorm.h: New file.
28825         * lib/unictype.h: Update comment.
28826         * modules/uninorm/base: New file.
28827
28828 2009-02-21  David Lutterkort  <lutter@redhat.com>
28829
28830         Tests for module 'safe-alloc'.
28831         * tests/test-safe-alloc.c: New file.
28832         * modules/safe-alloc-tests: New file.
28833
28834         New module 'safe-alloc'.
28835         * lib/safe-alloc.h: New file.
28836         * lib/safe-alloc.c: New file.
28837         * m4/safe-alloc.m4: New file.
28838         * modules/safe-alloc: New file.
28839         * doc/safe-alloc.texi: New file.
28840         * doc/gnulib.texi: Include it.
28841         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
28842         safe-alloc.
28843
28844 2009-02-18  Bruno Haible  <bruno@clisp.org>
28845
28846         Fix link error on non-glibc systems.
28847         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
28848         variable.
28849         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
28850
28851 2009-02-18  Jim Meyering  <meyering@redhat.com>
28852
28853         fts: avoid used-uninitialized error due to recent change
28854         * lib/fts.c (fts_read): Guard uses of the new member,
28855         parent->fts_n_dirs_remaining, since it's not relevant for
28856         the parent of a directory specified on the command-line.
28857
28858 2009-02-17  James Youngman  <jay@gnu.org>
28859             Bruno Haible  <bruno@clisp.org>
28860
28861         * m4/include_next.m4: Reformulate comment.
28862
28863 2009-02-16  Jim Meyering  <meyering@redhat.com>
28864
28865         fts: add #if guards so that the fts_lgpl module still builds
28866         * lib/fts.c: Guard just-added hash-table-using parts with
28867         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
28868         Reported by Simon Josefsson.
28869
28870 2009-02-15  Bruno Haible  <bruno@clisp.org>
28871
28872         * modules/array-mergesort-tests: New file.
28873         * tests/test-array-mergesort.c: New file.
28874
28875         New module 'array-mergesort'.
28876         * modules/array-mergesort: New file.
28877         * lib/array-mergesort.h: New file.
28878
28879 2009-02-15  Bruno Haible  <bruno@clisp.org>
28880
28881         Fix 2009-02-07 commit.
28882         * lib/gen-uni-tables.c (output_predicate, output_category,
28883         output_combclass, output_bidi_category, output_decimal_digit,
28884         output_digit, output_numeric, output_mirror, output_scripts,
28885         output_ident_category, output_simple_mapping): Fix format directives.
28886         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
28887
28888 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
28889
28890         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
28891         fixes are available from IBM.
28892
28893 2009-02-13  Jim Meyering  <meyering@redhat.com>
28894
28895         fts: arrange not to stat non-directories in more cases
28896         This makes GNU find (when it doesn't need to stat each file)
28897         *much* more efficient at traversing reiserfs file systems.
28898         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
28899         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
28900         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
28901         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
28902         (leaf_optimization_applies): New function.
28903         (LCO_hash, LCO_compare): New helper functions.
28904         (link_count_optimize_ok): New function.
28905         (fts_stat): Initialize new member (if dir).
28906         (fts_read): Decrement parent's fts_n_dirs_remaining count if
28907         we've just stat'ed a directory.  Skip the stat call when possible.
28908         ---
28909         Note this AFS-related exchange:
28910         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
28911         and note find's pioctl call in find/fstype.c.
28912         But that is necessary only if you want to enable the
28913         optimization for AFS, and for now, I don't.
28914
28915         fts: move a function definition "up" (no semantic change)
28916         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
28917         "up" to precede upcoming use of a related function.
28918
28919 2009-02-11  Jim Meyering  <meyering@redhat.com>
28920
28921         fts: correct internal computation of nlinks (optimization-related)
28922         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
28923         whether the current entry is a directory, so don't test it.
28924
28925 2009-02-10  Bruno Haible  <bruno@clisp.org>
28926
28927         Tests for module 'uniwbrk/ulc-wordbreaks'.
28928         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
28929         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
28930         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
28931
28932         Tests for module 'uniwbrk/u32-wordbreaks'.
28933         * modules/uniwbrk/u32-wordbreaks-tests: New file.
28934         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
28935
28936         Tests for module 'uniwbrk/u16-wordbreaks'.
28937         * modules/uniwbrk/u16-wordbreaks-tests: New file.
28938         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
28939
28940         Tests for module 'uniwbrk/u8-wordbreaks'.
28941         * modules/uniwbrk/u8-wordbreaks-tests: New file.
28942         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
28943
28944 2009-02-10  Bruno Haible  <bruno@clisp.org>
28945
28946         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
28947         property.
28948         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
28949         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
28950         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
28951
28952 2009-02-10  Simon Josefsson  <simon@josefsson.org>
28953
28954         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
28955         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
28956
28957 2009-02-10  Bruno Haible  <bruno@clisp.org>
28958
28959         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
28960         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
28961         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
28962         * lib/unilbrk/u8-possible-linebreaks.c: Update.
28963         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
28964         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
28965
28966 2009-02-09  Simon Josefsson  <simon@josefsson.org>
28967
28968         * lib/sockets.h (gl_fd_to_handle): New function.
28969
28970         * tests/test-sockets.c: Call gl_fd_to_handle.
28971
28972 2009-02-09  Bruno Haible  <bruno@clisp.org>
28973
28974         * doc/havelib.texi: Document the conventions on bi-arch systems.
28975
28976 2009-02-08  Bruno Haible  <bruno@clisp.org>
28977
28978         Document the AC_LIB_LINKFLAGS macro.
28979         * doc/havelib.texi: New file, mostly written on 2005-05-24.
28980         * doc/gnulib.texi: Include it.
28981
28982 2009-02-08  Bruno Haible  <bruno@clisp.org>
28983
28984         Fix wrong order of sections, compared to TOC.
28985         * doc/gnulib.texi: Include relocatable-maint.texi after the
28986         "Regular expressions" node, not before.
28987
28988 2009-02-08  Bruno Haible  <bruno@clisp.org>
28989
28990         Tests for module 'unicase/totitle'.
28991         * modules/unicase/totitle-tests: New file.
28992
28993         Tests for module 'unicase/tolower'.
28994         * modules/unicase/tolower-tests: New file.
28995
28996         Tests for module 'unicase/toupper'.
28997         * modules/unicase/toupper-tests: New file.
28998         * tests/unicase/test-mapping-part1.h: New file.
28999         * tests/unicase/test-mapping-part2.h: New file.
29000
29001         New module 'unicase/totitle'.
29002         * modules/unicase/totitle: New file.
29003         * lib/unicase/totitle.c: New file.
29004
29005         New module 'unicase/tolower'.
29006         * modules/unicase/tolower: New file.
29007         * lib/unicase/tolower.c: New file.
29008
29009         New module 'unicase/toupper'.
29010         * modules/unicase/toupper: New file.
29011         * lib/unicase/toupper.c: New file.
29012         * lib/unicase/simple-mapping.h: New file.
29013
29014         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
29015         (mapping_table): New structure.
29016         (output_simple_mapping): New function.
29017         (main): Invoke output_simple_mapping_test and output_simple_mapping.
29018         * modules/gen-uni-tables (Description): Update.
29019         * lib/unicase/toupper.h: New file, automatically generated by
29020         gen-uni-tables.
29021         * lib/unicase/tolower.h: New file, automatically generated by
29022         gen-uni-tables.
29023         * lib/unicase/totitle.h: New file, automatically generated by
29024         gen-uni-tables.
29025         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
29026         gen-uni-tables.
29027         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
29028         gen-uni-tables.
29029         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
29030         gen-uni-tables.
29031
29032         New module 'unicase/base'.
29033         * modules/unicase/base: New file.
29034         * lib/unicase.h: New file.
29035
29036 2009-02-08  Bruno Haible  <bruno@clisp.org>
29037
29038         New module 'uniwbrk/ulc-wordbreaks'.
29039         * modules/uniwbrk/ulc-wordbreaks: New file.
29040         * lib/uniwbrk/ulc-wordbreaks.c: New file.
29041
29042         New module 'uniwbrk/u32-wordbreaks'.
29043         * modules/uniwbrk/u32-wordbreaks: New file.
29044         * lib/uniwbrk/u32-wordbreaks.c: New file.
29045
29046         New module 'uniwbrk/u16-wordbreaks'.
29047         * modules/uniwbrk/u16-wordbreaks: New file.
29048         * lib/uniwbrk/u16-wordbreaks.c: New file.
29049
29050         New module 'uniwbrk/u8-wordbreaks'.
29051         * modules/uniwbrk/u8-wordbreaks: New file.
29052         * lib/uniwbrk/u8-wordbreaks.c: New file.
29053         * lib/uniwbrk/u-wordbreaks.h: New file.
29054
29055         New module 'uniwbrk/table'.
29056         * modules/uniwbrk/table: New file.
29057         * lib/uniwbrk/wbrktable.h: New file.
29058         * lib/uniwbrk/wbrktable.c: New file.
29059
29060         New module 'uniwbrk/wordbreak-property'.
29061         * modules/uniwbrk/wordbreak-property: New file.
29062         * lib/uniwbrk/wordbreak-property.c: New file.
29063
29064         * lib/gen-uni-tables.c (WBP_*): New enum items.
29065         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
29066         (unicode_org_wbp): New variable.
29067         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
29068         New functions.
29069         (wbp_table): New structure.
29070         (output_wbp, output_wbrk_tables): New functions.
29071         (main): Accept additional argument. Invoke fill_org_wbp,
29072         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
29073         output_wbrk_tables.
29074         * modules/gen-uni-tables (Description): Update.
29075         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
29076         gen-uni-tables.
29077
29078         New module 'uniwbrk/base'.
29079         * modules/uniwbrk/base: New file.
29080         * lib/uniwbrk.h: New file.
29081
29082 2009-02-08  Bruno Haible  <bruno@clisp.org>
29083
29084         Update to Unicode 5.1.0.
29085         * lib/gen-uni-tables.c (is_property_alphabetic): Include
29086         U+2185..U+2188.
29087         (is_property_default_ignorable_code_point): Don't include characters
29088         of category Cc or Cs and not-a-characters.
29089         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
29090         U+0D79, U+109E, U+109F, U+A60C.
29091         * lib/unictype/bidi_of.h: Regenerated.
29092         * lib/unictype/blocks.h: Regenerated.
29093         * lib/unictype/categ_C.h: Regenerated.
29094         * lib/unictype/categ_Cf.h: Regenerated.
29095         * lib/unictype/categ_Cn.h: Regenerated.
29096         * lib/unictype/categ_L.h: Regenerated.
29097         * lib/unictype/categ_Ll.h: Regenerated.
29098         * lib/unictype/categ_Lm.h: Regenerated.
29099         * lib/unictype/categ_Lo.h: Regenerated.
29100         * lib/unictype/categ_Lu.h: Regenerated.
29101         * lib/unictype/categ_M.h: Regenerated.
29102         * lib/unictype/categ_Mc.h: Regenerated.
29103         * lib/unictype/categ_Me.h: Regenerated.
29104         * lib/unictype/categ_Mn.h: Regenerated.
29105         * lib/unictype/categ_N.h: Regenerated.
29106         * lib/unictype/categ_Nd.h: Regenerated.
29107         * lib/unictype/categ_Nl.h: Regenerated.
29108         * lib/unictype/categ_No.h: Regenerated.
29109         * lib/unictype/categ_P.h: Regenerated.
29110         * lib/unictype/categ_Pd.h: Regenerated.
29111         * lib/unictype/categ_Pe.h: Regenerated.
29112         * lib/unictype/categ_Pf.h: Regenerated.
29113         * lib/unictype/categ_Pi.h: Regenerated.
29114         * lib/unictype/categ_Po.h: Regenerated.
29115         * lib/unictype/categ_Ps.h: Regenerated.
29116         * lib/unictype/categ_S.h: Regenerated.
29117         * lib/unictype/categ_Sk.h: Regenerated.
29118         * lib/unictype/categ_Sm.h: Regenerated.
29119         * lib/unictype/categ_So.h: Regenerated.
29120         * lib/unictype/categ_of.h: Regenerated.
29121         * lib/unictype/combining.h: Regenerated.
29122         * lib/unictype/ctype_alnum.h: Regenerated.
29123         * lib/unictype/ctype_alpha.h: Regenerated.
29124         * lib/unictype/ctype_graph.h: Regenerated.
29125         * lib/unictype/ctype_lower.h: Regenerated.
29126         * lib/unictype/ctype_print.h: Regenerated.
29127         * lib/unictype/ctype_punct.h: Regenerated.
29128         * lib/unictype/ctype_upper.h: Regenerated.
29129         * lib/unictype/decdigit.h: Regenerated.
29130         * lib/unictype/digit.h: Regenerated.
29131         * lib/unictype/mirror.h: Regenerated.
29132         * lib/unictype/numeric.h: Regenerated.
29133         * lib/unictype/pr_alphabetic.h: Regenerated.
29134         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
29135         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
29136         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
29137         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
29138         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
29139         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
29140         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
29141         * lib/unictype/pr_combining.h: Regenerated.
29142         * lib/unictype/pr_dash.h: Regenerated.
29143         * lib/unictype/pr_decimal_digit.h: Regenerated.
29144         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
29145         * lib/unictype/pr_deprecated.h: Regenerated.
29146         * lib/unictype/pr_diacritic.h: Regenerated.
29147         * lib/unictype/pr_extender.h: Regenerated.
29148         * lib/unictype/pr_format_control.h: Regenerated.
29149         * lib/unictype/pr_grapheme_base.h: Regenerated.
29150         * lib/unictype/pr_grapheme_extend.h: Regenerated.
29151         * lib/unictype/pr_grapheme_link.h: Regenerated.
29152         * lib/unictype/pr_id_continue.h: Regenerated.
29153         * lib/unictype/pr_id_start.h: Regenerated.
29154         * lib/unictype/pr_ideographic.h: Regenerated.
29155         * lib/unictype/pr_ignorable_control.h: Regenerated.
29156         * lib/unictype/pr_lowercase.h: Regenerated.
29157         * lib/unictype/pr_math.h: Regenerated.
29158         * lib/unictype/pr_numeric.h: Regenerated.
29159         * lib/unictype/pr_other_alphabetic.h: Regenerated.
29160         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
29161         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
29162         * lib/unictype/pr_other_id_continue.h: Regenerated.
29163         * lib/unictype/pr_other_lowercase.h: Regenerated.
29164         * lib/unictype/pr_other_math.h: Regenerated.
29165         * lib/unictype/pr_punctuation.h: Regenerated.
29166         * lib/unictype/pr_sentence_terminal.h: Regenerated.
29167         * lib/unictype/pr_soft_dotted.h: Regenerated.
29168         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
29169         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
29170         * lib/unictype/pr_unified_ideograph.h: Regenerated.
29171         * lib/unictype/pr_uppercase.h: Regenerated.
29172         * lib/unictype/pr_xid_continue.h: Regenerated.
29173         * lib/unictype/pr_xid_start.h: Regenerated.
29174         * lib/unictype/pr_zero_width.h: Regenerated.
29175         * lib/unictype/scripts.h: Regenerated.
29176         * lib/unictype/scripts_byname.gperf: Regenerated.
29177         * lib/unictype/sy_java_ident.h: Regenerated.
29178         * lib/unilbrk/lbrkprop1.h: Regenerated.
29179         * lib/unilbrk/lbrkprop2.h: Regenerated.
29180         * tests/unictype/test-categ_C.c: Regenerated.
29181         * tests/unictype/test-categ_Cf.c: Regenerated.
29182         * tests/unictype/test-categ_Cn.c: Regenerated.
29183         * tests/unictype/test-categ_L.c: Regenerated.
29184         * tests/unictype/test-categ_Ll.c: Regenerated.
29185         * tests/unictype/test-categ_Lm.c: Regenerated.
29186         * tests/unictype/test-categ_Lo.c: Regenerated.
29187         * tests/unictype/test-categ_Lu.c: Regenerated.
29188         * tests/unictype/test-categ_M.c: Regenerated.
29189         * tests/unictype/test-categ_Mc.c: Regenerated.
29190         * tests/unictype/test-categ_Me.c: Regenerated.
29191         * tests/unictype/test-categ_Mn.c: Regenerated.
29192         * tests/unictype/test-categ_N.c: Regenerated.
29193         * tests/unictype/test-categ_Nd.c: Regenerated.
29194         * tests/unictype/test-categ_Nl.c: Regenerated.
29195         * tests/unictype/test-categ_No.c: Regenerated.
29196         * tests/unictype/test-categ_P.c: Regenerated.
29197         * tests/unictype/test-categ_Pd.c: Regenerated.
29198         * tests/unictype/test-categ_Pe.c: Regenerated.
29199         * tests/unictype/test-categ_Pf.c: Regenerated.
29200         * tests/unictype/test-categ_Pi.c: Regenerated.
29201         * tests/unictype/test-categ_Po.c: Regenerated.
29202         * tests/unictype/test-categ_Ps.c: Regenerated.
29203         * tests/unictype/test-categ_S.c: Regenerated.
29204         * tests/unictype/test-categ_Sk.c: Regenerated.
29205         * tests/unictype/test-categ_Sm.c: Regenerated.
29206         * tests/unictype/test-categ_So.c: Regenerated.
29207         * tests/unictype/test-ctype_alnum.c: Regenerated.
29208         * tests/unictype/test-ctype_alpha.c: Regenerated.
29209         * tests/unictype/test-ctype_graph.c: Regenerated.
29210         * tests/unictype/test-ctype_lower.c: Regenerated.
29211         * tests/unictype/test-ctype_print.c: Regenerated.
29212         * tests/unictype/test-ctype_punct.c: Regenerated.
29213         * tests/unictype/test-ctype_upper.c: Regenerated.
29214         * tests/unictype/test-decdigit.h: Regenerated.
29215         * tests/unictype/test-digit.h: Regenerated.
29216         * tests/unictype/test-numeric.h: Regenerated.
29217         * tests/unictype/test-pr_alphabetic.c: Regenerated.
29218         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
29219         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
29220         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
29221         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
29222         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
29223         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
29224         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
29225         * tests/unictype/test-pr_combining.c: Regenerated.
29226         * tests/unictype/test-pr_dash.c: Regenerated.
29227         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
29228         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
29229         * tests/unictype/test-pr_deprecated.c: Regenerated.
29230         * tests/unictype/test-pr_diacritic.c: Regenerated.
29231         * tests/unictype/test-pr_extender.c: Regenerated.
29232         * tests/unictype/test-pr_format_control.c: Regenerated.
29233         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
29234         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
29235         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
29236         * tests/unictype/test-pr_id_continue.c: Regenerated.
29237         * tests/unictype/test-pr_id_start.c: Regenerated.
29238         * tests/unictype/test-pr_ideographic.c: Regenerated.
29239         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
29240         * tests/unictype/test-pr_lowercase.c: Regenerated.
29241         * tests/unictype/test-pr_math.c: Regenerated.
29242         * tests/unictype/test-pr_numeric.c: Regenerated.
29243         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
29244         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
29245         Regenerated.
29246         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
29247         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
29248         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
29249         * tests/unictype/test-pr_other_math.c: Regenerated.
29250         * tests/unictype/test-pr_punctuation.c: Regenerated.
29251         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
29252         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
29253         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
29254         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
29255         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
29256         * tests/unictype/test-pr_uppercase.c: Regenerated.
29257         * tests/unictype/test-pr_xid_continue.c: Regenerated.
29258         * tests/unictype/test-pr_xid_start.c: Regenerated.
29259         * tests/unictype/test-pr_zero_width.c: Regenerated.
29260
29261         Update to Unicode 5.1.0.
29262         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
29263         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
29264         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
29265         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
29266         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
29267         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
29268         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
29269         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
29270         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
29271         (nonspacing_table_ind): Update.
29272         * tests/uniwidth/test-uc_width2.sh: Update expected result.
29273
29274         Update to Unicode 5.1.0.
29275         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
29276         code transform.
29277         * lib/uniname/uniname.c (unicode_character_name,
29278         unicode_name_character): Add the range 0x1Fxxx to the code transform.
29279         * lib/uniname/uninames.h: Regenerated.
29280         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
29281
29282 2009-02-07  Bruno Haible  <bruno@clisp.org>
29283
29284         Merge gen-ctype and gen-lbrk into a single program.
29285         * lib/gen-uni-tables.c: New file, incorporating
29286         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
29287         Add directory prefixes to the names of the generated files.
29288         * lib/unictype/gen-ctype.c: Remove file.
29289         * lib/unilbrk/gen-lbrk.c: Remove file.
29290         * modules/gen-uni-tables: New file.
29291         * modules/unictype/gen-ctype: Remove file.
29292         * modules/unilbrk/gen-lbrk: Remove file.
29293
29294 2009-02-07  Bruno Haible  <bruno@clisp.org>
29295
29296         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
29297
29298         New module 'unistr/u32-strcoll'.
29299         * modules/unistr/u32-strcoll: New file.
29300         * lib/unistr/u32-strcoll.c: New file.
29301
29302         New module 'unistr/u16-strcoll'.
29303         * modules/unistr/u16-strcoll: New file.
29304         * lib/unistr/u16-strcoll.c: New file.
29305
29306         New module 'unistr/u8-strcoll'.
29307         * modules/unistr/u8-strcoll: New file.
29308         * lib/unistr/u8-strcoll.c: New file.
29309         * lib/unistr/u-strcoll.h: New file.
29310
29311 2009-02-07  Bruno Haible  <bruno@clisp.org>
29312
29313         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
29314         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
29315         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
29316         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
29317         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
29318         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
29319
29320 2009-02-07  Bruno Haible  <bruno@clisp.org>
29321
29322         Make 64-bit clean.
29323         * lib/unictype/gen-ctype.c (output_predicate, output_category,
29324         output_combclass, output_bidi_category, output_decimal_digit,
29325         output_digit, output_numeric, output_mirror, output_scripts,
29326         output_ident_category): Use proper width specifier in format strings.
29327
29328 2009-02-07  Bruno Haible  <bruno@clisp.org>
29329
29330         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
29331         failure behaviour.
29332
29333 2009-02-07  Jim Meyering  <meyering@redhat.com>
29334
29335         regex: avoid compilation failure with upcoming gcc-4.4
29336         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
29337         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
29338         "... error: integer overflow in preprocessor expression".
29339
29340 2009-02-05  Ben Pfaff  <blp@gnu.org>
29341
29342         Fix link errors on Windows when close module is used.
29343         * modules/close: Add $(LIB_CLOSE) to Link section.
29344         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
29345         $(LIB_CLOSE) on Windows.
29346
29347 2009-02-05  Jim Meyering  <meyering@redhat.com>
29348
29349         still avoid unused-parameter warnings, but do it cleanly
29350         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
29351         (get_fs_usage): Cast to void instead.
29352         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
29353         (dev_from_mount_options, read_file_system_list): Cast to void.
29354         Prompted by Bruno Haible.
29355
29356 2009-02-04  Jim Meyering  <meyering@redhat.com>
29357
29358         fsusage.c: correct copyright year
29359         * lib/fsusage.c: Reflect year in which the change is pushed into
29360
29361         avoid misc. warnings
29362         * lib/fsusage.c (UNUSED_PARAM): Define.
29363         (get_fs_usage): Mark parameter "disk" as unused.
29364         * lib/getugroups.c (getgrent): Use "void" in prototype.
29365         * lib/mountlist.c: Mark unused parameters.
29366         (read_file_system_list): Declare a local with "const".
29367         * lib/nanosleep.c (getnow): Declare static.
29368         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
29369
29370         dirfd: set errno upon failure
29371         * lib/dirfd.c: Include <errno.h>.
29372         Set errno to ENOTSUP when returning -1.
29373         * modules/dirfd (Depends-on): Add errno.
29374         Suggested by John Kodis <kodis@comcast.net>.
29375
29376 2009-02-01  Bruno Haible  <bruno@clisp.org>
29377
29378         Don't assume sizeof (long) >= sizeof (void *).
29379         * lib/memcmp.c: Include stdint.h.
29380         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
29381         srcp2 to 'const byte *'.
29382         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
29383         types to uintptr_t.
29384         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
29385         * modules/memcmp (Depends-on): Add stdint.
29386         Reported by Ozkan Sezer <sezeroz@gmail.com>.
29387
29388 2009-01-30  Eric Blake  <ebb9@byu.net>
29389
29390         fix more require-before-expand issues
29391         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
29392         expand, AC_PROG_AWK.
29393         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
29394
29395 2009-01-28  Eric Blake  <ebb9@byu.net>
29396
29397         version-etc: use consistent URL formatting
29398         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
29399         Improve formatting.  Use fputs for string without %.
29400
29401 2009-01-28  Jim Meyering  <meyering@redhat.com>
29402
29403         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
29404         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
29405         "underquoted definition of NAME" from autoconf-2.59.
29406
29407 2009-01-28  Bruno Haible  <bruno@clisp.org>
29408
29409         * doc/gnulib.texi: Add "Obsolete modules" to index.
29410
29411 2009-01-28  Jim Meyering  <meyering@redhat.com>
29412
29413         useless-if-before-free: recognize more variants
29414         * build-aux/useless-if-before-free: Also recognize e.g.,
29415         if (NULL != p) free (p);
29416
29417 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
29418
29419         test-getaddrinfo: skip (don't fail) this test when there's no network
29420         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
29421         on the presumption that it means you lack network access.
29422
29423 2009-01-26  Jim Meyering  <meyering@redhat.com>
29424
29425         fflush: avoid warnings on modern systems
29426         * lib/fflush.c (rpl_fflush): Move declarations of locals,
29427         pos and result, into scopes where they're used.
29428
29429 2009-01-26  Eric Blake  <ebb9@byu.net>
29430
29431         Silence warning reintroduced by recent extensions patch.
29432         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
29433         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
29434         autoconf.
29435
29436         Backport improved autoconf semantics of AC_DEFUN_ONCE.
29437         * m4/00gnulib.m4: New file.
29438         * gnulib-tool (func_get_filelist): Always use it.
29439         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
29440         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
29441
29442 2009-01-25  Bruno Haible  <bruno@clisp.org>
29443
29444         Make test-quotearg work on MacOS X and AIX.
29445         * tests/test-quotearg.sh: New file.
29446         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
29447         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
29448         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
29449         include <libintl.h>.
29450         (fake_locale): Remove variable.
29451         (gettext, dgettext, dcgettext): Remove functions.
29452         (main): Instead of setting a fake locale, set a real locale. Call
29453         textdomain and bindtextdomain.
29454         * modules/quotearg-tests (Files): Add the new files.
29455         (Depends-on): Add gettext, setenv, unsetenv.
29456         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
29457         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
29458         Augment TESTS_ENVIRONMENT.
29459
29460 2009-01-25  Bruno Haible  <bruno@clisp.org>
29461
29462         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
29463         fr_FR.ISO8859-1 locale on MacOS X.
29464         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
29465         ja_JP.eucJP locale on MacOS X.
29466         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
29467         zh_CN.GB18030 locale on MacOS X.
29468
29469 2009-01-25  Bruno Haible  <bruno@clisp.org>
29470
29471         Avoid link errors on MacOS X 10.3.
29472         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
29473         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
29474
29475 2009-01-25  Bruno Haible  <bruno@clisp.org>
29476
29477         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
29478         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
29479         * modules/pipe (Files): Remove m4/posix_spawn.m4.
29480         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
29481         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
29482         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
29483         posix_spawnattr_init, posix_spawnattr_setsigmask,
29484         posix_spawnattr_setflags, posix_spawnattr_destroy.
29485
29486         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
29487         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
29488         * modules/execute (Files): Remove m4/posix_spawn.m4.
29489         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
29490         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
29491         posix_spawnattr_init, posix_spawnattr_setsigmask,
29492         posix_spawnattr_setflags, posix_spawnattr_destroy.
29493
29494 2009-01-25  Bruno Haible  <bruno@clisp.org>
29495
29496         * lib/glthread/threadlib.c: Include <stdlib.h>.
29497
29498 2009-01-25  Bruno Haible  <bruno@clisp.org>
29499
29500         * lib/glthread/threadlib.c (dummy): New declaration.
29501
29502 2009-01-25  Bruno Haible  <bruno@clisp.org>
29503
29504         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
29505         multibyte characters also for the GB18030 encoding. Don't crash when
29506         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
29507
29508 2009-01-25  Bruno Haible  <bruno@clisp.org>
29509
29510         Avoid redefining 'struct random_data' on OSF/1 5.1.
29511         * lib/stdlib.in.h: Include <random.h> if it exists.
29512         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
29513         HAVE_RANDOM_H. Include <random.h> when testing whether
29514         'struct random_data' exists.
29515         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
29516
29517 2009-01-25  Bruno Haible  <bruno@clisp.org>
29518
29519         Don't install charset.alias on MacOS X >= 10.3.
29520         * lib/localcharset.c (DARWIN7): New macro.
29521         (get_charset_aliases): Hardcode the result for Darwin7.
29522         * modules/localcharset (install-exec-local): Don't install
29523         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
29524
29525 2009-01-25  Bruno Haible  <bruno@clisp.org>
29526
29527         Don't install charset.alias on mingw and Cygwin.
29528         * modules/localcharset (install-exec-local): Don't install
29529         charset.alias on mingw and Cygwin, if the file does not yet exist.
29530         The result for these platforms is hardcoded in localcharset.c.
29531
29532 2009-01-25  Bruno Haible  <bruno@clisp.org>
29533
29534         Make it possible again to use AC_GNU_SOURCE together with gnulib.
29535         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
29536         before requiring AC_USE_SYSTEM_EXTENSIONS.
29537
29538 2009-01-25  Jim Meyering  <meyering@redhat.com>
29539
29540         c-strtod: avoid warnings
29541         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
29542         "assignment discards qualifiers from pointer target type" warnings.
29543
29544 2009-01-24  Bruno Haible  <bruno@clisp.org>
29545
29546         Add support for non-UTF-8 locales on MacOS X.
29547         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
29548         canonical encodings. For Darwin 7 and newer, don't map traditional
29549         encodings to UTF-8.
29550         Reported by Vincent Lefevre <vincent@vinc17.org>
29551         at <http://savannah.gnu.org/bugs/?25235>.
29552
29553 2009-01-24  Bruno Haible  <bruno@clisp.org>
29554
29555         * doc/gnulib.texi (Obsolete modules): New section.
29556         Reported by Mike Frysinger <vapier@gentoo.org>.
29557
29558 2009-01-24  Bruno Haible  <bruno@clisp.org>
29559
29560         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
29561         (%.dvi): New rule.
29562
29563 2009-01-24  Bruno Haible  <bruno@clisp.org>
29564
29565         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
29566         Reported by Eric Blake.
29567
29568 2009-01-24  Bruno Haible  <bruno@clisp.org>
29569
29570         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
29571         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
29572         Reported by Gary V. Vaughan <gary@gnu.org>.
29573
29574 2009-01-24  Bruno Haible  <bruno@clisp.org>
29575
29576         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
29577
29578 2009-01-23  Bruno Haible  <bruno@clisp.org>
29579
29580         Make c-strtod, c-strtold usable in libraries.
29581         * lib/c-strtod.c: Include string.h instead of xalloc.h.
29582         (C_STRTOD): Call strdup instead of xstrdup.
29583         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
29584         * modules/c-strtold (Depends-on): Likewise.
29585         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
29586         * NEWS: Mention the change.
29587         Reported by Michael Gold <mgold@ncf.ca>.
29588
29589 2009-01-23  Jim Meyering  <meyering@redhat.com>
29590
29591         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
29592         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
29593         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
29594
29595 2009-01-23  Simon Josefsson  <simon@josefsson.org>
29596
29597         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
29598         GNU CoreUtils.
29599         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
29600         * modules/version-etc (Description): Update.
29601
29602 2009-01-22  Bruno Haible  <bruno@clisp.org>
29603
29604         Cache the C locale object.
29605         * lib/c-strtod.c (c_locale_cache): New variable.
29606         (c_locale): New function.
29607         (C_STRTOD): Use it, and don't call freelocale.
29608         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
29609         Suggested by Paolo Bonzini.
29610
29611 2009-01-21  Bruno Haible  <bruno@clisp.org>
29612
29613         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
29614         conditions other than overflow.
29615
29616 2009-01-21  Bruno Haible  <bruno@clisp.org>
29617
29618         * lib/c-strtod.c: Include errno.h.
29619         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
29620         value from STRTOD_L and STRTOD.
29621
29622 2009-01-21  Bruno Haible  <bruno@clisp.org>
29623         and Jim Meyering  <meyering@redhat.com>
29624
29625         nanosleep: skip configure test (fail it) for apple universal builds
29626         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
29627         universal builds, assume that nanosleep does not work.
29628         * modules/nanosleep (Depends-on): Add multiarch.
29629
29630         mktime: skip configure test (fail it) for apple universal builds
29631         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
29632         universal builds, assume that mktime does not work.
29633         * modules/mktime (Depends-on): Add multiarch.
29634
29635 2009-01-21  Eric Blake  <ebb9@byu.net>
29636
29637         multiarch: avoid expand-before-require warning
29638         * modules/multiarch (configure.ac): Require, rather than expand,
29639         gl_MULTIARCH.
29640         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
29641         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
29642         enforce that all clients require it.  Partial reversion of
29643         2008-12-29 patch.
29644
29645         error: avoid expand-before-require warning
29646         * modules/errno (configure.ac): Require, rather than expand,
29647         gl_HEADER_ERRNO_H.
29648         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
29649         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
29650         enforce that all clients require it.
29651
29652         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
29653         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
29654         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
29655         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
29656
29657 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
29658
29659         Revert:
29660         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
29661
29662         regex: do not depend on obsolete modules.
29663         * modules/regex: Remove memcmp and memmove.
29664
29665 2009-01-20  Bruno Haible  <bruno@clisp.org>
29666
29667         Make the 'link' module link on Windows NT 4.
29668         * lib/link.c (_WIN32_WINNT): Don't define.
29669         (CreateHardLinkFuncType): New type.
29670         (CreateHardLinkFunc, initialized): New variables.
29671         (initialize): New function.
29672         (link): Invoke CreateHardLink indirectly through the function pointer.
29673
29674 2009-01-20  Bruno Haible  <bruno@clisp.org>
29675
29676         Fix compilation failure on mingw.
29677         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
29678
29679 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
29680
29681         * doc/c-strtod.texi: Mention a couple of restrictions.
29682
29683 2009-01-20  Jim Meyering  <meyering@redhat.com>
29684
29685         gettimeofday: move more declarations out of functions
29686         * lib/gettimeofday.c: Move extern declarations of tzset and
29687         gmtime out of containing functions.  Prompted by Bruno Haible.
29688
29689 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
29690
29691         regex: do not depend on obsolete modules.
29692         * modules/regex: Remove memcmp and memmove.
29693
29694 2009-01-19  Bruno Haible  <bruno@clisp.org>
29695
29696         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
29697         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
29698         gl_BIGENDIAN, not AC_C_BIGENDIAN.
29699         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
29700         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
29701
29702 2009-01-19  Bruno Haible  <bruno@clisp.org>
29703
29704         * tests/test-link.c: Include <errno.h>.
29705         (main): Exit with code 77 when a hard link cannot be created due to
29706         the file system.
29707         * tests/test-link.sh: Skip test when a hard link cannot be created due
29708         to the file system.
29709         Suggested by Eric Blake.
29710
29711 2009-01-19  Martin Lambers  <marlam@marlam.de>
29712
29713         * modules/link-tests: New file.
29714         * tests/test-link.sh: New file.
29715         * tests/test-link.c: New file.
29716
29717 2009-01-19  Eric Blake  <ebb9@byu.net>
29718
29719         doc: mention another function added in cygwin 1.7.0
29720         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
29721         Another new function in cygwin 1.7.
29722
29723 2009-01-19  Bruno Haible  <bruno@clisp.org>
29724
29725         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
29726         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
29727         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
29728         gl_BIGENDIAN, not AC_C_BIGENDIAN.
29729         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
29730         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
29731         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
29732         * m4/md4.m4 (gl_MD4): Likewise.
29733         * m4/md5.m4 (gl_MD5): Likewise.
29734         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
29735         * m4/sha1.m4 (gl_SHA1): Likewise.
29736         * m4/sha256.m4 (gl_SHA256): Likewise.
29737         * m4/sha512.m4 (gl_SHA512): Likewise.
29738
29739 2009-01-19  Bruno Haible  <bruno@clisp.org>
29740
29741         * modules/uniname/uniname-tests (Depends-on): Add progname.
29742         * tests/uniname/test-uninames.c: Include progname.h.
29743         (main): Call set_program_name.
29744
29745         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
29746         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
29747         (main): Call set_program_name.
29748
29749         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
29750         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
29751         (main): Call set_program_name.
29752
29753         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
29754         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
29755         (main): Call set_program_name.
29756
29757         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
29758         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
29759         (main): Call set_program_name.
29760
29761         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
29762         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
29763         (main): Call set_program_name.
29764
29765         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
29766         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
29767         (main): Call set_program_name.
29768
29769         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
29770         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
29771         (main): Call set_program_name.
29772
29773         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
29774         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
29775         (main): Call set_program_name.
29776
29777 2009-01-19  Eric Blake  <ebb9@byu.net>
29778
29779         test-unistd: test previous patch
29780         * tests/test-unistd.c: Test *_FILENO macros.
29781
29782         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
29783         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
29784         Guarantee a definition.
29785         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
29786         * modules/unistd-safer (Depends-on): Add dependency on unistd.
29787         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
29788         * lib/dup-safer.c (STDERR_FILENO): Likewise.
29789         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
29790         Likewise.
29791         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
29792         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
29793         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
29794         Likewise.
29795         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
29796         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
29797         (STDERR_FILENO): Likewise.
29798         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
29799         (STDERR_FILENO): Likewise.
29800         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
29801         (STDERR_FILENO): Likewise.
29802         Reported by Elbert Pol.
29803
29804 2009-01-19  Eric Blake  <ebb9@byu.net>
29805
29806         doc: mention more functions added in cygwin 1.7.0
29807         * doc/posix-functions/abort.texi (abort): Update wording related
29808         to cygwin.
29809         * doc/posix-functions/daylight.texi (daylight): Likewise.
29810         * doc/posix-functions/optarg.texi (optarg): Likewise.
29811         * doc/posix-functions/optarg.texi (opterr): Likewise.
29812         * doc/posix-functions/optarg.texi (optind): Likewise.
29813         * doc/posix-functions/optarg.texi (optopt): Likewise.
29814         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
29815         worked in 1.5.x, and was withdrawn in 1.7.
29816         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
29817         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
29818         cygwin versions.
29819         * doc/posix-functions/perror.texi (perror): Likewise.
29820         * doc/posix-functions/printf.texi (printf): Likewise.
29821         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
29822         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
29823         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
29824         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
29825         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
29826         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
29827         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
29828         Likewise.
29829         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
29830         Likewise.
29831         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
29832         this function.
29833         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
29834         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
29835         Likewise.
29836         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
29837         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
29838         * doc/posix-functions/confstr.texi (confstr): Likewise.
29839         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
29840         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
29841         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
29842         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
29843         * doc/posix-functions/fputws.texi (fputws): Likewise.
29844         * doc/posix-functions/fwide.texi (fwide): Likewise.
29845         * doc/posix-functions/getwc.texi (getwc): Likewise.
29846         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
29847         * doc/posix-functions/putwc.texi (putwc): Likewise.
29848         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
29849         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
29850         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
29851         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
29852         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
29853         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
29854         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
29855         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
29856         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
29857         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
29858         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
29859
29860 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
29861
29862         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
29863         * lib/ioctl.c: Include <sys/ioctl.h>.
29864
29865 2009-01-19  Simon Josefsson  <simon@josefsson.org>
29866
29867         * modules/getdate-tests (Depends-on): Add progname.
29868         * tests/test-getdate.c: Use progname module, to avoid link errors
29869         on non-glibc systems.
29870
29871 2009-01-18  Simon Josefsson  <simon@josefsson.org>
29872
29873         * modules/filenamecat-tests (Depends-on): Add progname.
29874         * modules/fstrcmp-tests (Depends-on): Likewise.
29875
29876         * tests/test-filenamecat.c: Use progname module, to avoid link
29877         errors on non-glibc systems.
29878         * tests/test-fstrcmp.c: Likewise.
29879
29880 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
29881
29882         gettimeofday: avoid warning: nested extern declaration of 'localtime'
29883         * lib/gettimeofday.c: Move extern declaration out of function.
29884
29885 2009-01-18  Bruno Haible  <bruno@clisp.org>
29886
29887         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
29888         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
29889         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
29890
29891 2009-01-18  Bruno Haible  <bruno@clisp.org>
29892
29893         * lib/strftime.c (MEMPCPY): Remove unused macro.
29894         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
29895
29896 2009-01-18  Martin Lambers  <marlam@marlam.de>
29897
29898         New module 'link'.
29899         * lib/unistd.in.h (link): New declaration.
29900         * lib/link.c: New file.
29901         * m4/link.m4: New file.
29902         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
29903         HAVE_LINK.
29904         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
29905         * modules/link: New file.
29906         * doc/posix-functions/link.texi: Mention the new module.
29907
29908 2009-01-18  Bruno Haible  <bruno@clisp.org>
29909
29910         * tests/test-avltree_list.c (main): Call set_program_name.
29911         * tests/test-avltree_oset.c (main): Likewise.
29912         * tests/test-obstack-printf.c: Include progname.h.
29913         (main): Call set_program_name.
29914         * tests/test-quotearg.c: Include progname.h.
29915         (main): Call set_program_name.
29916         * tests/test-xmemdup0.c: Include progname.h.
29917         (main): Call set_program_name.
29918
29919 2009-01-18  Bruno Haible  <bruno@clisp.org>
29920
29921         New module 'alphasort'.
29922         * lib/dirent.in.h (alphasort): New declaration.
29923         * lib/alphasort.c: New file, from glibc with modifications.
29924         * m4/alphasort.m4: New file.
29925         * modules/alphasort: New file.
29926         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
29927         HAVE_ALPHASORT.
29928         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
29929         HAVE_ALPHASORT.
29930         * doc/posix-functions/alphasort.texi: Mention the new module and the
29931         portability problems.
29932
29933 2009-01-18  Bruno Haible  <bruno@clisp.org>
29934
29935         New module 'scandir'.
29936         * lib/dirent.in.h (scandir): New declaration.
29937         * lib/scandir.c: New file, from glibc with modifications.
29938         * m4/scandir.m4: New file.
29939         * modules/scandir: New file.
29940         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
29941         HAVE_SCANDIR.
29942         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
29943         HAVE_SCANDIR.
29944         * doc/posix-functions/scandir.texi: Mention the new module and the
29945         portability problems.
29946
29947 2009-01-17  Bruno Haible  <bruno@clisp.org>
29948
29949         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
29950         Update documentation.
29951         (func_remove_suffix): Escape all dots in the suffix. Update
29952         documentation.
29953         (func_filter_filelist): Update documentation.
29954         Reported by Ralf Wildenhues.
29955
29956 2009-01-17  Bruno Haible  <bruno@clisp.org>
29957
29958         * modules/dprintf-posix-tests: New file.
29959         * tests/test-dprintf-posix.sh: New file.
29960         * tests/test-dprintf-posix.c: New file.
29961
29962         New modules 'dprintf', 'dprintf-posix'.
29963         * lib/stdio.in.h (dprintf): New declaration.
29964         * lib/dprintf.c: New file.
29965         * m4/dprintf.m4: New file.
29966         * m4/dprintf-posix.m4: New file.
29967         * modules/dprintf: New file.
29968         * modules/dprintf-posix: New file.
29969         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
29970         HAVE_DPRINTF, REPLACE_DPRINTF.
29971         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
29972         HAVE_DPRINTF, REPLACE_DPRINTF.
29973         * doc/posix-functions/dprintf.texi: Mention the new modules.
29974
29975 2009-01-17  Bruno Haible  <bruno@clisp.org>
29976
29977         * modules/vdprintf-posix-tests: New file.
29978         * tests/test-vdprintf-posix.sh: New file.
29979         * tests/test-vdprintf-posix.c: New file.
29980
29981         New modules 'vdprintf', 'vdprintf-posix'.
29982         * lib/stdio.in.h (vdprintf): New declaration.
29983         * lib/vdprintf.c: New file.
29984         * m4/vdprintf.m4: New file.
29985         * m4/vdprintf-posix.m4: New file.
29986         * modules/vdprintf: New file.
29987         * modules/vdprintf-posix: New file.
29988         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
29989         HAVE_VDPRINTF, REPLACE_VDPRINTF.
29990         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
29991         HAVE_VDPRINTF, REPLACE_VDPRINTF.
29992         * doc/posix-functions/vdprintf.texi: Mention the new modules.
29993
29994 2009-01-17  Bruno Haible  <bruno@clisp.org>
29995
29996         Fix replacement of fopen on mingw.
29997         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
29998         mingw.
29999
30000 2009-01-17  Bruno Haible  <bruno@clisp.org>
30001
30002         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
30003         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
30004
30005 2009-01-17  Bruno Haible  <bruno@clisp.org>
30006
30007         Avoid test-fflush2.sh failure on mingw.
30008         * tests/test-fflush2.c: Include binary-io.h.
30009         (main): Put standard input into binary mode.
30010         * modules/fflush-tests (Depends-on): Add binary-io.
30011
30012 2009-01-17  Bruno Haible  <bruno@clisp.org>
30013
30014         * lib/wchar.in.h: In another particular situation, include only the
30015         system's <wchar.h> file.
30016         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
30017         Reported by Albert Chin-A-Young <china@thewrittenword.com>
30018         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
30019
30020 2009-01-17  Bruno Haible  <bruno@clisp.org>
30021
30022         Support for stripping executables in --enable-relocatable.
30023         * build-aux/install-reloc: Expect one more argument, or an environment
30024         variable RELOC_STRIP_PROG. If set, strip the destination program and
30025         its wrapper.
30026         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
30027         RELOC_STRIP_PROG.
30028         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
30029         to set RELOCATABLE_STRIP.
30030         * NEWS: Mention the new Makefile requirement.
30031
30032 2009-01-17  Bruno Haible  <bruno@clisp.org>
30033
30034         * build-aux/install-reloc: Remove debugging information left over by
30035         C compiler on MacOS X.
30036
30037 2009-01-17  Bruno Haible  <bruno@clisp.org>
30038
30039         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
30040         * lib/progreloc.c (find_executable): Fix type of pointer passed to
30041         _NSGetExecutablePath.
30042
30043 2009-01-16  Jim Meyering  <meyering@redhat.com>
30044
30045         strerror: avoid warnings about discarding "const"
30046         * lib/strerror.c (rpl_strerror): Instead of returning a const
30047         string from each and every "case", use a variable, and add a single
30048         cast after the switch.
30049
30050 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
30051
30052         * lib/arpa_inet.in.h: Add extern "C" block for C++.
30053
30054 2009-01-16  Bruno Haible  <bruno@clisp.org>
30055
30056         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
30057         array initializer syntax that also works in C++ mode.
30058         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
30059
30060 2009-01-16  Jim Meyering  <meyering@redhat.com>
30061
30062         poll: suppress a warning
30063         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
30064         to ignore "...unsigned expression < 0 is always false" warnings.
30065
30066 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
30067
30068         poll: remove declarations of unused variables
30069         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
30070         sockbuf and optlen.
30071
30072 2009-01-15  Bruno Haible  <bruno@clisp.org>
30073
30074         Make fflush-after-ungetc POSIX compliant on BSD systems.
30075         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
30076         (clear_ungetc_buffer): Implement also for other systems.
30077         (rpl_fflush): On glibc systems, invoke
30078         clear_ungetc_buffer_preserving_position. Otherwise, invoke
30079         clear_ungetc_buffer after fetching the stream's position, not before.
30080
30081 2009-01-15  Bruno Haible  <bruno@clisp.org>
30082
30083         Make fflush-after-ungetc POSIX compliant on glibc systems.
30084         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
30085         after ungetc.
30086         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
30087         (rpl_fflush): On glibc systems, simply call the system's fflush
30088         function after clearing the ungetc buffer.
30089         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
30090         Instead, lseek only to the end of file, then use the system's fseeko
30091         for the rest. On glibc systems, reset the EOF indicator bit.
30092
30093 2009-01-15  Jim Meyering  <meyering@redhat.com>
30094
30095         openmp.m4: revert quote-adding change, for portability to older autoconf
30096         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
30097         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
30098         Simon Josefsson noticed the problem when using autoconf-2.61.
30099
30100 2009-01-15  Bruno Haible  <bruno@clisp.org>
30101
30102         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
30103         * tests/test-fflush2.c (ASSERT): Always fail.
30104         (main): Add two tests for fflush() after ungetc(), taking into account
30105         the Austin Group's clarification.
30106         Suggested by Eric Blake.
30107
30108 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
30109
30110         mktime.m4: remove K&R-style function prototypes
30111         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
30112         for the Sun C++ compiler.
30113
30114 2009-01-14  Bruno Haible  <bruno@clisp.org>
30115
30116         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
30117         while including <wchar.h>.
30118         * lib/wchar.in.h: In two particular situations on HP-UX, include only
30119         the system's <wchar.h> file.
30120         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
30121
30122 2009-01-14  Bruno Haible  <bruno@clisp.org>
30123
30124         * m4/csharp.m4: Don't mention gettext on the serial number line.
30125         * m4/csharpexec.m4: Likewise.
30126         * m4/eaccess.m4: Likewise.
30127         * m4/javaexec.m4: Likewise.
30128         * m4/sig_atomic_t.m4: Likewise.
30129         * m4/tmpdir.m4: Likewise.
30130         * m4/intldir.m4: Bump gettext version.
30131         * m4/lib-ld.m4: Likewise.
30132
30133 2009-01-14  Bruno Haible  <bruno@clisp.org>
30134
30135         * lib/progname.c (set_program_name): Add more comments.
30136         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
30137
30138 2009-01-14  Simon Josefsson  <simon@josefsson.org>
30139
30140         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
30141         were sys/stat.h does not define it.
30142
30143 2009-01-14  Jim Meyering  <meyering@redhat.com>
30144
30145         many *.m4 files: improve m4 quoting
30146         99% of this change was performed by running the following commands:
30147         git ls-files | grep '\.m4$' | xargs perl -pi \
30148           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
30149           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
30150           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
30151           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
30152         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
30153         The remainder were to add Copyright dates, increment serial numbers,
30154         undo some changes in comments, exclude m4/intl.m4, and add quotes
30155         around the "1" in ",1" where the unusual spacing prohibited the
30156         above regexps from doing the job.  For more details, see
30157         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
30158         * m4/acl.m4: Modified.
30159         * m4/afs.m4: Likewise.
30160         * m4/alloca.m4: Likewise.
30161         * m4/argp.m4: Likewise.
30162         * m4/argz.m4: Likewise.
30163         * m4/atexit.m4: Likewise.
30164         * m4/bison-i18n.m4: Likewise.
30165         * m4/bison.m4: Likewise.
30166         * m4/byteswap.m4: Likewise.
30167         * m4/c-stack.m4: Likewise.
30168         * m4/c-strtod.m4: Likewise.
30169         * m4/calloc.m4: Likewise.
30170         * m4/canonicalize-lgpl.m4: Likewise.
30171         * m4/chown.m4: Likewise.
30172         * m4/clock_time.m4: Likewise.
30173         * m4/codeset.m4: Likewise.
30174         * m4/copy-file.m4: Likewise.
30175         * m4/csharp.m4: Likewise.
30176         * m4/csharpcomp.m4: Likewise.
30177         * m4/csharpexec.m4: Likewise.
30178         * m4/d-ino.m4: Likewise.
30179         * m4/d-type.m4: Likewise.
30180         * m4/dirfd.m4: Likewise.
30181         * m4/double-slash-root.m4: Likewise.
30182         * m4/eaccess.m4: Likewise.
30183         * m4/eealloc.m4: Likewise.
30184         * m4/environ.m4: Likewise.
30185         * m4/errno_h.m4: Likewise.
30186         * m4/euidaccess.m4: Likewise.
30187         * m4/execute.m4: Likewise.
30188         * m4/fatal-signal.m4: Likewise.
30189         * m4/fchdir.m4: Likewise.
30190         * m4/fcntl_h.m4: Likewise.
30191         * m4/fileblocks.m4: Likewise.
30192         * m4/filenamecat.m4: Likewise.
30193         * m4/findprog.m4: Likewise.
30194         * m4/flexmember.m4: Likewise.
30195         * m4/fnmatch.m4: Likewise.
30196         * m4/fopen.m4: Likewise.
30197         * m4/fpending.m4: Likewise.
30198         * m4/fprintf-posix.m4: Likewise.
30199         * m4/free.m4: Likewise.
30200         * m4/frexp.m4: Likewise.
30201         * m4/frexpl.m4: Likewise.
30202         * m4/fsusage.m4: Likewise.
30203         * m4/ftruncate.m4: Likewise.
30204         * m4/gc-camellia.m4: Likewise.
30205         * m4/gc-random.m4: Likewise.
30206         * m4/gc.m4: Likewise.
30207         * m4/getaddrinfo.m4: Likewise.
30208         * m4/getcwd-abort-bug.m4: Likewise.
30209         * m4/getcwd-path-max.m4: Likewise.
30210         * m4/getdate.m4: Likewise.
30211         * m4/getdomainname.m4: Likewise.
30212         * m4/getgroups.m4: Likewise.
30213         * m4/gethostname.m4: Likewise.
30214         * m4/gethrxtime.m4: Likewise.
30215         * m4/getline.m4: Likewise.
30216         * m4/getloadavg.m4: Likewise.
30217         * m4/getndelim2.m4: Likewise.
30218         * m4/getpass.m4: Likewise.
30219         * m4/gettext.m4: Likewise.
30220         * m4/gettime.m4: Likewise.
30221         * m4/gettimeofday.m4: Likewise.
30222         * m4/gnulib-common.m4: Likewise.
30223         * m4/group-member.m4: Likewise.
30224         * m4/host-os.m4: Likewise.
30225         * m4/iconv.m4: Likewise.
30226         * m4/iconv_open.m4: Likewise.
30227         * m4/inet_ntop.m4: Likewise.
30228         * m4/inet_pton.m4: Likewise.
30229         * m4/inline.m4: Likewise.
30230         * m4/intldir.m4: Likewise.
30231         * m4/intlmacosx.m4: Likewise.
30232         * m4/intmax.m4: Likewise.
30233         * m4/intmax_t.m4: Likewise.
30234         * m4/inttypes.m4: Likewise.
30235         * m4/inttypes_h.m4: Likewise.
30236         * m4/inttypes-pri.m4: Likewise.
30237         * m4/isapipe.m4: Likewise.
30238         * m4/isnand.m4: Likewise.
30239         * m4/isnanf.m4: Likewise.
30240         * m4/isnanl.m4: Likewise.
30241         * m4/javacomp.m4: Likewise.
30242         * m4/javaexec.m4: Likewise.
30243         * m4/jm-winsz1.m4: Likewise.
30244         * m4/jm-winsz2.m4: Likewise.
30245         * m4/lchown.m4: Likewise.
30246         * m4/lcmessage.m4: Likewise.
30247         * m4/ldexpl.m4: Likewise.
30248         * m4/lib-ld.m4: Likewise.
30249         * m4/lib-link.m4: Likewise.
30250         * m4/libsigsegv.m4: Likewise.
30251         * m4/link-follow.m4: Likewise.
30252         * m4/localcharset.m4: Likewise.
30253         * m4/locale-fr.m4: Likewise.
30254         * m4/locale-ja.m4: Likewise.
30255         * m4/locale-tr.m4: Likewise.
30256         * m4/locale-zh.m4: Likewise.
30257         * m4/lock.m4: Likewise.
30258         * m4/longlong.m4: Likewise.
30259         * m4/ls-mntd-fs.m4: Likewise.
30260         * m4/lstat.m4: Likewise.
30261         * m4/malloc.m4: Likewise.
30262         * m4/mathl.m4: Likewise.
30263         * m4/mbrtowc.m4: Likewise.
30264         * m4/mbstate_t.m4: Likewise.
30265         * m4/mbswidth.m4: Likewise.
30266         * m4/memchr.m4: Likewise.
30267         * m4/memcmp.m4: Likewise.
30268         * m4/memcpy.m4: Likewise.
30269         * m4/memmem.m4: Likewise.
30270         * m4/memmove.m4: Likewise.
30271         * m4/mempcpy.m4: Likewise.
30272         * m4/memrchr.m4: Likewise.
30273         * m4/memset.m4: Likewise.
30274         * m4/minmax.m4: Likewise.
30275         * m4/mkdir-slash.m4: Likewise.
30276         * m4/mkdtemp.m4: Likewise.
30277         * m4/mktime.m4: Likewise.
30278         * m4/mmap-anon.m4: Likewise.
30279         * m4/mountlist.m4: Likewise.
30280         * m4/nanosleep.m4: Likewise.
30281         * m4/nls.m4: Likewise.
30282         * m4/nocrash.m4: Likewise.
30283         * m4/open.m4: Likewise.
30284         * m4/openat.m4: Likewise.
30285         * m4/openmp.m4: Likewise.
30286         * m4/pathmax.m4: Likewise.
30287         * m4/perl.m4: Likewise.
30288         * m4/physmem.m4: Likewise.
30289         * m4/pipe.m4: Likewise.
30290         * m4/po.m4: Likewise.
30291         * m4/poll.m4: Likewise.
30292         * m4/posixtm.m4: Likewise.
30293         * m4/posixver.m4: Likewise.
30294         * m4/printf-frexp.m4: Likewise.
30295         * m4/printf-frexpl.m4: Likewise.
30296         * m4/printf-posix.m4: Likewise.
30297         * m4/printf-posix-rpl.m4: Likewise.
30298         * m4/printf.m4: Likewise.
30299         * m4/progtest.m4: Likewise.
30300         * m4/putenv.m4: Likewise.
30301         * m4/readline.m4: Likewise.
30302         * m4/readlink.m4: Likewise.
30303         * m4/readutmp.m4: Likewise.
30304         * m4/realloc.m4: Likewise.
30305         * m4/regex.m4: Likewise.
30306         * m4/relocatable.m4: Likewise.
30307         * m4/relocatable-lib.m4: Likewise.
30308         * m4/rename-dest-slash.m4: Likewise.
30309         * m4/rename.m4: Likewise.
30310         * m4/rmdir-errno.m4: Likewise.
30311         * m4/rmdir.m4: Likewise.
30312         * m4/roundf.m4: Likewise.
30313         * m4/roundl.m4: Likewise.
30314         * m4/rpmatch.m4: Likewise.
30315         * m4/save-cwd.m4: Likewise.
30316         * m4/selinux-selinux-h.m4: Likewise.
30317         * m4/setenv.m4: Likewise.
30318         * m4/settime.m4: Likewise.
30319         * m4/sig2str.m4: Likewise.
30320         * m4/sig_atomic_t.m4: Likewise.
30321         * m4/signalblocking.m4: Likewise.
30322         * m4/signbit.m4: Likewise.
30323         * m4/sigpipe.m4: Likewise.
30324         * m4/sockets.m4: Likewise.
30325         * m4/sockpfaf.m4: Likewise.
30326         * m4/st_dm_mode.m4: Likewise.
30327         * m4/stat-time.m4: Likewise.
30328         * m4/stdbool.m4: Likewise.
30329         * m4/stdint.m4: Likewise.
30330         * m4/stdint_h.m4: Likewise.
30331         * m4/stpcpy.m4: Likewise.
30332         * m4/stpncpy.m4: Likewise.
30333         * m4/strcase.m4: Likewise.
30334         * m4/strchrnul.m4: Likewise.
30335         * m4/strcspn.m4: Likewise.
30336         * m4/strdup.m4: Likewise.
30337         * m4/strftime.m4: Likewise.
30338         * m4/strndup.m4: Likewise.
30339         * m4/strnlen.m4: Likewise.
30340         * m4/strpbrk.m4: Likewise.
30341         * m4/strptime.m4: Likewise.
30342         * m4/strsep.m4: Likewise.
30343         * m4/strtod.m4: Likewise.
30344         * m4/strtoimax.m4: Likewise.
30345         * m4/strtok_r.m4: Likewise.
30346         * m4/strtol.m4: Likewise.
30347         * m4/strtoll.m4: Likewise.
30348         * m4/strtoul.m4: Likewise.
30349         * m4/strtoull.m4: Likewise.
30350         * m4/strtoumax.m4: Likewise.
30351         * m4/strverscmp.m4: Likewise.
30352         * m4/threadlib.m4: Likewise.
30353         * m4/timegm.m4: Likewise.
30354         * m4/tm_gmtoff.m4: Likewise.
30355         * m4/tmpdir.m4: Likewise.
30356         * m4/tmpfile.m4: Likewise.
30357         * m4/tzset.m4: Likewise.
30358         * m4/uintmax_t.m4: Likewise.
30359         * m4/unlinkdir.m4: Likewise.
30360         * m4/unlocked-io.m4: Likewise.
30361         * m4/uptime.m4: Likewise.
30362         * m4/userspec.m4: Likewise.
30363         * m4/utimbuf.m4: Likewise.
30364         * m4/utime.m4: Likewise.
30365         * m4/utimes-null.m4: Likewise.
30366         * m4/utimes.m4: Likewise.
30367         * m4/vararrays.m4: Likewise.
30368         * m4/vasnprintf.m4: Likewise.
30369         * m4/vfprintf-posix.m4: Likewise.
30370         * m4/vprintf-posix.m4: Likewise.
30371         * m4/wait-process.m4: Likewise.
30372         * m4/wchar_t.m4: Likewise.
30373         * m4/wint_t.m4: Likewise.
30374         * m4/write-any-file.m4: Likewise.
30375         * m4/yield.m4: Likewise.
30376
30377 2009-01-13  Bruno Haible  <bruno@clisp.org>
30378
30379         Avoid test-copy-file.sh failures when ACL support insufficient.
30380         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
30381         TESTS_ENVIRONMENT.
30382         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
30383         Reported by Jim Meyering.
30384
30385 2009-01-13  Bruno Haible  <bruno@clisp.org>
30386
30387         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
30388         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
30389         * modules/unistdio/u8-printf-parse (Files): Likewise.
30390         * modules/unistdio/u32-printf-parse (Files): Likewise.
30391         * modules/unistdio/ulc-printf-parse (Files): Likewise.
30392
30393 2009-01-13  Simon Josefsson  <simon@josefsson.org>
30394
30395         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
30396         and m4/inttypes_h.m4 too.
30397
30398 2009-01-12  Eric Blake  <ebb9@byu.net>
30399
30400         tests: IRIX 6.2 cc can't compile -0.0 into .data
30401         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
30402         rather than at compile-time.
30403         * tests/test-floorl.c (minus_zero): Likewise.
30404         * tests/test-frexpl.c (minus_zero): Likewise.
30405         * tests/test-isnan.c (minus_zerol): Likewise.
30406         * tests/test-isnanl.h (minus_zero): Likewise.
30407         * tests/test-ldexpl.c (minus_zero): Likewise.
30408         * tests/test-roundl.c (minus_zero): Likewise.
30409         * tests/test-signbit.c (minus_zerol): Likewise.
30410         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
30411         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
30412         * tests/test-truncl.c (minus_zero): Likewise.
30413         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
30414         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
30415         Reported by Tom G. Christensen and Nelson H. F. Beebe.
30416
30417 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
30418
30419         regex: fix glibc bug 9697
30420         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
30421         handling.
30422
30423 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
30424
30425         regex: fix glibc bug 697
30426         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
30427         being NULL also if there are no backreferences.
30428
30429 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
30430
30431         regex: merge glibc changes
30432         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
30433         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
30434         re_string_skip_chars, re_string_reconstruct): Likewise.
30435         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
30436
30437 2009-01-07  Jim Meyering  <meyering@redhat.com>
30438
30439         poll: filter through cppi
30440         * lib/poll.c: Indent cpp directives to reflect nesting.
30441
30442 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
30443
30444         poll: don't return uninitialized
30445         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
30446
30447 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
30448
30449         avoid compile failure on AIX 6.1
30450         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
30451         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
30452
30453 2009-01-04  Jim Meyering  <meyering@redhat.com>
30454
30455         remove duplicate inclusion of <stdio.h>
30456         * tests/test-fprintf-posix.c: Likewise.
30457         * tests/test-printf-posix.c: Likewise.
30458         * tests/test-snprintf-posix.c: Likewise.
30459         * tests/test-sprintf-posix.c: Likewise.
30460         * tests/test-vasprintf-posix.c: Likewise.
30461         * tests/test-vfprintf-posix.c: Likewise.
30462         * tests/test-vprintf-posix.c: Likewise.
30463         * tests/test-vsnprintf-posix.c: Likewise.
30464         * tests/test-vsprintf-posix.c: Likewise.
30465
30466 2009-01-03  Jim Meyering  <meyering@redhat.com>
30467
30468         gnulib-tool: fix sed-based filtering
30469         * gnulib-tool (func_filter_filelist): Remove extra backslash
30470         in sed_fff_filter definition.
30471
30472 2009-01-02  Jim Meyering  <meyering@redhat.com>
30473
30474         strftime: avoid compilation failure on Solaris 2.6
30475         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
30476         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
30477         Don't #define mbrlen or mbsinit, since now they're guaranteed to
30478         be available.  Reported by Tom G. Christensen.  Details in
30479         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
30480
30481 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30482             Bruno Haible  <bruno@clisp.org>
30483
30484         Speed up gnulib-tool by doing more string processing through shell
30485         built-ins.
30486         * gnulib-tool (fast_func_append): New variable.
30487         (func_remove_prefix, func_remove_suffix): New functions.
30488         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
30489         (func_filter_filelist): New function.
30490         (func_get_dependencies): Use func_remove_suffix instead of sed.
30491         (func_get_automake_snippet): Use func_filter_filelist instead of a
30492         subshell and sed invocation.
30493
30494 2009-01-01  Bruno Haible  <bruno@clisp.org>
30495
30496         Fix a security bug.
30497         * gnulib-tool (func_import, import, update): Don't allow the characters
30498         '"', '$', '`', '\' in macro arguments that become part of commands that
30499         are evaluated.
30500
30501 2009-01-01  Bruno Haible  <bruno@clisp.org>
30502
30503         * gnulib-tool (func_reset_sigpipe): Add more comments.
30504
30505 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30506
30507         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
30508         func_emit_tests_Makefile_am, func_import): Abort loops early if we
30509         already know the answer.
30510
30511 2009-01-01  Jim Meyering  <meyering@redhat.com>
30512
30513         * lib/version-etc.c (version_etc_va): Update copyright year.
30514
30515 2008-12-30  Bruno Haible  <bruno@clisp.org>
30516
30517         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
30518         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
30519         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
30520
30521 2008-12-29  Eric Blake  <ebb9@byu.net>
30522
30523         multiarch: avoid autoconf AC_REQUIRE bug
30524         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
30525         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
30526         2.63 and older.
30527         Reported by Bruno Haible, and analyzed in
30528         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
30529
30530 2008-12-29  Bruno Haible  <bruno@clisp.org>
30531
30532         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
30533         files in subdirectories correctly.
30534         Reported by Ralf Wildenhues.
30535
30536 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30537
30538         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
30539         rather than 'join FILE -', for Solaris join.
30540
30541 2008-12-29  Bruno Haible  <bruno@clisp.org>
30542
30543         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
30544         quoting.
30545         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
30546         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
30547         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
30548         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
30549         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
30550         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
30551         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
30552         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
30553         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
30554         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
30555         * m4/nls.m4 (AM_NLS): Likewise.
30556         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
30557         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
30558         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
30559         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
30560         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
30561         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
30562         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
30563         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
30564         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
30565         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
30566         * m4/xsize.m4 (gl_XSIZE): Likewise.
30567         Suggested by Jim Meyering.
30568
30569 2008-11-17  Bruce Korb  <bkorb@gnu.org>
30570
30571         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
30572         * lib/parse-duration.c: use a switch instead of cascading if's.
30573
30574 2008-12-29  Eric Blake  <ebb9@byu.net>
30575
30576         wchar.h: supply WEOF on Irix 5.3
30577         * lib/wchar.in.h (wint_t): Also supply WEOF.
30578         * lib/wctype.in.h (wint_t): Likewise.
30579         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
30580         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
30581         Reported by Tom G. Christensen.
30582
30583 2008-12-26  Bruno Haible  <bruno@clisp.org>
30584
30585         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
30586         i486, i586, i686.
30587
30588 2008-12-26  Bruno Haible  <bruno@clisp.org>
30589
30590         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
30591
30592 2008-12-26  Bruno Haible  <bruno@clisp.org>
30593
30594         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
30595         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
30596         not __STDC_CONSTANT_MACROS.
30597         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
30598
30599 2008-12-25  Bruno Haible  <bruno@clisp.org>
30600
30601         Add support for universal builds to vasnprintf.
30602         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
30603         universal builds, guess no.
30604         * modules/vasnprintf-posix (Depends-on): Add multiarch.
30605         * modules/vasprintf-posix (Depends-on): Likewise.
30606         * modules/fprintf-posix (Depends-on): Likewise.
30607         * modules/vfprintf-posix (Depends-on): Likewise.
30608         * modules/snprintf-posix (Depends-on): Likewise.
30609         * modules/vsnprintf-posix (Depends-on): Likewise.
30610         * modules/sprintf-posix (Depends-on): Likewise.
30611         * modules/vsprintf-posix (Depends-on): Likewise.
30612         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
30613         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
30614         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
30615         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
30616         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
30617         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
30618         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
30619
30620         Add support for universal builds to <inttypes.h>.
30621         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
30622         _SCNu64_PREFIX): In Apple
30623         universal builds, define directly, using _LP64.
30624         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
30625         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
30626         * modules/inttypes (Depends-on): Add multiarch.
30627         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
30628
30629         Add support for universal builds to <stdint.h>.
30630         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
30631         universal builds, define directly, using _LP64.
30632         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
30633         Apple universal builds, don't test for the size and suffix of ptrdiff_t
30634         and size_t.
30635         * modules/stdint (Depends-on): Add multiarch.
30636         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
30637
30638         New module 'multiarch'.
30639         * modules/multiarch: New file.
30640         * m4/multiarch.m4: New file.
30641
30642 2008-12-25  Bruno Haible  <bruno@clisp.org>
30643
30644         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
30645
30646 2008-12-25  Bruno Haible  <bruno@clisp.org>
30647
30648         * modules/btowc (License): Relicense under LGPLv2+.
30649         * modules/mbsinit (License): Likewise.
30650         * modules/mbrtowc (License): Likewise.
30651         * modules/wcrtomb (License): Likewise.
30652         * modules/streq (License): Likewise.
30653         Reported by David Lutterkort <lutter@redhat.com>.
30654
30655 2008-12-23  Bruno Haible  <bruno@clisp.org>
30656
30657         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
30658
30659 2008-12-23  Bruno Haible  <bruno@clisp.org>
30660
30661         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
30662         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
30663         GETADDRINFO_LIB, not in LIBS.
30664         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
30665         * modules/canon-host (Link): Likewise.
30666         * NEWS: Mention the change.
30667         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
30668         GETADDRINFO_LIB.
30669
30670 2008-12-22  Bruno Haible  <bruno@clisp.org>
30671
30672         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
30673         * doc/posix-functions/iswalpha_l.texi: Likewise.
30674         * doc/posix-functions/iswblank_l.texi: Likewise.
30675         * doc/posix-functions/iswcntrl_l.texi: Likewise.
30676         * doc/posix-functions/iswctype_l.texi: Likewise.
30677         * doc/posix-functions/iswdigit_l.texi: Likewise.
30678         * doc/posix-functions/iswgraph_l.texi: Likewise.
30679         * doc/posix-functions/iswlower_l.texi: Likewise.
30680         * doc/posix-functions/iswprint_l.texi: Likewise.
30681         * doc/posix-functions/iswpunct_l.texi: Likewise.
30682         * doc/posix-functions/iswspace_l.texi: Likewise.
30683         * doc/posix-functions/iswupper_l.texi: Likewise.
30684         * doc/posix-functions/iswxdigit_l.texi: Likewise.
30685         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
30686         * doc/posix-functions/open_wmemstream.texi: Likewise.
30687         * doc/posix-functions/swscanf.texi: Likewise.
30688         * doc/posix-functions/towctrans_l.texi: Likewise.
30689         * doc/posix-functions/towlower.texi: Likewise.
30690         * doc/posix-functions/towlower_l.texi: Likewise.
30691         * doc/posix-functions/towupper.texi: Likewise.
30692         * doc/posix-functions/towupper_l.texi: Likewise.
30693         * doc/posix-functions/vfwprintf.texi: Likewise.
30694         * doc/posix-functions/vfwscanf.texi: Likewise.
30695         * doc/posix-functions/vswscanf.texi: Likewise.
30696         * doc/posix-functions/vwprintf.texi: Likewise.
30697         * doc/posix-functions/vwscanf.texi: Likewise.
30698         * doc/posix-functions/wcpcpy.texi: Likewise.
30699         * doc/posix-functions/wcpncpy.texi: Likewise.
30700         * doc/posix-functions/wcscasecmp.texi: Likewise.
30701         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
30702         * doc/posix-functions/wcscoll_l.texi: Likewise.
30703         * doc/posix-functions/wcsdup.texi: Likewise.
30704         * doc/posix-functions/wcsncasecmp.texi: Likewise.
30705         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
30706         * doc/posix-functions/wcsnlen.texi: Likewise.
30707         * doc/posix-functions/wcsnrtombs.texi: Likewise.
30708         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
30709         * doc/posix-functions/wctrans_l.texi: Likewise.
30710         * doc/posix-functions/wctype_l.texi: Likewise.
30711         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
30712         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
30713         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
30714         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
30715         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
30716         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
30717         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
30718         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
30719         * doc/glibc-functions/wcschrnul.texi: Likewise.
30720         * doc/glibc-functions/wcsftime_l.texi: Likewise.
30721         * doc/glibc-functions/wcstod_l.texi: Likewise.
30722         * doc/glibc-functions/wcstof_l.texi: Likewise.
30723         * doc/glibc-functions/wcstol_l.texi: Likewise.
30724         * doc/glibc-functions/wcstold_l.texi: Likewise.
30725         * doc/glibc-functions/wcstoll_l.texi: Likewise.
30726         * doc/glibc-functions/wcstoq.texi: Likewise.
30727         * doc/glibc-functions/wcstoul_l.texi: Likewise.
30728         * doc/glibc-functions/wcstoull_l.texi: Likewise.
30729         * doc/glibc-functions/wcstouq.texi: Likewise.
30730         * doc/glibc-functions/wmempcpy.texi: Likewise.
30731
30732 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
30733             Eric Blake  <ebb9@byu.net>
30734             Paolo Bonzini  <bonzini@gnu.org>
30735             Bruno Haible  <bruno@clisp.org>
30736
30737         Make c-stack work on Haiku.
30738         * lib/c-stack.c (SA_ONSTACK): Define fallback.
30739         (c_stack_action): Use SA_ONSTACK flag.
30740
30741 2008-12-22  Bruno Haible  <bruno@clisp.org>
30742
30743         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
30744
30745 2008-12-22  Bruno Haible  <bruno@clisp.org>
30746
30747         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
30748         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
30749         being overridden.
30750         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
30751         New macros.
30752         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
30753         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
30754         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
30755         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
30756
30757 2008-12-22  Bruno Haible  <bruno@clisp.org>
30758
30759         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
30760         from test code.
30761
30762 2008-12-22  Eric Blake  <ebb9@byu.net>
30763
30764         Avoid gcc warnings on cygwin.
30765         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
30766         Avoid unused variable.
30767         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
30768         Likewise.
30769
30770 2008-12-22  Bruno Haible  <bruno@clisp.org>
30771
30772         Remove HAVE_MBRTOWC conditionals.
30773         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
30774         (mbscasecmp): Assume mbrtowc function.
30775         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
30776         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
30777         * lib/mbschr.c: Include mbuiter.h unconditionally.
30778         (mbschr): Assume mbrtowc function.
30779         * lib/mbscspn.c: Include mbuiter.h unconditionally.
30780         (mbscspn): Assume mbrtowc function.
30781         * lib/mbslen.c: Include mbuiter.h unconditionally.
30782         (mbslen): Assume mbrtowc function.
30783         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
30784         (mbsncasecmp): Assume mbrtowc function.
30785         * lib/mbsnlen.c: Include mbiter.h unconditionally.
30786         (mbsnlen): Assume mbrtowc function.
30787         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
30788         (mbspbrk): Assume mbrtowc function.
30789         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
30790         (mbspcasecmp): Assume mbrtowc function.
30791         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
30792         (mbsrchr): Assume mbrtowc function.
30793         * lib/mbssep.c: Include mbuiter.h unconditionally.
30794         (mbssep): Assume mbrtowc function.
30795         * lib/mbsspn.c: Include mbuiter.h unconditionally.
30796         (mbsspn): Assume mbrtowc function.
30797         * lib/mbsstr.c: Include mbuiter.h unconditionally.
30798         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
30799         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
30800         (mbstok_r): Assume mbrtowc function.
30801         * lib/propername.c: Include mbuiter.h unconditionally.
30802         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
30803         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
30804         (trim2): Assume mbrtowc function.
30805         * lib/mbswidth.c (mbsinit): Remove fallback definition.
30806         (mbsnwidth): Assume mbrtowc function.
30807         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
30808         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
30809         fallback definitions.
30810         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
30811
30812 2008-12-22  Bruno Haible  <bruno@clisp.org>
30813
30814         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
30815
30816 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
30817
30818         * modules/regex: Request emulations for the mb*/wc* functions we need.
30819         * m4/regex.m4: Don't look for those functions here.
30820         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
30821
30822 2008-12-22  Bruno Haible  <bruno@clisp.org>
30823
30824         * modules/fnmatch (Depends-on): Remove duplicated dependency.
30825
30826 2008-12-21  Bruno Haible  <bruno@clisp.org>
30827
30828         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
30829         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
30830         (Include): Remove conditionalization.
30831         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
30832         (Include): Remove conditionalization.
30833         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
30834         (Include): Remove conditionalization.
30835         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
30836         * m4/mbfile.m4 (gl_MBFILE): Likewise.
30837         * NEWS: Mention the change.
30838         Reported by Alan Hourihane <alanh@fairlite.co.uk>
30839         via Sergey Poznyakoff <gray@gnu.org.ua>.
30840
30841 2008-12-21  Bruno Haible  <bruno@clisp.org>
30842
30843         * MODULES.html.sh (Extended multibyte and wide character utilities
30844         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
30845         wcrtomb, wcsrtombs.
30846         (Support for systems lacking POSIX:2008): Add accept, bind, close,
30847         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
30848         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
30849         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
30850
30851 2008-12-21  Bruno Haible  <bruno@clisp.org>
30852
30853         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
30854
30855 2008-12-21  Bruno Haible  <bruno@clisp.org>
30856
30857         * modules/wcsnrtombs-tests: New file.
30858         * tests/test-wcsnrtombs1.sh: New file.
30859         * tests/test-wcsnrtombs2.sh: New file.
30860         * tests/test-wcsnrtombs3.sh: New file.
30861         * tests/test-wcsnrtombs4.sh: New file.
30862         * tests/test-wcsnrtombs.c: New file.
30863
30864         New module 'wcsnrtombs'.
30865         * lib/wchar.in.h (wcsnrtombs): New declaration.
30866         * lib/wcsnrtombs.c: New file.
30867         * lib/wcsrtombs-state.c: New file.
30868         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
30869         (internal_state): Remove variable.
30870         * m4/wcsnrtombs.m4: New file.
30871         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
30872         compilation units.
30873         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
30874         HAVE_WCSNRTOMBS.
30875         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
30876         HAVE_WCSNRTOMBS.
30877         * modules/wcsnrtombs: New file.
30878         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
30879         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
30880
30881 2008-12-21  Bruno Haible  <bruno@clisp.org>
30882
30883         * modules/wcsrtombs-tests: New file.
30884         * tests/test-wcsrtombs1.sh: New file.
30885         * tests/test-wcsrtombs2.sh: New file.
30886         * tests/test-wcsrtombs3.sh: New file.
30887         * tests/test-wcsrtombs4.sh: New file.
30888         * tests/test-wcsrtombs.c: New file.
30889
30890         New module 'wcsrtombs'.
30891         * lib/wchar.in.h (wcsrtombs): New declaration.
30892         * lib/wcsrtombs.c: New file.
30893         * m4/wcsrtombs.m4: New file.
30894         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
30895         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
30896         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
30897         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
30898         * modules/wcsrtombs: New file.
30899         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
30900         bugs.
30901
30902 2008-12-21  Bruno Haible  <bruno@clisp.org>
30903
30904         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
30905         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
30906         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
30907         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
30908         if not correct.
30909         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
30910         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
30911         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
30912         m4/locale-zh.m4, m4/codeset.m4.
30913         * doc/posix-functions/wcrtomb.texi: Document the bug.
30914
30915 2008-12-21  Bruno Haible  <bruno@clisp.org>
30916
30917         Work around a btowc() bug on IRIX 6.5.
30918         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
30919         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
30920         REPLACE_WTOBC if not.
30921         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
30922         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
30923         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
30924
30925 2008-12-21  Bruno Haible  <bruno@clisp.org>
30926
30927         * modules/wcrtomb-tests: New file.
30928         * tests/test-wcrtomb.sh: New file.
30929         * tests/test-wcrtomb.c: New file.
30930
30931         New module 'wcrtomb'.
30932         * lib/wchar.in.h (wcrtomb): New declaration.
30933         * lib/wcrtomb.c: New file.
30934         * m4/wcrtomb.m4: New file.
30935         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
30936         HAVE_WCRTOMB.
30937         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
30938         HAVE_WCRTOMB.
30939         * modules/wcrtomb: New file.
30940         * doc/posix-functions/wcrtomb.texi: Mention the new module.
30941
30942 2008-12-21  Bruno Haible  <bruno@clisp.org>
30943
30944         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
30945         * modules/mbsrtowcs (Files): Likewise.
30946         * modules/wctob (Files): Likewise.
30947         * modules/c-strcase-tests (Files): Likewise.
30948         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
30949         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
30950         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
30951         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
30952         * modules/vasnprintf-posix-tests (Files): Likewise.
30953
30954 2008-12-21  William Pursell  <bill.pursell@gmail.com>
30955
30956         gitlog-to-changelog: pass all command-line arguments to git-log
30957         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
30958         it is sometimes convenient to filter the commits in various ways.
30959         gitlog-to-changelog only allows --since to specify a start date,
30960         but git-log itself supports many other filtering mechanisms.
30961         At the moment, I want to filter by branch name.  Rather than
30962         adding a --branch option to gitlog-to-changelog, it seems more
30963         flexible to simply pass all options directly to git-log and let
30964         git do the work.  Notice that this effectively makes --since a
30965         redundant option for gitlog-to-changelog, but removing it would
30966         require current usage to change since calls would then require
30967         an additional '--'.
30968
30969 2008-12-21  Bruno Haible  <bruno@clisp.org>
30970
30971         * modules/mbsnrtowcs-tests: New file.
30972         * tests/test-mbsnrtowcs1.sh: New file.
30973         * tests/test-mbsnrtowcs2.sh: New file.
30974         * tests/test-mbsnrtowcs3.sh: New file.
30975         * tests/test-mbsnrtowcs4.sh: New file.
30976         * tests/test-mbsnrtowcs.c: New file.
30977
30978         New module 'mbsnrtowcs'.
30979         * lib/wchar.in.h (mbsnrtowcs): New declaration.
30980         * lib/mbsnrtowcs.c: New file.
30981         * lib/mbsrtowcs-state.c: New file.
30982         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
30983         (internal_state): Remove variable.
30984         * m4/mbsnrtowcs.m4: New file.
30985         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
30986         compilation units.
30987         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
30988         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
30989         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
30990         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
30991         * modules/mbsnrtowcs: New file.
30992         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
30993         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
30994         portability problem.
30995
30996 2008-12-21  Bruno Haible  <bruno@clisp.org>
30997
30998         Work around mbsrtowcs bug.
30999         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
31000         (gl_FUNC_MBSRTOWCS): Invoke it.
31001         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
31002         m4/locale-zh.m4.
31003         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
31004
31005 2008-12-21  Bruno Haible  <bruno@clisp.org>
31006
31007         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
31008
31009 2008-12-21  Bruno Haible  <bruno@clisp.org>
31010
31011         Update doc for AIX.
31012         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
31013         16-bit wchar_t type.
31014         * doc/posix-functions/btowc.texi: Likewise.
31015         * doc/posix-functions/fgetwc.texi: Likewise.
31016         * doc/posix-functions/fgetws.texi: Likewise.
31017         * doc/posix-functions/fputwc.texi: Likewise.
31018         * doc/posix-functions/fputws.texi: Likewise.
31019         * doc/posix-functions/fwide.texi: Likewise.
31020         * doc/posix-functions/fwprintf.texi: Likewise.
31021         * doc/posix-functions/fwscanf.texi: Likewise.
31022         * doc/posix-functions/getwchar.texi: Likewise.
31023         * doc/posix-functions/getwc.texi: Likewise.
31024         * doc/posix-functions/iswalnum.texi: Likewise.
31025         * doc/posix-functions/iswalpha.texi: Likewise.
31026         * doc/posix-functions/iswblank.texi: Likewise.
31027         * doc/posix-functions/iswcntrl.texi: Likewise.
31028         * doc/posix-functions/iswctype.texi: Likewise.
31029         * doc/posix-functions/iswdigit.texi: Likewise.
31030         * doc/posix-functions/iswgraph.texi: Likewise.
31031         * doc/posix-functions/iswlower.texi: Likewise.
31032         * doc/posix-functions/iswprint.texi: Likewise.
31033         * doc/posix-functions/iswpunct.texi: Likewise.
31034         * doc/posix-functions/iswspace.texi: Likewise.
31035         * doc/posix-functions/iswupper.texi: Likewise.
31036         * doc/posix-functions/iswxdigit.texi: Likewise.
31037         * doc/posix-functions/mbrtowc.texi: Likewise.
31038         * doc/posix-functions/mbsrtowcs.texi: Likewise.
31039         * doc/posix-functions/mbstowcs.texi: Likewise.
31040         * doc/posix-functions/mbtowc.texi: Likewise.
31041         * doc/posix-functions/putwchar.texi: Likewise.
31042         * doc/posix-functions/putwc.texi: Likewise.
31043         * doc/posix-functions/swprintf.texi: Likewise.
31044         * doc/posix-functions/tolower.texi: Likewise.
31045         * doc/posix-functions/toupper.texi: Likewise.
31046         * doc/posix-functions/towctrans.texi: Likewise.
31047         * doc/posix-functions/ungetwc.texi: Likewise.
31048         * doc/posix-functions/vswprintf.texi: Likewise.
31049         * doc/posix-functions/wcrtomb.texi: Likewise.
31050         * doc/posix-functions/wcscat.texi: Likewise.
31051         * doc/posix-functions/wcschr.texi: Likewise.
31052         * doc/posix-functions/wcscmp.texi: Likewise.
31053         * doc/posix-functions/wcscoll.texi: Likewise.
31054         * doc/posix-functions/wcscpy.texi: Likewise.
31055         * doc/posix-functions/wcscspn.texi: Likewise.
31056         * doc/posix-functions/wcsftime.texi: Likewise.
31057         * doc/posix-functions/wcslen.texi: Likewise.
31058         * doc/posix-functions/wcsncat.texi: Likewise.
31059         * doc/posix-functions/wcsncmp.texi: Likewise.
31060         * doc/posix-functions/wcsncpy.texi: Likewise.
31061         * doc/posix-functions/wcspbrk.texi: Likewise.
31062         * doc/posix-functions/wcsrchr.texi: Likewise.
31063         * doc/posix-functions/wcsrtombs.texi: Likewise.
31064         * doc/posix-functions/wcsspn.texi: Likewise.
31065         * doc/posix-functions/wcsstr.texi: Likewise.
31066         * doc/posix-functions/wcstod.texi: Likewise.
31067         * doc/posix-functions/wcstof.texi: Likewise.
31068         * doc/posix-functions/wcstoimax.texi: Likewise.
31069         * doc/posix-functions/wcstok.texi: Likewise.
31070         * doc/posix-functions/wcstold.texi: Likewise.
31071         * doc/posix-functions/wcstoll.texi: Likewise.
31072         * doc/posix-functions/wcstol.texi: Likewise.
31073         * doc/posix-functions/wcstombs.texi: Likewise.
31074         * doc/posix-functions/wcstoull.texi: Likewise.
31075         * doc/posix-functions/wcstoul.texi: Likewise.
31076         * doc/posix-functions/wcstoumax.texi: Likewise.
31077         * doc/posix-functions/wcswidth.texi: Likewise.
31078         * doc/posix-functions/wcsxfrm.texi: Likewise.
31079         * doc/posix-functions/wctob.texi: Likewise.
31080         * doc/posix-functions/wctomb.texi: Likewise.
31081         * doc/posix-functions/wctrans.texi: Likewise.
31082         * doc/posix-functions/wctype.texi: Likewise.
31083         * doc/posix-functions/wcwidth.texi: Likewise.
31084         * doc/posix-functions/wmemchr.texi: Likewise.
31085         * doc/posix-functions/wmemcmp.texi: Likewise.
31086         * doc/posix-functions/wmemcpy.texi: Likewise.
31087         * doc/posix-functions/wmemmove.texi: Likewise.
31088         * doc/posix-functions/wmemset.texi: Likewise.
31089         * doc/posix-functions/wprintf.texi: Likewise.
31090         * doc/posix-functions/wscanf.texi: Likewise.
31091
31092 2008-12-21  Bruno Haible  <bruno@clisp.org>
31093
31094         Update doc for HP-UX 11.11.
31095         * doc/posix-functions/btowc.texi: Clarify that the function is missing
31096         in HP-UX version 11.00, not in all versions of HP-UX 11.
31097         * doc/posix-functions/fwide.texi: Likewise.
31098         * doc/posix-functions/fwprintf.texi: Likewise.
31099         * doc/posix-functions/fwscanf.texi: Likewise.
31100         * doc/posix-functions/inet_ntop.texi: Likewise.
31101         * doc/posix-functions/inet_pton.texi: Likewise.
31102         * doc/posix-functions/mbrlen.texi: Likewise.
31103         * doc/posix-functions/mbrtowc.texi: Likewise.
31104         * doc/posix-functions/mbsinit.texi: Likewise.
31105         * doc/posix-functions/mbsrtowcs.texi: Likewise.
31106         * doc/posix-functions/swprintf.texi: Likewise.
31107         * doc/posix-functions/swscanf.texi: Likewise.
31108         * doc/posix-functions/towctrans.texi: Likewise.
31109         * doc/posix-functions/vfwprintf.texi: Likewise.
31110         * doc/posix-functions/vswprintf.texi: Likewise.
31111         * doc/posix-functions/vwprintf.texi: Likewise.
31112         * doc/posix-functions/wcrtomb.texi: Likewise.
31113         * doc/posix-functions/wcsrtombs.texi: Likewise.
31114         * doc/posix-functions/wcsstr.texi: Likewise.
31115         * doc/posix-functions/wctob.texi: Likewise.
31116         * doc/posix-functions/wctrans.texi: Likewise.
31117         * doc/posix-functions/wmemchr.texi: Likewise.
31118         * doc/posix-functions/wmemcmp.texi: Likewise.
31119         * doc/posix-functions/wmemcpy.texi: Likewise.
31120         * doc/posix-functions/wmemmove.texi: Likewise.
31121         * doc/posix-functions/wmemset.texi: Likewise.
31122         * doc/posix-functions/wprintf.texi: Likewise.
31123         * doc/posix-functions/wscanf.texi: Likewise.
31124
31125 2008-12-21  Bruno Haible  <bruno@clisp.org>
31126
31127         Work around a portability problem.
31128         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
31129         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
31130
31131 2008-12-20  Bruno Haible  <bruno@clisp.org>
31132
31133         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
31134         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
31135         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
31136         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
31137         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
31138
31139         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
31140         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
31141         set.
31142         (GNULIB_defined_mbstate_t): New macro.
31143         (mbsinit): Redefine if REPLACE_MBSINIT is set.
31144         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
31145         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
31146         reuses the system's mbrtowc function but works around the bugs.
31147         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
31148         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
31149         macros.
31150         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
31151         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
31152         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
31153         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
31154         REPLACE_MBSINIT if mbsinit needs to be overridden.
31155         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
31156         REPLACE_MBSINIT, REPLACE_MBRTOWC.
31157         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
31158         REPLACE_MBSINIT, REPLACE_MBRTOWC.
31159         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
31160         m4/locale-zh.m4.
31161         (Depends): Add mbsinit.
31162         * modules/mbsinit (Depends): Add mbrtowc.
31163         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
31164
31165 2008-12-20  Bruno Haible  <bruno@clisp.org>
31166
31167         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
31168         so that there are no conversion errors on AIX.
31169         * tests/test-mbsrtowcs.c (main): LIkewise.
31170
31171 2008-12-20  Bruno Haible  <bruno@clisp.org>
31172
31173         Work around wctob bug on Solaris <= 9.
31174         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
31175         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
31176         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
31177         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
31178         * modules/wctob (Files): Add m4/locale-fr.m4.
31179         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
31180
31181 2008-12-20  Bruno Haible  <bruno@clisp.org>
31182
31183         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
31184         /dev/null.
31185         * tests/test-select-in.sh: Likewise.
31186         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31187
31188 2008-12-20  Bruno Haible  <bruno@clisp.org>
31189
31190         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
31191         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
31192         Cygwin 1.5.x.
31193
31194 2008-12-20  Bruno Haible  <bruno@clisp.org>
31195
31196         Ensure mbstate_t is defined on HP-UX 11.11.
31197         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
31198         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
31199         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
31200         AC_USE_SYSTEM_EXTENSIONS.
31201         * modules/fnmatch (Depends-on): Add extensions.
31202         * modules/mbrlen (Depends-on): Likewise.
31203         * modules/mbrtowc (Depends-on): Likewise.
31204         * modules/mbsinit (Depends-on): Likewise.
31205         * modules/mbsrtowcs (Depends-on): Likewise.
31206         * modules/mbswidth (Depends-on): Likewise.
31207         * modules/quotearg (Depends-on): Likewise.
31208         * modules/strftime (Depends-on): Likewise.
31209
31210 2008-12-20  Bruno Haible  <bruno@clisp.org>
31211
31212         Ensure wctob is declared on IRIX 6.5.
31213         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
31214         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
31215         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
31216         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
31217         of HAVE_WCTOB.
31218         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
31219         HAVE_WCTOB.
31220         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
31221
31222 2008-12-19  Bruno Haible  <bruno@clisp.org>
31223
31224         * modules/mbsrtowcs-tests: New file.
31225         * tests/test-mbsrtowcs1.sh: New file.
31226         * tests/test-mbsrtowcs2.sh: New file.
31227         * tests/test-mbsrtowcs3.sh: New file.
31228         * tests/test-mbsrtowcs4.sh: New file.
31229         * tests/test-mbsrtowcs.c: New file.
31230
31231         New module 'mbsrtowcs'.
31232         * lib/wchar.in.h (mbsrtowcs): New declaration.
31233         * lib/mbsrtowcs.c: New file.
31234         * m4/mbsrtowcs.m4: New file.
31235         * modules/mbsrtowcs: New file.
31236         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
31237         HAVE_MBSRTOWCS.
31238         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
31239         HAVE_MBSRTOWCS.
31240         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
31241
31242 2008-12-19  Bruno Haible  <bruno@clisp.org>
31243
31244         New module 'mbrlen'.
31245         * lib/wchar.in.h (mbrlen): New declaration.
31246         * lib/mbrlen.c: New file.
31247         * m4/mbrlen.m4: New file.
31248         * modules/mbrlen: New file.
31249         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
31250         HAVE_MBRLEN.
31251         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
31252         HAVE_MBRLEN.
31253         * doc/posix-functions/mbrlen.texi: Document the new module.
31254
31255 2008-12-19  Bruno Haible  <bruno@clisp.org>
31256
31257         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
31258         * modules/mbrtowc (Depends-on): Add verify.
31259         Suggested by Paul Eggert.
31260
31261 2008-12-18  Bruno Haible  <bruno@clisp.org>
31262
31263         * modules/mbsinit-tests: New file.
31264         * tests/test-mbsinit.sh: New file.
31265         * tests/test-mbsinit.c: New file.
31266
31267 2008-12-18  Bruno Haible  <bruno@clisp.org>
31268
31269         * modules/mbrtowc-tests: New file.
31270         * tests/test-mbrtowc1.sh: New file.
31271         * tests/test-mbrtowc2.sh: New file.
31272         * tests/test-mbrtowc3.sh: New file.
31273         * tests/test-mbrtowc4.sh: New file.
31274         * tests/test-mbrtowc.c: New file.
31275
31276         New module 'mbrtowc'.
31277         * lib/wchar.in.h (mbstate_t): Override when the system does not have
31278         mbsinit and mbrtowc.
31279         (mbrtowc): New declaration.
31280         * lib/mbrtowc.c: New file.
31281         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
31282         * modules/mbrtowc: New file.
31283         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
31284         HAVE_MBRTOWC.
31285         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
31286         HAVE_MBRTOWC.
31287         * doc/posix-functions/mbrtowc.texi: Document the new module.
31288
31289 2008-12-18  Bruno Haible  <bruno@clisp.org>
31290
31291         New module 'wctob'.
31292         * lib/wchar.in.h (wctob): New declaration.
31293         * lib/wctob.c: New file.
31294         * m4/wctob.m4: New file.
31295         * modules/wctob: New file.
31296         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
31297         HAVE_WCTOB.
31298         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
31299         * doc/posix-functions/wctob.texi: Document the new module.
31300
31301 2008-12-18  Bruno Haible  <bruno@clisp.org>
31302
31303         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
31304         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
31305
31306 2008-12-18  Simon Josefsson  <simon@josefsson.org>
31307
31308         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
31309         G. Christensen" <tgc@jupiterrise.com>.
31310
31311         * lib/flock.c: Need to include errno.h.  Reported by "Tom
31312         G. Christensen" <tgc@jupiterrise.com>.
31313
31314         * lib/flock.c: Need to include string.h.  Reported by "Tom
31315         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
31316         <ebb9@byu.net>.
31317
31318 2008-12-18  Bruno Haible  <bruno@clisp.org>
31319
31320         * m4/locale-ja.m4: New file, from GNU gettext.
31321
31322 2008-12-17  Bruno Haible  <bruno@clisp.org>
31323
31324         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
31325         Suggested by Eric Blake.
31326
31327 2008-12-17  Bruno Haible  <bruno@clisp.org>
31328
31329         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
31330
31331 2008-12-17  Bruno Haible  <bruno@clisp.org>
31332
31333         * lib/mbsinit.c: Include verify.h. Verify an assumption.
31334         * modules/mbsinit (Depends-on): Add verify.
31335         Suggested by Paul Eggert.
31336
31337 2008-12-17  Bruno Haible  <bruno@clisp.org>
31338
31339         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
31340         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
31341         gl_FUNC_MBRTOWC.
31342         * m4/mbiter.m4 (gl_MBITER): LIkewise.
31343         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
31344         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
31345         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
31346         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
31347         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
31348         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
31349         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
31350         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
31351         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
31352         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
31353         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
31354         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
31355         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
31356         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
31357         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
31358         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
31359         * modules/trim (configure.ac): Likewise.
31360
31361 2008-12-17  Bruno Haible  <bruno@clisp.org>
31362
31363         * modules/btowc-tests: New file.
31364         * tests/test-btowc1.sh: New file.
31365         * tests/test-btowc2.sh: New file.
31366         * tests/test-btowc.c: New file.
31367
31368         New module 'btowc'.
31369         * lib/wchar.in.h (btowc): New declaration.
31370         * lib/btowc.c: New file.
31371         * m4/btowc.m4: New file.
31372         * modules/btowc: New file.
31373         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
31374         HAVE_BTOWC.
31375         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
31376         * doc/posix-functions/btowc.texi: Document the new module.
31377
31378 2008-12-17  Bruno Haible  <bruno@clisp.org>
31379
31380         New module 'mbsinit'.
31381         * lib/wchar.in.h (mbsinit): New declaration.
31382         * lib/mbsinit.c: New file.
31383         * m4/mbsinit.m4: New file.
31384         * modules/mbsinit: New file.
31385         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
31386         HAVE_MBSINIT.
31387         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
31388         HAVE_MBSINIT.
31389         * doc/posix-functions/mbsinit.texi: Document the new module.
31390
31391 2008-12-16  Bruno Haible  <bruno@clisp.org>
31392
31393         * lib/unistd.in.h: Add comment.
31394         * tests/test-environ.c: Don't include <stdlib.h>.
31395
31396 2008-12-16  Bruno Haible  <bruno@clisp.org>
31397
31398         * lib/parse-duration.h (parse_duration): Document return value
31399         convention.
31400         * lib/parse-duration.c: Include specification header first. Add
31401         comments.
31402         (_): Remove macro.
31403         (parse_year_month_day, parse_hour_minute_second): Move side effects
31404         outside of strchr call.
31405         (parse_non_iso8601): Move side effects outside of isspace call.
31406         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
31407         call.
31408
31409 2008-12-16  Bruno Haible  <bruno@clisp.org>
31410
31411         * tests/test-parse-duration.sh: Produce no output when the test
31412         succeeds.
31413
31414 2008-12-16  Bruno Haible  <bruno@clisp.org>
31415
31416         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
31417         expressions.
31418
31419 2008-12-15  Bruno Haible  <bruno@clisp.org>
31420
31421         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
31422         * doc/glibc-functions/flistxattr.texi: Likewise.
31423         * doc/glibc-functions/fopencookie.texi: Likewise.
31424         * doc/glibc-functions/fremovexattr.texi: Likewise.
31425         * doc/glibc-functions/fsetxattr.texi: Likewise.
31426         * doc/glibc-functions/getxattr.texi: Likewise.
31427         * doc/glibc-functions/lgetxattr.texi: Likewise.
31428         * doc/glibc-functions/listxattr.texi: Likewise.
31429         * doc/glibc-functions/llistxattr.texi: Likewise.
31430         * doc/glibc-functions/lremovexattr.texi: Likewise.
31431         * doc/glibc-functions/lsetxattr.texi: Likewise.
31432         * doc/glibc-functions/removexattr.texi: Likewise.
31433         * doc/glibc-functions/setxattr.texi: Likewise.
31434         * doc/posix-functions/open_memstream.texi: Likewise.
31435
31436 2008-12-15  Eric Blake  <ebb9@byu.net>
31437
31438         Update doc for cygwin 1.7.
31439         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
31440         functions.
31441         * doc/posix-functions/fchmodat.texi: Likewise.
31442         * doc/posix-functions/fchownat.texi: Likewise.
31443         * doc/posix-functions/fdopendir.texi: Likewise.
31444         * doc/posix-functions/fmemopen.texi: Likewise.
31445         * doc/posix-functions/freeaddrinfo.texi: Likewise.
31446         * doc/posix-functions/fstatat.texi: Likewise.
31447         * doc/posix-functions/futimens.texi: Likewise.
31448         * doc/posix-functions/gai_strerror.texi: Likewise.
31449         * doc/posix-functions/getaddrinfo.texi: Likewise.
31450         * doc/posix-functions/getnameinfo.texi: Likewise.
31451         * doc/posix-functions/if_freenameindex.texi: Likewise.
31452         * doc/posix-functions/if_indextoname.texi: Likewise.
31453         * doc/posix-functions/if_nameindex.texi: Likewise.
31454         * doc/posix-functions/if_nametoindex.texi: Likewise.
31455         * doc/posix-functions/insque.texi: Likewise.
31456         * doc/posix-functions/linkat.texi: Likewise.
31457         * doc/posix-functions/llrint.texi: Likewise.
31458         * doc/posix-functions/llrintf.texi: Likewise.
31459         * doc/posix-functions/llrintl.texi: Likewise.
31460         * doc/posix-functions/lockf.texi: Likewise.
31461         * doc/posix-functions/lrintl.texi: Likewise.
31462         * doc/posix-functions/mkdirat.texi: Likewise.
31463         * doc/posix-functions/mkfifoat.texi: Likewise.
31464         * doc/posix-functions/mknodat.texi: Likewise.
31465         * doc/posix-functions/mq_close.texi: Likewise.
31466         * doc/posix-functions/mq_getattr.texi: Likewise.
31467         * doc/posix-functions/mq_notify.texi: Likewise.
31468         * doc/posix-functions/mq_open.texi: Likewise.
31469         * doc/posix-functions/mq_receive.texi: Likewise.
31470         * doc/posix-functions/mq_send.texi: Likewise.
31471         * doc/posix-functions/mq_setattr.texi: Likewise.
31472         * doc/posix-functions/mq_timedreceive.texi: Likewise.
31473         * doc/posix-functions/mq_timedsend.texi: Likewise.
31474         * doc/posix-functions/mq_unlink.texi: Likewise.
31475         * doc/posix-functions/open_memstream.texi: Likewise.
31476         * doc/posix-functions/openat.texi: Likewise.
31477         * doc/posix-functions/posix_fadvise.texi: Likewise.
31478         * doc/posix-functions/posix_fallocate.texi: Likewise.
31479         * doc/posix-functions/posix_madvise.texi: Likewise.
31480         * doc/posix-functions/posix_memalign.texi: Likewise.
31481         * doc/posix-functions/posix_openpt.texi: Likewise.
31482         * doc/posix-functions/readlinkat.texi: Likewise.
31483         * doc/posix-functions/remque.texi: Likewise.
31484         * doc/posix-functions/renameat.texi: Likewise.
31485         * doc/posix-functions/rintl.texi: Likewise.
31486         * doc/posix-functions/sem_unlink.texi: Likewise.
31487         * doc/posix-functions/shm_open.texi: Likewise.
31488         * doc/posix-functions/shm_unlink.texi: Likewise.
31489         * doc/posix-functions/signgam.texi: Likewise.
31490         * doc/posix-functions/sigset.texi: Likewise.
31491         * doc/posix-functions/stpcpy.texi: Likewise.
31492         * doc/posix-functions/stpncpy.texi: Likewise.
31493         * doc/posix-functions/strerror.texi: Likewise.
31494         * doc/posix-functions/strtod.texi: Likewise.
31495         * doc/posix-functions/symlinkat.texi: Likewise.
31496         * doc/posix-functions/unlinkat.texi: Likewise.
31497         * doc/posix-functions/utimensat.texi: Likewise.
31498         * doc/glibc-functions/bindresvport.texi: Likewise.
31499         * doc/glibc-functions/dn_expand.texi: Likewise.
31500         * doc/glibc-functions/exp10.texi: Likewise.
31501         * doc/glibc-functions/exp10f.texi: Likewise.
31502         * doc/glibc-functions/fgetxattr.texi: Likewise.
31503         * doc/glibc-functions/flistxattr.texi: Likewise.
31504         * doc/glibc-functions/fopencookie.texi: Likewise.
31505         * doc/glibc-functions/freeifaddrs.texi: Likewise.
31506         * doc/glibc-functions/fremovexattr.texi: Likewise.
31507         * doc/glibc-functions/fsetxattr.texi: Likewise.
31508         * doc/glibc-functions/getifaddrs.texi: Likewise.
31509         * doc/glibc-functions/getxattr.texi: Likewise.
31510         * doc/glibc-functions/lgetxattr.texi: Likewise.
31511         * doc/glibc-functions/listxattr.texi: Likewise.
31512         * doc/glibc-functions/llistxattr.texi: Likewise.
31513         * doc/glibc-functions/lremovexattr.texi: Likewise.
31514         * doc/glibc-functions/lsetxattr.texi: Likewise.
31515         * doc/glibc-functions/pow10.texi: Likewise.
31516         * doc/glibc-functions/pow10f.texi: Likewise.
31517         * doc/glibc-functions/rcmd_af.texi: Likewise.
31518         * doc/glibc-functions/removexattr.texi: Likewise.
31519         * doc/glibc-functions/res_init.texi: Likewise.
31520         * doc/glibc-functions/res_mkquery.texi: Likewise.
31521         * doc/glibc-functions/res_query.texi: Likewise.
31522         * doc/glibc-functions/res_querydomain.texi: Likewise.
31523         * doc/glibc-functions/res_send.texi: Likewise.
31524         * doc/glibc-functions/rresvport_af.texi: Likewise.
31525         * doc/glibc-functions/setxattr.texi: Likewise.
31526         * doc/glibc-functions/strcasestr.texi: Likewise.
31527
31528 2008-12-15  Bruno Haible  <bruno@clisp.org>
31529
31530         Fix compilation error on OSF/1 4.0.
31531         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
31532         <sys/time.h>, simply delegate to the system header.
31533         Reported by Daniel Richard G. <oss@teragram.com>.
31534
31535 2008-12-15  Bruno Haible  <bruno@clisp.org>
31536
31537         * doc/posix-functions/openat.texi: Mention the 'openat' module.
31538         * doc/posix-functions/fchmodat.texi: Likewise.
31539         * doc/posix-functions/fchownat.texi: Likewise.
31540         * doc/posix-functions/fdopendir.texi: Likewise.
31541         * doc/posix-functions/fstatat.texi: Likewise.
31542         * doc/posix-functions/mkdirat.texi: Likewise.
31543         * doc/posix-functions/unlinkat.texi: Likewise.
31544
31545 2008-12-14  Bruno Haible  <bruno@clisp.org>
31546
31547         Update doc for POSIX:2008.
31548         * doc/posix-functions/faccessat.texi: New file.
31549         * doc/posix-functions/fchmodat.texi: New file.
31550         * doc/posix-functions/fchownat.texi: New file.
31551         * doc/posix-functions/fdopendir.texi: New file.
31552         * doc/posix-functions/fstatat.texi: New file.
31553         * doc/posix-functions/futimens.texi: New file.
31554         * doc/posix-functions/linkat.texi: New file.
31555         * doc/posix-functions/mkdirat.texi: New file.
31556         * doc/posix-functions/mkfifoat.texi: New file.
31557         * doc/posix-functions/mknodat.texi: New file.
31558         * doc/posix-functions/open_wmemstream.texi: New file.
31559         * doc/posix-functions/openat.texi: New file.
31560         * doc/posix-functions/psiginfo.texi: New file.
31561         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
31562         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
31563         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
31564         * doc/posix-functions/readlinkat.texi: New file.
31565         * doc/posix-functions/renameat.texi: New file.
31566         * doc/posix-functions/strerror_l.texi: New file.
31567         * doc/posix-functions/symlinkat.texi: New file.
31568         * doc/posix-functions/unlinkat.texi: New file.
31569         * doc/posix-functions/utimensat.texi: New file.
31570         * doc/gnulib.texi (Function Substitutes): Add these subsections.
31571
31572 2008-12-14  Bruno Haible  <bruno@clisp.org>
31573
31574         Update doc for POSIX:2008.
31575         * doc/posix-functions/alphasort.texi: Renamed from
31576         doc/glibc-functions/alphasort.texi.
31577         * doc/posix-functions/dirfd.texi: Renamed from
31578         doc/glibc-functions/dirfd.texi.
31579         * doc/posix-functions/dprintf.texi: Renamed from
31580         doc/glibc-functions/dprintf.texi.
31581         * doc/posix-functions/duplocale.texi: Renamed from
31582         doc/glibc-functions/duplocale.texi.
31583         * doc/posix-functions/fexecve.texi: Renamed from
31584         doc/glibc-functions/fexecve.texi.
31585         * doc/posix-functions/fmemopen.texi: Renamed from
31586         doc/glibc-functions/fmemopen.texi.
31587         * doc/posix-functions/freelocale.texi: Renamed from
31588         doc/glibc-functions/freelocale.texi.
31589         * doc/posix-functions/getdate_err.texi: Renamed from
31590         doc/glibc-functions/getdate_err.texi.
31591         * doc/posix-functions/isalnum_l.texi: Renamed from
31592         doc/glibc-functions/isalnum_l.texi.
31593         * doc/posix-functions/isalpha_l.texi: Renamed from
31594         doc/glibc-functions/isalpha_l.texi.
31595         * doc/posix-functions/isblank_l.texi: Renamed from
31596         doc/glibc-functions/isblank_l.texi.
31597         * doc/posix-functions/iscntrl_l.texi: Renamed from
31598         doc/glibc-functions/iscntrl_l.texi.
31599         * doc/posix-functions/isdigit_l.texi: Renamed from
31600         doc/glibc-functions/isdigit_l.texi.
31601         * doc/posix-functions/isgraph_l.texi: Renamed from
31602         doc/glibc-functions/isgraph_l.texi.
31603         * doc/posix-functions/islower_l.texi: Renamed from
31604         doc/glibc-functions/islower_l.texi.
31605         * doc/posix-functions/isprint_l.texi: Renamed from
31606         doc/glibc-functions/isprint_l.texi.
31607         * doc/posix-functions/ispunct_l.texi: Renamed from
31608         doc/glibc-functions/ispunct_l.texi.
31609         * doc/posix-functions/isspace_l.texi: Renamed from
31610         doc/glibc-functions/isspace_l.texi.
31611         * doc/posix-functions/isupper_l.texi: Renamed from
31612         doc/glibc-functions/isupper_l.texi.
31613         * doc/posix-functions/iswalnum_l.texi: Renamed from
31614         doc/glibc-functions/iswalnum_l.texi.
31615         * doc/posix-functions/iswalpha_l.texi: Renamed from
31616         doc/glibc-functions/iswalpha_l.texi.
31617         * doc/posix-functions/iswblank_l.texi: Renamed from
31618         doc/glibc-functions/iswblank_l.texi.
31619         * doc/posix-functions/iswcntrl_l.texi: Renamed from
31620         doc/glibc-functions/iswcntrl_l.texi.
31621         * doc/posix-functions/iswctype_l.texi: Renamed from
31622         doc/glibc-functions/iswctype_l.texi.
31623         * doc/posix-functions/iswdigit_l.texi: Renamed from
31624         doc/glibc-functions/iswdigit_l.texi.
31625         * doc/posix-functions/iswgraph_l.texi: Renamed from
31626         doc/glibc-functions/iswgraph_l.texi.
31627         * doc/posix-functions/iswlower_l.texi: Renamed from
31628         doc/glibc-functions/iswlower_l.texi.
31629         * doc/posix-functions/iswprint_l.texi: Renamed from
31630         doc/glibc-functions/iswprint_l.texi.
31631         * doc/posix-functions/iswpunct_l.texi: Renamed from
31632         doc/glibc-functions/iswpunct_l.texi.
31633         * doc/posix-functions/iswspace_l.texi: Renamed from
31634         doc/glibc-functions/iswspace_l.texi.
31635         * doc/posix-functions/iswupper_l.texi: Renamed from
31636         doc/glibc-functions/iswupper_l.texi.
31637         * doc/posix-functions/iswxdigit_l.texi: Renamed from
31638         doc/glibc-functions/iswxdigit_l.texi.
31639         * doc/posix-functions/isxdigit_l.texi: Renamed from
31640         doc/glibc-functions/isxdigit_l.texi.
31641         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
31642         doc/glibc-functions/mbsnrtowcs.texi.
31643         * doc/posix-functions/mkdtemp.texi: Renamed from
31644         doc/glibc-functions/mkdtemp.texi.
31645         * doc/posix-functions/newlocale.texi: Renamed from
31646         doc/glibc-functions/newlocale.texi.
31647         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
31648         doc/glibc-functions/nl_langinfo_l.texi.
31649         * doc/posix-functions/open_memstream.texi: Renamed from
31650         doc/glibc-functions/open_memstream.texi.
31651         * doc/posix-functions/opterr.texi: Renamed from
31652         doc/glibc-functions/opterr.texi.
31653         * doc/posix-functions/optind.texi: Renamed from
31654         doc/glibc-functions/optind.texi.
31655         * doc/posix-functions/optopt.texi: Renamed from
31656         doc/glibc-functions/optopt.texi.
31657         * doc/posix-functions/psignal.texi: Renamed from
31658         doc/glibc-functions/psignal.texi.
31659         * doc/posix-functions/scandir.texi: Renamed from
31660         doc/glibc-functions/scandir.texi.
31661         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
31662         doc/glibc-functions/sched_get_priority_min.texi.
31663         * doc/posix-functions/signgam.texi: Renamed from
31664         doc/glibc-functions/signgam.texi.
31665         * doc/posix-functions/stpcpy.texi: Renamed from
31666         doc/glibc-functions/stpcpy.texi.
31667         * doc/posix-functions/stpncpy.texi: Renamed from
31668         doc/glibc-functions/stpncpy.texi.
31669         * doc/posix-functions/strcasecmp_l.texi: Renamed from
31670         doc/glibc-functions/strcasecmp_l.texi.
31671         * doc/posix-functions/strcoll_l.texi: Renamed from
31672         doc/glibc-functions/strcoll_l.texi.
31673         * doc/posix-functions/strfmon_l.texi: Renamed from
31674         doc/glibc-functions/strfmon_l.texi.
31675         * doc/posix-functions/strftime_l.texi: Renamed from
31676         doc/glibc-functions/strftime_l.texi.
31677         * doc/posix-functions/strncasecmp_l.texi: Renamed from
31678         doc/glibc-functions/strncasecmp_l.texi.
31679         * doc/posix-functions/strndup.texi: Renamed from
31680         doc/glibc-functions/strndup.texi.
31681         * doc/posix-functions/strnlen.texi: Renamed from
31682         doc/glibc-functions/strnlen.texi.
31683         * doc/posix-functions/strsignal.texi: Renamed from
31684         doc/glibc-functions/strsignal.texi.
31685         * doc/posix-functions/strxfrm_l.texi: Renamed from
31686         doc/glibc-functions/strxfrm_l.texi.
31687         * doc/posix-functions/timer_gettime.texi: Renamed from
31688         doc/glibc-functions/timer_gettime.texi.
31689         * doc/posix-functions/tolower_l.texi: Renamed from
31690         doc/glibc-functions/tolower_l.texi.
31691         * doc/posix-functions/toupper_l.texi: Renamed from
31692         doc/glibc-functions/toupper_l.texi.
31693         * doc/posix-functions/towctrans_l.texi: Renamed from
31694         doc/glibc-functions/towctrans_l.texi.
31695         * doc/posix-functions/towlower_l.texi: Renamed from
31696         doc/glibc-functions/towlower_l.texi.
31697         * doc/posix-functions/towupper_l.texi: Renamed from
31698         doc/glibc-functions/towupper_l.texi.
31699         * doc/posix-functions/uselocale.texi: Renamed from
31700         doc/glibc-functions/uselocale.texi.
31701         * doc/posix-functions/vdprintf.texi: Renamed from
31702         doc/glibc-functions/vdprintf.texi.
31703         * doc/posix-functions/wcpcpy.texi:
31704         Renamed from doc/glibc-functions/wcpcpy.texi.
31705         * doc/posix-functions/wcpncpy.texi: Renamed from
31706         doc/glibc-functions/wcpncpy.texi.
31707         * doc/posix-functions/wcscasecmp.texi: Renamed from
31708         doc/glibc-functions/wcscasecmp.texi.
31709         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
31710         doc/glibc-functions/wcscasecmp_l.texi.
31711         * doc/posix-functions/wcscoll_l.texi: Renamed from
31712         doc/glibc-functions/wcscoll_l.texi.
31713         * doc/posix-functions/wcsdup.texi: Renamed from
31714         doc/glibc-functions/wcsdup.texi.
31715         * doc/posix-functions/wcsncasecmp.texi: Renamed from
31716         doc/glibc-functions/wcsncasecmp.texi.
31717         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
31718         doc/glibc-functions/wcsncasecmp_l.texi.
31719         * doc/posix-functions/wcsnlen.texi: Renamed from
31720         doc/glibc-functions/wcsnlen.texi.
31721         * doc/posix-functions/wcsnrtombs.texi: Renamed from
31722         doc/glibc-functions/wcsnrtombs.texi.
31723         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
31724         doc/glibc-functions/wcsxfrm_l.texi.
31725         * doc/posix-functions/wctrans_l.texi: Renamed from
31726         doc/glibc-functions/wctrans_l.texi.
31727         * doc/posix-functions/wctype_l.texi: Renamed from
31728         doc/glibc-functions/wctype_l.texi.
31729         * doc/gnulib.texi (Function Substitutes): Add these subsections.
31730         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
31731         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
31732         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
31733         these subsections.
31734         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
31735         Remove sections.
31736
31737 2008-12-14  Bruno Haible  <bruno@clisp.org>
31738
31739         Update doc for POSIX:2008.
31740         * doc/posix-functions/*.texi: Update URL of POSIX specification.
31741
31742 2008-12-14  Bruno Haible  <bruno@clisp.org>
31743
31744         Update doc for POSIX:2008.
31745         * doc/pastposix-functions/bcmp.texi: Renamed from
31746         doc/posix-functions/bcmp.texi.
31747         * doc/pastposix-functions/bcopy.texi: Renamed from
31748         doc/posix-functions/bcopy.texi.
31749         * doc/pastposix-functions/bsd_signal.texi: Renamed from
31750         doc/posix-functions/bsd_signal.texi.
31751         * doc/pastposix-functions/bzero.texi: Renamed from
31752         doc/posix-functions/bzero.texi.
31753         * doc/pastposix-functions/ecvt.texi: Renamed from
31754         doc/posix-functions/ecvt.texi.
31755         * doc/pastposix-functions/fcvt.texi: Renamed from
31756         doc/posix-functions/fcvt.texi.
31757         * doc/pastposix-functions/ftime.texi: Renamed from
31758         doc/posix-functions/ftime.texi.
31759         * doc/pastposix-functions/gcvt.texi: Renamed from
31760         doc/posix-functions/gcvt.texi.
31761         * doc/pastposix-functions/getcontext.texi: Renamed from
31762         doc/posix-functions/getcontext.texi.
31763         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
31764         doc/posix-functions/gethostbyaddr.texi.
31765         * doc/pastposix-functions/gethostbyname.texi: Renamed from
31766         doc/posix-functions/gethostbyname.texi.
31767         * doc/pastposix-functions/getwd.texi: Renamed from
31768         doc/posix-functions/getwd.texi.
31769         * doc/pastposix-functions/h_errno.texi: Renamed from
31770         doc/posix-functions/h_errno.texi.
31771         * doc/pastposix-functions/index.texi: Renamed from
31772         doc/posix-functions/index.texi.
31773         * doc/pastposix-functions/makecontext.texi: Renamed from
31774         doc/posix-functions/makecontext.texi.
31775         * doc/pastposix-functions/mktemp.texi: Renamed from
31776         doc/posix-functions/mktemp.texi.
31777         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
31778         doc/posix-functions/pthread_attr_getstackaddr.texi.
31779         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
31780         doc/posix-functions/pthread_attr_setstackaddr.texi.
31781         * doc/pastposix-functions/rindex.texi: Renamed from
31782         doc/posix-functions/rindex.texi.
31783         * doc/pastposix-functions/scalb.texi: Renamed from
31784         doc/posix-functions/scalb.texi.
31785         * doc/pastposix-functions/setcontext.texi: Renamed from
31786         doc/posix-functions/setcontext.texi.
31787         * doc/pastposix-functions/swapcontext.texi: Renamed from
31788         doc/posix-functions/swapcontext.texi.
31789         * doc/pastposix-functions/ualarm.texi: Renamed from
31790         doc/posix-functions/ualarm.texi.
31791         * doc/pastposix-functions/usleep.texi: Renamed from
31792         doc/posix-functions/usleep.texi.
31793         * doc/pastposix-functions/vfork.texi: Renamed from
31794         doc/posix-functions/vfork.texi.
31795         * doc/pastposix-functions/wcswcs.texi: Renamed from
31796         doc/posix-functions/wcswcs.texi.
31797         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
31798         (Function Substitutes): Update.
31799
31800 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31801
31802         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
31803         m4/strerror.m4.
31804
31805 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31806             Bruno Haible  <bruno@clisp.org>
31807
31808         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
31809
31810 2008-12-13  Bruno Haible  <bruno@clisp.org>
31811
31812         * modules/strtoull (Depends-on): Remove unistd.
31813
31814 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31815
31816         * modules/strtoull (Depends-on): Add stdlib.
31817
31818 2008-12-11  Simon Josefsson  <simon@josefsson.org>
31819
31820         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
31821
31822 2008-12-10  Jim Meyering  <meyering@redhat.com>
31823
31824         gl_ASSERT: don't say assertions are disabled when they're not
31825         * m4/assert.m4 (gl_ASSERT): Do not make configure report
31826         "checking whether to enable assertions... no", when they are in
31827         fact enabled.  This is solely a bug in the output of configure.
31828         In spite of saying "no", NDEBUG was not defined in that case.
31829         Also, as noted by Eric Blake, leave assertions enabled upon
31830         --enable-assert=INVALID.
31831
31832 2008-12-10  Bruno Haible  <bruno@clisp.org>
31833
31834         Change MODULES.html to refer to POSIX:2008 where possible.
31835         * MODULES.html.sh (POSIX2008_URL): New variable.
31836         (posix_headers): Remove sys/timeb, ucontext.
31837         (posix2001_headers): New variable.
31838         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
31839         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
31840         index, makecontext, mktemp, pthread_attr_getstackaddr,
31841         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
31842         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
31843         (posix2001_functions): New variable.
31844         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
31845         otherwise.
31846
31847 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31848
31849         add missing include to parse-duration.c
31850         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
31851         * modules/parse-duration (Depends-on): Add xalloc.
31852
31853         fix sed script reading maint.mk
31854         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
31855         (syntax-check-rules): Use it.
31856
31857 2008-12-09  Bruno Haible  <bruno@clisp.org>
31858
31859         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
31860         MacOS X 10.4/PowerPC.
31861         Reported by Simon Josefsson.
31862
31863 2008-12-08  Jim Meyering  <meyering@redhat.com>
31864
31865         work around mingw's lack of some S_IF definitions
31866         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
31867         Reported by Simon Josefsson.
31868
31869 2008-12-08  Bruno Haible  <bruno@clisp.org>
31870
31871         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
31872         applied to variables. Needed on MacOS X 10.4/PowerPC.
31873         Reported by Simon Josefsson.
31874
31875 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
31876         and Eric Blake  <ebb9@byu.net>
31877
31878         assert: honor --enable-assert
31879         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
31880         order to honor --enable-assert, rather than treating it as a
31881         synonym for --disable-assert.
31882
31883 2008-12-08  Jim Meyering  <meyering@redhat.com>
31884
31885         * lib/posixtm.c: Remove now-useless declaration of mktime.
31886
31887         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
31888
31889 2008-12-07  Bruno Haible  <bruno@clisp.org>
31890
31891         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
31892         test_once): Mark functions as static.
31893         * tests/test-tls.c (test_tls): Likewise.
31894
31895 2008-12-07  Bruno Haible  <bruno@clisp.org>
31896
31897         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
31898         iconv_register_autodetect.
31899
31900 2008-12-07  Jim Meyering  <meyering@redhat.com>
31901
31902         posixtm.c: avoid a warning
31903         * lib/posixtm.c (posixtime): Don't initialize tm0.
31904         It's no longer needed to placate gcc4's -Wuninitialized,
31905         and the attempt to placate would elicit a new warning.
31906
31907         unicodeio.c: mark unused parameters
31908         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
31909         (fallback_failure_callback): Likewise.
31910
31911 2008-12-07  Bruno Haible  <bruno@clisp.org>
31912
31913         * gnulib-tool (func_create_testdir): When building the tests
31914         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
31915         Reported by Simon Josefsson.
31916
31917 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31918
31919         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
31920
31921 2008-12-06  Bruno Haible  <bruno@clisp.org>
31922
31923         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
31924         Suggested by Eric Blake.
31925
31926 2008-12-06  Bruno Haible  <bruno@clisp.org>
31927
31928         Fix a c-stack test failure on MacOS X.
31929         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
31930         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
31931         handler for SIGBUS as well.
31932         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
31933         install a signal handler for SIGBUS as well.
31934         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
31935
31936 2008-12-06  Bruno Haible  <bruno@clisp.org>
31937
31938         Advocacy documentation.
31939         * doc/gnulib-intro.texi (Benefits): New section.
31940         * doc/gnulib.texi: Update.
31941
31942 2008-12-06  Bruno Haible  <bruno@clisp.org>
31943
31944         Document the 'manywarnings' module.
31945         * doc/manywarnings.texi: New file.
31946         * doc/gnulib.texi: Include it.
31947
31948 2008-12-05  Eric Blake  <ebb9@byu.net>
31949
31950         tests: silence some gcc warnings
31951         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
31952         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
31953         type mismatches.
31954
31955 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31956             Bruno Haible  <bruno@clisp.org>
31957
31958         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
31959
31960 2008-11-29  Jim Meyering  <meyering@redhat.com>
31961
31962         unicodeio.c: mark unused parameters
31963         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
31964         (fallback_failure_callback): Likewise.
31965
31966         fts: fix a thinko
31967         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
31968         (set_stat_type): Return S_IF*-valued "type" directly.
31969         Prompted by James Youngman's spotting a related bug.
31970         Confirmed by further testing through find.
31971
31972         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
31973         * lib/fts.c (D_TYPE): Define.
31974         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
31975         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
31976         (s_ifmt_shift_bits): New function.
31977         (set_stat_type): New function.
31978         (fts_build): When not calling fts_stat, call set_stat_type
31979         to propagate dirent.d_type info to fts_read caller.
31980         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
31981         fts_statp->st_mode type information may be valid.
31982
31983 2008-11-28  Simon Josefsson  <simon@josefsson.org>
31984
31985         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
31986         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
31987         <sds@gnu.org>.
31988
31989 2008-11-20  Bruno Haible  <bruno@clisp.org>
31990
31991         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
31992         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
31993         INCLUDE_NEXT.
31994         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
31995         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
31996         * modules/math (Makefile.am): Substitute
31997         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
31998         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
31999
32000 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
32001             Bruno Haible  <bruno@clisp.org>
32002
32003         * lib/stdint.in.h: Define all type macros so that their expansion is
32004         a single typedef'ed token. Fixes a compilation failure in Boost which
32005         does "using ::int8_t;".
32006
32007 2008-11-18  Simon Josefsson  <simon@josefsson.org>
32008
32009         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
32010         gl_MANYWARN_ALL_GCC.
32011         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
32012         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
32013         * modules/manywarnings: New file.
32014         * MODULES.html.sh: Mention manywarnings module.
32015
32016 2008-11-18  Bruno Haible  <bruno@clisp.org>
32017
32018         * doc/gnulib-tool.texi (Unit tests): New section.
32019
32020 2008-11-18  Simon Josefsson  <simon@josefsson.org>
32021
32022         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
32023         paths like 'lib/po/foo.po'.
32024
32025 2008-11-17  Simon Josefsson  <simon@josefsson.org>
32026
32027         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
32028         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
32029
32030 2008-11-17  Simon Josefsson  <simon@josefsson.org>
32031
32032         * m4/warnings.m4: Use CPPFLAGS to really check whether the
32033         parameter works.
32034
32035 2008-11-17  Simon Josefsson  <simon@josefsson.org>
32036
32037         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
32038
32039 2008-11-17  Bruce Korb  <bkorb@gnu.org>
32040
32041         * modules/parse-duration-tests: New file.
32042         * tests/test-parse-duration.sh: New file.
32043         * tests/test-parse-duration.c: New file.
32044
32045         New module 'parse-duration'.
32046         * lib/parse-duration.h: New file.
32047         * lib/parse-duration.c: New file.
32048         * modules/parse-duration: New file.
32049
32050 2008-11-17  Bruno Haible  <bruno@clisp.org>
32051
32052         * tests/test-select-out.sh: Comment out the first pipe test.
32053         Reported by Simon Josefsson.
32054
32055 2008-11-17  Bruno Haible  <bruno@clisp.org>
32056
32057         * modules/getaddrinfo (Depends-on): Add servent, hostent.
32058         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
32059         gl_HOSTENT.
32060
32061 2008-11-17  Bruno Haible  <bruno@clisp.org>
32062
32063         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
32064         -lnetwork and -lnet. Needed for Haiku and BeOS.
32065
32066 2008-11-16  Bruno Haible  <bruno@clisp.org>
32067
32068         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
32069
32070 2008-11-16  Bruno Haible  <bruno@clisp.org>
32071
32072         Avoid test failure on Haiku.
32073         * tests/test-fsync.c: Include <errno.h>.
32074         (main): Don't require that fsync (0) fails.
32075
32076 2008-11-15  Bruno Haible  <bruno@clisp.org>
32077
32078         New module 'hostent'.
32079         * modules/hostent: New file.
32080         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
32081
32082 2008-11-15  Bruno Haible  <bruno@clisp.org>
32083
32084         New module 'servent'.
32085         * modules/servent: New file.
32086         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
32087
32088 2008-11-15  Bruno Haible  <bruno@clisp.org>
32089
32090         Avoid generating same test program with two different rules.
32091         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
32092         test-frexp to test-frexp-nolibm.
32093         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
32094         test-frexpl to test-frexpl-nolibm.
32095
32096 2008-11-15  Bruno Haible  <bruno@clisp.org>
32097
32098         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
32099         $(FREXPL_LIBM).
32100
32101 2008-11-15  Bruno Haible  <bruno@clisp.org>
32102
32103         * lib/netdb.in.h: Activate the definitions also when the system's
32104         <netdb.h> has 'struct addrinfo'.
32105         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
32106         EAI_OVERFLOW or AI_NUMERICSERV.
32107         * doc/posix-headers/netdb.texi: Document the problem.
32108
32109 2008-11-15  Bruno Haible  <bruno@clisp.org>
32110
32111         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
32112
32113         Make the 'sched' module work on platforms where <sched.h> exists but
32114         is incomplete (such as Haiku).
32115         * lib/sched.in.h; Include the system's <sched.h> if it exists.
32116         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
32117         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
32118         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
32119         HAVE_STRUCT_SCHED_PARAM.
32120         * modules/sched (Depends-on): Add include_next.
32121         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
32122         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
32123         * doc/posix-headers/sched.texi: Document the issue.
32124
32125 2008-11-13  Jim Meyering  <meyering@redhat.com>
32126
32127         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
32128         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
32129         test would fail due to the difference in the Report bugs to ...
32130         line.  The expected address is empty, "<>", while the actual
32131         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
32132
32133 2008-11-12  Bruno Haible  <bruno@clisp.org>
32134
32135         lstat: don't compile lstat.c on systems lacking lstat
32136         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
32137         which don't have lstat; this is handled by lib/sys_stat.in.h already.
32138         Reported by Daniel P. Berrange via Jim Meyering.
32139
32140 2008-11-12  Jim Meyering  <meyering@redhat.com>
32141
32142         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
32143
32144 2008-11-12  Simon Josefsson  <simon@josefsson.org>
32145
32146         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
32147         instead.
32148
32149 2008-11-12  Bruno Haible  <bruno@clisp.org>
32150
32151         * lib/unicodeio.c: Include unistr.h.
32152         (utf8_wctomb): Remove function.
32153         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
32154
32155 2008-11-12  Simon Josefsson  <simon@josefsson.org>
32156
32157         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
32158         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
32159         <bruno@clisp.org>.
32160         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
32161
32162 2008-11-12  Simon Josefsson  <simon@josefsson.org>
32163
32164         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
32165         * doc/gnulib.texi: Add section for warnings.
32166
32167 2008-11-11  Bruno Haible  <bruno@clisp.org>
32168
32169         * lib/sockets.h: Add a comment.
32170
32171 2008-11-11  Karl Berry  <karl@gnu.org>
32172
32173         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
32174
32175 2008-11-11  Eric Blake  <ebb9@byu.net>
32176
32177         fdl.texi: avoid git symlinks
32178         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
32179
32180 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
32181
32182         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
32183
32184 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
32185
32186         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
32187         (gl_WARN_ADD): Substitute $2 if literal.
32188
32189 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
32190
32191         * m4/warning.m4: Remove.
32192
32193 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
32194
32195         * m4/warnings.m4: Almost complete rewrite. :-)
32196
32197 2008-11-10  Simon Josefsson  <simon@josefsson.org>
32198
32199         * modules/warnings: New module.
32200         * m4/warnings.m4: New file.
32201         * MODULES.html.sh: Mention warnings module.
32202         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
32203         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32204
32205 2008-11-10  Eric Blake  <ebb9@byu.net>
32206
32207         fdl.texi: make a symlink to the latest version
32208         * doc/standards.texi: Revert today's earlier change.
32209         * doc/fdl-1.2.texi: Rename from old fdl.texi...
32210         * doc/fdl.texi: ...and replace this with a symlink to the newer
32211         fdl-1.3.texi.
32212
32213 2008-11-10  Bruno Haible  <bruno@clisp.org>
32214
32215         * tests/test-select-fd.c (main): Accept the result file name as fourth
32216         argument.
32217         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
32218         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
32219
32220 2008-11-10  Bruno Haible  <bruno@clisp.org>
32221
32222         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
32223         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
32224         as autoconf-substituted macros.
32225         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
32226         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
32227         gl_NETDB_H_DEFAULTS. Set these variables.
32228         * modules/netdb (Makefile.am): Substitute these variables.
32229
32230 2008-11-10  Eric Blake  <ebb9@byu.net>
32231
32232         standards.texi: include correct file for FDL 1.3
32233         * doc/standards.texi (GNU Free Documentation License): Change
32234         include file to pull in FDL 1.3, not 1.2.
32235
32236         fdl.texi: revert accidental change to license
32237         * doc/fdl.texi: This is FDL 1.2, not 1.3.
32238
32239 2008-11-10  Bruno Haible  <bruno@clisp.org>
32240
32241         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
32242         cross-compiling guesses also when the native compile gives no result.
32243
32244 2008-11-10  Bruno Haible  <bruno@clisp.org>
32245
32246         * lib/spawni.c (__spawni): Force variable into the stack.
32247
32248 2008-11-10  Bruno Haible  <bruno@clisp.org>
32249
32250         Add support for Haiku.
32251         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
32252         glibc and BeOS, but also on Haiku.
32253         * lib/fpurge.c (fpurge): Likewise.
32254         * lib/freadable.c (freadable): Likewise.
32255         * lib/freadahead.c (freadahead): Likewise.
32256         * lib/freading.c (freading): Likewise.
32257         * lib/freadptr.c (freadptr): Likewise.
32258         * lib/freadseek.c (freadptrinc): Likewise.
32259         * lib/fseeko.c (rpl_fseeko): Likewise.
32260         * lib/fseterr.c (fseterr): Likewise.
32261         * lib/fwritable.c (fwritable): Likewise.
32262         * lib/fwriting.c (fwriting): Likewise.
32263         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
32264
32265 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
32266
32267         * lib/config.charset: Treat Haiku like BeOS.
32268
32269 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
32270
32271         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
32272         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
32273
32274 2008-11-08  Bruno Haible  <bruno@clisp.org>
32275
32276         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
32277         AC_CACHE_CHECK.
32278
32279 2008-11-08  Bruno Haible  <bruno@clisp.org>
32280
32281         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
32282
32283 2008-11-08  Bruno Haible  <bruno@clisp.org>
32284
32285         * tests/test-select-fd.c: New file.
32286         * tests/test-select-in.sh: New file.
32287         * tests/test-select-out.sh: New file.
32288         * tests/test-select-stdin.c: New file.
32289         * modules/select-tests (Files): Add the new files.
32290         (Depends-on): Add gettimeofday.
32291         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
32292         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
32293         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
32294
32295 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
32296             Bruno Haible  <bruno@clisp.org>
32297
32298         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
32299
32300 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
32301
32302         * build-aux/pmccabe2html: Added support for C++ source files.
32303
32304 2008-11-05  Ben Pfaff  <blp@gnu.org>
32305
32306         Fix lib/close.c build on Windows.
32307         * modules/close (Files): Add lib/w32sock.h.
32308
32309 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
32310
32311         Accept Bison's NEWS format.
32312         * build-aux/announce-gen (print_news_deltas): Tweak
32313         $re_prefix.
32314
32315 2008-11-04  Bruno Haible  <bruno@clisp.org>
32316
32317         * modules/random_r (Maintainer): Add glibc.
32318
32319 2008-11-04  Simon Josefsson  <simon@josefsson.org>
32320
32321         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
32322         by karl@freefriends.org (Karl Berry).
32323         * doc/alloca.texi: Likewise.
32324         * doc/c-ctype.texi: Likewise.
32325         * doc/c-strcase.texi: Likewise.
32326         * doc/c-strcaseeq.texi: Likewise.
32327         * doc/c-strcasestr.texi: Likewise.
32328         * doc/c-strstr.texi: Likewise.
32329         * doc/c-strtod.texi: Likewise.
32330         * doc/c-strtold.texi: Likewise.
32331         * doc/ctime.texi: Likewise.
32332         * doc/error.texi: Likewise.
32333         * doc/fdl.texi: Likewise.
32334         * doc/gcd.texi: Likewise.
32335         * doc/getdate.texi: Likewise.
32336         * doc/gnulib-intro.texi: Likewise.
32337         * doc/gnulib-tool.texi: Likewise.
32338         * doc/gnulib.texi: Likewise.
32339         * doc/inet_ntoa.texi: Likewise.
32340         * doc/maintain.texi: Likewise.
32341         * doc/make-stds.texi: Likewise.
32342         * doc/quote.texi: Likewise.
32343         * doc/regexprops-generic.texi: Likewise.
32344         * doc/standards.texi: Likewise.
32345         * doc/verify.texi: Likewise.
32346         * doc/visibility.texi: Likewise.
32347         * doc/gnulib.texi (GNU Free Documentation License): Include
32348         fdl-1.3.texi instead of fdl.texi.
32349
32350 2008-11-04  Simon Josefsson  <simon@josefsson.org>
32351
32352         * doc/fdl-1.3.texi: New file, from
32353         <http://www.gnu.org/licenses/fdl-1.3.texi>.
32354         * modules/fdl-1.3: Add.
32355         * MODULES.html.sh: Add fdl-1.3.
32356
32357 2008-11-03  Bruno Haible  <bruno@clisp.org>
32358
32359         Make determination of absolute name of header file work with AIX xlc.
32360         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
32361         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
32362         preprocessing.
32363         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
32364         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
32365
32366 2008-11-03  Simon Josefsson  <simon@josefsson.org>
32367
32368         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
32369         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
32370         <ludo@gnu.org>.
32371
32372 2008-11-02  Bruno Haible  <bruno@clisp.org>
32373
32374         Mark 'strpbrk' obsolete.
32375         * modules/strpbrk (Status, Notice): New sections.
32376         * modules/strtok_r (Depends-on): Add strpbrk.
32377
32378 2008-11-02  Bruno Haible  <bruno@clisp.org>
32379
32380         Mark 'strdup' obsolete.
32381         * modules/strdup (Status, Notice): New sections.
32382         * modules/findprog (Depends-on): Add strdup.
32383         * modules/getaddrinfo (Depends-on): Likewise.
32384         * modules/localename (Depends-on): Likewise.
32385         * modules/relocatable-lib (Depends-on): Likewise.
32386         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
32387         * modules/relocatable-prog (Depends-on): Likewise.
32388         * modules/trim (Depends-on): Likewise.
32389         * modules/unictype/gen-ctype (Depends-on): Likewise.
32390         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
32391
32392 2008-11-02  Bruno Haible  <bruno@clisp.org>
32393
32394         Mark 'strcspn' obsolete.
32395         * modules/strcspn (Status, Notice): New sections.
32396
32397 2008-11-02  Bruno Haible  <bruno@clisp.org>
32398
32399         Mark 'rmdir' obsolete.
32400         * modules/rmdir (Status, Notice): New sections.
32401         * modules/clean-temp (Depends-on): Add rmdir.
32402         * modules/openat (Depends-on): Likewise.
32403
32404 2008-11-02  Bruno Haible  <bruno@clisp.org>
32405
32406         Mark 'raise' obsolete.
32407         * modules/raise (Status, Notice): New sections.
32408         (Include): Specify <signal.h>.
32409         * modules/stdio (Depends-on): Add raise.
32410         * modules/write (Depends-on): Likewise.
32411
32412 2008-11-02  Bruno Haible  <bruno@clisp.org>
32413
32414         Mark 'memset' obsolete.
32415         * modules/memset (Status, Notice): New sections.
32416
32417 2008-11-02  Bruno Haible  <bruno@clisp.org>
32418
32419         Mark 'memmove' obsolete.
32420         * modules/memmove (Status, Notice): New sections.
32421         * modules/argp (Depends-on): Add memmove.
32422         * modules/argz (Depends-on): Likewise.
32423         * modules/canonicalize (Depends-on): Likewise.
32424         * modules/canonicalize-lgpl (Depends-on): Likewise.
32425         * modules/fts (Depends-on): Likewise.
32426         * modules/getcwd (Depends-on): Likewise.
32427         * modules/human (Depends-on): Likewise.
32428         * modules/regex (Depends-on): Likewise.
32429         * modules/striconveh (Depends-on): Likewise.
32430         * modules/trim (Depends-on): Likewise.
32431         * modules/unistr/u8-move (Depends-on): Likewise.
32432         * modules/unistr/u16-move (Depends-on): Likewise.
32433         * modules/unistr/u32-move (Depends-on): Likewise.
32434
32435 2008-11-02  Bruno Haible  <bruno@clisp.org>
32436
32437         Mark 'memcpy' obsolete.
32438         * modules/memcpy (Status, Notice): New sections.
32439
32440 2008-11-02  Bruno Haible  <bruno@clisp.org>
32441
32442         Mark 'memcmp' obsolete.
32443         * modules/memcmp (Status, Notice): New sections.
32444         * modules/argmatch (Depends-on): Add memchr.
32445         * modules/backupfile (Depends-on): Likewise.
32446         * modules/c-strcasestr (Depends-on): Likewise.
32447         * modules/crypto/des (Depends-on): Likewise.
32448         * modules/csharpcomp (Depends-on): Likewise.
32449         * modules/fnmatch (Depends-on): Likewise.
32450         * modules/git-merge-changelog (Depends-on): Likewise.
32451         * modules/isnand (Depends-on): Likewise.
32452         * modules/isnand-nolibm (Depends-on): Likewise.
32453         * modules/isnanf (Depends-on): Likewise.
32454         * modules/isnanf-nolibm (Depends-on): Likewise.
32455         * modules/isnanl (Depends-on): Likewise.
32456         * modules/isnanl-nolibm (Depends-on): Likewise.
32457         * modules/mbchar (Depends-on): Likewise.
32458         * modules/memcoll (Depends-on): Likewise.
32459         * modules/quotearg (Depends-on): Likewise.
32460         * modules/regex (Depends-on): Likewise.
32461         * modules/relocatable-prog (Depends-on): Likewise.
32462         * modules/same (Depends-on): Likewise.
32463         * modules/signbit (Depends-on): Likewise.
32464         * modules/strcasestr-simple (Depends-on): Likewise.
32465         * modules/unictype/gen-ctype (Depends-on): Likewise.
32466         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
32467         * modules/uniname/uniname (Depends-on): Likewise.
32468         * modules/unistr/u8-cmp (Depends-on): Likewise.
32469
32470 2008-11-02  Bruno Haible  <bruno@clisp.org>
32471
32472         Mark 'memchr' obsolete.
32473         * modules/memchr (Status, Notice): New sections.
32474         * modules/argp (Depends-on): Add memchr.
32475         * modules/base64 (Depends-on): Likewise.
32476         * modules/c-strcasestr (Depends-on): Likewise.
32477         * modules/chdir-long (Depends-on): Likewise.
32478         * modules/fnmatch (Depends-on): Likewise.
32479         * modules/getsubopt (Depends-on): Likewise.
32480         * modules/git-merge-changelog (Depends-on): Likewise.
32481         * modules/glob (Depends-on): Likewise.
32482         * modules/strcasestr-simple (Depends-on): Likewise.
32483         * modules/strnlen (Depends-on): Likewise.
32484
32485 2008-11-02  Bruno Haible  <bruno@clisp.org>
32486
32487         Mark 'atexit' obsolete.
32488         * modules/atexit (Status, Notice): New sections.
32489         * modules/chdir-long (Depends-on): Add atexit.
32490         * modules/wait-process (Depends-on): Likewise.
32491
32492 2008-11-02  Bruno Haible  <bruno@clisp.org>
32493
32494         * gnulib-tool: New option --with-obsolete.
32495         (func_usage): Document it.
32496         (func_modules_transitive_closure): Drop obsolete dependencies if
32497         incobsolete is not true.
32498         (func_import): Read and save the incobsolete variable to the cache.
32499
32500 2008-11-02  Bruno Haible  <bruno@clisp.org>
32501
32502         * modules/TEMPLATE-EXTENDED: New field 'Status'.
32503         * gnulib-tool: New option --extract-status.
32504         (func_usage): Document it.
32505         (sed_extract_prog): Recognize it.
32506         (func_get_status): New function.
32507
32508 2008-10-30  Simon Josefsson  <simon@josefsson.org>
32509
32510         * modules/sockets (License): Change from LGPL to LGPLv2+.
32511
32512 2008-10-28  Simon Josefsson  <simon@josefsson.org>
32513
32514         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
32515
32516 2008-10-28  Simon Josefsson  <simon@josefsson.org>
32517
32518         * MODULES.html.sh (Support for systems lacking POSIX:2001):
32519         Mention times and sys_times.
32520         * modules/sys_times, modules/sys_times-tests: New modules.
32521         * modules/times, modules/times-tests: Likewise
32522         * m4/sys_times_h.m4: New file.
32523         * lib/sys_times.in.h: Likewise
32524         * lib/times.c: Likewise.
32525         * tests/test-sys_times.c: Likewise.
32526         * tests/test-times.c: Likewise.
32527         * doc/posix-headers/sys_times.texi: Update.
32528         * doc/posix-functions/times.texi: Update.
32529
32530 2008-10-28  Jim Meyering  <meyering@redhat.com>
32531
32532         * modules/tempname (Depends-on): Add lstat.
32533
32534         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
32535
32536 2008-10-28  Simon Josefsson  <simon@josefsson.org>
32537
32538         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
32539         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
32540         using idiom used elsewhere in gnulib.
32541
32542 2008-10-27  Jim Meyering  <meyering@redhat.com>
32543
32544         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
32545
32546 2008-10-27  Simon Josefsson  <simon@josefsson.org>
32547
32548         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
32549         TESTS_ENVIRONMENT, for shell scripts that needs to call built
32550         programs.
32551         * tests/test-argp-2.sh: Use $EXEEXT when needed.
32552
32553 2008-10-27  Simon Josefsson  <simon@josefsson.org>
32554
32555         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
32556
32557 2008-10-27  Bruno Haible  <bruno@clisp.org>
32558
32559         * tests/test-lstat.c: Include <stdio.h>.
32560
32561 2008-10-27  Simon Josefsson  <simon@josefsson.org>
32562
32563         * modules/lstat-tests: New module.
32564         * tests/test-lstat.c: New file.
32565
32566 2008-10-26  Jim Meyering  <meyering@redhat.com>
32567
32568         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
32569
32570 2008-10-26  Simon Josefsson  <simon@josefsson.org>
32571             Bruno Haible  <bruno@clisp.org>
32572
32573         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
32574         * modules/configmake (Include): Add a note that the include must come
32575         after all system headers.
32576         * lib/javaversion.c: Include configmake.h after all other includes.
32577
32578 2008-10-26  Bruno Haible  <bruno@clisp.org>
32579
32580         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
32581         HAVE_STRUCT_RANDOM_DATA to 1.
32582         (gl_STDLIB_H): Simplify.
32583
32584 2008-10-26  Simon Josefsson  <simon@josefsson.org>
32585
32586         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
32587         substitute HAVE_STRUCT_RANDOM_DATA.
32588         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
32589         random_data.
32590         * modules/stdlib (Makefile.am): Substitute
32591         HAVE_STRUCT_RANDOM_DATA.
32592
32593 2008-10-26  Simon Josefsson  <simon@josefsson.org>
32594
32595         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
32596         * doc/gnulib-intro.texi (Copyright): Likewise.
32597
32598 2008-10-26  Simon Josefsson  <simon@josefsson.org>
32599
32600         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
32601         findings.
32602
32603 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
32604             Bruno Haible  <bruno@clisp.org>
32605
32606         * lib/unistd.in.h: Include <winsock2.h>.
32607         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
32608         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
32609         Provide dummy declarations.
32610         (gethostname): Override.
32611         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
32612         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
32613         gl_PREREQ_SYS_H_WINSOCK2.
32614         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
32615         * doc/posix-functions/gethostname.texi: More details.
32616
32617 2008-10-25  Bruno Haible  <bruno@clisp.org>
32618
32619         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
32620         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
32621         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
32622
32623         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
32624         here ...
32625         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
32626         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
32627         gl_UNISTD_H_DEFAULTS.
32628
32629 2008-10-25  Eric Blake  <ebb9@byu.net>
32630
32631         signbit: avoid spurious compiler failure
32632         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
32633         declarations inside function.
32634
32635 2008-10-24  Simon Josefsson  <simon@josefsson.org>
32636             Bruno Haible  <bruno@clisp.org>
32637
32638         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
32639         * modules/random_r (Depends-on): Add stdint.
32640
32641 2008-10-24  Bruno Haible  <bruno@clisp.org>
32642
32643         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
32644         Eggert.
32645         * modules/strerror (License): Likewise.
32646
32647 2008-10-24  Jim Meyering  <meyering@redhat.com>
32648
32649         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
32650         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
32651
32652 2008-10-24  Eric Blake  <ebb9@byu.net>
32653
32654         getgroups: fix compilation when getgroups is available
32655         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
32656         but with <config.h> override of getgroups disabled.
32657
32658 2008-10-24  Simon Josefsson  <simon@josefsson.org>
32659
32660         * doc/gnulib.texi (Header files): Add note about C++ problems.
32661         Explained by Bruno Haible <bruno@clisp.org>.
32662
32663 2008-10-23  Bruno Haible  <bruno@clisp.org>
32664
32665         Define a dummy SA_NODEFER macro on Interix.
32666         * lib/signal.in.h (SA_NODEFER): Define fallback.
32667         Reported by Aleksey Cheusov <cheusov@tut.by> via
32668         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
32669
32670 2008-10-23  Bruno Haible  <bruno@clisp.org>
32671
32672         * modules/freadahead (License): Change to LGPLv2+.
32673         Suggested by Simon Josefsson.
32674
32675 2008-10-23  Jim Meyering  <meyering@redhat.com>
32676
32677         random_r: new module
32678         * modules/random_r: New file.
32679         * m4/random_r.m4: New file.
32680         * lib/random_r.c: New file, from glibc.
32681         * modules/random_r-tests: New file.
32682         * tests/test-random_r.c: New file.
32683         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
32684          Declare.
32685         (RAND_MAX): Define.
32686         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
32687         * modules/stdlib: Substitute them, too.
32688         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
32689         * doc/glibc-functions/initstate_r.texi: Mention the new module.
32690         * doc/glibc-functions/random_r.texi: Likewise.
32691         * doc/glibc-functions/setstate_r.texi: Likewise.
32692         * doc/glibc-functions/srandom_r.texi: Likewise.
32693         * config/srclist.txt: Mention it.
32694
32695 2008-10-23  David Lutterkort  <lutter@redhat.com>
32696
32697         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
32698         link requirement
32699
32700 2008-10-23  Jim Meyering  <meyering@redhat.com>
32701
32702         selinux-h: mark parameters of stub functions as intentionally unused
32703         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
32704         * lib/se-context.in.h: Likewise.
32705
32706 2008-10-22  Simon Josefsson  <simon@josefsson.org>
32707
32708         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
32709
32710 2008-10-22  Simon Josefsson  <simon@josefsson.org>
32711
32712         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
32713
32714 2008-10-22  Eric Blake  <ebb9@byu.net>
32715
32716         glthread/thread: avoid compiler warning
32717         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
32718         Add unreachable abort to silence compiler.
32719
32720 2008-10-22  Eric Blake  <ebb9@byu.net>
32721
32722         netdb: also supply struct addrinfo for cygwin 1.5.x
32723         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
32724         older cygwin.
32725         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
32726         cygwin.
32727         * doc/posix-headers/netdb.texi (netdb.h): Document this.
32728
32729 2008-10-22  Bruno Haible  <bruno@clisp.org>
32730
32731         * users.txt: Update entry about pspp.
32732
32733 2008-10-21  Bruno Haible  <bruno@clisp.org>
32734
32735         Simplification.
32736         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
32737         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
32738
32739         Simplification.
32740         * lib/ioctl.c (ioctl): Don't undefine.
32741         * lib/socket.c (socket): Don't undefine.
32742
32743         Remove unused module indicator macros.
32744         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
32745         GNULIB_$1 as a C macro.
32746
32747         * doc/posix-functions/close.texi: Undo last change.
32748         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
32749         Windows platforms.
32750
32751 2008-10-21  Bruno Haible  <bruno@clisp.org>
32752
32753         Add gethostname() declaration to <unistd.h>.
32754         * lib/unistd.in.h (gethostname): New declaration.
32755         * lib/gethostname.c: Include <unistd.h>.
32756         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
32757         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
32758         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
32759         and HAVE_GETHOSTNAME.
32760         * modules/gethostname (Depends-on): Add unistd.
32761         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
32762         (Include): Specify <unistd.h>.
32763         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
32764         HAVE_GETHOSTNAME.
32765         * tests/test-gethostname.c: Include <unistd.h> first.
32766
32767 2008-10-21  Bruno Haible  <bruno@clisp.org>
32768
32769         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
32770         * modules/select-tests (Depends-on): Likewise.
32771         Reported by Simon Josefsson.
32772
32773 2008-10-21  Simon Josefsson  <simon@josefsson.org>
32774
32775         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
32776         * lib/accept.c: New file, based on winsock.c.
32777         * lib/bind.c: New file, based on winsock.c.
32778         * lib/connect.c: New file, based on winsock.c.
32779         * lib/getpeername.c: New file, based on winsock.c.
32780         * lib/getsockname.c: New file, based on winsock.c.
32781         * lib/getsockopt.c: New file, based on winsock.c.
32782         * lib/ioctl.c: New file, based on winsock.c.
32783         * lib/listen.c: New file, based on winsock.c.
32784         * lib/recv.c: New file, based on winsock.c.
32785         * lib/recvfrom.c: New file, based on winsock.c.
32786         * lib/send.c: New file, based on winsock.c.
32787         * lib/sendto.c: New file, based on winsock.c.
32788         * lib/setsockopt.c: New file, based on winsock.c.
32789         * lib/shutdown.c: New file, based on winsock.c.
32790         * lib/socket.c: New file, based on winsock.c.
32791         * lib/w32sock.h: New file, based on winsock.c.
32792         * lib/winsock.c: Remove file.
32793         * modules/accept: Likewise.
32794         * modules/bind: Likewise.
32795         * modules/connect: Likewise.
32796         * modules/getpeername: Likewise.
32797         * modules/getsockname: Likewise.
32798         * modules/getsockopt: Likewise.
32799         * modules/ioctl: Likewise.
32800         * modules/listen: Likewise.
32801         * modules/recv: Likewise.
32802         * modules/recvfrom: Likewise.
32803         * modules/send: Likewise.
32804         * modules/sendto: Likewise.
32805         * modules/setsockopt: Likewise.
32806         * modules/shutdown: Likewise.
32807         * modules/socket: Use socket.c instead of winsock.c.
32808         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
32809         * doc/posix-functions/accept.texi: Doc fix.
32810         * doc/posix-functions/bind.texi: Doc fix.
32811         * doc/posix-functions/close.texi: Doc fix.
32812         * doc/posix-functions/connect.texi: Doc fix.
32813         * doc/posix-functions/getpeername.texi: Doc fix.
32814         * doc/posix-functions/getsockname.texi: Doc fix.
32815         * doc/posix-functions/getsockopt.texi: Doc fix.
32816         * doc/posix-functions/ioctl.texi: Doc fix.
32817         * doc/posix-functions/listen.texi: Doc fix.
32818         * doc/posix-functions/recv.texi: Doc fix.
32819         * doc/posix-functions/recvfrom.texi: Doc fix.
32820         * doc/posix-functions/send.texi: Doc fix.
32821         * doc/posix-functions/sendto.texi: Doc fix.
32822         * doc/posix-functions/setsockopt.texi: Doc fix.
32823         * doc/posix-functions/shutdown.texi: Doc fix.
32824         * doc/posix-functions/socket.texi: Doc fix.
32825
32826 2008-10-20  Bruno Haible  <bruno@clisp.org>
32827
32828         Take into account the role of SIGABRT_COMPAT on Windows 2008.
32829         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
32830         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
32831         as an alias for SIGABRT.
32832         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
32833         (sigaction): Map it to SIGABRT.
32834         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
32835
32836 2008-10-20  Bruno Haible  <bruno@clisp.org>
32837
32838         * lib/fts.c: Don't include lstat.h.
32839         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
32840
32841         Move the lstat() declaration to <sys/stat.h>.
32842         * lib/lstat.h: Remove file.
32843         * lib/sys_stat.in.h: Add special invocation convention.
32844         (lstat): New declaration.
32845         * lib/lstat.c (orig_lstat): New function.
32846         (rpl_lstat): Use orig_lstat instead of lstat.
32847         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
32848         AC_C_INLINE. Set REPLACE_LSTAT.
32849         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
32850         and REPLACE_LSTAT.
32851         * modules/lstat (Files): Remove lib/lstat.h.
32852         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
32853         (Include): Specify <sys/stat.h> instead of lstat.h.
32854         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
32855         REPLACE_LSTAT.
32856         * NEWS: Mention the change.
32857
32858 2008-10-20  Bruno Haible  <bruno@clisp.org>
32859
32860         * modules/posix_spawn-tests: New file.
32861         * tests/test-posix_spawn3.c: New file.
32862
32863 2008-10-20  Bruno Haible  <bruno@clisp.org>
32864
32865         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
32866         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
32867         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
32868         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
32869         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
32870
32871 2008-10-20  Bruno Haible  <bruno@clisp.org>
32872
32873         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
32874         of posix_spawn on AIX 5.3.
32875
32876 2008-10-20  Bruno Haible  <bruno@clisp.org>
32877
32878         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
32879
32880 2008-10-20  Bruno Haible  <bruno@clisp.org>
32881
32882         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
32883         of AC_LANG_PROGRAM.
32884
32885 2008-10-20  Simon Josefsson  <simon@josefsson.org>
32886
32887         * lib/netdb.in.h: Don't define GNU specific constants until they
32888         are supported or needed.  Reported by Bruno Haible
32889         <bruno@clisp.org>.
32890
32891 2008-10-20  Simon Josefsson  <simon@josefsson.org>
32892
32893         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
32894
32895 2008-10-20  Simon Josefsson  <simon@josefsson.org>
32896
32897         * lib/getaddrinfo.h: Remove file.
32898         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
32899         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
32900         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
32901         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
32902         * modules/netdb: Substitute GNULIB_GETADDRINFO.
32903         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
32904         * tests/test-getaddrinfo.c: Likewise.
32905         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
32906         * NEWS: Mention change.
32907
32908 2008-10-19  Bruno Haible  <bruno@clisp.org>
32909
32910         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
32911
32912 2008-10-19  Bruno Haible  <bruno@clisp.org>
32913
32914         * lib/wait-process.c: Include simply <sys/wait.h>.
32915         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
32916         WIFSTOPPED): Remove fallback definitions.
32917         * modules/wait-process (Depends-on): Add sys_wait.
32918
32919         New module 'sys_wait'.
32920         * modules/sys_wait: New file.
32921         * lib/sys_wait.in.h: New file, partially copied from
32922         lib/wait-process.c.
32923         * m4/sys_wait_h.m4: New file.
32924         * doc/posix-headers/sys_wait.texi: Mention the new module.
32925
32926 2008-10-19  Bruno Haible  <bruno@clisp.org>
32927
32928         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
32929
32930 2008-10-19  Bruno Haible  <bruno@clisp.org>
32931
32932         Assume that waitpid() fills an 'int' status, not a 'union wait'.
32933         * lib/wait-process.c (WAIT_T): Remove type.
32934         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
32935         (wait_subprocess): Update.
32936
32937 2008-10-19  Bruno Haible  <bruno@clisp.org>
32938
32939         New module 'atoll'.
32940         * modules/atoll: New file.
32941         * lib/stdlib.in.h (atoll): New declaration.
32942         * lib/atoll.c: New file, from glibc with modifications.
32943         * m4/atoll.m4: New file.
32944         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
32945         HAVE_ATOLL.
32946         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
32947         * doc/posix-functions/atoll.texi: Mention the new module.
32948
32949 2008-10-19  Bruno Haible  <bruno@clisp.org>
32950
32951         Add strtoull() declaration to <stdlib.h>.
32952         * lib/stdlib.in.h (strtoull): New declaration.
32953         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
32954         Set HAVE_STRTOULL.
32955         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
32956         HAVE_STRTOULL.
32957         * modules/strtoull (Depends-on): Add stdlib.
32958         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
32959         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
32960         HAVE_STRTOULL.
32961
32962 2008-10-19  Bruno Haible  <bruno@clisp.org>
32963
32964         Add strtoll() declaration to <stdlib.h>.
32965         * lib/stdlib.in.h (strtoll): New declaration.
32966         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
32967         Set HAVE_STRTOLL.
32968         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
32969         HAVE_STRTOLL.
32970         * modules/strtoll (Depends-on): Add stdlib.
32971         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
32972         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
32973
32974 2008-10-19  Bruno Haible  <bruno@clisp.org>
32975
32976         * modules/bcopy (Depends-on): Add strings.
32977         (Include): Specify <strings.h>.
32978
32979 2008-10-19  Bruno Haible  <bruno@clisp.org>
32980
32981         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
32982
32983 2008-10-19  Bruno Haible  <bruno@clisp.org>
32984
32985         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
32986         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
32987         mingw.
32988
32989 2008-10-19  Bruno Haible  <bruno@clisp.org>
32990
32991         * lib/atanl.c: Don't include isnanl.h.
32992         * lib/cosl.c: Likewise.
32993         * lib/ldexpl.c: Likewise.
32994         * lib/logl.c: Likewise.
32995         * lib/sinl.c: Likewise.
32996         * lib/sqrtl.c: Likewise.
32997         * lib/tanl.c: Likewise.
32998
32999         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
33000         * lib/isnanf.h: Remove file.
33001         * lib/isnand.h: Remove file.
33002         * lib/isnanl.h: Remove file.
33003         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
33004         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
33005         macros.
33006         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
33007         HAVE_ISNANF, don't define it as a C macro.
33008         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
33009         HAVE_ISNAND, don't define it as a C macro.
33010         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
33011         HAVE_ISNANL, don't define it as a C macro.
33012         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
33013         HAVE_ISNAN[FDL].
33014         * modules/isnanf (Files): Remove lib/isnanf.h.
33015         (Depends-on): Add math.
33016         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
33017         (Include): Specify <math.h> instead of isnanf.h.
33018         * modules/isnand (Files): Remove lib/isnand.h.
33019         (Depends-on): Add math.
33020         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
33021         (Include): Specify <math.h> instead of isnand.h.
33022         * modules/isnanl (Files): Remove lib/isnanl.h.
33023         (Depends-on): Add math.
33024         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
33025         (Include): Specify <math.h> instead of isnanl.h.
33026         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
33027         HAVE_ISNAN[FDL].
33028         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
33029         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
33030         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
33031         * NEWS: Mention the change.
33032
33033 2008-10-18  Bruno Haible  <bruno@clisp.org>
33034
33035         Add getusershell(), setusershell(), endusershell() declarations to
33036         <unistd.h>.
33037         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
33038         declarations.
33039         * lib/getusershell.c: Include unistd.h.
33040         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
33041         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
33042         HAVE_GETUSERSHELL.
33043         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
33044         and HAVE_GETUSERSHELL.
33045         * modules/getusershell (Depends-on): Add unistd, extensions.
33046         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33047         (Include): Specify <unistd.h>.
33048         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
33049         HAVE_GETUSERSHELL.
33050
33051 2008-10-18  Bruno Haible  <bruno@clisp.org>
33052
33053         Add a getloadavg() declaration to <stdlib.h>.
33054         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
33055         getloadavg declaration.
33056         (getloadavg): New declaration.
33057         * lib/getloadavg.c: Include <stdlib.h> first.
33058         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
33059         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
33060         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
33061         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
33062         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
33063         * modules/getloadavg (Depends-on): Add stdlib, extensions.
33064         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
33065         (Include): Specify <stdlib.h>.
33066         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
33067         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
33068
33069 2008-10-18  Bruno Haible  <bruno@clisp.org>
33070
33071         * lib/dirchownmod.c: Don't include lchmod.h.
33072
33073         Move the lchmod() declaration to <sys/stat.h>.
33074         * lib/lchmod.h: Remove file.
33075         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
33076         (lchmod): New declaration, moved here from lib/lchown.h.
33077         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
33078         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
33079         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
33080         and HAVE_LCHMOD.
33081         * modules/lchmod (Files): Remove lib/lchmod.h.
33082         (Depends-on): Add sys_stat, extensions.
33083         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
33084         (Include): Specify <sys/stat.h> instead of lchmod.h.
33085         * modules/sys_stat (Depends-on): Add link-warning.
33086         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
33087         definition of GL_LINK_WARNING.
33088         * NEWS: Mention the change.
33089
33090 2008-10-18  Bruno Haible  <bruno@clisp.org>
33091
33092         * lib/fchdir.c: Don't include dirfd.h.
33093         * lib/fts.c: Likewise.
33094         * lib/getcwd.c: Likewise.
33095         * lib/glob.c: Likewise.
33096
33097         Move the dirfd() declaration to <dirent.h>.
33098         * lib/dirfd.h: Remove file.
33099         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
33100         (dirfd): New declaration.
33101         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
33102         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
33103         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
33104         HAVE_DECL_DIRFD.
33105         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
33106         HAVE_DECL_DIRFD.
33107         * modules/dirfd (Files): Remove lib/dirfd.h.
33108         (Depends-on): Add dirent, extensions.
33109         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
33110         (Include): Specify <dirent.h> instead of dirfd.h.
33111         * modules/dirent (Depends-on): Add link-warning.
33112         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
33113         definition of GL_LINK_WARNING.
33114         * NEWS: Mention the change.
33115
33116 2008-10-18  Bruno Haible  <bruno@clisp.org>
33117
33118         Move the euidaccess() declaration to <unistd.h>.
33119         * lib/euidaccess.h: Remove file.
33120         * lib/unistd.in.h (euidaccess): New declaration.
33121         * lib/euidaccess.c: Don't include euidaccess.h.
33122         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
33123         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
33124         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
33125         and HAVE_EUIDACCESS.
33126         * modules/euidaccess (Files): Remove lib/euidaccess.h.
33127         (Depends-on): Add unistd.
33128         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33129         (Include): Specify <unistd.h> instead of euidaccess.h.
33130         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
33131         HAVE_EUIDACCESS.
33132         * NEWS: Mention the change.
33133
33134 2008-10-18  Bruno Haible  <bruno@clisp.org>
33135
33136         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
33137
33138         Move the getdomainname() declaration to <unistd.h>.
33139         * lib/getdomainname.h: Remove file.
33140         * lib/unistd.in.h (getdomainname): New declaration.
33141         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
33142         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
33143         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
33144         HAVE_GETDOMAINNAME.
33145         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
33146         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
33147         * modules/getdomainname (Files): Remove lib/getdomainname.h.
33148         (Depends-on): Add unistd, extensions.
33149         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33150         (Includes): Specify <unistd.h> instead of getdomainname.h.
33151         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
33152         HAVE_GETDOMAINNAME.
33153         * NEWS: Mention the change.
33154
33155 2008-10-18  Bruno Haible  <bruno@clisp.org>
33156
33157         * modules/dirent: New file.
33158         * m4/dirent_h.m4: New file.
33159         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
33160         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
33161         * modules/fchdir (Files): Remove lib/dirent.in.h.
33162         (Depends-on): Add dirent.
33163         (Makefile.am): Move rules to modules/dirent.
33164         * doc/posix-headers/dirent.texi: Mention the new module.
33165
33166 2008-10-18  Bruno Haible  <bruno@clisp.org>
33167
33168         Avoid -Wunused-parameter warnings in public gnulib header files.
33169         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
33170         macro.
33171         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
33172
33173 2008-10-18  Bruno Haible  <bruno@clisp.org>
33174
33175         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
33176         * doc/glibc-functions/error.texi: Mention the module 'error'.
33177         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
33178         * doc/glibc-functions/getdomainname.texi: Mention the module
33179         'getdomainname'.
33180         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
33181         * doc/glibc-functions/getpagesize.texi: Mention the module
33182         'getpagesize'.
33183         * doc/glibc-functions/getusershell.texi: Mention the module
33184         'getusershell'.
33185         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
33186         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
33187         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
33188         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
33189         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
33190         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
33191         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
33192         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
33193         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
33194         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
33195         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
33196         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
33197         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
33198         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
33199
33200 2008-10-17  Bruno Haible  <bruno@clisp.org>
33201
33202         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
33203         HP-UX and IRIX, use -0.0L.
33204         * tests/test-ceill.c (minus_zero): Likewise.
33205         * tests/test-floorl.c (minus_zero): Likewise.
33206         * tests/test-frexpl.c (minus_zero): Likewise.
33207         * tests/test-isnan.c (minus_zerol): Likewise.
33208         * tests/test-isnanl.h (minus_zero): Likewise.
33209         * tests/test-ldexpl.c (minus_zero): Likewise.
33210         * tests/test-roundl.c (minus_zero): Likewise.
33211         * tests/test-signbit.c (minus_zerol): Likewise.
33212         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
33213         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
33214         * tests/test-truncl.c (minus_zero): Likewise.
33215         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
33216         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
33217         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
33218         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
33219
33220 2008-10-17  Bruno Haible  <bruno@clisp.org>
33221
33222         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
33223         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
33224         that it gets activated only for gcc >= 3.0.
33225         * lib/dirent.in.h: Likewise.
33226         * lib/errno.in.h: Likewise.
33227         * lib/fcntl.in.h: Likewise.
33228         * lib/float.in.h: Likewise.
33229         * lib/iconv.in.h: Likewise.
33230         * lib/inttypes.in.h: Likewise.
33231         * lib/locale.in.h: Likewise.
33232         * lib/math.in.h: Likewise.
33233         * lib/netdb.in.h: Likewise.
33234         * lib/netinet_in.in.h: Likewise.
33235         * lib/search.in.h: Likewise.
33236         * lib/signal.in.h: Likewise.
33237         * lib/spawn.in.h: Likewise.
33238         * lib/stdarg.in.h: Likewise.
33239         * lib/stdint.in.h: Likewise.
33240         * lib/stdio.in.h: Likewise.
33241         * lib/stdlib.in.h: Likewise.
33242         * lib/string.in.h: Likewise.
33243         * lib/strings.in.h: Likewise.
33244         * lib/sys_file.in.h: Likewise.
33245         * lib/sys_ioctl.in.h: Likewise.
33246         * lib/sys_select.in.h: Likewise.
33247         * lib/sys_socket.in.h: Likewise.
33248         * lib/sys_stat.in.h: Likewise.
33249         * lib/sys_time.in.h: Likewise.
33250         * lib/sysexits.in.h: Likewise.
33251         * lib/time.in.h: Likewise.
33252         * lib/unistd.in.h: Likewise.
33253         * lib/wchar.in.h: Likewise.
33254         * lib/wctype.in.h: Likewise.
33255         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
33256
33257 2008-10-17  Jim Meyering  <meyering@redhat.com>
33258
33259         ignore-value: don't depend on inline module
33260         * modules/ignore-value (Depends-on): Remove 'inline'.
33261         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
33262         Suggestion from Bruno Haible.
33263
33264 2008-10-17  Bruno Haible  <bruno@clisp.org>
33265
33266         New implementation of condition variables for Win32.
33267         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
33268         (gl_linked_waitqueue_t): New type.
33269         (gl_cond_t): Use it.
33270         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
33271         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
33272         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
33273         (glthread_cond_init_func, glthread_cond_wait_func,
33274         glthread_cond_timedwait_func, glthread_cond_signal_func,
33275         glthread_cond_broadcast_func, glthread_cond_destroy_func):
33276         Reimplemented on the basis of gl_linked_waitqueue_t.
33277         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
33278         gl_waitqueue_t.
33279         (gl_rwlock_t): Update.
33280         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
33281
33282 2008-10-17  Simon Josefsson  <simon@josefsson.org>
33283
33284         * modules/recvfrom (Depends-on): Add dependency on getpeername.
33285         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
33286
33287 2008-10-17  Jim Meyering  <meyering@redhat.com>
33288
33289         ignore-value: new module
33290         * modules/ignore-value: New file.
33291         * lib/ignore-value.h: New file.
33292         * MODULES.html.sh (Compiler warning management): New section,
33293         just for this module.  More to come.
33294
33295 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
33296
33297         open-safer.c: avoid 'signed and unsigned in conditional...' warning
33298         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
33299         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
33300
33301 2008-10-16  Jim Meyering  <meyering@redhat.com>
33302
33303         openat-die.c: avoid 'no previous prototype' warning
33304         * lib/openat-die.c: Include "openat.h".
33305         Reported by Reuben Thomas <rrt@sc3d.org>.
33306
33307 2008-10-16  Simon Josefsson  <simon@josefsson.org>
33308
33309         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
33310         * lib/netdb.in.h: Fix typo.
33311         Reported by Bruno Haible  <bruno@clisp.org>
33312
33313         * lib/netdb.in.h: Include sys/socket.h for platforms without
33314         netdb.h, to get structures like hostent on MinGW.
33315         * modules/netdb (Depends-on): Add sys_socket.
33316
33317 2008-10-15  Simon Josefsson  <simon@josefsson.org>
33318
33319         * modules/netdb, modules/netdb-tests: New file.
33320         * m4/netdb_h.m4: New file.
33321         * lib/netdb.in.h: Add, currently just an empty file pending
33322         definitions.
33323         * tests/test-netdb.c: New file.
33324         * doc/posix-headers/netdb.texi: Mention that we replace it if
33325         needed.
33326         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
33327         netdb.
33328
33329 2008-10-15  Simon Josefsson  <simon@josefsson.org>
33330
33331         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
33332         with code.
33333
33334 2008-10-13  Bruno Haible  <bruno@clisp.org>
33335
33336         * lib/glthread/cond.c (glthread_cond_wait_func,
33337         glthread_cond_timedwait_func): Add a comment.
33338
33339 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
33340
33341         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
33342         * tests/test-select.c: Likewise,
33343
33344 2008-10-13  Bruno Haible  <bruno@clisp.org>
33345
33346         * lib/glthread/cond.c (glthread_cond_wait_func,
33347         glthread_cond_timedwait_func): Fix variable name.
33348         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
33349
33350 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
33351
33352         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
33353         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
33354         struct sockaddr.sa_len.
33355         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
33356
33357 2008-10-13  Simon Josefsson  <simon@josefsson.org>
33358
33359         * build-aux/pmccabe2html: Add css and css_url parameters.
33360
33361 2008-10-12  Bruno Haible  <bruno@clisp.org>
33362
33363         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
33364         calling aclx_get.
33365         Reported by Rainer Tammer <tammer@tammer.net>.
33366
33367 2008-10-12  Bruno Haible  <bruno@clisp.org>
33368
33369         Use msvcrt aware primitives for creation/termination of Win32 threads.
33370         * lib/glthread/thread.c: Include <process.h>.
33371         (glthread_create_func): Use _beginthreadex instead of CreateThread.
33372         (wrapper_func): Update signature.
33373         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
33374
33375 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
33376             Bruno Haible  <bruno@clisp.org>
33377
33378         Provide a Win32 implementation of the 'cond' module.
33379         * lib/glthread/cond.h [USE_WIN32]: New implementation.
33380         * lib/glthread/cond.c (glthread_cond_init_func,
33381         glthread_cond_wait_func, glthread_cond_timedwait_func,
33382         glthread_cond_signal_func, glthread_cond_broadcast_func,
33383         glthread_cond_destroy_func) [USE_WIN32]: New functions.
33384         * modules/cond (Dependencies): Add gettimeofday.
33385
33386 2008-10-11  Bruno Haible  <bruno@clisp.org>
33387
33388         Make sleep work on older versions of mingw.
33389         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
33390         only whether it exists.
33391         * doc/posix-functions/sleep.texi: Mention the problem with older
33392         versions of mingw.
33393
33394 2008-10-11  Bruno Haible  <bruno@clisp.org>
33395
33396         New module 'shutdown'.
33397         * modules/shutdown: New file.
33398         * lib/sys_socket.in.h (shutdown): New declaration.
33399         * lib/winsock.c (shutdown): New function.
33400         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
33401         GNULIB_SHUTDOWN.
33402         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
33403         * doc/posix-functions/shutdown.texi: Document the new module.
33404
33405 2008-10-11  Jim Meyering  <meyering@redhat.com>
33406
33407         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
33408
33409 2008-10-11  Bruno Haible  <bruno@clisp.org>
33410
33411         New module 'fclose'.
33412         * modules/fclose: New file.
33413         * lib/stdio.in.h (fclose): New declaration.
33414         * lib/fclose.c: New file.
33415         * m4/fclose.m4: New file.
33416         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
33417         REPLACE_FCLOSE.
33418         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
33419         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
33420         REPLACE_FCLOSE.
33421         * modules/close (Depends-on): fclose.
33422         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
33423
33424 2008-10-11  Bruno Haible  <bruno@clisp.org>
33425
33426         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
33427         set errno and don't call _close.
33428
33429 2008-10-10  Bruno Haible  <bruno@clisp.org>
33430
33431         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
33432         ACL, not afterwards. Fixes test failure on Cygwin.
33433
33434 2008-10-09  Ben Pfaff  <blp@gnu.org>
33435
33436         * build-aux/announce-gen: Fix gnulib version related part of usage
33437         message.  Die with a useful error message if no tarballs are
33438         found.
33439
33440 2008-10-10  Jim Meyering  <meyering@redhat.com>
33441
33442         bootstrap: use git's --depth=N option only if it's supported
33443         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
33444         recognize the --depth option.  Reported by Pádraig Brady.
33445
33446 2008-10-09  Bruno Haible  <bruno@clisp.org>
33447
33448         New module 'ioctl'.
33449         * modules/ioctl: New file.
33450         * lib/sys_socket.in.h (ioctl): Remove declaration.
33451         * lib/winsock.c: Include <sys/ioctl.h>.
33452         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
33453         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
33454         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
33455         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
33456         * doc/posix-functions/ioctl.texi: Mention the new module.
33457
33458 2008-10-09  Bruno Haible  <bruno@clisp.org>
33459
33460         New module 'sys_ioctl'.
33461         * lib/sys_ioctl.in.h: New file.
33462         * m4/sys_ioctl_h.m4: New file.
33463         * modules/sys_ioctl: New file.
33464         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
33465
33466 2008-10-09  Bruno Haible  <bruno@clisp.org>
33467
33468         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
33469         * lib/winsock.c: Include <stdarg.h>.
33470         (rpl_ioctl): Change to second argument 'int' and then varargs.
33471
33472 2008-10-09  Bruno Haible  <bruno@clisp.org>
33473
33474         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
33475         when the sys_socket module is present and the system has <winsock2.h>.
33476
33477 2008-10-09  Bruno Haible  <bruno@clisp.org>
33478
33479         * doc/posix-functions/close.texi: Mention module 'close' instead of
33480         module 'sys_socket'.
33481
33482 2008-10-09  Bruno Haible  <bruno@clisp.org>
33483
33484         * doc/glibc-headers/sys_ioctl.texi: New file.
33485         * doc/gnulib.texi: Include it.
33486
33487 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
33488             Bruno Haible  <bruno@clisp.org>
33489
33490         Combine the two replacements of 'close'.
33491         * lib/sys_socket.in.h (close): Define to a reminder to include
33492         <unistd.h>.
33493         (_gl_close_fd_maybe_socket): New declaration.
33494         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
33495         * lib/winsock.c (close): Remove undefinition.
33496         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
33497         needed for the gnulib module 'close'.
33498         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
33499         define to an error symbol or to a warning, if suitable.
33500         * lib/close.c: Include <sys/socket.h>.
33501         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
33502         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
33503         UNISTD_H_HAVE_WINSOCK2_H.
33504         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
33505         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
33506         UNISTD_H_HAVE_WINSOCK2_H.
33507         * modules/sys_socket (Files): Add m4/unistd_h.m4.
33508         (configure.ac): Set a module indicator.
33509         (Makefile.am): Substitute GNULIB_CLOSE.
33510         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
33511         * modules/poll-tests (Depends-on): Add close.
33512         * modules/select-tests (Depends-on): Likewise.
33513
33514 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
33515             Bruno Haible  <bruno@clisp.org>
33516
33517         New module 'close'.
33518         * modules/close: New file.
33519         * lib/unistd.in.h (close): Move declaration out of the
33520         FCHDIR_REPLACEMENT scope.
33521         (_gl_unregister_fd): New declaration.
33522         * lib/close.c: New file.
33523         * lib/fchdir.c (rpl_close): Remove function.
33524         * m4/close.m4: New file.
33525         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
33526         close.
33527         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
33528         REPLACE_CLOSE.
33529         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
33530         REPLACE_CLOSE.
33531         * modules/fchdir (Depends-on): Add close.
33532
33533 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
33534             Bruno Haible  <bruno@clisp.org>
33535
33536         * lib/fcntl.in.h (open): Simplify conditionals.
33537         (_gl_register_fd): New declaration.
33538         * lib/fchdir.c (rpl_open): Remove function.
33539         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
33540         also.
33541         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
33542         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
33543         open.
33544
33545 2008-10-09  Jim Meyering  <meyering@redhat.com>
33546
33547         GNUmakefile: use the more name-space-friendly "_version"
33548         * top/GNUmakefile (_dummy): Update.
33549         (_version): Rename from "version".
33550
33551 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
33552             Bruno Haible  <bruno@clisp.org>
33553
33554         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
33555         rpl_close.
33556         (_gl_register_fd): New function, extracted from rpl_open.
33557         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
33558         (rpl_open, rpl_opendir): Use _gl_register_fd.
33559
33560 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
33561
33562         Fix organization of 'open' replacement.
33563         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
33564         (gl_FUNC_OPEN): Use it.
33565         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
33566
33567 2008-10-08  Bruno Haible  <bruno@clisp.org>
33568
33569         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
33570
33571 2008-10-08  Simon Josefsson  <simon@josefsson.org>
33572
33573         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
33574         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
33575         listen).
33576
33577 2008-10-08  Eric Blake  <ebb9@byu.net>
33578
33579         GNUmakefile: add 'make version' target
33580         * top/GNUmakefile (_curr-ver): Split version update rules...
33581         (version): ...into a target.
33582
33583 2008-10-07  Bruno Haible  <bruno@clisp.org>
33584
33585         Use a more portable replacement expression for -0.0L.
33586         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
33587         instead of -0.0L. Fix m4 quotation.
33588
33589         * tests/test-signbit.c: Include <float.h>.
33590         (minus_zero): New variable.
33591         (test_signbitl): Use minus_zero instead of -zero.
33592         * modules/signbit-tests (Depends-on): Add float.
33593
33594         * tests/test-ceill.c: Include <float.h>.
33595         (zero): Remove variable.
33596         (minus_zero): New variable.
33597         (main): Use minus_zero instead of -zero.
33598         * modules/ceill-tests (Depends-on): Add float.
33599
33600         * tests/test-floorl.c: Include <float.h>.
33601         (zero): Remove variable.
33602         (minus_zero): New variable.
33603         (main): Use minus_zero instead of -zero.
33604         * modules/floorl-tests (Depends-on): Add float.
33605
33606         * tests/test-roundl.c: Include <float.h>.
33607         (zero): Remove variable.
33608         (minus_zero): New variable.
33609         (main): Use minus_zero instead of -zero.
33610         * modules/roundl-tests (Depends-on): Add float.
33611
33612         * tests/test-truncl.c: Include <float.h>.
33613         (zero): Remove variable.
33614         (minus_zero): New variable.
33615         (main): Use minus_zero instead of -zero.
33616         * modules/truncl-tests (Depends-on): Add float.
33617
33618         * tests/test-frexpl.c (zero): Remove variable.
33619         (minus_zero): New variable.
33620         (main): Use minus_zero instead of -zero.
33621         * modules/frexpl-tests (Depends-on): Add float.
33622
33623         * tests/test-isnan.c (zerol): Remove variable.
33624         (minus_zerol): New variable.
33625         (test_long_double): Use minus_zerol instead of -zerol.
33626         * modules/isnan-tests (Depends-on): Add float.
33627
33628         * tests/test-isnanl.h (zero): Remove variable.
33629         (minus_zero): New variable.
33630         (main): Use minus_zero instead of -zero.
33631         * modules/isnanl-nolibm-tests (Depends-on): Add float.
33632         * modules/isnanl-tests (Depends-on): Add float.
33633
33634         * tests/test-ldexpl.c (zero): Remove variable.
33635         (minus_zero): New variable.
33636         (main): Use minus_zero instead of -zero.
33637         * modules/ldexpl-tests (Depends-on): Add float.
33638
33639         * tests/test-snprintf-posix.h (zerol): Remove variable.
33640         (minus_zerol): New variable.
33641         (test_function): Use minus_zerol instead of -zerol.
33642         * modules/snprintf-posix-tests (Depends-on): Add float.
33643         * modules/vsnprintf-posix-tests (Depends-on): Add float.
33644
33645         * tests/test-sprintf-posix.h (zerol): Remove variable.
33646         (minus_zerol): New variable.
33647         (test_function): Use minus_zerol instead of -zerol.
33648         * modules/sprintf-posix-tests (Depends-on): Add float.
33649         * modules/vsprintf-posix-tests (Depends-on): Add float.
33650
33651         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
33652         (minus_zerol): New variable.
33653         (test_function): Use minus_zerol instead of -zerol.
33654         * modules/vasnprintf-posix-tests (Depends-on): Add float.
33655
33656         * tests/test-vasprintf-posix.c (zerol): Remove variable.
33657         (minus_zerol): New variable.
33658         (test_function): Use minus_zerol instead of -zerol.
33659         * modules/vasprintf-posix-tests (Depends-on): Add float.
33660
33661 2008-10-07  Simon Josefsson  <simon@josefsson.org>
33662
33663         * MODULES.html.sh (Support for building documentation): Mention
33664         pmccabe2html.  Sort entries.
33665
33666         Add pmccabe2html module, from gnupdf.
33667         * build-aux/pmccabe.css: New file.
33668         * build-aux/pmccabe2html: New file.
33669         * m4/pmccabe2html.m4: New file.
33670         * modules/pmccabe2html: New file.
33671
33672 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
33673
33674         flock: new module
33675         * MODULES.html.sh: Add to list of modules.
33676         * lib/flock.c: flock implementation for Windows and Unix systems
33677         which have fcntl.
33678         * doc/glibc-functions/flock.texi: Update documentation.
33679         * lib/sys_file.in.h: <sys/file.h> header file.
33680         * m4/flock.m4: M4 macros.
33681         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
33682         * modules/flock: flock module.
33683         * modules/flock-tests: flock tests module.
33684         * modules/sys_file: sys/file.h module.
33685         * tests/test-flock.c: test suite for flock.
33686
33687 2008-10-06  Jim Meyering  <meyering@redhat.com>
33688
33689         bootstrap: check for LT_INIT more portably still ;-)
33690         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
33691         Spotted by Bruno Haible.
33692
33693 2008-10-06  Eric Blake  <ebb9@byu.net>
33694
33695         test-signbit: avoid tripping Irix cc bug on -0.0L
33696         * tests/test-signbit.c (minus_zerol): Delete, and replace with
33697         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
33698         entire testsuite consistent and avoids an Irix 6.2 bug.
33699
33700 2008-10-05  Bruno Haible  <bruno@clisp.org>
33701             Jim Meyering  <jim@meyering.net>
33702
33703         Add an option for ignoring EPIPE during close_stdout.
33704         * lib/closeout.h: Include <stdbool.h>.
33705         (close_stdout_set_ignore_EPIPE): New declaration.
33706         * lib/closeout.c: Include <stdbool.h>.
33707         (ignore_EPIPE): New variable.
33708         (close_stdout_set_ignore_EPIPE): New function.
33709         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
33710         * lib/close-stream.c (close_stream): Mention the possible EPIPE
33711         failure.
33712         * modules/closeout (Depends-on): Add stdbool.
33713
33714 2008-10-05  Bruno Haible  <bruno@clisp.org>
33715
33716         * modules/accept: New file.
33717         * modules/bind: New file.
33718         * modules/connect: New file.
33719         * modules/getpeername: New file.
33720         * modules/getsockname: New file.
33721         * modules/getsockopt: New file.
33722         * modules/listen: New file.
33723         * modules/recv: New file.
33724         * modules/recvfrom: New file.
33725         * modules/send: New file.
33726         * modules/sendto: New file.
33727         * modules/setsockopt: New file.
33728         * modules/socket: New file.
33729         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
33730         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
33731         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
33732         the particular module is requested. Add a link warning when the
33733         particular module is not requested.
33734         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
33735         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
33736         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
33737         the particular module is requested.
33738         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
33739         gl_SYS_SOCKET_H_DEFAULTS): New macros.
33740         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
33741         * modules/sys_socket (Depends-on): Add link-warning.
33742         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
33743         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
33744         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
33745         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
33746         GL_LINK_WARNING.
33747         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
33748         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
33749         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
33750         * doc/posix-functions/getpeername.texi: Mention the new module
33751         'getpeername'.
33752         * doc/posix-functions/getsockname.texi: Mention the new module
33753         'getsockname'.
33754         * doc/posix-functions/getsockopt.texi: Mention the new module
33755         'getsockopt'.
33756         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
33757         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
33758         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
33759         * doc/posix-functions/send.texi: Mention the new module 'send'.
33760         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
33761         * doc/posix-functions/setsockopt.texi: Mention the new module
33762         'setsockopt'.
33763         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
33764         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
33765         listen, connect, accept.
33766         * modules/select-tests (Depends-on): Likewise.
33767
33768 2008-10-05  Bruno Haible  <bruno@clisp.org>
33769
33770         * lib/winsock.c (strerror): Remove unused #undef.
33771         (rpl_close): Remove unused local variable.
33772
33773         * modules/sys_socket (Depends-on); Add errno.
33774
33775 2008-10-05  Bruno Haible  <bruno@clisp.org>
33776
33777         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
33778         (select): Add a link warning when the 'select' module is not used.
33779         * modules/sys_select (Depends-on): Add link-warning.
33780         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
33781         Suggested by Paolo Bonzini.
33782
33783 2008-10-05  Jim Meyering  <meyering@redhat.com>
33784
33785         bootstrap: check for LT_INIT more portably
33786         * build-aux/bootstrap: Avoid using grep -E, since it's not
33787         portable enough.  Suggestion from Bruno Haible.
33788
33789 2008-10-05  Bruno Haible  <bruno@clisp.org>
33790
33791         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
33792         as being fixed by gnulib.
33793
33794 2008-10-05  Bruno Haible  <bruno@clisp.org>
33795
33796         * modules/select-tests: New file, mostly copied from
33797         modules/sys_select-tests.
33798         * tests/test-select.c: New file, mostly copied from
33799         tests/test-sys_select.c.
33800         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
33801         * modules/sys_select-tests (Depends-on): Remove all dependencies.
33802         (Makefile.am): Remove test_sys_select_LDADD.
33803
33804         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
33805         to an undefined symbol, for an error message.
33806         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
33807         (gl_SYS_SELECT_H_DEFAULTS): New macro.
33808         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
33809         winsock-select.c here.
33810         * modules/sys_select (Files): Remove lib/winsock-select.c.
33811         (Depends-on): Remove alloca.
33812         (Makefile.am): Substitute GNULIB_SELECT.
33813         * modules/select: New file.
33814         * doc/posix-functions/select.texi: Update.
33815
33816 2008-10-05  Bruno Haible  <bruno@clisp.org>
33817
33818         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
33819         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
33820         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
33821         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
33822         getdtablesize.
33823         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
33824         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
33825
33826 2008-10-05  Bruno Haible  <bruno@clisp.org>
33827
33828         * modules/getdtablesize-tests: New file.
33829         * tests/test-getdtablesize.c: New file.
33830
33831         New module 'getdtablesize'.
33832         * lib/unistd.in.h (getdtablesize): New declaration.
33833         * lib/getdtablesize.c: New file.
33834         * m4/getdtablesize.m4: New file.
33835         * modules/getdtablesize: New file.
33836         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
33837         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
33838         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
33839         HAVE_GETDTABLESIZE.
33840         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
33841
33842 2008-10-05  Bruno Haible  <bruno@clisp.org>
33843
33844         * modules/sched (Makefile.am): Fix typo.
33845         Reported by Simon Josefsson.
33846
33847 2008-10-05  Jim Meyering  <meyering@redhat.com>
33848
33849         bootstrap: check for LT_INIT, too
33850         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
33851         are deprecated.  Suggestion from Ralf Wildenhues.
33852
33853 2008-10-05  Bruno Haible  <bruno@clisp.org>
33854
33855         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
33856         overriding them by ours.
33857         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
33858
33859 2008-10-05  Jim Meyering  <meyering@redhat.com>
33860
33861         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
33862         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
33863         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
33864
33865 2008-10-04  Bruno Haible  <bruno@clisp.org>
33866
33867         * modules/dup2 (License): Change to LGPLv2+.
33868         * modules/sleep (License): Likewise.
33869         * modules/perror (License): Likewise.
33870         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
33871         Blake.
33872         * modules/signal (License): Likewise.
33873         * modules/sigprocmask (License): Likewise.
33874         * modules/raise (License): Change to LGPLv2+, with approval by Jim
33875         Meyering.
33876
33877 2008-10-04  Bruno Haible  <bruno@clisp.org>
33878
33879         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
33880         Reported by Rainer Tammer <tammer@tammer.net>.
33881
33882 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
33883             Bruno Haible  <bruno@clisp.org>
33884
33885         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
33886         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
33887         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
33888
33889 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
33890
33891         filevercmp: new module
33892         * lib/filevercmp.h: New function filevercmp comparing version strings.
33893         * lib/filevercmp.c: Implementation of filevercmp function.
33894         * modules/filevercmp: Module metadata.
33895         * tests/test-filevercmp.c: Unit test for new module.
33896         * modules/filevercmp-tests: Unit test metadata.
33897         * MODULES.html.sh: Add filevercmp module.
33898
33899 2008-10-03  Bruno Haible  <bruno@clisp.org>
33900
33901         * lib/c-ctype.h: Add comment.
33902         Reported by Jim Meyering.
33903
33904 2008-10-02  Bruno Haible  <bruno@clisp.org>
33905
33906         * modules/posix_spawn-internal (Depends-on): Add 'open'.
33907
33908 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
33909
33910         * build-aux/bootstrap: Allow renaming bootstrap, and change the
33911         name of bootstrap.conf accordingly.
33912
33913 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
33914
33915         * build-aux/bootstrap: Install git-merge-changelog configuration
33916         items into .gitconfig if needed.
33917
33918 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
33919
33920         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
33921         git repository, and initialize/update it accordingly.
33922
33923 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
33924
33925         * modules/fsync-tests: New file.
33926         * tests/test-fsync.c: New file.
33927
33928         New module 'fsync'.
33929         * lib/fsync.c: New file.
33930         * m4/fsync.m4: New file.
33931         * modules/fsync: New file.
33932         * lib/unistd.in.h (fsync): New declaration.
33933         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
33934         GNULIB_FSYNC and HAVE_FSYNC.
33935         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
33936         * MODULES.html.sh (posix_functions): Add fsync.
33937         * doc/posix-functions/fsync.texi: Mention the new module.
33938
33939 2008-10-02  Jim Meyering  <meyering@redhat.com>
33940
33941         fts.c: sync with similar code from coreutils' remove.c
33942         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
33943         Guard also with "#if defined __linux__", since for now at least,
33944         this code is Linux-kernel-specific.
33945
33946 2008-10-02  Jim Meyering  <meyering@redhat.com>
33947
33948         fts: bug fixes
33949         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
33950         Include <sys/vfs.h>, not <sys/statfs.h>.
33951
33952         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
33953         Include <sys/vfs.h>, not <sys/statfs.h>.
33954
33955 2008-10-01  Bruno Haible  <bruno@clisp.org>
33956
33957         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
33958         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
33959         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
33960         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
33961         * doc/posix-functions/posix_spawnp.texi: Likewise.
33962         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
33963         whether posix_spawn actually works.
33964         * m4/pipe.m4 (gl_PIPE): Likewise.
33965         * modules/execute (Files): Add m4/posix_spawn.m4.
33966         * modules/pipe (Files): Add m4/posix_spawn.m4.
33967         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
33968
33969 2008-10-01  Jim Meyering  <meyering@redhat.com>
33970
33971         remove trailing spaces
33972         * NEWS: Likewise.
33973         * lib/poll.c (poll): Likewise.
33974         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
33975         * lib/winsock.c (rpl_close): Likewise.
33976         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
33977         * modules/yield: Likewise.
33978         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
33979         * tests/test-sys_select.c (connect_to_socket): Likewise.
33980
33981         fts.c: adjust a new interface to be more generally useful
33982         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
33983         (fts_build): Adjust caller.
33984
33985 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33986
33987         * modules/cond-tests: New file.
33988         * tests/test-cond.c: New file.
33989
33990 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33991             Bruno Haible  <bruno@clisp.org>
33992
33993         * modules/cond (Dependencies): Add errno, time.
33994         * lib/glthread/cond.h: Include <time.h>.
33995         (gl_cond_define, gl_cond_define_initialized): Use the same definition
33996         across platforms.
33997
33998 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33999             Bruno Haible  <bruno@clisp.org>
34000
34001         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
34002
34003 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34004             Bruno Haible  <bruno@clisp.org>
34005
34006         * modules/tls-tests (Depends-on): Add thread, yield.
34007         (configure.ac): Remove all checks.
34008         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
34009         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
34010         gl_thread_self): Remove definitions. Include glthread/thread.h and
34011         glthread/yield.h instead.
34012         (test_tls): Pass an additional NULL argument to gl_thread_join.
34013
34014 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34015             Bruno Haible  <bruno@clisp.org>
34016
34017         * modules/lock-tests (Depends-on): Add thread, yield.
34018         (configure.ac): Remove all checks.
34019         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
34020         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
34021         gl_thread_self): Remove definitions. Include glthread/thread.h and
34022         glthread/yield.h instead.
34023         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
34024         additional NULL argument to gl_thread_join.
34025
34026 2008-09-30  Bruno Haible  <bruno@clisp.org>
34027
34028         Fix the Win32 implementation of the 'thread' module.
34029         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
34030         pointer type.
34031         (gl_thread_self): Invoke gl_thread_self_func.
34032         (gl_thread_self_func): New declaration.
34033         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
34034         (do_init_self_key, init_self_key): New functions.
34035         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
34036         Remove some fields.
34037         (running_threads, running_lock): Remove variables.
34038         (get_current_thread_handle): New function.
34039         (gl_thread_self_func, wrapper_func, glthread_create_func,
34040         glthread_join_func, gl_thread_exit_func): Largely rewritten and
34041         simplified.
34042
34043 2008-09-30  Bruno Haible  <bruno@clisp.org>
34044
34045         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
34046         files.
34047
34048 2008-09-30  Jim Meyering  <meyering@redhat.com>
34049
34050         fts.m4: correct the test for statfs.f_type
34051         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
34052         when checking for statfs.f_type.
34053
34054 2008-09-15  Simon Josefsson  <simon@josefsson.org>
34055
34056         tests: avoid some compiler warnings
34057         * tests/test-memchr.c (main): Pass NULL indirectly.
34058         * tests/test-getdate.c (main): Remove unused variable 'ret'.
34059
34060 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
34061
34062         getdate.y: disallow countable dayshifts like "4 yesterday ago"
34063         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
34064         exactly specified dayshifts.
34065         (dayshift): New rule.
34066         (rel): Add dayshift.
34067         (relative_time_table) [tomorrow, yesterday, today, now]:
34068         Use tDAY_SHIFT in place of tDAY_UNIT.
34069         * tests/test-getdate.c: Add tests for now-disallowed countable
34070         dayshifts, e.g., "4 yesterday ago".
34071
34072 2008-09-29  Bruno Haible  <bruno@clisp.org>
34073
34074         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
34075         * tests/test-posix_spawn1.in.sh: Renamed from
34076         tests/test-posix_spawn.in.sh.
34077         * tests/test-posix_spawn2.c: New file.
34078         * tests/test-posix_spawn2.in.sh: New file.
34079         * modules/posix_spawnp-tests (Files): Update.
34080         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
34081
34082 2008-09-29  Bruno Haible  <bruno@clisp.org>
34083
34084         Propagate effects of putenv/setenv/unsetenv to child processes.
34085         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
34086         * lib/pipe.c (create_pipe): Likewise.
34087
34088 2008-09-29  Bruno Haible  <bruno@clisp.org>
34089
34090         Enable use of shell scripts as executables in mingw.
34091         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
34092         run the program as a shell script.
34093         * lib/pipe.c (create_pipe): Likewise.
34094         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
34095         resulting array.
34096
34097 2008-09-29  Eric Blake  <ebb9@byu.net>
34098
34099         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
34100
34101 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
34102
34103         * doc/posix-functions/accept.texi: Update mingw problems.
34104         * doc/posix-functions/bind.texi: Update mingw problems.
34105         * doc/posix-functions/close.texi: Update mingw problems.
34106         * doc/posix-functions/connect.texi: Update mingw problems.
34107         * doc/posix-functions/getpeername.texi: Update mingw problems.
34108         * doc/posix-functions/getsockname.texi: Update mingw problems.
34109         * doc/posix-functions/getsockopt.texi: Update mingw problems.
34110         * doc/posix-functions/ioctl.texi: Update mingw problems.
34111         * doc/posix-functions/listen.texi: Update mingw problems.
34112         * doc/posix-functions/recv.texi: Update mingw problems.
34113         * doc/posix-functions/recvfrom.texi: Update mingw problems.
34114         * doc/posix-functions/select.texi: Update mingw problems.
34115         * doc/posix-functions/send.texi: Update mingw problems.
34116         * doc/posix-functions/sendto.texi: Update mingw problems.
34117         * doc/posix-functions/setsockopt.texi: Update mingw problems.
34118         * doc/posix-functions/socket.texi: Update mingw problems.
34119
34120 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
34121             Bruno Haible  <bruno@clisp.org>
34122
34123         * lib/sys_select.in.h: Include sys/time.h.
34124         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
34125         * modules/sys_select: Depend on sys_time.
34126         * tests/test-sys_select.c: Test that sys/select.h defines struct
34127         timeval fully.
34128
34129 2008-09-29  Bruno Haible  <bruno@clisp.org>
34130
34131         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
34132         * lib/sys_select.in.h: Likewise.
34133
34134 2008-09-29  Bruno Haible  <bruno@clisp.org>
34135
34136         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
34137
34138 2008-09-29  Bruno Haible  <bruno@clisp.org>
34139
34140         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
34141         Set LIBSOCKET instead of augmenting LIBS.
34142         * modules/sockets (Link): New section.
34143         * modules/sockets-tests (test_sockets_LDADD): New variable.
34144         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
34145         * modules/poll-tests (test_poll_LDADD): New variable.
34146         * NEWS: Document the change.
34147
34148 2008-09-29  Bruno Haible  <bruno@clisp.org>
34149
34150         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
34151         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
34152         ARPA_INET_H directly.
34153         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
34154
34155 2008-09-28  Bruno Haible  <bruno@clisp.org>
34156
34157         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
34158         from gl_HEADER_SYS_SOCKET.
34159         (gl_HEADER_SYS_SOCKET): Invoke it.
34160         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
34161
34162 2008-09-28  Bruno Haible  <bruno@clisp.org>
34163
34164         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
34165         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
34166         Needed on OSF/1 4.0.
34167
34168 2008-09-28  Bruno Haible  <bruno@clisp.org>
34169
34170         Override open more carefully.
34171         * lib/open.c (orig_open): New function.
34172         (rpl_open): Use orig_open instead of open.
34173         * lib/fcntl.in.h: Add special invocation convention.
34174         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
34175         (gl_FUNC_OPEN): Invoke it.
34176
34177         Override freopen more carefully.
34178         * lib/freopen.c (orig_freopen): New function.
34179         (rpl_freopen): Use orig_freopen instead of freopen.
34180         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
34181         (gl_FUNC_FREOPEN): Invoke it.
34182
34183         Override fopen more carefully.
34184         * lib/fopen.c (orig_fopen): New function.
34185         (rpl_fopen): Use orig_fopen instead of fopen.
34186         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
34187         (gl_FUNC_FOPEN): Invoke it.
34188         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
34189
34190 2008-09-28  Bruno Haible  <bruno@clisp.org>
34191
34192         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
34193         SIGPIPE.
34194
34195 2008-09-28  Bruno Haible  <bruno@clisp.org>
34196
34197         * tests/test-sigaction.c (handler, main): Disable the check whether
34198         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
34199         glibc systems with LinuxThreads.
34200
34201 2008-09-28  Bruno Haible  <bruno@clisp.org>
34202
34203         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
34204
34205         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
34206         with AIX xlc.
34207         * lib/fcntl.in.h (open): Likewise.
34208         Reported by Rainer Tammer <tammer@tammer.net>.
34209
34210 2008-09-28  Bruno Haible  <bruno@clisp.org>
34211
34212         * modules/posix_spawnp-tests: New file.
34213         * tests/test-posix_spawn.c: New file.
34214         * tests/test-posix_spawn.in.sh: New file.
34215
34216         New module 'posix_spawnp'.
34217         * modules/posix_spawnp: New file.
34218         * lib/spawnp.c: New file, from GNU libc with modifications.
34219         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
34220
34221         New module 'posix_spawn'.
34222         * modules/posix_spawn: New file.
34223         * lib/spawn.c: New file, from GNU libc with modifications.
34224         * doc/posix-functions/posix_spawn.texi: Mention the new module.
34225
34226         New module 'posix_spawnattr_destroy'.
34227         * modules/posix_spawnattr_destroy: New file.
34228         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
34229         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
34230         module.
34231
34232         New module 'posix_spawnattr_setsigmask'.
34233         * modules/posix_spawnattr_setsigmask: New file.
34234         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
34235         modifications.
34236         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
34237         new module.
34238
34239         New module 'posix_spawnattr_getsigmask'.
34240         * modules/posix_spawnattr_getsigmask: New file.
34241         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
34242         modifications.
34243         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
34244         new module.
34245
34246         New module 'posix_spawnattr_setsigdefault'.
34247         * modules/posix_spawnattr_setsigdefault: New file.
34248         * lib/spawnattr_setdefault.c: New file, from GNU libc with
34249         modifications.
34250         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
34251         new module.
34252
34253         New module 'posix_spawnattr_getsigdefault'.
34254         * modules/posix_spawnattr_getsigdefault: New file.
34255         * lib/spawnattr_getdefault.c: New file, from GNU libc with
34256         modifications.
34257         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
34258         new module.
34259
34260         New module 'posix_spawnattr_setschedpolicy'.
34261         * modules/posix_spawnattr_setschedpolicy: New file.
34262         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
34263         modifications.
34264         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
34265         new module.
34266
34267         New module 'posix_spawnattr_getschedpolicy'.
34268         * modules/posix_spawnattr_getschedpolicy: New file.
34269         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
34270         modifications.
34271         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
34272         new module.
34273
34274         New module 'posix_spawnattr_setschedparam'.
34275         * modules/posix_spawnattr_setschedparam: New file.
34276         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
34277         modifications.
34278         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
34279         new module.
34280
34281         New module 'posix_spawnattr_getschedparam'.
34282         * modules/posix_spawnattr_getschedparam: New file.
34283         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
34284         modifications.
34285         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
34286         new module.
34287
34288         New module 'posix_spawnattr_setpgroup'.
34289         * modules/posix_spawnattr_setpgroup: New file.
34290         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
34291         modifications.
34292         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
34293         module.
34294
34295         New module 'posix_spawnattr_getpgroup'.
34296         * modules/posix_spawnattr_getpgroup: New file.
34297         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
34298         modifications.
34299         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
34300         module.
34301
34302         New module 'posix_spawnattr_setflags'.
34303         * modules/posix_spawnattr_setflags: New file.
34304         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
34305         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
34306         module.
34307
34308         New module 'posix_spawnattr_getflags'.
34309         * modules/posix_spawnattr_getflags: New file.
34310         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
34311         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
34312         module.
34313
34314         New module 'posix_spawnattr_init'.
34315         * modules/posix_spawnattr_init: New file.
34316         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
34317         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
34318         module.
34319
34320         New module 'posix_spawn_file_actions_destroy'.
34321         * modules/posix_spawn_file_actions_destroy: New file.
34322         * lib/spawn_faction_destroy.c: New file, from GNU libc with
34323         modifications.
34324         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
34325         the new module.
34326
34327         New module 'posix_spawn_file_actions_addopen'.
34328         * modules/posix_spawn_file_actions_addopen: New file.
34329         * lib/spawn_faction_addopen.c: New file, from GNU libc with
34330         modifications.
34331         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
34332         the new module.
34333
34334         New module 'posix_spawn_file_actions_adddup2'.
34335         * modules/posix_spawn_file_actions_adddup2: New file.
34336         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
34337         modifications.
34338         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
34339         the new module.
34340
34341         New module 'posix_spawn_file_actions_addclose'.
34342         * modules/posix_spawn_file_actions_addclose: New file.
34343         * lib/spawn_faction_addclose.c: New file, from GNU libc with
34344         modifications.
34345         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
34346         the new module.
34347
34348         New module 'posix_spawn_file_actions_init'.
34349         * modules/posix_spawn_file_actions_init: New file.
34350         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
34351         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
34352         new module.
34353
34354         New module 'posix_spawn-internal'.
34355         * modules/posix_spawn-internal: New file.
34356         * lib/spawn_int.h: New file, from GNU libc with modifications.
34357         * lib/spawni.c: New file, from GNU libc with modifications.
34358         * m4/posix_spawn.m4: New file.
34359
34360         New module 'spawn'.
34361         * modules/spawn: New file.
34362         * lib/spawn.in.h: New file, from GNU libc with modifications.
34363         * m4/spawn_h.m4: New file.
34364         * doc/posix-headers/spawn.texi: Mention the new module.
34365
34366 2008-09-28  Bruno Haible  <bruno@clisp.org>
34367
34368         * modules/sched-tests: New file.
34369         * tests/test-sched.c: New file.
34370
34371         New module 'sched'.
34372         * modules/sched: New file.
34373         * lib/sched.in.h: New file.
34374         * m4/sched_h.m4: New file.
34375         * doc/posix-headers/sched.texi: Mention the new module.
34376
34377 2008-09-27  Eric Blake  <ebb9@byu.net>
34378
34379         Fix previous patch, and tweak references to $0.
34380         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
34381         (func_version, func_gnulib_dir): Don't call this program
34382         gnulib-tool.
34383         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
34384         with using $0 in function.
34385         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
34386         (func_fatal_error): Reuse the name the user invoked us with.
34387
34388 2008-09-27  Bruno Haible  <bruno@clisp.org>
34389
34390         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
34391         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
34392         (gl_ICONV_H): Not here.
34393         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
34394         instead of assigning ICONV_H directly.
34395
34396         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
34397         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
34398         WCHAR_H directly.
34399
34400 2008-09-27  Bruno Haible  <bruno@clisp.org>
34401
34402         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
34403         * modules/arpa_inet (Depends-on): Add link-warning.
34404         (Makefile.am): Insert the definition of GL_LINK-WARNING.
34405         * modules/unistd (Makefile.am): Likewise.
34406
34407 2008-09-26  Bruno Haible  <bruno@clisp.org>
34408
34409         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
34410         variables.
34411         (func_version): Essentially copied from gnulib-tool.
34412         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
34413         func_readlink): Copied from gnulib-tool.
34414
34415 2008-09-26  Bruno Haible  <bruno@clisp.org>
34416
34417         * gnulib-tool (func_version): Change directory to $gnulib_dir before
34418         invoking git-version-gen.
34419
34420 2008-09-26  Bruno Haible  <bruno@clisp.org>
34421
34422         * posix-modules: Update to directory names changed on 2008-01-19.
34423         Remove commas in output before splitting into words. No more need to
34424         avoid 'ftruncate' since 2007-02-19.
34425
34426 2008-09-26  Bruno Haible  <bruno@clisp.org>
34427
34428         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
34429
34430 2008-09-26  Bruno Haible  <bruno@clisp.org>
34431
34432         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
34433         * modules/fwriteerror (Depends-on): Add errno.
34434
34435 2008-09-26  Bruno Haible  <bruno@clisp.org>
34436
34437         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
34438         * tests/test-vc-list-files-cvs.sh: Likewise.
34439
34440 2008-09-26  Bruno Haible  <bruno@clisp.org>
34441
34442         * doc/posix-headers/sys_resource.texi: Reorder items.
34443
34444 2008-09-26  Jim Meyering  <meyering@redhat.com>
34445
34446         fts: tweak inode comparison function
34447         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
34448         inode numbers, as documented.
34449
34450         fts: sort dirent entries on inode number before traversing
34451         This avoids a quadratic, seek-related performance penalty when
34452         operating on a directory containing many entries (measurable at 10k;
34453         3.5 hours at 2 million entries with a cold cache) on certain types
34454         of file systems, including ext3 and ext4, but not tmpfs.
34455         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
34456         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
34457         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
34458         (fs_handles_readdir_ordered_dirents_efficiently): New function.
34459         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
34460         (fts_build): Set the stat.st_ino member from D_INO.
34461         If it is likely to be useful, sort dirent entries on inode number.
34462
34463         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
34464         and the struct statfs.f_type member.
34465         * modules/fts (Depends-on): Add d-ino.
34466
34467 2008-09-26  Bruno Haible  <bruno@clisp.org>
34468
34469         * modules/sigpipe-die (Depends-on): Add sigpipe.
34470
34471         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
34472         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
34473         and GNULIB_STDIO_H_SIGPIPE are set.
34474         * lib/stdio-write.c: New file.
34475         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
34476         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
34477         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
34478         REPLACE_STDIO_WRITE_FUNCS.
34479         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
34480         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
34481         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
34482         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
34483         * modules/stdio (Files): Add lib/stdio-write.c.
34484         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
34485         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
34486         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
34487         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
34488         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
34489         REPLACE_FPRINTF_POSIX.
34490         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
34491         REPLACE_PRINTF_POSIX.
34492         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
34493         REPLACE_VFPRINTF_POSIX.
34494         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
34495         REPLACE_VPRINTF_POSIX.
34496         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
34497         SIGPIPE issue.
34498         * doc/posix-functions/fputc.texi: Likewise.
34499         * doc/posix-functions/fputs.texi: Likewise.
34500         * doc/posix-functions/fwrite.texi: Likewise.
34501         * doc/posix-functions/printf.texi: Likewise.
34502         * doc/posix-functions/putc.texi: Likewise.
34503         * doc/posix-functions/putchar.texi: Likewise.
34504         * doc/posix-functions/puts.texi: Likewise.
34505         * doc/posix-functions/vfprintf.texi: Likewise.
34506         * doc/posix-functions/vprintf.texi: Likewise.
34507
34508         * modules/safe-write (Depends-on): Add write.
34509
34510         * modules/sigpipe-tests: New file.
34511         * tests/test-sigpipe.c: New file.
34512         * tests/test-sigpipe.sh: New file.
34513
34514         * modules/write: New file.
34515         * lib/unistd.in.h: Include <sys/types.h>.
34516         (write): New declaration.
34517         * lib/write.c: New file.
34518         * m4/write.m4: New file.
34519         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
34520         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
34521         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
34522         GNULIB_WRITE, REPLACE_WRITE.
34523         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
34524         and the SIGPIPE issue.
34525
34526         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
34527         (raise): New declaration.
34528         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
34529         (ext_signal): New function.
34530         (rpl_raise): New function.
34531         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
34532         GNULIB_SIGNAL_H_SIGPIPE.
34533         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
34534         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
34535
34536         * modules/sigpipe: New file.
34537         * m4/sigpipe.m4: New file.
34538
34539 2008-09-25  Derek Price  <derek@ximbiot.com>
34540             Bruno Haible  <bruno@clisp.org>
34541
34542         * gnulib-tool (func_import): Report all license incompatibilities, not
34543         just the first one.
34544
34545 2008-09-25  Bruno Haible  <bruno@clisp.org>
34546
34547         * gnulib-tool (func_import): When computing the edits, consider not
34548         only the Makefile.ams that exist but also those that will be generated.
34549
34550 2008-09-25  Simon Josefsson  <simon@josefsson.org>
34551
34552         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
34553         fixes gnulib-tool --test warning about duplicate dependency.
34554
34555 2008-09-25  Bruno Haible  <bruno@clisp.org>
34556
34557         * gnulib-tool: Don't ask the user to perform edits in the generated
34558         Makefile.ams.
34559         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
34560         apply to the Makefile.am being generated.
34561         (func_emit_tests_Makefile_am): Execute edits that apply to the
34562         Makefile.am being generated.
34563         (func_import): Setup list of Makefile.am edits before emitting the
34564         Makefile.ams, not at the end.
34565         (func_create_testdir): Update.
34566         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
34567
34568 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34569
34570         * gnulib-tool (func_import): Store the --tests-base option in the
34571         comment in gnulib-cache.m4.
34572
34573 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
34574
34575         * NEWS: Document increased portability that sys_select now provides.
34576
34577         * lib/sys_select.in.h: Install select wrapper.
34578         * lib/sys_socket.in.h: Use more descriptive name when there is no
34579         select wrapper.
34580         * lib/winsock-select.c: New.
34581         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
34582         Require gl_HEADER_SYS_SOCKET.
34583         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
34584         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
34585         * tests/test-sys_select.c: Add functional tests.
34586
34587 2008-09-24  Eric Blake  <ebb9@byu.net>
34588
34589         open, fopen: close fd leak in last patch
34590         * lib/open.c (rpl_open): Close fd before returning error.
34591         * lib/fopen.c (rpl_fopen): Close fd before returning error.
34592         * doc/posix-functions/open.texi (open): Document that Irix also
34593         has the bug.
34594         * doc/posix-functions/fopen.texi (fopen): Likewise.
34595         Reported by Paolo Bonzini.
34596
34597 2008-09-24  Bruno Haible  <bruno@clisp.org>
34598
34599         Ensure that a filename ending in a slash cannot be used to access a
34600         non-directory.
34601         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
34602         to check whether it's really a directory.
34603         * lib/fopen.c: Include fcntl.h, unistd.h.
34604         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
34605         and fdopen().
34606         * modules/fopen (Depends-on): Add unistd.
34607         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
34608         * tests/test-fopen.c (main): Likewise.
34609         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
34610         * doc/posix-functions/fopen.texi: Likewise.
34611         Reported by Eric Blake.
34612
34613 2008-09-23  Eric Blake  <ebb9@byu.net>
34614
34615         c-stack: avoid compiler optimizations when provoking overflow
34616         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
34617         recursion harder to optimize, to ensure a stack overflow occurs.
34618         * tests/test-c-stack.c (recurse): Likewise.
34619         Borrowed from libsigsegv.
34620
34621         c-stack: work around Irix sigaltstack bug
34622         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
34623         whether sigaltstack uses wrong end of stack_t (copied in part from
34624         libsigsegv).
34625         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
34626         Irix bug, without requiring an over-allocation.
34627         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
34628         bug.
34629
34630         fopen: document mingw bug on directories
34631         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
34632         not allowing a stream visiting a directory, even though reading
34633         from such a stream is not portable.
34634
34635 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
34636
34637         * lib/poll.c: Rewrite.
34638         * modules/poll: Depend on alloca.
34639
34640 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
34641
34642         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
34643         instead define prototypes for a full set of wrappers.  Ensure
34644         that Cygwin does not use the compatibility code, which is only
34645         for MinGW.
34646         * lib/winsock.c: New.
34647         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
34648         * modules/sys_socket: Add lib/winsock.c.
34649
34650         * modules/poll-tests: Add errno and perror.
34651         * tests/test-poll.c: Use ioctl, not ioctlsocket.
34652
34653 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
34654
34655         * tests/test-poll.c: Downgrade minimum needed Winsock version.
34656
34657 2008-09-23  Bruno Haible  <bruno@clisp.org>
34658
34659         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
34660         * doc/glibc-functions/*: Likewise.
34661
34662 2008-09-23  Simon Josefsson  <simon@josefsson.org>
34663
34664         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
34665         success.
34666
34667 2008-09-22  Eric Blake  <ebb9@byu.net>
34668             Bruno Haible  <bruno@clisp.org>
34669
34670         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
34671         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
34672         supply %A but mishandle pseudo-NaN.
34673         Reported by Simon Josefsson.
34674
34675 2008-09-21  Bruno Haible  <bruno@clisp.org>
34676
34677         * tests/test-lock.c (main): Tweak skip message.
34678         * tests/test-tls.c (main): Likewise.
34679
34680 2008-09-21  Bruno Haible  <bruno@clisp.org>
34681
34682         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
34683         whether 'struct sigaction' has sa_sigaction here...
34684         (gl_PREREQ_SIG_HANDLER_H): ... not here.
34685         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
34686
34687 2008-09-21  Bruno Haible  <bruno@clisp.org>
34688
34689         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
34690         section.
34691         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
34692         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
34693         the new section.
34694         (Support for obsolete systems lacking POSIX:2001): New section.
34695         (String handling <string.h>): Move strdup to the new section.
34696         Suggested by Simon Josefsson and Paolo Bonzini.
34697
34698 2008-09-21  Bruno Haible  <bruno@clisp.org>
34699
34700         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
34701         exponents in %e and %g results on 'long double'. Needed for mingw's
34702         improved *printf functions.
34703         * tests/test-vasprintf-posix.c (test_function): Likewise.
34704         * tests/test-snprintf-posix.h (test_function): Likewise.
34705         * tests/test-sprintf-posix.h (test_function): Likewise.
34706         Reported by Eric Blake.
34707
34708 2008-09-21  Bruno Haible  <bruno@clisp.org>
34709
34710         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
34711         * tests/test-sprintf-posix.h (test_function): Likewise.
34712
34713 2008-09-21  Bruno Haible  <bruno@clisp.org>
34714
34715         * modules/getpass (Depends-on): Add strdup-posix.
34716
34717         New module 'strdup-posix'.
34718         * modules/strdup-posix: New file.
34719         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
34720         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
34721         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
34722         REPLACE_STRDUP.
34723         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
34724         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
34725         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
34726         strdup-posix.
34727
34728         * modules/strdup (Depends-on): Remove malloc-posix.
34729
34730 2008-09-20  Bruno Haible  <bruno@clisp.org>
34731
34732         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
34733         Wildenhues.
34734
34735 2008-09-20  Bruno Haible  <bruno@clisp.org>
34736
34737         Ensure that wint_t gets defined on IRIX 5.3.
34738         * lib/wchar.in.h (wint_t): Define if not defined by the system.
34739         * lib/wctype.in.h (wint_t): Likewise.
34740         (__wctype_wint_t): Remove type.
34741         (isw*): Use wint_t instead of __wctype_wint_t.
34742         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
34743         * modules/wchar (Files): Add m4/wint_t.m4.
34744         (Makefile.am): Substitute HAVE_WINT_T.
34745         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
34746         * tests/test-wctype.c: Check that wint_t is defined.
34747         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
34748         * doc/posix-headers/wctype.texi: Likewise.
34749         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34750
34751 2008-09-18  Bruno Haible  <bruno@clisp.org>
34752
34753         * gnulib-tool (func_exit): Update comment.
34754
34755 2008-09-18  Simon Josefsson  <simon@josefsson.org>
34756
34757         * modules/getaddrinfo (Depends-on): Remove strdup, this module
34758         assumes strdup exists and does not depend on strdup to return
34759         ENOMEM on out of memory conditions.
34760
34761 2008-09-18  Bruno Haible  <bruno@clisp.org>
34762
34763         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
34764         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
34765         digits for the exponent.
34766
34767 2008-09-18  Jim Meyering  <meyering@redhat.com>
34768             Bruno Haible  <bruno@clisp.org>
34769
34770         * lib/vasnprintf.c (decimal_point_char): Define also if
34771         NEED_PRINTF_INFINITE_LONG_DOUBLE.
34772
34773 2008-09-16  Bruno Haible  <bruno@clisp.org>
34774         and Eric Blake  <ebb9@byu.net>
34775
34776         vasnprintf: support Irix 5.3
34777         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
34778         that mishandle long double infinity.
34779         Reported by Tom G. Christensen.
34780
34781 2008-09-16  Bruno Haible  <bruno@clisp.org>
34782
34783         * doc/glibc-functions/scandir.texi: Mention the function is missing on
34784         Solaris 9.
34785         * doc/glibc-functions/alphasort.texi: Likewise.
34786         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
34787
34788 2008-09-16  Jim Meyering  <meyering@redhat.com>
34789
34790         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
34791         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
34792         a umask modification leak out of a subshell.  Otherwise, the
34793         opensolaris /bin/sh would be accepted and thus cause unwarranted
34794         failures in the coreutils test suite.
34795
34796 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
34797
34798         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
34799         to succeed.
34800
34801 2008-09-16  Jim Meyering  <meyering@redhat.com>
34802
34803         avoid spurious test failure when library is built without ACL support
34804         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
34805         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
34806         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
34807         * tests/test-copy-acl.sh: Likewise.
34808
34809 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34810
34811         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
34812         based on character occurrence counts.
34813
34814 2008-09-15  Eric Blake  <ebb9@byu.net>
34815
34816         tests: avoid some compiler warnings
34817         * tests/test-memchr.c (main): Pass NULL indirectly.
34818         * tests/test-closein.c (main): Avoid unused variable.
34819
34820 2008-09-15  Bruno Haible  <bruno@clisp.org>
34821
34822         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
34823         are missing on OpenBSD 4.0 individually.
34824         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
34825
34826 2008-09-15  Bruno Haible  <bruno@clisp.org>
34827
34828         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
34829         * doc/posix-functions/strerror.texi: Mention also Cygwin.
34830         * doc/posix-functions/perror.texi: Likewise.
34831         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
34832         is missing.
34833         Reported by Eric Blake.
34834
34835         * lib/errno.in.h: Use replacement values >= 2000.
34836         Reported by Eric Blake.
34837
34838 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34839
34840         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
34841         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
34842         limit.
34843         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
34844         compareseq was aborted.
34845
34846 2008-09-14  Bruno Haible  <bruno@clisp.org>
34847
34848         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
34849         yvec_edit_count.
34850         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
34851         (fstrcmp_bounded): Simplify result computation accordingly.
34852
34853 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34854
34855         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
34856         (fstrcmp): Define in terms of fstrcmp_bounded.
34857         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
34858         lower_bound argument.
34859         Return quickly if the result is certainly < lower_bound.
34860         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
34861
34862 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34863
34864         * lib/diffseq.h (EARLY_ABORT): New macro.
34865         (compareseq): Change return type to bool. Return true when EARLY_ABORT
34866         evaluates to true.
34867
34868 2008-09-14  Bruno Haible  <bruno@clisp.org>
34869
34870         * modules/perror-tests: New file.
34871         * tests/test-perror.sh: New file.
34872         * tests/test-perror.c: New file.
34873
34874         New module 'perror'.
34875         * lib/stdio.in.h (perror): New declaration.
34876         * lib/perror.c: New file.
34877         * m4/perror.m4: New file.
34878         * modules/perror: New file.
34879         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
34880         * doc/posix-functions/perror.texi: Mention the perror module.
34881         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
34882         REPLACE_PERROR.
34883         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
34884         REPLACE_PERROR.
34885
34886 2008-09-14  Bruno Haible  <bruno@clisp.org>
34887
34888         * modules/stdio (Makefile.am): Reorder to match the order in
34889         lib/stdio.in.h.
34890         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
34891
34892 2008-09-13  Bruno Haible  <bruno@clisp.org>
34893
34894         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
34895
34896 2008-09-13  Bruno Haible  <bruno@clisp.org>
34897
34898         Extend strerror to cover the added errno values.
34899         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
34900         (rpl_strerror): Provide error messages for the added errno values and
34901         for the WSA* values.
34902         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
34903         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
34904         strerror.
34905         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
34906         * modules/strerror (Depends-on): Add errno.
34907         * doc/posix-functions/strerror.texi: Document the change.
34908         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
34909         and EOVERFLOW.
34910
34911 2008-09-13  Bruno Haible  <bruno@clisp.org>
34912
34913         * modules/EOVERFLOW: Remove file.
34914         * m4/eoverflow.m4: Remove file.
34915         * modules/EOVERFLOW-tests: Remove file.
34916         * tests/test-EOVERFLOW.c: Remove file.
34917         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
34918         * modules/ftell (Depends-on): Likewise.
34919         * modules/getdelim (Depends-on): Likewise.
34920         * modules/getugroups (Depends-on): Likewise.
34921         * modules/poll (Depends-on): Likewise.
34922         * modules/snprintf (Depends-on): Likewise.
34923         * modules/sprintf-posix (Depends-on): Likewise.
34924         * modules/vasnprintf (Depends-on): Likewise.
34925         * modules/vasprintf (Depends-on): Likewise.
34926         * modules/vfprintf-posix (Depends-on): Likewise.
34927         * modules/vsnprintf (Depends-on): Likewise.
34928         * modules/vsprintf-posix (Depends-on): Likewise.
34929         * modules/xvasprintf (Depends-on): Likewise.
34930         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
34931         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
34932         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
34933         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
34934         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
34935         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
34936         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
34937         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
34938         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
34939         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
34940         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
34941         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
34942         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
34943         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
34944         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
34945         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
34946         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
34947         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
34948         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
34949         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
34950         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
34951         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
34952         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
34953         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
34954         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
34955         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
34956         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
34957         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
34958         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
34959         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
34960         * MODULES.html.sh: Remove EOVERFLOW.
34961         * NEWS: Mention the change.
34962
34963 2008-09-13  Bruno Haible  <bruno@clisp.org>
34964
34965         * modules/errno-tests: New file.
34966         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
34967
34968         * lib/errno.in.h: New file.
34969         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
34970         * modules/errno: New file.
34971         * doc/posix-headers/errno.texi: Update documentation.
34972         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
34973
34974 2008-09-13  Bruno Haible  <bruno@clisp.org>
34975
34976         * tests/test-poll.c: Use #if for native Windows, rather than testing
34977         __MSVCRT__.
34978
34979 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34980             Bruno Haible  <bruno@clisp.org>
34981
34982         * lib/glob.c: Don't include <pwd.h> on native Windows.
34983         (WINDOWS32): New macro.
34984         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
34985
34986 2008-09-13  Bruno Haible  <bruno@clisp.org>
34987
34988         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
34989         (ETIMEDOUT): Remove macro.
34990         (glthread_cond_timedwait_multithreaded): New declaration.
34991         (glthread_cond_timedwait): Use it.
34992         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
34993         (glthread_cond_timedwait_multithreaded): New function.
34994
34995 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
34996
34997         * modules/poll-tests: Do not check for io.h.
34998         * tests/test-poll.c: Check for __MSVCRT__ instead.
34999
35000 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
35001
35002         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
35003         * modules/poll-tests: Add inet_pton, stdbool, sockets.
35004         * tests/test-poll.c: Use them.  Use _pipe on Windows.
35005
35006 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
35007
35008         * modules/poll-tests: New.
35009         * tests/test-poll.c: New.
35010
35011 2008-09-12  Eric Blake  <ebb9@byu.net>
35012
35013         frexp: test for NetBSD failure on -0.0
35014         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
35015         not all, bugs from NetBSD 3.0 have been fixed.
35016         * doc/posix-functions/frexp.texi (frexp): Document bug.
35017         Reported by Thomas Klausner.
35018
35019         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
35020         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
35021         literal -0.0.
35022         Reported by Jonathan C. Patschke <jp@centtech.com>.
35023
35024 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35025
35026         * lib/glthread/cond.h: Use dummy implementation also if
35027         USE_WIN32_THREADS.
35028
35029 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35030
35031         * modules/fnmatch-posix (License): Change to LGPLv2+.
35032         * modules/fnmatch-gnu (License): Likewise.
35033
35034 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35035
35036         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
35037
35038 2008-09-11  Jim Meyering  <meyering@redhat.com>
35039
35040         * users.txt: Add gtk-vnc.
35041
35042 2008-09-08  Simon Josefsson  <simon@josefsson.org>
35043
35044         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
35045         rotate amounts.
35046
35047         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
35048         required for 16-bit and 8-bit rotates.
35049         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
35050         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
35051         UINT8_MAX instead of hard-coded constants.
35052         Suggested by Paul Eggert.
35053
35054 2008-09-07  Bruno Haible  <bruno@clisp.org>
35055
35056         * tests/test-striconveh.c (main): Check behaviour when converting from
35057         UTF-7.
35058
35059         Make striconveh work better with stateful encodings.
35060         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
35061         that iconv does not increment the inptr when returning -1/EINVAL.
35062
35063 2008-09-07  Bruno Haible  <bruno@clisp.org>
35064
35065         * build-aux/config.rpath: Update according to libtool-2.2.6.
35066         * build-aux/config.libpath: Likewise.
35067
35068 2008-09-06  Bruno Haible  <bruno@clisp.org>
35069
35070         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
35071         * lib/freadptr.c (freadptr): Likewise.
35072         * lib/freadseek.c (freadptrinc): Likewise.
35073         Reported by Simon Josefsson.
35074
35075 2008-09-06  Bruno Haible  <bruno@clisp.org>
35076
35077         * modules/freadptr (License): Change to LGPLv2+.
35078         * modules/freadseek (License): Likewise.
35079         Suggested by Eric Blake.
35080
35081         * modules/memchr2 (License): Change to LGPLv2+.
35082         Approved by Eric Blake.
35083
35084 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35085             Bruno Haible  <bruno@clisp.org>
35086
35087         Make gnulib-tool work with native 'sed' on AIX.
35088         * gnulib-tool (sed_noop): New variable.
35089         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
35090         func_add_or_update, func_create_testdir): Use it to initialize sed
35091         script variables.
35092         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
35093
35094 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
35095             Bruno Haible  <bruno@clisp.org>
35096
35097         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
35098         also works after #include directives.
35099
35100 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
35101
35102         getdate.y: reject an out-of-range timezone value
35103         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
35104         the range [-24...+24].  When specified with only one or two digits,
35105         * tests/test-getdate.c: Tests for the fix.
35106         * doc/getdate.texi: Document this change.
35107
35108 2008-09-03  Bruno Haible  <bruno@clisp.org>
35109
35110         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
35111
35112 2008-09-02  Simon Josefsson  <simon@josefsson.org>
35113
35114         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
35115         <bruce.korb@gmail.com> with ideas from Ben Pfaff
35116         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
35117         Blake <ebb9@byu.net>.
35118
35119         * tests/test-bitrotate.c: Add more test vectors.
35120
35121 2008-09-02  Eric Blake  <ebb9@byu.net>
35122
35123         vasnprintf-posix: handle large precision via %.*d
35124         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
35125         when handling it ourselves.
35126         * tests/test-vasnprintf-posix.c (test_function): Add test.
35127         * tests/test-snprintf-posix.h (test_function): Likewise.
35128         * tests/test-sprintf-posix.h (test_function): Likewise.
35129         * tests/test-vasprintf-posix.c (test_function): Likewise.
35130         Reported by Alain Guibert.
35131
35132 2008-09-01  Eric Blake  <ebb9@byu.net>
35133
35134         c-stack: make configure-time check more robust
35135         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
35136         successful sigaction call.
35137         Reported by Tom G. Christensen.
35138
35139 2008-09-01  Bruno Haible  <bruno@clisp.org>
35140
35141         New module 'findprog-lgpl'.
35142         * modules/findprog-lgpl: New file.
35143         * lib/findprog-lgpl.c: New file.
35144         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
35145         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
35146         to decide whether to use strdup or xstrdup, concatenated_filename or
35147         xconcatenated_filename.
35148
35149 2008-09-01  Bruno Haible  <bruno@clisp.org>
35150
35151         Split module 'concat-filename' into 'concat-filename' (LGPL) and
35152         'xconcat-filename' (GPL).
35153         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
35154         (License): Change to LGPLv2+.
35155         * modules/xconcat-filename: New file.
35156         * lib/concat-filename.h (concatenated_filename): Change specification.
35157         (xconcatenated_filename): New declaration.
35158         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
35159         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
35160         memory situations.
35161         * lib/xconcat-filename.c: New file.
35162         * NEWS: Mention the change.
35163         * lib/findprog.c: Include concat-filename.h, not filename.h.
35164         (find_in_path): Use xconcatenated_filename instead of
35165         concatenated_filename.
35166         * lib/javacomp.c: Include concat-filename.h, not filename.h.
35167         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
35168         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
35169         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
35170         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
35171         instead of concatenated_filename.
35172         * lib/javaexec.c: Include concat-filename.h, not filename.h.
35173         (execute_java_class): Use xconcatenated_filename instead of
35174         concatenated_filename.
35175         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
35176         * modules/javacomp (Depends-on): Likewise.
35177         * modules/javaexec (Depends-on): Likewise.
35178
35179 2008-09-01  Bruno Haible  <bruno@clisp.org>
35180
35181         Split module 'filename' into 'filename' and 'concat-filename'.
35182         * modules/filename: Keep only lib/filename.h.
35183         (License): Change to LGPLv2+.
35184         * modules/concat-filename: New file, extracted from modules/filename.
35185         * lib/filename.h (concatenated_filename): Remove declaration.
35186         * lib/concat-filename.h: New file, extracted from lib/filename.h.
35187         * lib/concat-filename.c: Include concat-filename.h.
35188         * NEWS: Mention the change.
35189
35190 2008-09-01  Simon Josefsson  <simon@josefsson.org>
35191
35192         * lib/bitrotate.h (rotl8, rotr8): Add.
35193
35194         * modules/bitrotate (configure.ac): Need
35195         AC_REQUIRE([AC_C_INLINE]).
35196         (Description): Mention stdint.h.  Reported by Bruno Haible
35197         <bruno@clisp.org>.
35198
35199         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
35200         Paolo Bonzini <bonzini@gnu.org>.
35201
35202 2008-08-31  Bruno Haible  <bruno@clisp.org>
35203
35204         Assume Solaris specific bi-arch conventions on Solaris systems.
35205         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
35206         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
35207         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
35208         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
35209         like acl_libdirstem.
35210         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
35211         acl_libdirstem.
35212         * NEWS: Mention the change.
35213         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
35214
35215 2008-08-31  Jim Meyering  <meyering@redhat.com>
35216
35217         * lib/strftime.h: Add comments describing the two added arguments.
35218
35219         remove duplicate #include directives
35220         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
35221         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
35222
35223 2008-08-31  Bruno Haible  <bruno@clisp.org>
35224
35225         New module 'sigpipe-die'.
35226         * modules/sigpipe-die: New file.
35227         * lib/sigpipe-die.h: New file.
35228         * lib/sigpipe-die.c: New file.
35229         * MODULES.html.sh (Signal handling): Add sigpipe-die.
35230
35231 2008-08-31  Bruno Haible  <bruno@clisp.org>
35232
35233         Don't override previously installed signal handlers.
35234         * lib/fatal-signal.c (saved_sigactions): New variable.
35235         (uninstall_handlers): Reset the signal to the saved handler, not
35236         to SIG_DFL (except when ignored).
35237         (install_handlers): Save the previous handlers.
35238
35239 2008-08-30  Bruno Haible  <bruno@clisp.org>
35240
35241         * gnulib-tool (func_reset_sigpipe): New function.
35242         (func_get_automake_snippet, func_modules_transitive_closure,
35243         func_import): Invoke it before a join command that reads from stdin,
35244         to avoid "echo: write error: Broken pipe" error messages on stderr.
35245         Reported by Sam Steingold <sds@gnu.org>.
35246
35247 2008-08-30  Bruno Haible  <bruno@clisp.org>
35248
35249         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
35250         Code copied from m4/open.m4.
35251         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
35252         access and the filename ends in a slash. Code copied from lib/open.c.
35253         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
35254         * tests/test-fopen.c (main): Check against bug with trailing slash.
35255
35256 2008-08-29  Bruno Haible  <bruno@clisp.org>
35257
35258         Avoid some "gcc -pedantic" warnings.
35259         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
35260         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
35261         * lib/dirent.in.h: Likewise.
35262         * lib/fcntl.in.h: Likewise.
35263         * lib/float.in.h: Likewise.
35264         * lib/iconv.in.h: Likewise.
35265         * lib/inttypes.in.h: Likewise.
35266         * lib/locale.in.h: Likewise.
35267         * lib/math.in.h: Likewise.
35268         * lib/netinet_in.in.h: Likewise.
35269         * lib/search.in.h: Likewise.
35270         * lib/signal.in.h: Likewise.
35271         * lib/stdarg.in.h: Likewise.
35272         * lib/stdint.in.h: Likewise.
35273         * lib/stdio.in.h: Likewise.
35274         * lib/stdlib.in.h: Likewise.
35275         * lib/string.in.h: Likewise.
35276         * lib/strings.in.h: Likewise.
35277         * lib/sys_select.in.h: Likewise.
35278         * lib/sys_socket.in.h: Likewise.
35279         * lib/sys_stat.in.h: Likewise.
35280         * lib/sys_time.in.h: Likewise.
35281         * lib/sysexits.in.h: Likewise.
35282         * lib/time.in.h: Likewise.
35283         * lib/unistd.in.h: Likewise.
35284         * lib/wchar.in.h: Likewise.
35285         * lib/wctype.in.h: Likewise.
35286         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
35287         * modules/fchdir (Makefile.am): Likewise.
35288         * modules/fcntl (Makefile.am): Likewise.
35289         * modules/float (Makefile.am): Likewise.
35290         * modules/iconv_open (Makefile.am): Likewise.
35291         * modules/inttypes (Makefile.am): Likewise.
35292         * modules/locale (Makefile.am): Likewise.
35293         * modules/math (Makefile.am): Likewise.
35294         * modules/netinet_in (Makefile.am): Likewise.
35295         * modules/search (Makefile.am): Likewise.
35296         * modules/signal (Makefile.am): Likewise.
35297         * modules/stdarg (Makefile.am): Likewise.
35298         * modules/stdint (Makefile.am): Likewise.
35299         * modules/stdio (Makefile.am): Likewise.
35300         * modules/stdlib (Makefile.am): Likewise.
35301         * modules/string (Makefile.am): Likewise.
35302         * modules/strings (Makefile.am): Likewise.
35303         * modules/sys_select (Makefile.am): Likewise.
35304         * modules/sys_socket (Makefile.am): Likewise.
35305         * modules/sys_stat (Makefile.am): Likewise.
35306         * modules/sys_time (Makefile.am): Likewise.
35307         * modules/sysexits (Makefile.am): Likewise.
35308         * modules/time (Makefile.am): Likewise.
35309         * modules/unistd (Makefile.am): Likewise.
35310         * modules/wchar (Makefile.am): Likewise.
35311         * modules/wctype (Makefile.am): Likewise.
35312         Reported by Reuben Thomas <rrt@sc3d.org>.
35313
35314 2008-08-29  Bruno Haible  <bruno@clisp.org>
35315
35316         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
35317         any more.
35318
35319 2008-08-29  Simon Josefsson  <simon@josefsson.org>
35320
35321         * MODULES.html.sh (Misc): Add bitrotate.
35322
35323         * modules/bitrotate: New file.
35324
35325         * lib/bitrotate.h: New file.
35326
35327         * modules/bitrotate-tests: New file.
35328
35329         * tests/test-bitrotate.c: New file.
35330
35331         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
35332         on the bitrotate module.
35333
35334         * lib/arctwo.c: Use new bitrotate module.
35335
35336 2008-08-29  Jim Meyering  <meyering@redhat.com>
35337
35338         bootstrap: merge changes from coreutils
35339         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
35340         of copied files.  Remove a kludge, now that this is fixed.
35341         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
35342         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
35343         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
35344
35345 2008-08-29  Bruno Haible  <bruno@clisp.org>
35346
35347         * MODULES.html.sh: Remove --cvs-urls option.
35348
35349 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
35350
35351         maint.mk: adjust to file name change
35352         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
35353
35354 2008-08-28  Jim Meyering  <meyering@redhat.com>
35355
35356         * modules/getndelim2 (License): Relicense to LGPLv2+.
35357         Approved by Richard Stallman for the version of 1995, and by
35358         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
35359
35360 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
35361
35362         * lib/getdelim.c (flockfile, funlockfile): Make all of them
35363         dummy if one is not available.  Do not touch them if
35364         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
35365         (getc_maybe_unlocked): New.
35366         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
35367
35368 2008-08-26  Eric Blake  <ebb9@byu.net>
35369
35370         doc/INSTALL: resync from autoconf
35371         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
35372         (INSTALL_PRELUDE): Delete; this is done more efficiently by
35373         moving...
35374         * install.texi [!autoconf]: ...here.  Resync from autoconf.
35375         * INSTALL: Regenerate.
35376         * INSTALL.ISO: New file.
35377         * INSTALL.UTF-8: Likewise.
35378
35379 2008-08-26  Jim Meyering  <meyering@redhat.com>
35380
35381         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
35382         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
35383         these definitions conditional, so that they may be overridden, too.
35384
35385 2008-08-26  Bruno Haible  <bruno@clisp.org>
35386
35387         Generate INSTALL file variants with prettier quotes.
35388         * doc/Makefile (INSTALL_PRELUDE): New macro.
35389         (INSTALL): Use it.
35390         (INSTALL.ISO, INSTALL.UTF-8): New rules.
35391
35392 2008-08-26  Bruno Haible  <bruno@clisp.org>
35393
35394         Run makeinfo in an English locale.
35395         * doc/Makefile (MAKEINFO): New variable.
35396
35397 2008-08-26  Bruno Haible  <bruno@clisp.org>
35398
35399         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
35400         Suggested by Eric Blake.
35401
35402 2008-08-25  Bruno Haible  <bruno@clisp.org>
35403
35404         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
35405
35406 2008-08-25  Eric Blake  <ebb9@byu.net>
35407
35408         c-stack: test that stack overflow can be caught
35409         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
35410         that platform allows handling stack overflow; at least OS/2 EMX
35411         has sigaltstack, but crashes before transferring control to
35412         handler on stack overflow.
35413         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
35414         check for HAVE_STACK_OVERFLOW_HANDLING.
35415         Reported by Elbert Pol.
35416
35417 2008-08-25  Bruno Haible  <bruno@clisp.org>
35418
35419         * doc/posix-functions/strftime.texi: Fix description of strftime
35420         module.
35421
35422 2008-08-24  Bruno Haible  <bruno@clisp.org>
35423
35424         * tests/uniwidth/test-uc_width2.c: New file.
35425         * tests/uniwidth/test-uc_width2.sh: New file.
35426         * modules/uniwidth/width-tests (Files): Add the new files.
35427         (TESTS): Add uniwidth/test-uc_width2.sh.
35428         (TESTS_ENVIRONMENT): New variable.
35429         (check_PROGRAMS): Add test-uc_width2.
35430         (test_uc_width2_SOURCES): New variable.
35431
35432         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
35433         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
35434         not 0x00AB.
35435         Reported by Alexander V. Lukyanov <lav@netis.ru>.
35436
35437 2008-08-22  Eric Blake  <ebb9@byu.net>
35438
35439         test-lock, test-tls: mention why a test is skipped
35440         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
35441         skipped.
35442         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
35443
35444         count-one-bits: relax license
35445         * modules/count-one-bits (License): Relicense to LGPLv2+.
35446         Suggested by Ludovic Courtès, approved by Ben Pfaff.
35447
35448 2008-08-22  Andreas Schwab  <schwab@suse.de>
35449
35450         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
35451         Remove spurious space in assignment.
35452
35453 2008-08-21  Simon Josefsson  <simon@josefsson.org>
35454
35455         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
35456         Paul Eggert <eggert@CS.UCLA.EDU>.
35457
35458 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
35459
35460         * modules/gettext: Add m4/threadlib.m4.
35461
35462 2008-08-19  Eric Blake  <ebb9@byu.net>
35463
35464         test-c-stack: fix compilation failure on FreeBSD 5.0
35465         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
35466         headers before <sys/resource.h>.
35467         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
35468         the bug.
35469         Reported by Nelson H. F. Beebe.
35470
35471         strverscmp: migrate from "strverscmp.h" to <string.h>
35472         * modules/string (Makefile.am): Add new hooks.
35473         * modules/strverscmp (Files): Remove strverscmp.h.
35474         (Depends-on): Add string.
35475         (configure.ac): Add indicator.
35476         (Include): Mention new header.
35477         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
35478         defaults.
35479         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
35480         results.
35481         * lib/strverscmp.h: Delete.
35482         * lib/string.in.h (strverscmp): Provide declaration, when needed.
35483         * tests/test-strverscmp.c (includes): Adjust client.
35484         * lib/check-version.c (includes): Likewise.
35485         * NEWS: Document the change.
35486
35487         strverscmp: add unit test
35488         * modules/strverscmp-tests: New file.
35489         * tests/test-strverscmp.c: Likewise.
35490
35491 2008-08-19  Simon Josefsson  <simon@josefsson.org>
35492
35493         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
35494         regarding Windows crypto stuff, from Mono.
35495
35496 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
35497
35498         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
35499         if present, for intel RND.  Return error on failures.
35500
35501 2008-08-18  Ben Pfaff  <blp@gnu.org>
35502
35503         gitlog-to-changelog: give better diagnostic for failed pipe-open
35504         * build-aux/gitlog-to-changelog: Improve error message: suggest
35505         that the version of Git may be too old.
35506
35507 2008-08-18  Simon Josefsson  <simon@josefsson.org>
35508
35509         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
35510         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
35511
35512 2008-08-18  Bruno Haible  <bruno@clisp.org>
35513
35514         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
35515         pthread_in_use().
35516
35517 2008-08-18  Bruno Haible  <bruno@clisp.org>
35518
35519         * lib/glthread/threadlib.c: Include <pthread.h>.
35520
35521 2008-08-18  Bruno Haible  <bruno@clisp.org>
35522
35523         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
35524         glthread_recursive_lock_* macros.
35525         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
35526         Fix syntax error.
35527
35528 2008-08-18  Bruno Haible  <bruno@clisp.org>
35529
35530         * lib/glthread/thread.c: Avoid forcing a context switch right after
35531         thread creation.
35532
35533 2008-08-17  Bruno Haible  <bruno@clisp.org>
35534
35535         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
35536         * lib/glthread/thread.h: Provide Win32 specific implementation.
35537         * modules/thread (Files): Add lib/glthread/thread.c.
35538         (Depends-on): Add lock.
35539         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
35540
35541 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35542
35543         New module 'yield'.
35544         * modules/yield: New file.
35545         * lib/glthread/yield.h: New file.
35546         * m4/yield.m4: New file.
35547         * MODULES.html.sh (Multithreading): Add yield.
35548
35549 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35550
35551         New module 'thread'.
35552         * modules/thread: New file.
35553         * lib/glthread/thread.h: New file.
35554         * m4/thread.m4: New file.
35555         * MODULES.html.sh (Multithreading): Add thread.
35556
35557 2008-08-17  Bruno Haible  <bruno@clisp.org>
35558
35559         * lib/glthread/lock.h: Include <stdlib.h> always.
35560         * lib/glthread/tls.h: Likewise.
35561         * lib/glthread/cond.h: Likewise.
35562
35563 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35564
35565         New module 'cond'.
35566         * modules/cond: New file.
35567         * lib/glthread/cond.h: New file.
35568         * lib/glthread/cond.c: New file.
35569         * m4/cond.m4: New file.
35570         * MODULES.html.sh (Multithreading): Add cond.
35571
35572 2008-08-16  Eric Blake  <ebb9@byu.net>
35573
35574         c-stack: fix regression on Irix 5.3 from 2008-06-21
35575         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
35576         sa_sigaction...
35577         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
35578         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
35579         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
35580         * modules/signal (Makefile.am): Use the value.
35581         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
35582         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
35583         * doc/posix-headers/signal.texi (signal.h): Document this
35584         portability issue.
35585         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
35586         Reported by Tom G. Christensen.
35587
35588 2008-08-17  Bruno Haible  <bruno@clisp.org>
35589
35590         New module 'threadlib'.
35591         * modules/threadlib: New file.
35592         * lib/glthread/threadlib.c: New file, extracted from
35593         lib/glthread/lock.c.
35594         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
35595         functions.
35596         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
35597         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
35598         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
35599         macros.
35600         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
35601         (gl_DISABLE_THREADS): Remove macro.
35602         * modules/lock (Files): Remove build-aux/config.rpath.
35603         (Depends-on): Remove havelib. Add threadlib.
35604         (configure.ac-early): Remove section.
35605         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
35606         * modules/tls (Depends-on): Remove lock. Add threadlib.
35607         (Link): New section, copied from threadlib.
35608         * MODULES.html.sh (Multithreading): Add threadlib.
35609
35610 2008-08-14  Bruno Haible  <bruno@clisp.org>
35611
35612         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
35613         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
35614         glthread_rwlock_unlock, glthread_rwlock_destroy,
35615         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
35616         glthread_recursive_lock_destroy): Define as macros always.
35617         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
35618         glthread_lock_lock.
35619         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
35620         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
35621         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
35622         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
35623         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
35624         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
35625         (glthread_recursive_lock_lock_func): Renamed from
35626         glthread_recursive_lock_lock.
35627         (glthread_recursive_lock_unlock_func): Renamed from
35628         glthread_recursive_lock_unlock.
35629         (glthread_recursive_lock_destroy_func): Renamed from
35630         glthread_recursive_lock_destroy.
35631
35632 2008-08-14  Bruno Haible  <bruno@clisp.org>
35633
35634         * lib/glthread/lock.h: Renamed from lib/lock.h.
35635         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
35636         * lib/glthread/tls.h: Renamed from lib/tls.h.
35637         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
35638         * lib/fstrcmp.c: Update includes.
35639         * lib/strsignal.c: Update includes.
35640         * modules/lock (Files, Makefile.am): Update.
35641         (Include): Change to "glthread/lock.h".
35642         * modules/tls (Files, Makefile.am): Update.
35643         (Include): Change to "glthread/tls.h".
35644         * tests/test-lock.c: Update includes.
35645         * tests/test-tls.c: Update includes.
35646         * NEWS: Mention the renamed header files.
35647
35648 2008-08-11  Jim Meyering  <meyering@redhat.com>
35649
35650         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
35651
35652 2008-08-11  Eric Blake  <ebb9@byu.net>
35653
35654         test-c-stack: avoid C99-ism
35655         * tests/test-c-stack.c (main): Fix whitespace, move declaration
35656         before statement.
35657         Reported by Alain Guibert.
35658
35659 2008-08-10  Jim Meyering  <meyering@redhat.com>
35660
35661         ensure that return value of uinttostr et al are not ignored
35662         * lib/inttostr.h (__GNUC_PREREQ): Define.
35663         (__attribute_warn_unused_result__): Define.
35664         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
35665
35666 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
35667
35668         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
35669         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
35670
35671 2008-08-07  Jim Meyering  <meyering@redhat.com>
35672
35673         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
35674
35675         * modules/mkstemp (License): Relicense under LGPLv2+.
35676         * modules/tempname (License): Likewise.
35677
35678 2008-08-06  Bruno Haible  <bruno@clisp.org>
35679
35680         * lib/poll.c (poll): Further micro-optimization.
35681
35682 2008-08-06  Jim Meyering  <meyering@redhat.com>
35683
35684         inet_pton.c: use locale-independent tolower
35685         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
35686         (inet_pton6): Use c_tolower rather than tolower.
35687         * modules/inet_pton (Depends-on): Add c-ctype.
35688
35689 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
35690
35691         * lib/poll.c (poll): Avoid division when timeout is 0, cache
35692         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
35693
35694 2008-08-06  Jim Meyering  <meyering@redhat.com>
35695
35696         * modules/inet_pton (License): Relicense under LGPLv2+.
35697
35698 2008-08-03  Bruno Haible  <bruno@clisp.org>
35699
35700         Additional non-aborting API for lock and tls.
35701         * lib/lock.h: Include <errno.h>.
35702         (glthread_lock_init): New macro/function.
35703         (gl_lock_init): Define as wrapper around glthread_lock_init.
35704         (glthread_lock_lock): New macro/function.
35705         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
35706         (glthread_lock_unlock): New macro/function.
35707         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
35708         (glthread_lock_destroy): New macro/function.
35709         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
35710         (glthread_rwlock_init): New macro/function.
35711         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
35712         (glthread_rwlock_rdlock): New macro/function.
35713         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
35714         (glthread_rwlock_wrlock): New macro/function.
35715         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
35716         (glthread_rwlock_unlock): New macro/function.
35717         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
35718         (glthread_rwlock_destroy): New macro/function.
35719         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
35720         (glthread_recursive_lock_init): New macro/function.
35721         (gl_recursive_lock_init): Define as wrapper around
35722         glthread_recursive_lock_init.
35723         (glthread_recursive_lock_lock): New macro/function.
35724         (gl_recursive_lock_lock): Define as wrapper around
35725         glthread_recursive_lock_lock.
35726         (glthread_recursive_lock_unlock): New macro/function.
35727         (gl_recursive_lock_unlock): Define as wrapper around
35728         glthread_recursive_lock_unlock.
35729         (glthread_recursive_lock_destroy): New macro/function.
35730         (gl_recursive_lock_destroy): Define as wrapper around
35731         glthread_recursive_lock_destroy.
35732         (glthread_once): New macro/function.
35733         (gl_once): Define as wrapper around glthread_once.
35734         Update function declarations.
35735         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
35736         glthread_rwlock_init. Return error code.
35737         (glthread_rwlock_rdlock_multithreaded): Renamed from
35738         glthread_rwlock_rdlock. Return error code.
35739         (glthread_rwlock_wrlock_multithreaded): Renamed from
35740         glthread_rwlock_wrlock. Return error code.
35741         (glthread_rwlock_unlock_multithreaded): Renamed from
35742         glthread_rwlock_unlock. Return error code.
35743         (glthread_rwlock_destroy_multithreaded): Renamed from
35744         glthread_rwlock_destroy. Return error code.
35745         (glthread_recursive_lock_init_multithreaded): Renamed from
35746         glthread_recursive_lock_init. Return error code.
35747         (glthread_recursive_lock_lock_multithreaded): Renamed from
35748         glthread_recursive_lock_lock. Return error code.
35749         (glthread_recursive_lock_unlock_multithreaded): Renamed from
35750         glthread_recursive_lock_unlock. Return error code.
35751         (glthread_recursive_lock_destroy_multithreaded): Renamed from
35752         glthread_recursive_lock_destroy. Return error code.
35753         (glthread_once_call): Make static.
35754         (glthread_once_multithreaded): Renamed from glthread_once.
35755         * lib/tls.h: Include <errno.h>.
35756         (glthread_tls_key_init): New macro/function.
35757         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
35758         (glthread_tls_set): New macro/function.
35759         (gl_tls_set): Define as wrapper around glthread_tls_set.
35760         (glthread_tls_key_destroy): New macro/function.
35761         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
35762         Update function declarations.
35763         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
35764         glthread_tls_get.
35765         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
35766
35767 2008-08-04  Eric Blake  <ebb9@byu.net>
35768
35769         gnumakefile: use space, not TAB, outside of targets
35770         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
35771
35772 2008-08-02  Jim Meyering  <meyering@redhat.com>
35773
35774         getdate.y: avoid locale-dependent date parsing failure
35775         In Turkish locales, getdate would fail to recognize keywords
35776         containing a lowercase "i".  The solution is not to rely on
35777         locale-sensitive case-conversion.
35778         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
35779         (lookup_word): Use c_toupper in place of toupper.
35780         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
35781         Reported by Vefa Bicakci <bicave@superonline.com> in
35782         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
35783         * modules/getdate (Depends-on): Add c-ctype.
35784
35785 2008-08-02  Bruno Haible  <bruno@clisp.org>
35786
35787         * gnulib-tool (func_import): When updating or creating a .gitignore
35788         file, prepend each added line with a slash, and ignore leading slashes
35789         from the existing lines.
35790         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
35791
35792 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35793
35794         Portability fix for GNU make 3.79.1.
35795         * top/GNUmakefile: Avoid 'else COND', which older GNU make
35796         versions do not understand.
35797
35798 2008-08-01  Bruno Haible  <bruno@clisp.org>
35799
35800         Work around bug of HP-UX 10.20 cc with -0.0 literal.
35801         * tests/test-isnanf.h (zero): New variable.
35802         (main): Avoid literal -0.0f.
35803         * tests/test-isnand.h (zero): New variable.
35804         (main): Avoid literal -0.0.
35805         * tests/test-isnanl.h (zero): New variable.
35806         (main): Avoid literal -0.0L.
35807         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
35808         (test_float, test_double, test_long_double): Avoid literals -0.0f,
35809         -0.0, -0.0L.
35810         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
35811         (test_signbitd): Avoid literal -0.0.
35812         (test_signbitl): Avoid literal -0.0L.
35813         * tests/test-ceilf1.c (zero): New variable.
35814         (main): Avoid literal -0.0f.
35815         * tests/test-ceill.c (zero): New variable.
35816         (main): Avoid literal -0.0L.
35817         * tests/test-floorf1.c (zero): New variable.
35818         (main): Avoid literal -0.0f.
35819         * tests/test-floorl.c (zero): New variable.
35820         (main): Avoid literal -0.0L.
35821         * tests/test-roundf1.c (zero): New variable.
35822         (main): Avoid literal -0.0f.
35823         * tests/test-round1.c (zero): New variable.
35824         (main): Avoid literal -0.0.
35825         * tests/test-roundl.c (zero): New variable.
35826         (main): Avoid literal -0.0L.
35827         * tests/test-truncf1.c (zero): New variable.
35828         (main): Avoid literal -0.0f.
35829         * tests/test-trunc1.c (zero): New variable.
35830         (main): Avoid literal -0.0.
35831         * tests/test-truncl.c (zero): New variable.
35832         (main): Avoid literal -0.0L.
35833         * tests/test-frexp.c (zero): New variable.
35834         (main): Avoid literal -0.0.
35835         * tests/test-frexpl.c (zero): New variable.
35836         (main): Avoid literal -0.0L.
35837         * tests/test-ldexpl.c (zero): New variable.
35838         (main): Avoid literal -0.0L.
35839         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
35840         (zerod, zerol): New variables.
35841         (test_function): Avoid literals -0.0, -0.0L.
35842         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
35843         (zerod, zerol): New variables.
35844         (test_function): Avoid literals -0.0, -0.0L.
35845         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
35846         (zerod, zerol): New variables.
35847         (test_function): Avoid literals -0.0, -0.0L.
35848         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
35849         (zerod, zerol): New variables.
35850         (test_function): Avoid literals -0.0, -0.0L.
35851         * tests/test-strtod.c (zero): New variable.
35852         (main): Avoid literal -0.0.
35853         Reported by Jonathan C. Patschke <jp@centtech.com>.
35854
35855 2008-07-31  Jim Meyering  <meyering@redhat.com>
35856
35857         sha256.h: correct definition of SHA224_DIGEST_SIZE
35858         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
35859         Reported by Paulie Pena IV <paulie4@gmail.com>.
35860         Define as 224 / 8, rather than as a literal.
35861         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
35862         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
35863         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
35864
35865 2008-07-31  Bruno Haible  <bruno@clisp.org>
35866
35867         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
35868         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
35869         Reported by Jonathan Patschke <jp@centtech.com>.
35870
35871 2008-07-31  Bruno Haible  <bruno@clisp.org>
35872
35873         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
35874         Reported by Paolo Bonzini <bonzini@gnu.org>.
35875
35876 2008-07-30  Eric Blake  <ebb9@byu.net>
35877
35878         test-strtod: allow compilation without -lm
35879         * tests/test-strtod.c (main): Avoid link dependence on fabs.
35880         Reported by Dennis Clarke <blastwave@gmail.com>.
35881
35882 2008-07-28  Jim Meyering  <meyering@redhat.com>
35883
35884         bootstrap: work also when there are no .po files in po/
35885         * build-aux/bootstrap (update_po_files): Complete the change
35886         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
35887
35888 2008-07-27  Jim Meyering  <meyering@redhat.com>
35889
35890         * users.txt: Add zile.
35891
35892 2008-07-26  Ben Pfaff  <blp@gnu.org>
35893
35894         Add missing dependencies on new m4/exponent[fdl].m4 files.
35895         * modules/isnanf-nolibm: Add m4/exponentf.m4.
35896         * modules/isnand-nolibm: Add m4/exponentd.m4.
35897         * modules/isnanl-nolibm: Add m4/exponentl.m4.
35898         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
35899         m4/isnan[fdl].m4, because the macros actually used moved.
35900         Reported by Jim Meyering.
35901
35902 2008-07-14  Ben Pfaff  <blp@gnu.org>
35903
35904         Add isinf module.
35905         * lib/isinf.c: New file.
35906         * lib/math.in.h: Define isinf macro if we have decided to replace
35907         it.
35908         * m4/isinf.m4: New file.
35909         * m4/math_h.m4: Initialize and substitute variables for isinf
35910         module.
35911         * modules/isinf: New file.
35912         * modules/isinf-tests: New file.
35913         * modules/math: Add substitutions for new module.
35914         * tests/test-isinf.c: New file.
35915         * doc/posix-functions/isinf.texi: Mention new module.
35916         * MODULES.html.sh: Mention new module.
35917
35918 2008-07-14  Ben Pfaff  <blp@gnu.org>
35919
35920         Factor out some macros for use by additional modules.
35921         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
35922         exponentf.m4.
35923         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
35924         exponentd.m4.
35925         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
35926         file exponentl.m4.
35927         * m4/exponentf.m4: New file.
35928         * m4/exponentd.m4: New file.
35929         * m4/exponentl.m4: New file.
35930         * modules/isnanf: Use new file m4/exponentf.m4.
35931         * modules/isnand: Use new file m4/exponentd.m4.
35932         * modules/isnanl: Use new file m4/exponentl.m4.
35933
35934 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
35935
35936         mktime.c: normalize tp->tm_isdst value to -1/0/1.
35937         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
35938         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
35939         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
35940
35941         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
35942         readlink on platforms without PATH_MAX.
35943
35944 2008-07-21  Eric Blake  <ebb9@byu.net>
35945
35946         Warn, not fail, on stale version.
35947         * top/GNUmakefile (_curr-ver): Tone down previous patch.
35948
35949         Don't allow installation with stale devel version number.
35950         * top/GNUmakefile (_is-install-target): New macro.
35951         (_curr-ver): Forbid installation with stale version number.
35952
35953 2008-07-20  Bruno Haible  <bruno@clisp.org>
35954
35955         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
35956         TESTS_ENVIRONMENT.
35957         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
35958
35959 2008-07-20  Bruno Haible  <bruno@clisp.org>
35960
35961         * lib/c-stack.h (c_stack_action): Add documentation.
35962         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
35963
35964 2008-07-20  Bruno Haible  <bruno@clisp.org>
35965
35966         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
35967         * modules/readlink (License): Likewise.
35968
35969 2008-07-17  Eric Blake  <ebb9@byu.net>
35970
35971         * modules/c-stack (Link): Fix typo.
35972
35973         Make c-stack use libsigsegv, when available.
35974         * modules/c-stack (Depends-on): Add libsigsegv.
35975         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
35976         needed.
35977         * lib/c-stack.c (SIGSTKSZ): Define fallback.
35978         (segv_handler, overflow_handler, c_stack_action)
35979         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
35980         implementation when libsigsegv is available, but only when using
35981         the library is necessary.
35982         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
35983         comment, explaining why XSI check fails on Linux.
35984         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
35985         * tests/test-c-stack2.sh: Tweak skip message.
35986         * NEWS: Document new link-time requirements.
35987
35988 2008-07-16  Eric Blake  <ebb9@byu.net>
35989
35990         c-stack: Expose false positives when not using libsigsegv.
35991         * modules/c-stack-tests (Files): Expand test.
35992         * tests/test-c-stack.c (main): Add means to conditionally trigger
35993         non-overflow SIGSEGV.
35994         * tests/test-c-stack2.sh: New file.
35995
35996 2008-07-14  Bruno Haible  <bruno@clisp.org>
35997
35998         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
35999         Reported by Eric Blake.
36000
36001 2008-07-14  Sam Steingold  <sds@gnu.org>
36002             Bruno Haible  <bruno@clisp.org>
36003
36004         New module libsigsegv.
36005         * modules/libsigsegv: New file.
36006         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
36007         modifications.
36008         * MODULES.html.sh (Signal handling): New section.
36009
36010 2008-07-14  Bruno Haible  <bruno@clisp.org>
36011
36012         * modules/unictype/ctype-* (Description): Add the word "function".
36013         Improves the resulting doc in MODULES.html.
36014
36015 2008-07-12  Ben Pfaff  <blp@gnu.org>
36016
36017         Add longlong module.
36018         * modules/longlong: New file.
36019
36020 2008-07-12  Bruno Haible  <bruno@clisp.org>
36021
36022         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
36023         to empty.
36024
36025 2008-07-10  Ben Pfaff  <blp@gnu.org>
36026
36027         Add isnan module.
36028         * doc/posix-functions/isnan.texi: Mention new module.
36029         * lib/math.in.h: Define isnan macro if we have decided to replace
36030         it.
36031         * m4/isnan.m4: New file.
36032         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
36033         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
36034         also.
36035         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
36036         redundancy.
36037         * m4/math_h.m4: Initialize and substitute variables for isnan
36038         module.
36039         * modules/isnan: New file.
36040         * modules/isnan-tests: New file.
36041         * modules/math: Add substitutions for new module.
36042         * tests/test-isnan.c: New file.
36043         * MODULES.html.sh: Mention new module.
36044
36045 2008-07-10  Ben Pfaff  <blp@gnu.org>
36046
36047         Add isnanf module.
36048         * lib/isnanf.m4: New file.
36049         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
36050         (gl_HAVE_ISNANF_IN_LIBM): New macro.
36051         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
36052         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
36053         * modules/isnanf: New file.
36054         * modules/isnanf-tests: New file.
36055         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
36056         files.
36057         * tests/test-isnanf-nolibm.c: factored most of its contents into
36058         new file tests/test-isnanf.h.
36059         * tests/test-isnanf.h: New file.
36060         * tests/test-isnanf.c: New file.
36061         * MODULES.html.sh: Mention new module.
36062         * doc/glibc-functions/isnanf.texi: Mention new module.
36063
36064 2008-07-10  Ben Pfaff  <blp@gnu.org>
36065
36066         Add isnand module.
36067         * lib/isnand.h: New file.
36068         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
36069         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
36070         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
36071         functionality also.
36072         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
36073         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
36074         (gl_HAVE_ISNAND_IN_LIBM): New macro.
36075         * modules/isnand: New file.
36076         * modules/isnand-tests: New file.
36077         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
36078         files.
36079         * tests/test-isnand-nolibm.c: factored most of its contents into
36080         new file tests/test-isnand.h.
36081         * tests/test-isnand.h: New file.
36082         * tests/test-isnand.c: New file.
36083         * MODULES.html.sh: Mention new module.
36084
36085 2008-07-10  Ben Pfaff  <blp@gnu.org>
36086
36087         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
36088         * lib/isnand.h: Rename lib/isnand-nolibm.h.
36089         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
36090         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
36091         * modules/isnanf-nolibm: Update references to renamed files.
36092         * modules/isnand-nolibm: Likewise.
36093         * modules/isnanf-nolibm-tests: Likewise.
36094         * modules/isnand-nolibm-tests: Likewise.
36095         * lib/frexp.c: Likewise.
36096         * lib/isfinite.c: Likewise.
36097         * lib/signbitd.c: Likewise.
36098         * lib/signbitf.c: Likewise.
36099         * lib/vasnprintf.c: Likewise.
36100         * tests/test-ceilf1.c: Likewise.
36101         * tests/test-ceilf2.c: Likewise.
36102         * tests/test-floorf1.c: Likewise.
36103         * tests/test-floorf2.c: Likewise.
36104         * tests/test-frexp.c: Likewise.
36105         * tests/test-round1.c: Likewise.
36106         * tests/test-round2.c: Likewise.
36107         * tests/test-roundf1.c: Likewise.
36108         * tests/test-strtod.c: Likewise.
36109         * tests/test-trunc1.c: Likewise.
36110         * tests/test-trunc2.c: Likewise.
36111         * tests/test-truncf1.c: Likewise.
36112         * tests/test-truncf2.c: Likewise.
36113         * NEWS: Mention the renamed header files.
36114
36115 2008-07-11  Jim Meyering  <meyering@redhat.com>
36116
36117         vc-list-files: make the last-resort awk code more portable
36118         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
36119         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
36120         does not support it.
36121
36122 2008-07-10  Eric Blake  <ebb9@byu.net>
36123
36124         Work with tar's bootstrap.
36125         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
36126         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
36127         an m4 comment.
36128
36129 2008-07-09  Jim Meyering  <meyering@redhat.com>
36130
36131         posix-shell.m4: fix typo that made this test malfunction
36132         * m4/posix-shell.m4: Remove capitalization in variable name.
36133
36134 2008-07-08  Bruno Haible  <bruno@clisp.org>
36135
36136         * m4/onceonly.m4: Update comments.
36137         Reported by Ben Pfaff <blp@cs.stanford.edu>.
36138
36139 2008-07-04  Jim Meyering  <meyering@redhat.com>
36140
36141         * users.txt: Add vc-dwim.
36142         (bison, coreutils): Use the gitweb URL.
36143
36144 2008-07-03  Jim Meyering  <meyering@redhat.com>
36145
36146         * users.txt: Add libffcall.  From Sam Steingold.
36147
36148 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
36149
36150         getdate.y: do not ignore TZ with relative day, month or year offset
36151         * lib/getdate.y (get_date): Move the tz-handling block to follow the
36152         relative-date-handling, since otherwise, the latter would clobber the
36153         sole output (an updated Start value) of the tz-handling block.
36154         * tests/test-getdate.c: Tests for the fix
36155
36156 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36157
36158         Recognize 'foo_LIBRARIES += libgnu.a'.
36159         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
36160         makefile snippet has already specified an installation location,
36161         also using '+='.
36162
36163 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
36164
36165         getdate.y: factor out common actions
36166         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
36167         Use them in place of open-coded actions.
36168
36169 2008-07-01  Simon Josefsson  <simon@josefsson.org>
36170
36171         Add self-test for getdate module.
36172         * modules/getdate-tests: New file.
36173         * tests/test-getdate.c: New file.
36174
36175 2008-06-29  Bruno Haible  <bruno@clisp.org>
36176
36177         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
36178         .gitignore.
36179         Reported by Sylvain Beucler <beuc@beuc.net>.
36180
36181 2008-06-29  Bruno Haible  <bruno@clisp.org>
36182
36183         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
36184         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
36185
36186 2008-06-29  Bruno Haible  <bruno@clisp.org>
36187
36188         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
36189         EXTRA_DIST.
36190         Reported by Sylvain Beucler <beuc@beuc.net>.
36191
36192 2008-06-26  Jim Meyering  <meyering@redhat.com>
36193
36194         make several modules depend on the "open" module
36195         This provides slightly increased consistency when opening-for-write
36196         the name of a non-directory spelled with a trailing slash.
36197         * modules/chdir-safer: Likewise.
36198         * modules/chown: Likewise.
36199         * modules/clean-temp: Likewise.
36200         * modules/copy-file: Likewise.
36201         * modules/fchdir: Likewise.
36202         * modules/fcntl-safer: Likewise.
36203         * modules/pipe: Likewise.
36204         * modules/utime: Likewise.
36205         Prompted by Eric Blake and Bruno Haible.
36206
36207 2008-06-24  Andreas Schwab  <schwab@suse.de>
36208
36209         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
36210         literals can be used as initializers for global variables.
36211
36212 2008-06-23  Eric Blake  <ebb9@byu.net>
36213
36214         Make gnulib-cache.m4 easier to diff.
36215         * gnulib-tool (func_import): Allow newlines when reading cached
36216         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
36217
36218 2008-06-23  Bruno Haible  <bruno@clisp.org>
36219
36220         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
36221         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
36222         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
36223         m4/signalblocking.m4.
36224         (gl_PREREQ_SIGACTION): Don't invoke it.
36225         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
36226         gl_PREREQ_SIG_HANDLER_H.
36227         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
36228         Don't check for sigaction here.
36229
36230 2008-06-23  Bruno Haible  <bruno@clisp.org>
36231
36232         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
36233         (install_handlers): Don't set the SA_RESETHAND flag.
36234
36235 2008-06-23  Bruno Haible  <bruno@clisp.org>
36236
36237         * m4/sigaction.m4: Comment fixes.
36238         * lib/signal.in.h: Likewise.
36239
36240 2008-06-23  Eric Blake  <ebb9@byu.net>
36241
36242         Fix typo.
36243         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
36244
36245         Avoid SA_ namespace.
36246         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
36247         Reported by Ralf Wildenhues.
36248
36249         Avoid test failure due to SA_RESTORER.
36250         * tests/test-sigaction.c (SA_MASK): New macro.
36251         (main): Avoid failing due to extension flags being set.
36252         Reported by Jim Meyering.
36253
36254         Revert use of sig-handler.h in sigprocmask.c.
36255         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
36256         it requires the existence of struct sigaction.
36257         * lib/sigprocmask.c (handler_t): Restore typedef.
36258         (rpl_signal, old_handlers): Use local type.
36259
36260 2008-06-22  Bruno Haible  <bruno@clisp.org>
36261
36262         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
36263         conditionally.
36264         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
36265
36266 2008-06-22  Bruno Haible  <bruno@clisp.org>
36267
36268         * doc/posix-functions/siginterrupt.texi: Move note.
36269
36270         * lib/signal.in.h (SA_RESTART): New macro.
36271         * lib/sigaction.c: Update comment.
36272
36273         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
36274
36275         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
36276         (gl_PREREQ_SIGPROCMASK): Invoke it.
36277         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
36278
36279         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
36280
36281         * lib/sigprocmask.c: Update a comment.
36282
36283 2008-06-21  Eric Blake  <ebb9@byu.net>
36284
36285         Use sigaction module rather than signal().
36286         * modules/c-stack (Depends-on): Add sigaction.
36287         * modules/fatal-signal (Depends-on): Likewise.
36288         * modules/nanosleep (Depends-on): Likewise.
36289         * modules/sigprocmask (Files): Add sig-handler.h.
36290         * modules/sigaction (Files): Likewise.
36291         * lib/sig-handler.h (get_handler): New file, suggested by Paul
36292         Eggert.
36293         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
36294         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
36295         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
36296         (init_fatal_signals): Likewise.
36297         * lib/nanosleep.c (rpl_nanosleep): Likewise.
36298         (siginterrupt): Delete fallback.
36299         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
36300         instead.
36301         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
36302         siginterrupt.
36303
36304         New module sigaction, for mingw.
36305         * modules/sigaction: New module...
36306         * modules/sigaction-tests: ...and its test.
36307         * m4/sigaction.m4: New file.
36308         * lib/sigaction.c: Likewise.
36309         * tests/test-sigaction.c: Likewise.
36310         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
36311         * modules/signal (Makefile.am): Likewise.
36312         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
36313         needed.
36314         * doc/posix-headers/signal.texi (signal.h): Mention provided
36315         types.
36316         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
36317         that sigaction is preferable.
36318         * doc/posix-functions/sigaction.texi (sigaction): Mention new
36319         module.
36320         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
36321         sigaction.
36322
36323         Improve robustness of sigprocmask by overriding signal.
36324         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
36325         is in use.
36326         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
36327         (SIGKILL, SIGSTOP): Provide fallbacks.
36328         (rpl_signal): Implement.
36329         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
36330         signal can be called inside handlers.
36331
36332         Fix nanosleep module on mingw.
36333         * modules/nanosleep (Depends-on): Add sys_select.
36334         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
36335
36336         Fix licensing of sigprocmask.
36337         * modules/raise (License): Relicense as LGPL.
36338
36339 2008-06-21  Bruno Haible  <bruno@clisp.org>
36340
36341         * lib/propername.c (proper_name_utf8): Don't use the transliterated
36342         result if it contains question marks.
36343         Reported by Michael Geng <linux@michaelgeng.de>.
36344
36345 2008-06-19  Bruno Haible  <bruno@clisp.org>
36346
36347         Fix CVS-ism.
36348         * doc/gnulib.texi: Include updated-stamp.texi.
36349         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
36350         (updated-stamp.texi): New rule.
36351         (gnulib.info): Depend on it.
36352         * doc/.gitignore: Add updated-stamp.texi.
36353         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
36354
36355 2008-06-19  Bruno Haible  <bruno@clisp.org>
36356
36357         * doc/Makefile (gnulib.info): Update and simplify dependencies.
36358         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
36359
36360 2008-06-19  Eric Blake  <ebb9@byu.net>
36361
36362         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
36363         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
36364         Reported by Stepan Kasal.
36365
36366 2008-06-18  Bruno Haible  <bruno@clisp.org>
36367
36368         * lib/fatal-signal.c (init_fatal_signals): Add comment.
36369         Reported by Eric Blake.
36370
36371 2008-06-18  Eric Blake  <ebb9@byu.net>
36372
36373         Work around cygwin 1.5.25 strsignal bug.
36374         * tests/test-strsignal.c: Allow for const char *.
36375         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
36376
36377 2008-06-18  Simon Josefsson  <simon@josefsson.org>
36378
36379         * users.txt: Update URL to article and add author/date
36380         information.
36381
36382 2008-06-17  Bruno Haible  <bruno@clisp.org>
36383
36384         New macro gl_DISABLE_THREADS.
36385         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
36386         if the user did not pass --enable-threads or --disable-threads option.
36387         (gl_DISABLE_THREADS): New macro.
36388         Reported by Eric Blake <ebb9@byu.net>.
36389
36390 2008-06-17  Bruno Haible  <bruno@clisp.org>
36391
36392         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
36393         when the macro ignores it.
36394         Based on a patch by Eric Blake <ebb9@byu.net>.
36395
36396 2008-06-17  Bruno Haible  <bruno@clisp.org>
36397
36398         * modules/tls (License): Change to LGPLv2+.
36399         Reported by Eric Blake.
36400
36401 2008-06-17  Eric Blake  <ebb9@byu.net>
36402
36403         Simplify c-stack prerequisites.
36404         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
36405         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
36406         no longer requires <ucontext.h> to exist.  Optimize setrlimit
36407         check.
36408         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
36409         <sys/resource.h>.
36410
36411         Move c-stack test into testsuite.
36412         * modules/c-stack-tests: New file.
36413         * lib/c-stack.c [DEBUG]: Move test program...
36414         * tests/test-c-stack.c: ...into this new file.  Skip rather than
36415         fail test if sigaltstack is lacking.
36416         * tests/test-c-stack.sh: New driver file.
36417
36418 2008-06-16  Eric Blake  <ebb9@byu.net>
36419
36420         Use raise module consistently.
36421         * modules/fatal-signal (Depends-on): Add raise.
36422         * modules/sigprocmask (Depends-on): Likewise.
36423         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
36424         * lib/sigprocmask.c (sigprocmask): Likewise.
36425         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
36426         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
36427
36428         Fix compliance bug in sigpending.
36429         * lib/sigprocmask.c (sigpending): Return pending array via
36430         parameter, not return value.
36431
36432 2008-06-14  Eric Blake  <ebb9@byu.net>
36433
36434         Improve obstack-printf test code.
36435         * tests/test-obstack-printf.c (test_function): Fix comment, and
36436         simplify usage of obstack_* in macros.  Add a test for coverage.
36437         Reported by Bruno Haible.
36438
36439 2008-06-14  Bruno Haible  <bruno@clisp.org>
36440
36441         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
36442         array size as a constant, not as a const variable.
36443         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
36444         AC_USE_SYSTEM_EXTENSIONS.
36445         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
36446         Test whether the obstack_printf function actually exists.
36447         * modules/obstack-printf (Depends-on): Add extensions.
36448         (Include): Remove obstack.h.
36449         * modules/obstack-printf-posix (Depends-on): Add extensions.
36450         (Include): Remove obstack.h.
36451
36452 2008-06-13  Eric Blake  <ebb9@byu.net>
36453
36454         Add obstack-printf and obstack-printf-posix modules.
36455         * modules/obstack-printf: New file.
36456         * modules/obstack-printf-posix: Likewise.
36457         * MODULES.html.sh (Misc): Mention them.
36458         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
36459         Likewise.
36460         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
36461         Likewise.
36462         * modules/stdio (Makefile.am): Accomodate new modules.
36463         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
36464         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
36465         Declare.
36466         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
36467         functions.
36468         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
36469         (gl_REPLACE_OBSTACK_PRINTF): New macros
36470         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
36471         * tests/test-obstack-printf.c: New file.
36472         * modules/obstack-printf-tests: Likewise.
36473         * modules/obstack-printf-posix-tests: Likewise.
36474
36475 2008-06-11  Bruno Haible  <bruno@clisp.org>
36476
36477         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
36478         * lib/open.c: Include errno.h.
36479         (open): Fail when attempting to write to a file that has a trailing
36480         slash.
36481         * tests/test-open.c (main): Test against trailing slash bug.
36482         * doc/posix-functions/open.texi: Mention the trailing slash bug.
36483
36484 2008-06-10  Bruno Haible  <bruno@clisp.org>
36485
36486         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
36487         for $? to work inside the trap command, with various /bin/sh-s.
36488         * tests/test-vc-list-files-cvs.sh: Likewise.
36489
36490 2008-06-10  Bruno Haible  <bruno@clisp.org>
36491
36492         * lib/acl-internal.h: Don't include gettext.h here.
36493         * lib/set-mode-acl.c: Include gettext.h here.
36494         * lib/copy-acl.c: Likewise.
36495
36496 2008-06-10  Bruno Haible  <bruno@clisp.org>
36497
36498         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
36499         * lib/wait-process.c (wait_subprocess): Likewise.
36500         * lib/execute.h (execute): Add termsigp argument.
36501         * lib/execute.c (execute): Likewise.
36502         * lib/csharpcomp.c (compile_csharp_using_pnet,
36503         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
36504         * lib/csharpexec.c (execute_csharp_using_pnet,
36505         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
36506         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
36507         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
36508         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
36509         is_jikes_present): Update.
36510         * lib/javaexec.c (execute_java_class): Update.
36511         * lib/javaversion.c (execute_and_read_line): Update.
36512         * NEWS: Document the changes.
36513         Reported by Eric Blake.
36514
36515 2008-06-10  Eric Blake  <ebb9@byu.net>
36516
36517         Add missing include.
36518         * tests/test-strstr.c (includes): Add <signal.h>.
36519         * tests/test-strcasestr.c (includes): Likewise.
36520         * tests/test-memmem.c (includes): Likewise.
36521
36522 2008-06-10  Bruno Haible  <bruno@clisp.org>
36523
36524         * lib/wait-process.c (wait_subprocess): Add an assertion.
36525
36526 2008-06-10  Bruno Haible  <bruno@clisp.org>
36527
36528         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
36529
36530 2008-06-10  Bruno Haible  <bruno@clisp.org>
36531
36532         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
36533         using alarm().
36534         * tests/test-strcasestr.c (main): Likewise.
36535         * tests/test-strstr.c (main): Likewise.
36536
36537 2008-06-09  Bruno Haible  <bruno@clisp.org>
36538
36539         Work around the Solaris 10 ACE ACLs ABI change.
36540         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
36541         declare if ACL_NO_TRIVIAL is present.
36542         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
36543         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
36544         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
36545         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
36546         define if ACL_NO_TRIVIAL is present.
36547         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
36548         and use the current ABI.
36549         (file_has_acl): Use same #if condition as elsewhere.
36550         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
36551         in use, and use the current ABI.
36552         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
36553         Reported by Jim Meyering.
36554
36555 2008-06-09  Eric Blake  <ebb9@byu.net>
36556
36557         Work around environments that (stupidly) ignore SIGALRM.
36558         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
36559         before using alarm().
36560         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
36561         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
36562         Reported by Ian Beckwith <ianb@erislabs.net>.
36563
36564         Produce autobuild blurb earlier in log.
36565         * modules/autobuild (configure.ac-early): Move AB_INIT here.
36566
36567 2008-06-09  Jim Meyering  <meyering@redhat.com>
36568         and OndÅ™ej Vašík  <ovasik@redhat.com>
36569
36570         utimens.c: correct kernel bug work-around
36571         OndÅ™ej Vašík found that the invalid return value of 280 indicates
36572         failure, not success, and the kernel bug we're trying to work
36573         around affects not just the utimensat call, but also the fallback
36574         futimens call.
36575         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
36576         not success.
36577         [HAVE_FUTIMENS]: Use the same work-around, here.
36578
36579 2008-06-09  Jim Meyering  <meyering@redhat.com>
36580
36581         add more guards around definition of ACE_-related code
36582         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
36583         ALLOW and ACE_OWNER are also defined.
36584
36585 2008-06-08  Bruno Haible  <bruno@clisp.org>
36586
36587         * lib/acl-internal.h: Add me as co-author.
36588         * lib/file-has-acl.c: Likewise.
36589         * lib/set-mode-acl.c: Likewise.
36590         * lib/copy-acl.c: Likewise.
36591
36592 2008-06-08  Bruno Haible  <bruno@clisp.org>
36593
36594         Add support for AIX ACLs.
36595         * lib/acl-internal.h (acl_nontrivial): New declaration.
36596         * lib/file-has-acl.c (acl_nontrivial): New function.
36597         (file_has_acl): Add implementation using AIX 4 ACL API.
36598         * lib/set-mode-acl.c (qset_acl): Likewise.
36599         * lib/copy-acl.c (qcopy_acl): Likewise.
36600
36601 2008-06-08  Bruno Haible  <bruno@clisp.org>
36602
36603         Add support for HP-UX ACLs.
36604         * lib/acl-internal.h (acl_nontrivial): New declaration.
36605         * lib/file-has-acl.c (acl_nontrivial): New function.
36606         (file_has_acl): Add implementation using HP-UX 11 ACL API.
36607         * lib/set-mode-acl.c (qset_acl): Likewise.
36608         * lib/copy-acl.c (qcopy_acl): Likewise.
36609
36610 2008-06-08  Bruno Haible  <bruno@clisp.org>
36611
36612         Add support for Cygwin ACLs.
36613         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
36614         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
36615         the chmod_or_fchmod call.
36616         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
36617
36618 2008-06-08  Bruno Haible  <bruno@clisp.org>
36619
36620         Fix bug with setuid modes in Solaris 10+ code.
36621         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
36622         succeeded, when the mode contains some special bits.
36623
36624 2008-06-08  Bruno Haible  <bruno@clisp.org>
36625
36626         Add support for Solaris 7..10 ACLs.
36627         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
36628         declarations.
36629         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
36630         functions.
36631         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
36632         * lib/set-mode-acl.c (qset_acl): Likewise.
36633         * lib/copy-acl.c (qcopy_acl): Likewise.
36634
36635 2008-06-08  Bruno Haible  <bruno@clisp.org>
36636
36637         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
36638         declaration.
36639         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
36640         (acl_access_nontrivial): Remove MacOS X case.
36641         (file_has_acl): Use acl_extended_nontrivial.
36642         * lib/copy-acl.c (qcopy_acl): Likewise.
36643
36644 2008-06-08  Bruno Haible  <bruno@clisp.org>
36645
36646         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
36647
36648 2008-06-08  Jim Meyering  <meyering@redhat.com>
36649
36650         * modules/acl (Maintainer): Add Bruno Haible.
36651
36652 2008-06-07  Bruno Haible  <bruno@clisp.org>
36653
36654         Improve support for Tru64 ACLs.
36655         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
36656         ACL on OSF/1.
36657
36658 2008-06-07  Bruno Haible  <bruno@clisp.org>
36659
36660         Add support for MacOS X ACLs.
36661         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
36662         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
36663         * lib/set-mode-acl.c (qset_acl): Likewise.
36664         * lib/copy-acl.c (qcopy_acl): Likewise.
36665
36666 2008-06-07  Bruno Haible  <bruno@clisp.org>
36667
36668         Fix memory leak introduced on 2008-05-22.
36669         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
36670         use.
36671
36672 2008-06-07  Bruno Haible  <bruno@clisp.org>
36673
36674         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
36675         to construct an empty ACL.
36676
36677 2008-06-07  Bruno Haible  <bruno@clisp.org>
36678
36679         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
36680         precisely.
36681         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
36682
36683 2008-06-07  Bruno Haible  <bruno@clisp.org>
36684
36685         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
36686         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
36687
36688 2008-06-07  Bruno Haible  <bruno@clisp.org>
36689
36690         * doc/posix-functions/_setjmp.texi: Explain the use of this function
36691         regardless of POSIX.
36692         * doc/posix-functions/_longjmp.texi: Likewise.
36693         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
36694         SystemV platform in this case.
36695
36696 2008-06-06  Eric Blake  <ebb9@byu.net>
36697
36698         Document abort() bugs.
36699         * doc/posix-functions/abort.texi (abort): Mention anomalies.
36700
36701         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
36702         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
36703         sigsetjmp.
36704         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
36705         siglongjmp, but only as a macro.
36706         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
36707         is obsolete.
36708         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
36709
36710         Tweak documentation to cover cygwin argz bugs.
36711         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
36712         argz bug fix; no code change needed since no cygwin releases
36713         occurred between the last fix and the bug being tested.
36714         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
36715         module and recently fixed cygwin bugs.
36716         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
36717         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
36718         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
36719         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
36720         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
36721         Likewise.
36722         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
36723         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
36724         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
36725         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
36726         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
36727         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
36728         Likewise.
36729
36730         Avoid gcc warning on cygwin.
36731         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
36732         !ACL_NO_TRIVIAL]: Avoid unused variable.
36733
36734 2008-06-05  Eric Blake  <ebb9@byu.net>
36735
36736         Be tolerant of UNKNOWN version in gnulib-tool test dir.
36737         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
36738         git-version-gen fails to come up with a version.
36739         Reported by Simon Josefsson.
36740
36741 2008-06-05  Jim Meyering  <meyering@redhat.com>
36742             Paul Eggert  <eggert@cs.ucla.edu>
36743
36744         utimens.c: work around a probable Linux kernel bug
36745         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
36746         appears to be a kernel bug that causes utimensat to return 280
36747         instead of 0, indicating success.
36748
36749 2008-06-04  Bruno Haible  <bruno@clisp.org>
36750
36751         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
36752         2008-06-01 commit.
36753
36754 2008-06-04  Bruno Haible  <bruno@clisp.org>
36755
36756         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
36757         * lib/file-has-acl.c (acl_access_nontrivial): New function.
36758         (file_has_acl): Use it. Save errno afterwards.
36759         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
36760
36761 2008-06-03  Bruno Haible  <bruno@clisp.org>
36762
36763         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
36764         draft code. Simplify #ifs.
36765         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
36766         Put Solaris code after POSIX-draft code. Fix comments regarding
36767         Solaris 10, HP-UX. Mention Cygwin.
36768         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
36769
36770 2008-06-03  Eric Blake  <ebb9@byu.net>
36771
36772         Provide fallback for older kernels.
36773         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
36774         Provide runtime fallback if kernel lacks support.
36775         Reported by Mike Frysinger.
36776
36777 2008-06-02  Bruno Haible  <bruno@clisp.org>
36778
36779         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
36780         it exists.
36781
36782 2008-06-02  Bruno Haible  <bruno@clisp.org>
36783
36784         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
36785         * lib/copy-acl.c (qcopy_acl): Update comment.
36786
36787 2008-06-02  Bruno Haible  <bruno@clisp.org>
36788
36789         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
36790         like ACL APIs.
36791
36792 2008-06-02  Bruno Haible  <bruno@clisp.org>
36793
36794         * tests/test-file-has-acl.sh: Use different code for Cygwin.
36795         * tests/test-set-mode-acl.sh: Likewise.
36796         * tests/test-copy-acl.sh: Likewise.
36797         * tests/test-copy-file.sh: Likewise.
36798
36799 2008-06-02  Bruno Haible  <bruno@clisp.org>
36800
36801         * tests/test-file-has-acl.sh: Remove unused code.
36802
36803 2008-06-01  Bruno Haible  <bruno@clisp.org>
36804
36805         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
36806         (copy_acl): Just a wrapper around qcopy_acl that emits the error
36807         messages.
36808         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
36809
36810 2008-06-01  Bruno Haible  <bruno@clisp.org>
36811
36812         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
36813         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
36814         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
36815         APIs.
36816         * modules/acl-tests (configure.ac): Remove tests now contained in
36817         m4/acl.m4.
36818
36819 2008-06-02  Jim Meyering  <meyering@redhat.com>
36820
36821         announce-gen: use a better key-server host name
36822         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
36823         it may be more consistently reliable.  Suggested by Werner Koch
36824         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
36825
36826 2008-06-01  Bruno Haible  <bruno@clisp.org>
36827
36828         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
36829         Reported by Voroskoi Andras <voroskoi@gmail.com>.
36830
36831 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
36832
36833         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
36834
36835 2008-06-01  Bruno Haible  <bruno@clisp.org>
36836
36837         New ACL tests.
36838         * tests/test-file-has-acl.sh: New file.
36839         * tests/test-file-has-acl.c: New file.
36840         * tests/test-set-mode-acl.sh: New file.
36841         * tests/test-set-mode-acl.c: New file.
36842         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
36843         * tests/test-copy-acl.c: New file.
36844         * modules/acl-tests: New file, based on modules/copy-file-tests.
36845         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
36846         (Depends-on): Add acl-tests.
36847         (configure.ac): Remove checks.
36848         (Makefile.am): Don't create test-sameacls program here any more.
36849
36850 2008-06-01  Bruno Haible  <bruno@clisp.org>
36851
36852         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
36853         * tests/test-sameacls.c: Include progname.h.
36854         (main): Invoke set_program_name. Portability fixes for MacOS X,
36855         Solaris, HP-UX.
36856
36857 2008-06-01  Bruno Haible  <bruno@clisp.org>
36858
36859         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
36860         function.
36861         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
36862
36863 2008-06-01  Bruno Haible  <bruno@clisp.org>
36864
36865         * modules/rpmatch (Depends-on): Add strdup.
36866
36867 2008-06-01  Bruno Haible  <bruno@clisp.org>
36868
36869         * lib/pipe.c: Include unistd-safer.h.
36870         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
36871         * modules/pipe (Depends-on): Add unistd-safer.
36872
36873 2008-05-30  Simon Josefsson  <simon@josefsson.org>
36874
36875         * modules/autobuild (configure.ac): Call AB_INIT.
36876
36877 2008-05-30  Simon Josefsson  <simon@josefsson.org>
36878
36879         * tests/test-getaddrinfo.c: Don't print debug messages by default.
36880         Suggested by Bruno Haible <bruno@clisp.org>.
36881
36882 2008-05-30  Simon Josefsson  <simon@josefsson.org>
36883
36884         * tests/test-base64.c: Cast size_t to unsigned long when invoking
36885         printf.  Use %lu instead of %d.  Reported by Bruno Haible
36886         <bruno@clisp.org>.
36887
36888 2008-05-29  Eric Blake  <ebb9@byu.net>
36889
36890         Prefer new POSIX 200x interfaces over futimesat.
36891         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
36892         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
36893         when available.
36894         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
36895
36896 2008-05-28  Bruno Haible  <bruno@clisp.org>
36897
36898         * modules/stpcpy (License): Change to LGPLv2+.
36899         Requested by David Lutterkort <dlutter@redhat.com>.
36900
36901 2008-05-27  Bruno Haible  <bruno@clisp.org>
36902
36903         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
36904         current mingw.
36905         Reported by Jose E. Marchesi <jemarch@gnu.org>.
36906
36907 2008-05-27  Bruno Haible  <bruno@clisp.org>
36908
36909         * modules/iconv_open (Link): New section, from module 'iconv'.
36910         * modules/striconv (Link): Likewise.
36911         * modules/striconveh (Link): Likewise.
36912         * modules/xstriconv (Link): Likewise.
36913         * modules/unicodeio (Link): Likewise.
36914         * modules/propername (Link): Likewise.
36915         Reported by Jim Meyering.
36916
36917 2008-05-26  Jim Meyering  <meyering@redhat.com>
36918
36919         sha256: do not artificially restrict buffer length to be < 2^32
36920         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
36921         uint32_t to size_t.
36922         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
36923         to match.
36924
36925         avoid unaligned access errors, e.g., on sparc
36926         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
36927         direct access through a possibly-unaligned uint64* pointer.
36928         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
36929         direct access through a possibly-unaligned uint32* pointer.
36930         Prompted by this patch from Tom "spot" Callaway:
36931         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
36932
36933         sha512.c: fix typo in comment
36934         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
36935
36936 2008-05-25  Bruno Haible  <bruno@clisp.org>
36937
36938         * lib/set-mode-acl.c: Renamed from lib/acl.c.
36939         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
36940         (Makefile.am): Update lib_SOURCES.
36941
36942 2008-05-25  Bruno Haible  <bruno@clisp.org>
36943
36944         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
36945
36946 2008-05-25  Jim Meyering  <meyering@redhat.com>
36947
36948         useless-if-before-free: freed expr may have white-space differences
36949         * build-aux/useless-if-before-free: Recognize cases in which the
36950         freed expression differs from the tested one in embedded white
36951         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
36952         $1 was used, so we can't make any regexp shy.  Improved tests now
36953         detect this.
36954
36955         useless-if-before-free: accept white space in the expression.
36956         * build-aux/useless-if-before-free: For now, any white space
36957         in the expression must be identical in the free argument.
36958
36959         useless-if-before-free: efficiency tweak
36960         * build-aux/useless-if-before-free: Make the expression-matching
36961         regexp "shy".
36962         Make the *outer* regexp shy, not the expr-matching one.
36963
36964         update code-in-comment to accept cast of free arg
36965         * build-aux/useless-if-before-free: Update regexp.
36966
36967 2008-05-25  Bruno Haible  <bruno@clisp.org>
36968
36969         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
36970         * modules/copy-file-tests (Files, Makefile.am): Update.
36971         * tests/test-copy-file.c (func_test_copy): Update.
36972
36973 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
36974
36975         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
36976
36977 2008-05-23  Bruno Haible  <bruno@clisp.org>
36978
36979         Improve support for ACLs on OSF/1.
36980         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
36981         Remove fallback for unknown flavors of ACLs.
36982
36983 2008-05-22  Bruno Haible  <bruno@clisp.org>
36984
36985         Add support for ACLs on OSF/1.
36986         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
36987         replacements.
36988         (acl_free_text): New macro fallback.
36989         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
36990         acl_free.
36991         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
36992         acl_free_text function. Require AC_C_INLINE.
36993
36994 2008-05-22  Bruno Haible  <bruno@clisp.org>
36995
36996         Make copy_acl work on MacOS X 10.5.
36997         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
36998         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
36999         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
37000         If MODE_INSIDE_ACL, don't assume that every system has the same text
37001         representation for ACLs as FreeBSD.
37002         * lib/copy-acl.c (copy_acl): Add support for platforms with
37003         !MODE_INSIDE_ACL.
37004         * lib/file-has-acl.c (file_has_acl): Likewise.
37005         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
37006         FreeBSD, MacOS X, or IRIX, respectively.
37007
37008 2008-05-22  Bruno Haible  <bruno@clisp.org>
37009
37010         * lib/acl.h: Don't include <sys/acl.h>.
37011         (GETACLCNT): Move fallback to lib/acl-internal.h.
37012         * lib/acl-internal.h: Include <sys/acl.h> here.
37013         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
37014
37015 2008-05-22  Bruno Haible  <bruno@clisp.org>
37016
37017         Split off copy_acl function to separate file.
37018         * lib/copy-acl.c: New file, extracted from lib/acl.c.
37019         * lib/acl.c (copy_acl): Moved function to separate file.
37020         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
37021         * modules/acl (Files): Add lib/copy-acl.c.
37022         (Makefiles.am): Augment lib_SOURCES.
37023
37024 2008-05-22  Bruno Haible  <bruno@clisp.org>
37025
37026         * modules/copy-file-tests: New file.
37027         * tests/test-copy-file.sh: New file.
37028         * tests/test-copy-file.c: New file.
37029         * tests/test-copy-file-sameacls.c: New file.
37030
37031 2008-05-22  Eric Blake  <ebb9@byu.net>
37032
37033         Avoid gcc warning.
37034         * tests/test-memcmp.c (main): Pass NULL indirectly.
37035
37036 2008-05-21  Bruno Haible  <bruno@clisp.org>
37037
37038         Add reference doc about ACLs.
37039         * doc/acl-resources.txt: New file.
37040         * doc/acl-cygwin.txt: New file.
37041
37042 2008-05-21  Bruno Haible  <bruno@clisp.org>
37043
37044         Avoid one more warning from gcc.
37045         * lib/vasnprintf.c (IF_LINT): Update comments.
37046         (VASNPRINTF): Use it also for the 'prefix' array initializer.
37047
37048 2008-05-21  Jim Meyering  <meyering@redhat.com>
37049
37050         avoid a warning from gcc
37051         * lib/vasnprintf.c (IF_LINT): Define.
37052         (scale10_round_decimal_long_double):
37053         Use it to avoid a "may be used uninitialized" warning.
37054         (scale10_round_decimal_double): Likewise.
37055
37056 2008-05-21  Simon Josefsson  <simon@josefsson.org>
37057
37058         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
37059         declared.
37060
37061 2008-05-20  Bruno Haible  <bruno@clisp.org>
37062
37063         * tests/test-memcmp.c (main): Test also the sign of the result. Test
37064         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
37065
37066 2008-05-20  Simon Josefsson  <simon@josefsson.org>
37067
37068         * modules/memcmp-tests: New file.
37069         * tests/test-memcmp.c: New file.
37070
37071 2008-05-19  Bruno Haible  <bruno@clisp.org>
37072
37073         * modules/propername (Notice, configure.ac): Put quoted "..." into
37074         --keyword option.
37075         * lib/propername.h: Update comments accordingly.
37076         Reported by Eric Blake.
37077
37078 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
37079
37080         * modules/getpass-gnu (Depends-on): Add fseeko.
37081
37082 2008-05-19  Simon Josefsson  <simon@josefsson.org>
37083
37084         * modules/base64-tests: New file.
37085
37086 2008-05-19  Bo Borgerson <gigabo@gmail.com>
37087
37088         * lib/base64.c (base64_decode_ctx): If a decode context structure
37089         was passed in use it to ignore newlines.  If a context structure
37090         was _not_ passed in, continue to treat newlines as garbage (this
37091         is the historical behavior).  Formerly base64_decode.
37092         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
37093         takes a decode context structure.
37094         * lib/base64.h (base64_decode): Macro for four-argument calls.
37095         (base64_decode_alloc): Likewise.
37096         * lib/base64.c (base64_decode_ctx): If a decode context structure
37097         was passed in use it to ignore newlines.  If a context structure
37098         was _not_ passed in, continue to treat newlines as garbage (this
37099         is the historical behavior).  Formerly base64_decode.
37100         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
37101         takes a decode context structure.
37102         * lib/base64.h (base64_decode): Macro for four-argument calls.
37103         (base64_decode_alloc): Likewise.
37104
37105 2008-05-19  Jim Meyering  <meyering@redhat.com>
37106
37107         avoid a warning from gcc
37108         * lib/trim.c (IF_LINT): Define.
37109         (trim2): Use it to avoid a "may be used uninitialized" warning.
37110
37111         Fix doc typo.
37112         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
37113
37114 2008-05-19  Bruno Haible  <bruno@clisp.org>
37115
37116         * doc/glibc-functions/getpass.texi: Document limits of other
37117         implementations.
37118
37119 2008-05-19  Simon Josefsson  <simon@josefsson.org>
37120             Bruno Haible <bruno@clisp.org>
37121
37122         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
37123
37124 2008-05-18  Bruno Haible  <bruno@clisp.org>
37125
37126         * modules/propername: New file, from GNU gettext.
37127         * lib/propername.h: New file, from GNU gettext.
37128         * lib/propername.c: New file, from GNU gettext.
37129         * MODULES.html.sh (Internationalization functions): Add propername.
37130
37131 2008-05-16  Jim Meyering  <meyering@redhat.com>
37132             Bruno Haible  <bruno@clisp.org>
37133
37134         Avoid some warnings from "gcc -Wshadow".
37135         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
37136
37137 2008-05-15  Eric Blake  <ebb9@byu.net>
37138
37139         Extend previous patch to cygwin 1.7.0.
37140         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
37141         fast implementation in cygwin >= 1.7.0.
37142         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
37143         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
37144
37145 2008-05-15  Bruno Haible  <bruno@clisp.org>
37146
37147         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
37148         implementation in glibc >= 2.9.
37149         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
37150         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
37151
37152 2008-05-15  Bruno Haible  <bruno@clisp.org>
37153
37154         * MODULES.html.sh (Internationalization functions): Remove linebreak.
37155         (Unicode string functions): Add unilbrk/*.
37156         Reported by Karl Berry.
37157
37158 2008-05-15  Eric Blake  <ebb9@byu.net>
37159
37160         Fix violation of <stdbool.h> replacement in regex.
37161         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
37162         * lib/regexec.c (re_search_internal): Likewise.
37163         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
37164
37165 2008-05-15  Jim Meyering  <meyering@redhat.com>
37166
37167         avoid distracting test output when git or cvs is not found
37168         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
37169         * tests/test-vc-list-files-git.sh: Likewise.
37170
37171 2008-05-15  Eric Blake  <ebb9@byu.net>
37172
37173         Glibc finally accepted the memmem speedup code, bugzilla #5514.
37174         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
37175         glibc version.
37176         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
37177         * doc/posix-functions/strstr.texi (strstr): Likewise.
37178         * lib/str-two-way.h (MAX): Sychronize with glibc.
37179
37180 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
37181
37182         * lib/regcomp.c (optimize_utf8): Add a note on why we test
37183         opr.ctx_type.
37184         (calc_first): Initialize constraint field.
37185         (duplicate_node_closure): Use it instead of special casing ANCHORS.
37186         Fix grammar.
37187         (duplicate_node): Merge constraint field for all node types.
37188         (calc_eclosure_iter): Look at constraint field for all node types.
37189         * lib/regex_internal.c (create_cd_newstate): Don't look at
37190         opr.ctx_type.
37191
37192 2008-05-14  Bruno Haible  <bruno@clisp.org>
37193
37194         Help GCC to do better code generation.
37195         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
37196         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
37197         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
37198         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
37199         Declare with attribute 'malloc' if supported.
37200
37201 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
37202
37203         use "echo STR|wc -c" rather than unportable "expr length STR"
37204         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
37205         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
37206
37207 2008-05-14  Jim Meyering  <meyering@redhat.com>
37208
37209         use dd ibs=$n count=1 ... rather than less-portable head -c$n
37210         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
37211         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
37212         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
37213         via Collin Lasse.
37214
37215 2008-05-14  Eric Blake  <ebb9@byu.net>
37216
37217         Avoid quadratic growth in gl_LIBSOURCES.
37218         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
37219         Suggested by Bruno Haible.
37220
37221         Test xmemdup0.
37222         * modules/xmemdup0-tests: New file.
37223         * tests/test-xmemdup0.c: Likewise.
37224
37225 2008-05-13  Eric Blake  <ebb9@byu.net>
37226
37227         Split xmemdup0 into its own module.
37228         * modules/xmemdup0: New file.
37229         * lib/xmemdup0.h: Likewise.
37230         * lib/xmemdup0.c: Likewise.
37231         * MODULES.html.sh (Memory management functions): Add xmemdup0.
37232         * lib/xalloc.h (xmemdup0): Remove.
37233         * lib/xmalloc.c (xmemdup0): Likewise.
37234
37235 2008-05-13  Eric Blake  <ebb9@byu.net>
37236             Bruno Haible  <bruno@clisp.org>
37237
37238         Reduce number of forks required during autoconf.
37239         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
37240         and gl_LIBSOURCES_DIR.
37241         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
37242         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
37243         m4_syscmd per file.
37244         <m4_foreach_w>: Move...
37245         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
37246
37247 2008-05-13  Eric Blake  <ebb9@byu.net>
37248
37249         * gnulib-tool: Fix various comment typos.
37250
37251 2008-05-12  Bruno Haible  <bruno@clisp.org>
37252
37253         Tailor the linebreaking algorithm.
37254         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
37255
37256 2008-05-12  Bruno Haible  <bruno@clisp.org>
37257
37258         Update to Unicode 5.0.0.
37259         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
37260         LBP_JV, LBP_JT. Redistribute values.
37261         (unilbrk_table): Change size.
37262         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
37263         Unicode TR#14 rev. 22.
37264         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
37265         LBP_JV, LBP_JT. Redistribute values.
37266         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
37267         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
37268         Update.
37269         * lib/unilbrk/lbrkprop1.h: Regenerated.
37270         * lib/unilbrk/lbrkprop2.h: Regenerated.
37271         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
37272         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
37273         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
37274         Likewise.
37275         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
37276         Likewise.
37277         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
37278         result.
37279         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
37280         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
37281         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
37282         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
37283         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
37284         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
37285
37286 2008-05-11  Bruno Haible  <bruno@clisp.org>
37287
37288         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
37289
37290 2008-05-11  Bruno Haible  <bruno@clisp.org>
37291
37292         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
37293         * modules/unilbrk/gen-lbrk: New file.
37294
37295 2008-05-11  Bruno Haible  <bruno@clisp.org>
37296
37297         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
37298         * m4/sha512.m4 (gl_SHA512): Likewise.
37299
37300 2008-05-11  Jim Meyering  <meyering@redhat.com>
37301
37302         New modules: crypto/sha256, crypto/sha512 (from coreutils)
37303         * modules/crypto/sha256: New file.
37304         * modules/crypto/sha512: Likewise.
37305         * lib/sha256.c: Likewise.
37306         * lib/sha256.h: Likewise.
37307         * lib/sha512.c: Likewise.
37308         * lib/sha512.h: Likewise.
37309         * lib/u64.h: Likewise.
37310         * m4/sha256.m4: Likewise.
37311         * m4/sha512.m4: Likewise.
37312         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
37313
37314 2008-05-10  Bruno Haible  <bruno@clisp.org>
37315
37316         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
37317         (Input/Output <stdio.h>): Add xprintf.
37318         (Signal handling <signal.h>): Add strsignal.
37319         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
37320         (Core language properties): Add func.
37321         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
37322         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
37323         strings.
37324         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
37325         (Input/output): New section.
37326         (File system functions): Add openat-die, stat-macros.
37327         (Networking functions): Add sockets.
37328         (Unicode string functions): Add unictype/*.
37329         (Support for building libraries and executables): Add gperf.
37330         (Support for building documentation): Add agpl-3.0.
37331         (Misc): Add nocrash.
37332
37333 2008-05-10  Bruno Haible  <bruno@clisp.org>
37334
37335         * modules/unictype/gen-ctype: New file.
37336
37337 2008-05-10  Jim Meyering  <meyering@redhat.com>
37338
37339         Make chdir-safer.c more efficient on a system with no symlinks.
37340         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
37341         also if ELOOP is zero.  Suggested by Bruno Haible.
37342
37343         Make chdir-safer.c slightly safer.
37344         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
37345         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
37346
37347         Avoid compile failure on systems without ELOOP (like mingw).
37348         * lib/chdir-safer.c (ELOOP): Define if not already defined.
37349         Reported by Bruno Haible.
37350
37351 2008-05-10  Bruno Haible  <bruno@clisp.org>
37352
37353         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
37354         (is_utf8_encoding): Use a case-insensitive comparison.
37355         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
37356         streq.
37357
37358 2008-05-10  Bruno Haible  <bruno@clisp.org>
37359
37360         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
37361         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
37362         * lib/unilbrk/ulc-common.h (iconv_string_length,
37363         iconv_string_keeping_offsets): Remove declarations.
37364         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
37365         Don't include <iconv.h>, streq.h, xsize.h.
37366         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
37367         conversion.
37368         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
37369         <iconv.h>, streq.h, xsize.h.
37370         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
37371         conversion.
37372         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
37373         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
37374         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
37375         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
37376
37377 2008-05-10  Bruno Haible  <bruno@clisp.org>
37378
37379         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
37380         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
37381
37382         * modules/unilbrk/u32-width-linebreaks-tests: New file.
37383         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
37384
37385         * modules/unilbrk/u16-width-linebreaks-tests: New file.
37386         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
37387
37388         * modules/unilbrk/u8-width-linebreaks-tests: New file.
37389         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
37390
37391         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
37392         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
37393
37394         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
37395         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
37396
37397         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
37398         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
37399
37400         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
37401         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
37402
37403 2008-05-10  Bruno Haible  <bruno@clisp.org>
37404
37405         Split up 'linebreak' module.
37406         * lib/unilbrk.h: New file, based on lib/linebreak.h.
37407         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
37408         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
37409         modifications.
37410         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
37411         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
37412         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
37413         lib/linebreak.c.
37414         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
37415         lib/linebreak.c.
37416         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
37417         lib/linebreak.c.
37418         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
37419         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
37420         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
37421         lib/linebreak.c.
37422         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
37423         lib/linebreak.c.
37424         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
37425         lib/linebreak.c.
37426         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
37427         lib/linebreak.c.
37428         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
37429         lib/linebreak.c.
37430         * modules/unilbrk/base: New file.
37431         * modules/unilbrk/tables: New file.
37432         * modules/unilbrk/u8-possible-linebreaks: New file.
37433         * modules/unilbrk/u16-possible-linebreaks: New file.
37434         * modules/unilbrk/u32-possible-linebreaks: New file.
37435         * modules/unilbrk/ulc-common: New file.
37436         * modules/unilbrk/ulc-possible-linebreaks: New file.
37437         * modules/unilbrk/u8-width-linebreaks: New file.
37438         * modules/unilbrk/u16-width-linebreaks: New file.
37439         * modules/unilbrk/u32-width-linebreaks: New file.
37440         * modules/unilbrk/ulc-width-linebreaks: New file.
37441         * lib/linebreak.h: Remove file.
37442         * lib/linebreak.c: Remove file.
37443         * m4/linebreak.m4: Remove file.
37444         * modules/linebreak: Remove file.
37445         * NEWS: Mention the changes.
37446
37447 2008-05-09  Eric Blake  <ebb9@byu.net>
37448
37449         Add xmemdup0.
37450         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
37451         implementation.
37452         * lib/xmalloc.c (xmemdup0): New C implementation.
37453
37454 2008-05-08  Bruno Haible  <bruno@clisp.org>
37455
37456         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
37457
37458 2008-05-07  Eric Blake  <ebb9@byu.net>
37459
37460         Support cross-compilation of <wctype.h>.
37461         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
37462         AC_CACHE_CHECK.
37463
37464 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
37465
37466         * build-aux/vc-list-files: Add support for bzr.
37467
37468 2008-05-03  Jim Meyering  <meyering@redhat.com>
37469
37470         avoid failed assertion with tight malloc
37471         * tests/test-getndelim2.c: Correct an off-by-one assertion.
37472
37473 2008-05-03  Simon Josefsson  <simon@josefsson.org>
37474
37475         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
37476         are needed from arpa/inet.h.
37477         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
37478         Reported by Bruno Haible.
37479
37480 2008-05-02  Jim Meyering  <meyering@redhat.com>
37481
37482         avoid compilation error on FreeBSD 6
37483         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
37484
37485 2008-05-01  Jim Meyering  <meyering@redhat.com>
37486
37487         useless-if-before-free: correct --help's exit status description
37488         * build-aux/useless-if-before-free (usage): Like grep, exit 0
37489         for one or more matches, etc.  Reported by Bruno Haible.
37490
37491         vc-list-files: make the stand-alone gnulib test work
37492         * modules/vc-list-files-tests (configure.ac):
37493         Define and AC_SUBST abs_aux_dir.
37494         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
37495         $(abs_top_srcdir) to each script and having each of them
37496         duplicate the work of setting PATH, set PATH here, using
37497         the new variable, abs_aux_dir instead.
37498         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
37499         * tests/test-vc-list-files-git.sh: Likewise.
37500         Reported by Bruno Haible.
37501
37502 2008-05-01  Bruno Haible  <bruno@clisp.org>
37503
37504         * lib/getndelim2.c (getndelim2): Fix newsize computation during
37505         reallocation. Rename 'done' to 'found_delimiter'.
37506
37507 2008-05-01  Jim Meyering  <meyering@redhat.com>
37508
37509         vc-list-files: accommodate /bin/sh like the one from Solaris 10
37510         * build-aux/vc-list-files: Use `...`, not $(...).
37511
37512 2008-04-30  Jim Meyering  <meyering@redhat.com>
37513
37514         add tests for vc-list-files
37515         * modules/vc-list-files-tests: New module.
37516         * tests/test-vc-list-files-cvs.sh: New file.
37517         * tests/test-vc-list-files-git.sh: New file.
37518
37519         avoid a warning from gcc
37520         * lib/getndelim2.c (IF_LINT): Define.
37521         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
37522
37523         vc-list-files: work properly with build-aux/cvsu, too
37524         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
37525         to all cvs-based clauses.
37526
37527         vc-list-files: work properly in the CVS+awk case, too
37528         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
37529
37530         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
37531         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
37532         take more than one file argument, so .  Add quotes, just in case $dir
37533         ever contains a shell meta-character.  Prompted by Soren Hansen in
37534         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
37535
37536 2008-04-29  Eric Blake  <ebb9@byu.net>
37537
37538         Optimize getndelim2 to use block operations when possible.
37539         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
37540         freadseek, and memchr2.
37541         * lib/getndelim2.c (getndelim2): Use them for block reads.
37542
37543 2008-04-29  Bruno Haible  <bruno@clisp.org>
37544
37545         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
37546         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
37547         * modules/inet_ntop (Depends-on): Add extensions.
37548         * modules/inet_pton (Depends-on): Likewise.
37549         Reported by Simon Josefsson.
37550
37551 2008-04-29  Jim Meyering  <meyering@redhat.com>
37552
37553         When the is more than one match in a block, match all of them.
37554         * build-aux/useless-if-before-free: Iterate through each block
37555         until there are no more matches.
37556
37557         Fix broken useless-if-before-free script.
37558         * build-aux/useless-if-before-free: Fix typo: missing "?" after
37559         the expression to match cast of argument to free-like function.
37560
37561 2008-04-29  Eric Blake  <ebb9@byu.net>
37562
37563         Use new header.
37564         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
37565
37566 2008-04-29  Jim Meyering  <meyering@redhat.com>
37567
37568         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
37569         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
37570         by gnulib to exist and to declare e.g., inet_ntop.
37571         Don't include "inet_ntop.h", now removed.
37572
37573         * m4/arpa_inet_h.m4: Remove trailing blanks.
37574
37575 2008-04-29  Eric Blake  <ebb9@byu.net>
37576
37577         Silence valgrind on safe reads beyond potential array bounds.
37578         * lib/rawmemchr.valgrind: New file.
37579         * lib/strchrnul.valgrind: Likewise.
37580         * modules/rawmemchr (Files): Distribute new file.
37581         * modules/strchrnul (Files): Likewise.
37582         Suggested by Bruno Haible.
37583
37584 2008-04-29  Bruno Haible  <bruno@clisp.org>
37585
37586         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
37587         (inet_ntop, inet_pton): Change portability warning's wording.
37588         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
37589         Invoke gl_CHECK_NEXT_HEADERS.
37590         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
37591         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
37592         set ARPA_INET_H.
37593         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
37594         * modules/arpa_inet (Description): No longer only for systems that
37595         lack it.
37596         (Depends-on): Add include_next.
37597         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
37598         HAVE_ARPA_INET_H.
37599
37600 2008-04-29  Jim Meyering  <meyering@redhat.com>
37601
37602         * modules/mkdir (License): Re-license as LGPLv2+.
37603
37604 2008-04-29  Bruno Haible  <bruno@clisp.org>
37605
37606         * modules/rawmemchr (Maintainer): Set to Eric.
37607         * modules/strchrnul (Maintainer): Likewise.
37608
37609 2008-04-29  Simon Josefsson  <simon@josefsson.org>
37610
37611         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
37612         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
37613
37614         * modules/arpa_inet (arpa/inet.h): Use them.
37615
37616 2008-04-28  Eric Blake  <ebb9@byu.net>
37617
37618         Test getndelim2.
37619         * modules/getndelim2-tests: New file.
37620         * tests/test-getndelim2.c: Likewise.
37621         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
37622         stream.
37623         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
37624
37625         * MODULES.html.sh: Document new module.
37626
37627 2008-04-20  Bruno Haible  <bruno@clisp.org>
37628
37629         * lib/c-stack.c (die): Use raise.
37630         * modules/c-stack (Depends-on): Add raise.
37631
37632 2008-04-28  Bruno Haible  <bruno@clisp.org>
37633
37634         Expect rpmatch to be declared.
37635         * lib/yesno.c (rpmatch): Remove declaration.
37636
37637         Declare rpmatch.
37638         * lib/stdlib.in.h (rpmatch): New declaration.
37639         * lib/rpmatch.c: Include <stdlib.h> first.
37640         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
37641         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
37642         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
37643         HAVE_RPMATCH.
37644         * modules/rpmatch (Depends-on): Add stdlib, extensions.
37645         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
37646         (Include): Set to <stdlib.h>.
37647         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
37648         HAVE_RPMATCH.
37649         * NEWS: Document the change.
37650
37651 2008-04-28  Bruno Haible  <bruno@clisp.org>
37652
37653         Change rpmatch to use nl_langinfo when appropriate.
37654         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
37655         (N_): New macro.
37656         (localized_pattern): New function/macro.
37657         (try): Remove match, nomatch arguments. Copy the pattern into safe
37658         memory before caching it.
37659         (rpmatch): Use localized_pattern. Add translator comments.
37660         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
37661         Suggested by Eric Blake.
37662         * modules/rpmatch (Depends-on): Add stdbool.
37663
37664 2008-04-28  Eric Blake  <ebb9@byu.net>
37665
37666         Add rawmemchr module, matching glibc.
37667         * modules/string (Makefile.am): New indicator.
37668         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
37669         * lib/string.in.h (rawmemchr): Declare when appropriate.
37670         * modules/rawmemchr: New file.
37671         * m4/rawmemchr.m4: Likewise.
37672         * lib/rawmemchr.c: Likewise.
37673         * modules/rawmemchr-tests: Likewise.
37674         * tests/test-rawmemchr.c: Likewise.
37675         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
37676         module.
37677         * modules/strchrnul (Depends-on): Add rawmemchr.
37678         * lib/strchrnul.c (strchrnul): Optimize a corner case.
37679
37680         Whitespace cleanup.
37681         * tests/test-strchrnul.c: Reindent.
37682         * lib/strchrnul.c: Likewise.
37683
37684         Optimize and test strchrnul.
37685         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
37686         * modules/strchrnul-tests: New file.
37687         * tests/test-strchrnul.c: Likewise.
37688
37689         Remove intprops dependency.
37690         * modules/memchr (Depends-on): Remove intprops.
37691         * modules/memrchr (Depends-on): Likewise.
37692         * modules/memchr2 (Depends-on): Likewise.
37693         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
37694         * lib/memrchr.c (__memrchr): Likewise.
37695         * lib/memrchr2.c (memchr2): Likewise.
37696         Reported by Simon Josefsson.
37697
37698 2008-04-28  Simon Josefsson  <simon@josefsson.org>
37699
37700         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
37701         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37702
37703 2008-04-28  Simon Josefsson  <simon@josefsson.org>
37704
37705         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
37706
37707         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
37708
37709         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
37710
37711         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
37712         declarations.
37713         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
37714
37715         * m4/inet_pton.m4: Don't check for header files.
37716
37717         * m4/inet_ntop.m4: Don't check for header files.
37718
37719 2008-04-28  Simon Josefsson  <simon@josefsson.org>
37720
37721         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
37722         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
37723         trigger for cygwin).
37724         Reported by Bruno Haible  <bruno@clisp.org>.
37725
37726 2008-04-28  Bruno Haible  <bruno@clisp.org>
37727
37728         * doc/posix-functions/strdup.texi: Mention mingw problem.
37729
37730 2008-04-27  Bruno Haible  <bruno@clisp.org>
37731
37732         * modules/stat-time-tests (Depends-on): Add sleep.
37733         * tests/test-stat-time.c (force_unlink): New function.
37734         (cleanup): Use it.
37735         (test_mtime): Remove the ctime related tests.
37736         (test_ctime): New function, containing the ctime related tests.
37737         (main): Call test_ctime, except on native Windows platforms.
37738
37739 2008-04-27  Bruno Haible  <bruno@clisp.org>
37740
37741         * lib/rpmatch.c (rpmatch): Add some comments.
37742         Reported by James Youngman <jay@gnu.org>.
37743
37744 2008-04-27  Bruno Haible  <bruno@clisp.org>
37745
37746         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
37747         quiet NaNs.
37748
37749 2008-04-27  Bruno Haible  <bruno@clisp.org>
37750
37751         Make test-yesno.sh work on mingw.
37752         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
37753         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
37754         (main): Set stdin to binary mode.
37755         * modules/yesno-tests (Depends-on): Add binary-io.
37756
37757 2008-04-27  Bruno Haible  <bruno@clisp.org>
37758
37759         Fix 'isfinite' on x86, x86_64, ia64 platforms.
37760         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
37761         argument that lie outside the IEEE 854 domain.
37762         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
37763         (gl_ISFINITE): Use it.
37764         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
37765
37766 2008-04-27  Bruno Haible  <bruno@clisp.org>
37767
37768         Allow local renaming in config.h.
37769         * lib/memrchr.c (memrchr): Don't undefine outside libc.
37770
37771 2008-04-27  Bruno Haible  <bruno@clisp.org>
37772
37773         * lib/memchr.c (__memchr): Change type of 'i'.
37774         * lib/memchr2.c (memchr2): Likewise.
37775
37776 2008-04-26  Eric Blake  <ebb9@byu.net>
37777         and Bruno Haible  <bruno@clisp.org>
37778
37779         Optimize and test memrchr.
37780         * modules/memrchr (Depends-on): Add intprops.
37781         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
37782         * modules/memrchr-tests: New file.
37783         * tests/test-memrchr.c: New file.
37784
37785 2008-04-26  Bruno Haible  <bruno@clisp.org>
37786
37787         Add tentative support for DragonFly BSD.
37788         * lib/stdio-impl.h: Add macros for DragonFly BSD.
37789         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
37790         fp.
37791         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
37792         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
37793         * lib/fpurge.c (fpurge): Likewise.
37794         * lib/freadable.c (freaadable): Likewise.
37795         * lib/freadahead.c (freadahead): Likewise.
37796         * lib/freading.c (freading): Likewise.
37797         * lib/freadptr.c (freadptr): Likewise.
37798         * lib/freadseek.c (freadptrinc): Likewise.
37799         * lib/fseeko.c (fseeko): Likewise.
37800         * lib/fseterr.c (fseterr): Likewise.
37801         * lib/fwritable.c (fwritable): Likewise.
37802         * lib/fwriting.c (fwriting): Likewise.
37803
37804 2008-04-26  Bruno Haible  <bruno@clisp.org>
37805
37806         * lib/stdio-impl.h: New file.
37807         * lib/fbufmode.c: Include stdio-impl.h.
37808         (fbufmode): Use fp_, remove redundant #defines.
37809         * lib/fflush.c: Include stdio-impl.h.
37810         (clear_ungetc_buffer): Remove redundant #defines.
37811         * lib/fpurge.c: Include stdio-impl.h.
37812         (fpurge): Remove redundant #defines.
37813         * lib/freadable.c: Include stdio-impl.h.
37814         (freadable): Remove redundant #defines.
37815         * lib/freadahead.c: Include stdio-impl.h.
37816         (freadahead): Remove redundant #defines.
37817         * lib/freading.c: Include stdio-impl.h.
37818         (freading): Remove redundant #defines.
37819         * lib/freadptr.c: Include stdio-impl.h.
37820         (freadptr): Remove redundant #defines.
37821         * lib/freadseek.c: Include stdio-impl.h.
37822         (freadptrinc): Remove redundant #defines.
37823         * lib/fseeko.c: Include stdio-impl.h.
37824         (rpl_fseeko): Remove redundant #defines.
37825         * lib/fseterr.c: Include stdio-impl.h.
37826         (fseterr): Remove redundant #defines.
37827         * lib/fwritable.c: Include stdio-impl.h.
37828         (fwritable: Remove redundant #defines.
37829         * lib/fwriting.c: Include stdio-impl.h.
37830         (fwriting): Remove redundant #defines.
37831         * modules/fbufmode (Files): Add lib/stdio-impl.h.
37832         * modules/fflush (Files): Likewise.
37833         * modules/fpurge (Files): Likewise.
37834         * modules/freadable (Files): Likewise.
37835         * modules/freadahead (Files): Likewise.
37836         * modules/freading (Files): Likewise.
37837         * modules/freadptr (Files): Likewise.
37838         * modules/freadseek (Files): Likewise.
37839         * modules/fseeko (Files): Likewise.
37840         * modules/fseterr (Files): Likewise.
37841         * modules/fwritable (Files): Likewise.
37842         * modules/fwriting (Files): Likewise.
37843
37844 2008-04-26  Bruno Haible  <bruno@clisp.org>
37845
37846         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
37847         restore_seek_optimization, update_fpos_cache): New functions, extracted
37848         from rpl_fflush.
37849         (rpl_fflush): Use them.
37850         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
37851         (gl_REPLACE_FFLUSH): Use it.
37852
37853 2008-04-26  Bruno Haible  <bruno@clisp.org>
37854
37855         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
37856         on Solaris.
37857         * tests/test-xstrtoimax.sh: Likewise.
37858         * tests/test-xstrtoumax.sh: Likewise.
37859         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37860
37861 2008-04-26  Bruno Haible  <bruno@clisp.org>
37862
37863         * modules/memchr-tests: New file.
37864         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
37865
37866 2008-04-26  Eric Blake  <ebb9@byu.net>
37867             Bruno Haible  <bruno@clisp.org>
37868
37869         * lib/memchr.c: Include intprops.h.
37870         (__memchr): Optimize parallel detection of matching bytes. Rename local
37871         variables. Add explanatory comments.
37872
37873 2008-04-26  Bruno Haible  <bruno@clisp.org>
37874
37875         Fix module 'memchr', broken since 2000-10-28.
37876         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
37877
37878 2008-04-26  Bruno Haible  <bruno@clisp.org>
37879
37880         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
37881         comments.
37882
37883 2008-04-25  Eric Blake  <ebb9@byu.net>
37884
37885         Use native fstatat on cygwin 1.7.0.
37886         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
37887         first.
37888
37889 2008-04-23  Eric Blake  <ebb9@byu.net>
37890
37891         Improve memchr2 performance.
37892         * lib/memchr2.c (memchr2): Further optimize parallel detection of
37893         NUL bytes.
37894         * modules/memchr2 (Depends-on): Use intprops.h.
37895
37896 2008-04-23  Simon Josefsson  <simon@josefsson.org>
37897
37898         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
37899         an inline function instead of a CPP macro.  Patch by Ben Pfaff
37900         <blp@cs.stanford.edu>.
37901
37902 2008-04-23  Simon Josefsson  <simon@josefsson.org>
37903
37904         * lib/arpa_inet.in.h: New file.
37905
37906         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
37907         (Makefile.am): Sed in substitute header file.
37908
37909         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
37910         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
37911
37912         * modules/inet_ntop (configure.ac): Use
37913         gl_ARPA_INET_MODULE_INDICATOR.
37914
37915         * modules/inet_pton (configure.ac): Use
37916         gl_ARPA_INET_MODULE_INDICATOR.
37917
37918 2008-04-22  Jim Meyering  <meyering@redhat.com>
37919
37920         * modules/verify (License): Re-license as LGPLv2+.
37921
37922 2008-04-22  Simon Josefsson  <simon@josefsson.org>
37923
37924         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
37925         parameter to void* as per POSIX standard (MinGW uses char*).
37926
37927 2008-04-21  Bruno Haible  <bruno@clisp.org>
37928
37929         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
37930         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
37931         Define to replacements if REPLACE_ISWCNTRL is 1.
37932         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
37933         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
37934         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
37935         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
37936         what it fixes.
37937         * doc/posix-functions/iswalpha.texi: Likewise.
37938         * doc/posix-functions/iswblank.texi: Likewise.
37939         * doc/posix-functions/iswcntrl.texi: Likewise.
37940         * doc/posix-functions/iswdigit.texi: Likewise.
37941         * doc/posix-functions/iswgraph.texi: Likewise.
37942         * doc/posix-functions/iswlower.texi: Likewise.
37943         * doc/posix-functions/iswprint.texi: Likewise.
37944         * doc/posix-functions/iswpunct.texi: Likewise.
37945         * doc/posix-functions/iswspace.texi: Likewise.
37946         * doc/posix-functions/iswupper.texi: Likewise.
37947         * doc/posix-functions/iswxdigit.texi: Likewise.
37948         Reported by Alain Guibert.
37949
37950 2008-04-21  Bruno Haible  <bruno@clisp.org>
37951
37952         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
37953         Patch by Alain Guibert.
37954
37955 2008-04-21  Bruno Haible  <bruno@clisp.org>
37956
37957         Fix test failures on mingw.
37958         * tests/test-xstrtol.c (print_no_progname): New function.
37959         (main): Install it in error_print_progname hook.
37960         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
37961         * tests/test-xstrtoimax.sh: Likewise.
37962         * tests/test-xstrtoumax.sh: Likewise.
37963
37964 2008-04-21  Bruno Haible  <bruno@clisp.org>
37965
37966         Fix test failure on mingw.
37967         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
37968
37969 2008-04-21  Bruno Haible  <bruno@clisp.org>
37970
37971         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
37972         Actually assign a value.
37973
37974 2008-04-20  Bruno Haible  <bruno@clisp.org>
37975
37976         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
37977         take 2.
37978         * lib/canonicalize.c (canonicalize_file_name): Elide if the
37979         'canonicalize-lgpl' module is also used.
37980         * lib/canonicalize-lgpl.c: Undo last change.
37981         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
37982
37983 2008-04-20  Bruno Haible  <bruno@clisp.org>
37984
37985         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
37986         config.h. Provide _mkdir based fallback for mingw.
37987         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
37988         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
37989         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
37990         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
37991         rather than defining mkdir in config.h.
37992         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
37993         (gl_SYS_STAT_H_DEFAULTS): New macro.
37994         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
37995         HAVE_IO_H any more.
37996         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
37997         HAVE_DECL_MKDIR and HAVE_IO_H.
37998
37999 2008-04-20  Bruno Haible  <bruno@clisp.org>
38000
38001         * lib/isapipe.c: Port to native Windows platforms.
38002
38003 2008-04-20  Bruno Haible  <bruno@clisp.org>
38004
38005         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
38006
38007 2008-04-21  Eric Blake  <ebb9@byu.net>
38008
38009         Work around preprocessors that don't handle UINTMAX_MAX.
38010         * lib/memchr2.c (memchr2): Avoid embedded #if.
38011         Reported by Alain Guibert, fix suggested by Bruno Haible.
38012
38013 2008-04-21  Simon Josefsson  <simon@josefsson.org>
38014
38015         * doc/posix-functions/strftime.texi (strftime): Explain better
38016         Windows incompatibility.  Suggested by Micah Cowan
38017         <micah@cowan.name>.
38018
38019 2008-04-20  Bruno Haible  <bruno@clisp.org>
38020
38021         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
38022         unistr/u8-mblen.
38023
38024 2008-04-20  Bruno Haible  <bruno@clisp.org>
38025
38026         Fix test failure on platforms with non-GNU iconv.
38027         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
38028         (U_TO_U8): Use it, rather than u16_to_u8.
38029         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
38030         units at the end of the input string.
38031         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
38032
38033 2008-04-20  Bruno Haible  <bruno@clisp.org>
38034
38035         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
38036         when the resulting length is 0.
38037         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
38038
38039 2008-04-20  Bruno Haible  <bruno@clisp.org>
38040
38041         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
38042         works.
38043         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
38044
38045 2008-04-20  Bruno Haible  <bruno@clisp.org>
38046
38047         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
38048         * modules/tsearch-tests (configure.ac): Test for initstate function.
38049
38050 2008-04-20  Bruno Haible  <bruno@clisp.org>
38051
38052         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
38053         for nlink_t if missing.
38054         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
38055
38056 2008-04-19  Bruno Haible  <bruno@clisp.org>
38057
38058         Work around snprintf bug on Linux libc5.
38059         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
38060         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
38061         gl_SNPRINTF_SIZE1.
38062         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38063         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
38064         that test failed.
38065         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
38066         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
38067         * modules/snprintf (Files): Add m4/printf.m4.
38068         * modules/vsnprintf (Files): Likewise.
38069         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
38070         * doc/posix-functions/vsnprintf.texi: Likewise.
38071
38072 2008-04-19  Bruno Haible  <bruno@clisp.org>
38073
38074         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
38075         from 0.0058 to less than 10^-7.
38076
38077 2008-04-19  Bruno Haible  <bruno@clisp.org>
38078
38079         Fix rounding when a precision is given.
38080         * lib/vasnprintf.c (is_borderline): New function.
38081         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
38082         9...9x.
38083         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
38084         %e, %g.
38085         * tests/test-vasprintf-posix.c (test_function): Likewise.
38086         * tests/test-snprintf-posix.h (test_function): Likewise.
38087         * tests/test-sprintf-posix.h (test_function): Likewise.
38088         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
38089         * tests/test-printf-posix.h (test_function): Likewise.
38090         * tests/test-printf-posix.output: Update.
38091         Reported by John Darrington <john@darrington.wattle.id.au> via
38092         Ben Pfaff <blp@cs.stanford.edu>.
38093
38094 2008-04-18  Simon Josefsson  <simon@josefsson.org>
38095
38096         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
38097         Suggested by Bruno Haible <bruno@clisp.org>.
38098
38099 2008-04-17  Bruno Haible  <bruno@clisp.org>
38100
38101         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
38102         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
38103         implementation.
38104         Patch by Bruce Merry <bmerry@gmail.com>.
38105
38106 2008-04-17  Simon Josefsson  <simon@josefsson.org>
38107
38108         * doc/posix-functions/strftime.texi (strftime): Mention that %e
38109         doesn't work under Windows.
38110
38111 2008-04-16  Bruno Haible  <bruno@clisp.org>
38112
38113         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
38114         New macros.
38115         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
38116         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
38117         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
38118         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
38119         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
38120         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
38121         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
38122         macros.
38123         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
38124         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
38125         Northern Sotho, Uighur.
38126
38127 2008-04-16  Bruno Haible  <bruno@clisp.org>
38128
38129         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
38130         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
38131         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
38132         Reported by Daniel Bergström <daniel@octocode.com>.
38133
38134 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
38135             Bruno Haible  <bruno@clisp.org>
38136
38137         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
38138         function.
38139         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
38140         New functions, mostly extracted from gl_locale_name_default.
38141         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
38142
38143 2008-04-16  Eric Blake  <ebb9@byu.net>
38144
38145         Adjust strtod detection to catch glibc 2.7 bug.
38146         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
38147         Reported by John Gatewood Ham.
38148
38149 2008-04-16  Bruno Haible  <bruno@clisp.org>
38150
38151         Add tentative support for Linux libc5.
38152         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
38153         * lib/fpurge.c (fpurge): Likewise.
38154         * lib/freadable.c (freadable): Likewise.
38155         * lib/freadahead.c (freadahead): Likewise.
38156         * lib/freading.c (freading): Likewise.
38157         * lib/freadptr.c (freadptr): Likewise.
38158         * lib/freadseek.c (freadptrinc): Likewise.
38159         * lib/fseeko.c (rpl_fseeko): Likewise.
38160         * lib/fseterr.c (fseterr): Likewise.
38161         * lib/fwritable.c (fwritable): Likewise.
38162         * lib/fwriting.c (fwriting): Likewise.
38163         Reported by Alain Guibert <alguibert+bts@free.fr>.
38164
38165 2008-04-15  Bruno Haible  <bruno@clisp.org>
38166
38167         * modules/mathl (configure.ac): Define module indicator.
38168
38169 2008-04-15  Bruno Haible  <bruno@clisp.org>
38170
38171         * lib/logl.c (logl): Remove unused variables.
38172
38173 2008-04-15  Bruno Haible  <bruno@clisp.org>
38174
38175         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
38176         fails.
38177
38178 2008-04-15  Bruno Haible  <bruno@clisp.org>
38179
38180         * lib/trim.c (trim2): Fix argument of isspace() macro.
38181
38182 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
38183
38184         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
38185         to 0.
38186         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
38187
38188 2008-04-14  Bruno Haible  <bruno@clisp.org>
38189
38190         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
38191         AC_LANG_PROGRAM argument.
38192         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
38193         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
38194         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
38195         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
38196         * m4/math_h.m4 (gl_MATH_H): Likewise.
38197         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
38198         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
38199         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
38200         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
38201         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
38202         * m4/regex.m4 (gl_REGEX): Likewise.
38203         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
38204         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
38205         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
38206         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
38207         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
38208         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
38209         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
38210         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
38211
38212 2008-04-14  Jim Meyering  <meyering@redhat.com>
38213
38214         test-strtod: fix typos: s/abs/fabs/
38215         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
38216
38217 2008-04-13  Bruno Haible  <bruno@clisp.org>
38218
38219         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
38220         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
38221         module is also used and while not building the reloc-wrapper.
38222
38223 2008-04-13  Bruno Haible  <bruno@clisp.org>
38224
38225         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
38226
38227 2008-04-13  Bruno Haible  <bruno@clisp.org>
38228
38229         Fix AIX compilation failure introduced on 2008-04-02.
38230         * tests/test-frexp.c (exp): Undefine before redefining.
38231         * tests/test-frexpl.c (exp): Likewise.
38232
38233 2008-04-13  Bruno Haible  <bruno@clisp.org>
38234
38235         Work around a HP-UX stdio bug.
38236         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
38237         * tests/test-ftello.c (main): Likewise.
38238         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
38239         * doc/posix-functions/ftello.texi: Likewise.
38240
38241 2008-04-13  Bruno Haible  <bruno@clisp.org>
38242
38243         Make test-signbit pass on HP-UX/hppa.
38244         * tests/test-signbit.c (minus_zerol): New variable.
38245         (test_signbitl): Use it.
38246
38247 2008-04-13  Bruno Haible  <bruno@clisp.org>
38248
38249         Make truncl work on OSF/1 4.0.
38250         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
38251         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
38252         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
38253         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
38254         HAVE_DECL_TRUNCL.
38255         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
38256         HAVE_DECL_TRUNCL.
38257         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
38258
38259 2008-04-13  Bruno Haible  <bruno@clisp.org>
38260
38261         * lib/unictype.h: Remove trailing comma from enumeration definitions.
38262
38263 2008-04-13  Bruno Haible  <bruno@clisp.org>
38264
38265         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
38266         expression, so as to avoid HP-UX 11 cc compiler bug.
38267
38268 2008-04-13  Bruno Haible  <bruno@clisp.org>
38269
38270         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
38271
38272 2008-04-13  Bruno Haible  <bruno@clisp.org>
38273
38274         * lib/git-merge-changelog.c: Remove empty declaration outside of
38275         functions.
38276
38277 2008-04-13  Bruno Haible  <bruno@clisp.org>
38278
38279         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
38280
38281 2008-04-13  Bruno Haible  <bruno@clisp.org>
38282
38283         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
38284         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
38285         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
38286         also if it exists but lacks definitions of the SHUT_* macros.
38287         * modules/sys_socket (Description): Update.
38288         Reported by Elbert Pol <e.pol@chello.nl>.
38289
38290 2008-04-13  Bruno Haible  <bruno@clisp.org>
38291
38292         * lib/localcharset.c (OS2): Don't redefine if already defined.
38293         Reported by Elbert Pol <e.pol@chello.nl>.
38294
38295 2008-04-13  Bruno Haible  <bruno@clisp.org>
38296
38297         * lib/binary-io.h [__EMX__]: Include <io.h>.
38298         Reported by Elbert Pol <e.pol@chello.nl>.
38299
38300 2008-04-12  Bruno Haible  <bruno@clisp.org>
38301
38302         * lib/fpucw.h: Enable the definitions also for x86_64.
38303         Needed for NetBSD/x86_64.
38304         Reported by Thomas Klausner <tk@giga.or.at>.
38305
38306 2008-04-12  Bruno Haible  <bruno@clisp.org>
38307
38308         * tests/test-strtod.c: Include isnand.h.
38309         (main): Use isnand instead of isnan.
38310         Reported by Jim Meyering.
38311
38312 2008-04-12  Bruno Haible  <bruno@clisp.org>
38313
38314         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
38315         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
38316
38317 2008-04-12  Jim Meyering  <meyering@redhat.com>
38318
38319         * m4/math_h.m4 (gl_MATH_H): Fix typos.
38320
38321 2008-04-12  Bruno Haible  <bruno@clisp.org>
38322
38323         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
38324         Reported by Elbert Pol <e.pol@chello.nl>.
38325
38326 2008-04-12  Eric Blake  <ebb9@byu.net>
38327
38328         Work around Solaris 10 math.h bug.
38329         * m4/math_h.m4 (gl_MATH_H): Check for bug.
38330         (gl_MATH_H_DEFAULTS): Set up default.
38331         * modules/math (Makefile.am): Replace new indicators.
38332         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
38333         * tests/test-math.c (main): Test this.
38334         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
38335         * doc/posix-headers/math.texi (math.h): Mention bug.
38336         Reported by Nelson H. F. Beebe and Jim Meyering.
38337
38338 2008-04-11  Bruno Haible  <bruno@clisp.org>
38339
38340         Adapt to future versions of Apple GCC.
38341         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
38342         Reported by Peter O'Gorman <peter@pogma.com>.
38343
38344 2008-04-11  Bruno Haible  <bruno@clisp.org>
38345
38346         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
38347
38348 2008-04-11  Bruno Haible  <bruno@clisp.org>
38349
38350         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
38351
38352         * modules/getaddrinfo-tests (Makefile.am): Define
38353         test_getaddrinfo_LDADD.
38354
38355 2008-04-11  Bruno Haible  <bruno@clisp.org>
38356
38357         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
38358         (init): Fix syntax error.
38359         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
38360         is declared.
38361
38362 2008-04-11  Bruno Haible  <bruno@clisp.org>
38363
38364         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
38365         * modules/glob (Depends-on): Add stdbool.
38366
38367 2008-04-11  Bruno Haible  <bruno@clisp.org>
38368
38369         * lib/trim.c: Include <string.h>.
38370
38371 2008-04-11  Eric Blake  <ebb9@byu.net>
38372
38373         Avoid compile failure on OS/2.
38374         * lib/regex_internal.h (internal_function): Disable optimization
38375         on OS/2 (__EMX__), where it caused compiler error.
38376         Reported by Elbert Pol.
38377
38378 2008-04-11  Bruno Haible  <bruno@clisp.org>
38379
38380         Flush the standard error stream before aborting. Needed on mingw.
38381         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
38382         * tests/test-array_list.c (ASSERT): Likewise.
38383         * tests/test-array_oset.c (ASSERT): Likewise.
38384         * tests/test-avltree_list.c (ASSERT): Likewise.
38385         * tests/test-avltree_oset.c (ASSERT): Likewise.
38386         * tests/test-avltreehash_list.c (ASSERT): Likewise.
38387         * tests/test-binary-io.c (ASSERT): Likewise.
38388         * tests/test-byteswap.c (ASSERT): Likewise.
38389         * tests/test-c-ctype.c (ASSERT): Likewise.
38390         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
38391         * tests/test-c-strcasestr.c (ASSERT): Likewise.
38392         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
38393         * tests/test-c-strstr.c (ASSERT): Likewise.
38394         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
38395         * tests/test-canonicalize.c (ASSERT): Likewise.
38396         * tests/test-carray_list.c (ASSERT): Likewise.
38397         * tests/test-ceilf1.c (ASSERT): Likewise.
38398         * tests/test-ceilf2.c (ASSERT): Likewise.
38399         * tests/test-ceill.c (ASSERT): Likewise.
38400         * tests/test-count-one-bits.c (ASSERT): Likewise.
38401         * tests/test-fbufmode.c (ASSERT): Likewise.
38402         * tests/test-fflush2.c (ASSERT): Likewise.
38403         * tests/test-floorf1.c (ASSERT): Likewise.
38404         * tests/test-floorf2.c (ASSERT): Likewise.
38405         * tests/test-floorl.c (ASSERT): Likewise.
38406         * tests/test-fopen.c (ASSERT): Likewise.
38407         * tests/test-fpending.c (ASSERT): Likewise.
38408         * tests/test-fprintf-posix.c (ASSERT): Likewise.
38409         * tests/test-fpurge.c (ASSERT): Likewise.
38410         * tests/test-freadable.c (ASSERT): Likewise.
38411         * tests/test-freadahead.c (ASSERT): Likewise.
38412         * tests/test-freading.c (ASSERT): Likewise.
38413         * tests/test-freadptr.c (ASSERT): Likewise.
38414         * tests/test-freadptr2.c (ASSERT): Likewise.
38415         * tests/test-freadseek.c (ASSERT): Likewise.
38416         * tests/test-freopen.c (ASSERT): Likewise.
38417         * tests/test-frexp.c (ASSERT): Likewise.
38418         * tests/test-frexpl.c (ASSERT): Likewise.
38419         * tests/test-fseek.c (ASSERT): Likewise.
38420         * tests/test-fseeko.c (ASSERT): Likewise.
38421         * tests/test-fstrcmp.c (ASSERT): Likewise.
38422         * tests/test-ftell.c (ASSERT): Likewise.
38423         * tests/test-ftello.c (ASSERT): Likewise.
38424         * tests/test-func.c (ASSERT): Likewise.
38425         * tests/test-fwritable.c (ASSERT): Likewise.
38426         * tests/test-fwriting.c (ASSERT): Likewise.
38427         * tests/test-getdelim.c (ASSERT): Likewise.
38428         * tests/test-getline.c (ASSERT): Likewise.
38429         * tests/test-i-ring.c (ASSERT): Likewise.
38430         * tests/test-iconv-utf.c (ASSERT): Likewise.
38431         * tests/test-iconv.c (ASSERT): Likewise.
38432         * tests/test-isfinite.c (ASSERT): Likewise.
38433         * tests/test-isnand.c (ASSERT): Likewise.
38434         * tests/test-isnanf.c (ASSERT): Likewise.
38435         * tests/test-isnanl.h (ASSERT): Likewise.
38436         * tests/test-ldexpl.c (ASSERT): Likewise.
38437         * tests/test-linked_list.c (ASSERT): Likewise.
38438         * tests/test-linkedhash_list.c (ASSERT): Likewise.
38439         * tests/test-localename.c (ASSERT): Likewise.
38440         * tests/test-lseek.c (ASSERT): Likewise.
38441         * tests/test-mbscasecmp.c (ASSERT): Likewise.
38442         * tests/test-mbscasestr1.c (ASSERT): Likewise.
38443         * tests/test-mbscasestr2.c (ASSERT): Likewise.
38444         * tests/test-mbscasestr3.c (ASSERT): Likewise.
38445         * tests/test-mbscasestr4.c (ASSERT): Likewise.
38446         * tests/test-mbschr.c (ASSERT): Likewise.
38447         * tests/test-mbscspn.c (ASSERT): Likewise.
38448         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
38449         * tests/test-mbspbrk.c (ASSERT): Likewise.
38450         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
38451         * tests/test-mbsrchr.c (ASSERT): Likewise.
38452         * tests/test-mbsspn.c (ASSERT): Likewise.
38453         * tests/test-mbsstr1.c (ASSERT): Likewise.
38454         * tests/test-mbsstr2.c (ASSERT): Likewise.
38455         * tests/test-mbsstr3.c (ASSERT): Likewise.
38456         * tests/test-memchr2.c (ASSERT): Likewise.
38457         * tests/test-memmem.c (ASSERT): Likewise.
38458         * tests/test-open.c (ASSERT): Likewise.
38459         * tests/test-printf-frexp.c (ASSERT): Likewise.
38460         * tests/test-printf-frexpl.c (ASSERT): Likewise.
38461         * tests/test-printf-posix.c (ASSERT): Likewise.
38462         * tests/test-quotearg.c (ASSERT): Likewise.
38463         * tests/test-rbtree_list.c (ASSERT): Likewise.
38464         * tests/test-rbtree_oset.c (ASSERT): Likewise.
38465         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
38466         * tests/test-round1.c (ASSERT): Likewise.
38467         * tests/test-roundf1.c (ASSERT): Likewise.
38468         * tests/test-roundl.c (ASSERT): Likewise.
38469         * tests/test-signbit.c (ASSERT): Likewise.
38470         * tests/test-sleep.c (ASSERT): Likewise.
38471         * tests/test-snprintf-posix.c (ASSERT): Likewise.
38472         * tests/test-snprintf.c (ASSERT): Likewise.
38473         * tests/test-sprintf-posix.c (ASSERT): Likewise.
38474         * tests/test-stat-time.c (ASSERT): Likewise.
38475         * tests/test-strcasestr.c (ASSERT): Likewise.
38476         * tests/test-strerror.c (ASSERT): Likewise.
38477         * tests/test-striconv.c (ASSERT): Likewise.
38478         * tests/test-striconveh.c (ASSERT): Likewise.
38479         * tests/test-striconveha.c (ASSERT): Likewise.
38480         * tests/test-strsignal.c (ASSERT): Likewise.
38481         * tests/test-strstr.c (ASSERT): Likewise.
38482         * tests/test-strtod.c (ASSERT): Likewise.
38483         * tests/test-trunc1.c (ASSERT): Likewise.
38484         * tests/test-trunc2.c (ASSERT): Likewise.
38485         * tests/test-truncf1.c (ASSERT): Likewise.
38486         * tests/test-truncf2.c (ASSERT): Likewise.
38487         * tests/test-truncl.c (ASSERT): Likewise.
38488         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
38489         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
38490         * tests/test-vasnprintf.c (ASSERT): Likewise.
38491         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
38492         * tests/test-vasprintf.c (ASSERT): Likewise.
38493         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
38494         * tests/test-vprintf-posix.c (ASSERT): Likewise.
38495         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
38496         * tests/test-vsnprintf.c (ASSERT): Likewise.
38497         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
38498         * tests/test-wcwidth.c (ASSERT): Likewise.
38499         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
38500         * tests/test-xprintf-posix.c (ASSERT): Likewise.
38501         * tests/test-xvasprintf.c (ASSERT): Likewise.
38502         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
38503         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
38504         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
38505         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
38506         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
38507         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
38508         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
38509         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
38510         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
38511         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
38512         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
38513         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
38514         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
38515         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
38516         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
38517         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
38518         * tests/unictype/test-block_list.c (ASSERT): Likewise.
38519         * tests/unictype/test-block_of.c (ASSERT): Likewise.
38520         * tests/unictype/test-block_test.c (ASSERT): Likewise.
38521         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
38522         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
38523         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
38524         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
38525         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
38526         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
38527         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
38528         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
38529         * tests/unictype/test-combining.c (ASSERT): Likewise.
38530         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
38531         * tests/unictype/test-digit.c (ASSERT): Likewise.
38532         * tests/unictype/test-mirror.c (ASSERT): Likewise.
38533         * tests/unictype/test-numeric.c (ASSERT): Likewise.
38534         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
38535         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
38536         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
38537         * tests/unictype/test-scripts.c (ASSERT): Likewise.
38538         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
38539         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
38540         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
38541         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
38542         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
38543         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
38544         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
38545         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
38546         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
38547         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
38548         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
38549         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
38550         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
38551         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
38552         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
38553         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
38554         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
38555         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
38556         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
38557         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
38558         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
38559         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
38560         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
38561         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
38562         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
38563         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
38564         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
38565         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
38566         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
38567         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
38568         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
38569         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
38570         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
38571         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
38572         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
38573         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
38574         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
38575         Reported by Eric Blake.
38576
38577 2008-04-11  Bruno Haible  <bruno@clisp.org>
38578
38579         * lib/wchar.in.h: Tweak comment.
38580
38581 2008-04-11  Bruno Haible  <bruno@clisp.org>
38582
38583         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
38584         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
38585         gl_COMMON.
38586         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
38587
38588 2008-04-11  Bruno Haible  <bruno@clisp.org>
38589
38590         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
38591
38592 2008-04-11  Simon Josefsson  <simon@josefsson.org>
38593
38594         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
38595         of attempting to use non-existing /dev/*random.  Based on patch
38596         from Adam Strzelecki <ono@java.pl> in
38597         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
38598
38599 2008-04-08  Bruno Haible  <bruno@clisp.org>
38600
38601         Add tentative support for emx+gcc.
38602         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
38603         * lib/fpurge.c (fpurge): Likewise.
38604         * lib/freadable.c (freadable): Likewise.
38605         * lib/freadahead.c (freadahead): Likewise.
38606         * lib/freading.c (freading): Likewise.
38607         * lib/freadptr.c (freadptr): Likewise.
38608         * lib/freadseek.c (freadptrinc): Likewise.
38609         * lib/fseeko.c (rpl_fseeko): Likewise.
38610         * lib/fseterr.c (fseterr): Likewise.
38611         * lib/fwritable.c (fwritable): Likewise.
38612         * lib/fwriting.c (fwriting): Likewise.
38613         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
38614
38615 2008-04-09  Eric Blake  <ebb9@byu.net>
38616
38617         Avoid some autoconf warnings.
38618         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
38619         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
38620         * m4/afs.m4 (gl_AFS): Likewise.
38621         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
38622         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
38623         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
38624         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
38625         (gl_INTEGER_TYPE_SUFFIX): Likewise.
38626         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
38627         (AC_CHECK_DECLS_ONCE): Likewise.
38628         Rename file...
38629         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
38630         gnulib-tool requires autoconf 2.59 or better.
38631         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
38632
38633 2008-04-08  Eric Blake  <ebb9@byu.net>
38634
38635         Use 'git describe --match' if present (added in git 1.5.5).
38636         * build-aux/git-version-gen: Limit result to tags that match 'v*'
38637         if possible.
38638
38639 2008-04-08  Bruno Haible  <bruno@clisp.org>
38640
38641         Add tentative support for OpenServer.
38642         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
38643         _ptr, _cnt.
38644         * lib/fpurge.c (fpurge): Likewise.
38645         * lib/freadable.c (freadable): Likewise.
38646         * lib/freadahead.c (freadahead): Likewise.
38647         * lib/freading.c (freading): Likewise.
38648         * lib/freadptr.c (freadptr): Likewise.
38649         * lib/freadseek.c (freadptrinc): Likewise.
38650         * lib/fseeko.c (rpl_fseeko): Likewise.
38651         * lib/fseterr.c (fseterr): Likewise.
38652         * lib/fwritable.c (fwritable): Likewise.
38653         * lib/fwriting.c (fwriting): Likewise.
38654         Reported by Roger Cornelius <rac@tenzing.org> and
38655         Brian K. White <brian@aljex.com>.
38656
38657 2008-04-06  Jim Meyering  <meyering@redhat.com>
38658
38659         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
38660
38661 2008-04-06  Bruno Haible  <bruno@clisp.org>
38662
38663         Avoid possible error with non-ASCII bytes in UTF-8 locales.
38664         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
38665         * tests/test-printf-posix.sh: Likewise.
38666         * tests/test-vfprintf-posix.sh: Likewise.
38667         * tests/test-vprintf-posix.sh: Likewise.
38668         * tests/test-xprintf-posix.sh: Likewise.
38669
38670 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38671
38672         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
38673         hide error from 'ls', needed on OS/2.
38674         Report by Elbert Pol <elbert.pol@gmail.com>.
38675
38676 2008-04-04  Eric Blake  <ebb9@byu.net>
38677
38678         Make test-fseeko.c failures meaningful.
38679         * tests/test-fseeko.c: Print line number on failure.
38680         * tests/test-fseek.c: Likewise.
38681         Reported by Nelson H. F. Beebe.
38682
38683         Improve strtod bug detection check.
38684         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
38685         required for Solaris 10.
38686         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
38687
38688 2008-04-04  Bruno Haible  <bruno@clisp.org>
38689
38690         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
38691         by m4/setenv.m4.
38692
38693 2008-04-03  Eric Blake  <ebb9@byu.net>
38694
38695         Ensure sane .version contents.
38696         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
38697         version string.
38698         * build-aux/git-version-gen: Improve documentation.
38699
38700         Make GNU make output nicer.
38701         * top/GNUmakefile [!_have-Makefile]: Add dependency on
38702         MAKECMDGOALS to enforce message for all command line targets.  Set
38703         srcdir for use in maint.mk.
38704
38705         Another maintainer tweak.
38706         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
38707         a target that regenerates version.
38708
38709 2008-04-03  Jim Meyering  <meyering@redhat.com>
38710
38711         vc-list-files: don't cause coreutils "make po-check" failure
38712         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
38713
38714 2008-04-03  Eric Blake  <ebb9@byu.net>
38715
38716         Allow VPATH usage of vc-list-files.
38717         * build-aux/vc-list-files (scriptversion): Add timestamp.
38718         (options): Add --help, --version, -C.
38719         (CVS): Support installed cvsu.
38720
38721 2008-04-02  Bruno Haible  <bruno@clisp.org>
38722
38723         Avoid some "statement with no effect" warnings from gcc.
38724         * tests/test-wctype.c (main): Explicitly ignore unused values.
38725         Reported by Jim Meyering.
38726
38727 2008-04-02  Jim Meyering  <meyering@redhat.com>
38728
38729         Avoid some warnings from "gcc -Wshadow".
38730         * tests/test-frexp.c (exp): Define to a different identifier.
38731         * tests/test-frexpl.c (exp): Likewise.
38732
38733 2008-04-03  Jim Meyering  <meyering@redhat.com>
38734
38735         bootstrap: remove dangling *.[ch] symlinks from lib
38736         * build-aux/bootstrap [dangling symlink removal]: Move find's
38737         -depth option to precede all others, to avoid a warning.
38738         Remove *.[ch] files too, and from "$source_base" (usually lib/).
38739
38740 2008-04-02  Bruno Haible  <bruno@clisp.org>
38741
38742         Avoid some warnings from "gcc -Wshadow".
38743         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
38744         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
38745         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
38746         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
38747         Reported by Jim Meyering.
38748
38749 2008-04-01  Bruno Haible  <bruno@clisp.org>
38750
38751         Fix test to work on IRIX 6.5 with cc.
38752         * tests/test-math.c (numeric_equal): New function.
38753         (main): Use it.
38754
38755 2008-04-01  Bruno Haible  <bruno@clisp.org>
38756
38757         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
38758
38759 2008-04-01  Bruno Haible  <bruno@clisp.org>
38760
38761         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
38762         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
38763         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
38764         (Depends-on): Remove math.
38765
38766         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
38767         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
38768         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
38769         (Depends-on): Remove math.
38770
38771         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
38772         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
38773         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
38774         (Depends-on): Remove math.
38775         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
38776         (Depends-on): Remove math.
38777
38778         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
38779         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
38780         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
38781         (Depends-on): Remove math.
38782         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
38783         (Depends-on): Remove math.
38784
38785         * tests/test-round1.c: Include nan.h.
38786         (main): Use NaNd instead of NAN.
38787         * modules/round-tests (Files): Add tests/nan.h.
38788
38789         * tests/test-trunc1.c: Include nan.h.
38790         (main): Use NaNd instead of NAN.
38791         * modules/trunc-tests (Files): Add tests/nan.h.
38792
38793         * tests/test-roundf1.c: Include nan.h.
38794         (main): Use NaNf instead of NAN.
38795         * modules/roundf-tests (Files): Add tests/nan.h.
38796
38797         * tests/test-truncf1.c: Include nan.h.
38798         (main): Use NaNf instead of NAN.
38799         * modules/truncf-tests (Files): Add tests/nan.h.
38800
38801         * tests/test-ceilf1.c: Include nan.h.
38802         (main): Use NaNf instead of NAN.
38803         * modules/ceilf-tests (Files): Add tests/nan.h.
38804
38805         * tests/test-floorf1.c: Include nan.h.
38806         (main): Use NaNf instead of NAN.
38807         * modules/floorf-tests (Files): Add tests/nan.h.
38808
38809         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
38810         (main): Use NaNf instead of NAN.
38811         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
38812
38813         * tests/test-isnand.c: Include nan.h instead of <math.h>.
38814         (main): Use NaNd instead of NAN.
38815         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
38816
38817         * tests/test-frexp.c: Include nan.h.
38818         (main): Use NaNd instead of NAN.
38819         * modules/frexp-tests (Files): Add tests/nan.h.
38820
38821         * lib/isnan.c: Don't include <math.h>.
38822         (FUNC): Don't use NAN macro.
38823         * modules/isnand-nolibm (Depends-on): Remove math.
38824         * modules/isnanf-nolibm (Depends-on): Remove math.
38825         * modules/isnanl (Depends-on): Remove math.
38826         * modules/isnanl-nolibm (Depends-on): Remove math.
38827
38828         * tests/nan.h: New file.
38829
38830 2008-04-01  Eric Blake  <ebb9@byu.net>
38831
38832         Fix typos.
38833         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
38834         values to be the right type.
38835
38836         For now, cater to gnulib strtod inaccuracies.
38837         * tests/test-strtod.c (main): Allow 1-ulp error on expected
38838         fractional results.  While not as nice from a QoI perspective, it
38839         is a quicker patch than correctly implementing decimal to binary
38840         rounding.
38841
38842 2008-03-31  Eric Blake  <ebb9@byu.net>
38843
38844         Guarantee a definition of NAN.
38845         * lib/math.in.h (NAN): Define if missing.
38846         * tests/test-math.c (main): Test it.
38847         * doc/posix-headers/math.texi (math.h): Document this.
38848         * lib/isnan.c (rpl_isnand): Use it.
38849         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
38850         * tests/test-floorf1.c (NaN): Likewise.
38851         * tests/test-frexp.c (NaN): Likewise.
38852         * tests/test-isnand.c (NaN): Likewise.
38853         * tests/test-isnanf.c (NaN): Likewise.
38854         * tests/test-round1.c (NaN): Likewise.
38855         * tests/test-roundf1.c (NaN): Likewise.
38856         * tests/test-snprintf-posix.h (NaN): Likewise.
38857         * tests/test-sprintf-posix.h (NaN): Likewise.
38858         * tests/test-trunc1.c (NaN): Likewise.
38859         * tests/test-truncf1.c (NaN): Likewise.
38860         * tests/test-vasnprintf-posix.c (NaN): Likewise.
38861         * tests/test-vasprintf-posix.c (NaN): Likewise.
38862         * modules/isnand-nolibm (Depends-on): Add math.
38863         * modules/isnanf-nolibm (Depends-on): Likewise.
38864         * modules/isnanl (Depends-on): Likewise.
38865         * modules/isnanl-nolibm (Depends-on): Likewise.
38866         * modules/snprintf-posix-tests (Depends-on): Likewise.
38867         * modules/sprintf-posix-tests (Depends-on): Likewise.
38868         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
38869         * modules/vsprintf-posix-tests (Depends-on): Likewise.
38870         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
38871         * modules/vasprintf-posix-tests (Depends-on): Likewise.
38872
38873 2008-03-31  Bruno Haible  <bruno@clisp.org>
38874
38875         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
38876         * doc/posix-functions/strtod.texi: Likewise.
38877
38878 2008-03-31  Bruno Haible  <bruno@clisp.org>
38879
38880         * tests/test-strtod.c (main): Don't use C99 syntax.
38881
38882 2008-03-31  Bruno Haible  <bruno@clisp.org>
38883
38884         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
38885         Reported by Eric Blake.
38886
38887 2008-03-31  Jim Meyering  <meyering@redhat.com>
38888
38889         Don't compare actual signbit return values.
38890         * tests/test-strtod.c (main): Rather, compare only their
38891         zero/non-zero nature.
38892
38893 2008-03-31  Eric Blake  <ebb9@byu.net>
38894
38895         More strtod documentation.
38896         * doc/posix-functions/strtod.texi (strtod): Interpret more test
38897         failures as distinct bugs.
38898
38899 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
38900
38901         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
38902         Problem reported by Erik Benada in
38903         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
38904
38905 2008-03-30  Bruno Haible  <bruno@clisp.org>
38906
38907         * tests/test-strtod.c: Add comments about which assertion fails on which
38908         platform.
38909         * doc/posix-functions/strtod.texi: Add info about many more platforms.
38910
38911 2008-03-30  Eric Blake  <ebb9@byu.net>
38912
38913         Test signbit behavior on zeros.
38914         * tests/test-signbit.c (test_signbitf): Add tests for zero.
38915         (test_signbitd, test_signbitl): Likewise.
38916
38917         More strtod touchups.
38918         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
38919         sign of negative underflow, for now.  Use .5, not .1.
38920         * doc/posix-functions/strtod.texi (strtod): Mention these
38921         limitations.
38922         Reported by Jim Meyering.
38923
38924 2008-03-30  Bruno Haible  <bruno@clisp.org>
38925
38926         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
38927         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
38928
38929 2008-03-30  Bruno Haible  <bruno@clisp.org>
38930
38931         Avoid failure when attempting to return empty iconv results on some
38932         platforms.
38933         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
38934         allocation, don't report ENOMEM when the resulting string is empty.
38935
38936 2008-03-30  Bruno Haible  <bruno@clisp.org>
38937
38938         Fix buffer overrun.
38939         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
38940         Don't consider the width for tmp_length. Check count against tmp_length
38941         before doing the padding. Ensure enough allocation during padding.
38942
38943 2008-03-30  Eric Blake  <ebb9@byu.net>
38944
38945         strtod touchups.
38946         * lib/strtod.c (strtod): Avoid compiler warnings.
38947         Reported by Jim Meyering.
38948
38949 2008-03-30  Bruno Haible  <bruno@clisp.org>
38950
38951         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
38952         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
38953         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
38954         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
38955         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
38956         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
38957         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
38958         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
38959
38960         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
38961         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
38962         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
38963         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
38964         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
38965         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
38966         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
38967         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
38968
38969         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
38970         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
38971         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
38972         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
38973         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
38974         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
38975         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
38976         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
38977
38978         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
38979         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
38980
38981         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
38982         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
38983
38984         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
38985         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
38986
38987         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
38988         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
38989         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
38990
38991         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
38992         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
38993         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
38994
38995         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
38996         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
38997         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
38998
38999         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
39000         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
39001         * modules/vasprintf (Depends-on): Add EOVERFLOW.
39002
39003         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
39004         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
39005         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
39006         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
39007         (Depends-on): Add EOVERFLOW.
39008         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
39009         (Depends-on): Add EOVERFLOW.
39010         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
39011         (Depends-on): Add EOVERFLOW.
39012         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
39013         (Depends-on): Add EOVERFLOW.
39014         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
39015         (Depends-on): Add EOVERFLOW.
39016         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
39017         (Depends-on): Add EOVERFLOW.
39018         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
39019         (Depends-on): Add EOVERFLOW.
39020         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
39021         (Depends-on): Add EOVERFLOW.
39022
39023         * lib/sprintf.c (EOVERFLOW): Remove fallback.
39024         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
39025         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
39026
39027         * lib/snprintf.c (EOVERFLOW): Remove fallback.
39028         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
39029         * modules/snprintf (Depends-on): Add EOVERFLOW.
39030
39031         * lib/poll.c (EOVERFLOW): Remove fallback.
39032         * modules/poll (Depends-on): Add EOVERFLOW.
39033
39034         * lib/getugroups.c (EOVERFLOW): Remove fallback.
39035         * modules/getugroups (Depends-on): Add EOVERFLOW.
39036
39037         * lib/getdelim.c (EOVERFLOW): Remove fallback.
39038         * modules/getdelim (Depends-on): Add EOVERFLOW.
39039
39040         * lib/ftell.c (EOVERFLOW): Remove fallback.
39041         * modules/ftell (Depends-on): Add EOVERFLOW.
39042
39043         * lib/fprintf.c (EOVERFLOW): Remove fallback.
39044         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
39045         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
39046
39047         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
39048
39049         * modules/EOVERFLOW-tests: New file.
39050         * tests/test-EOVERFLOW.c: New file.
39051
39052         * modules/EOVERFLOW: New file.
39053         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
39054
39055 2008-03-30  Bruno Haible  <bruno@clisp.org>
39056
39057         Fix bug introduced on 2007-06-10.
39058         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
39059         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
39060
39061 2008-03-30  Bruno Haible  <bruno@clisp.org>
39062
39063         Improve freadseek's efficiency after ungetc.
39064         * lib/freadseek.c: Include freadahead.h.
39065         (freadptrinc): New function, extracted from freadseek.
39066         (freadseek): Use it in a loop. Use freadahead to determine the number
39067         of loop iterations.
39068         * modules/freadseek (Depends-on): Add freadahead.
39069         (configure.ac): Require AC_C_INLINE.
39070
39071 2008-03-30  Bruno Haible  <bruno@clisp.org>
39072
39073         * lib/freadseek.c (freadseek): Don't ignore the return value of
39074         freadptr.
39075
39076 2008-03-29  Eric Blake  <ebb9@byu.net>
39077
39078         Add hex float support.
39079         * modules/strtod (Depends-on): Add c-ctype.
39080         (Link): Mention POW_LIB.
39081         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
39082         whitespace between 'e' and exponent.
39083         * tests/test-strtod.c (main): Enable hex float tests.
39084         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
39085         now provides.
39086
39087         Document various strtod bugs, with some fixes.
39088         * doc/posix-functions/strtod.texi (strtod): Document bugs with
39089         "-0x", "inf", "nan", and hex constants.
39090         * doc/posix-functions/atof.texi (atof): Likewise.
39091         * modules/stdlib (Makefile.am): Support strtod.
39092         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
39093         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
39094         detect additional strtod bugs.
39095         * lib/stdlib.in.h (rpl_strtod): Add declarations.
39096         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
39097         bool where appropriate.  Parse 'inf' and 'nan'.
39098         * tests/test-strtod.c: New file.
39099         * modules/strtod (Depends-on): Add stdbool, stdlib.
39100         (configure.ac): Turn on module indicator.
39101         * modules/strtod-tests: New module.
39102
39103 2008-03-29  Eric Blake  <ebb9@byu.net>
39104
39105         Fix ftell on mingw.
39106         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
39107         * modules/ftell-tests (Depends-on): Add binary-io.
39108         * modules/ftello-tests (Depends-on): Likewise.
39109         * tests/test-ftell.c (main): Enhance test to cover behavior after
39110         ungetc.  Enforce binary mode.
39111         * tests/test-ftello.c (main): Likewise.
39112
39113         Pass test-freadseek on cygwin.
39114         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
39115         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
39116         ungetc buffer.
39117
39118         * tests/test-fflush2.c (main): Fix typo.
39119
39120 2008-03-29  Bruno Haible  <bruno@clisp.org>
39121
39122         * tests/test-fflush2.c (main): Temporarily disable the contents of
39123         this test.
39124         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
39125         Reported by Eric Blake.
39126
39127 2008-03-28  Simon Josefsson  <simon@josefsson.org>
39128
39129         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
39130         (GC_SHA224_DIGEST_SIZE): Add.
39131
39132         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
39133         (gc_hash_digest_length): Likewise.
39134         (gc_hash_buffer): Likewise.
39135
39136 2008-03-25  Bruno Haible  <bruno@clisp.org>
39137
39138         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
39139         detail which gettext release to use.
39140         Reported by Simon Josefsson.
39141
39142 2008-03-26  Jim Meyering  <meyering@redhat.com>
39143
39144         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
39145         * modules/gnumakefile (clean-GNUmakefile): Also, use
39146         test ... && ... || : syntax rather than if-then ... fi.
39147
39148         gnumakefile: Don't double-quote-expand $(VPATH) value.
39149         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
39150
39151 2008-03-24  Eric Blake  <ebb9@byu.net>
39152
39153         Alter GNUmakefile to install into top directory.
39154         * modules/maintainer-makefile: Split, and add dependency...
39155         * modules/gnumakefile: to this new module.
39156         * build-aux/GNUmakefile: Move...
39157         * top/GNUmakefile: ...here.
39158         * build-aux/maint.mk: Move...
39159         * top/maint.mk: ...here.
39160         * MODULES.html.sh (Support for maintaining...): Document new
39161         module.
39162
39163 2008-03-23  Bruno Haible  <bruno@clisp.org>
39164
39165         * gnulib-tool: New options --vc-files, --no-vc-files.
39166         (func_usage): Document them.
39167         (vc_files): New variable.
39168         (func_import): Consider vc_files.
39169         (func_create_testdir): Set vc_files to empty.
39170         Suggested by Jim Meyering and Karl Berry.
39171
39172 2008-03-23  Bruno Haible  <bruno@clisp.org>
39173
39174         Fix regex compilation error on HP-UX 11.
39175         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
39176         * modules/regex (Files): Add m4/mbstate_t.m4.
39177         Reported by Ton Voon <ton.voon@altinity.com>.
39178
39179 2008-03-23  Bruno Haible  <bruno@clisp.org>
39180
39181         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
39182
39183 2008-03-23  Eric Blake  <ebb9@byu.net>
39184             Bruno Haible  <bruno@clisp.org>
39185
39186         Install files from top/ in the destination directory.
39187         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
39188         augmentation also for the files from top/.
39189         (func_import, func_create_testdir): Rewrite file names:
39190         top/filename -> filename.
39191
39192 2008-03-23  Bruno Haible  <bruno@clisp.org>
39193
39194         Tweak "gnulib --version" output.
39195         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
39196
39197 2008-03-23  Bruno Haible  <bruno@clisp.org>
39198
39199         Tweak "gnulib --version" output.
39200         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
39201         rather than contents of ChangeLog, when possible.
39202
39203 2008-03-21  Eric Blake  <ebb9@byu.net>
39204
39205         More --version tweaks.
39206         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
39207         date of last ChangeLog entry.
39208
39209 2008-03-21  Jim Meyering  <meyering@redhat.com>
39210
39211         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
39212
39213 2008-03-20  Eric Blake  <ebb9@byu.net>
39214
39215         VPATH fix.
39216         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
39217
39218 2008-03-20  Simon Josefsson  <simon@josefsson.org>
39219
39220         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
39221         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
39222
39223 2008-03-20  Eric Blake  <ebb9@byu.net>
39224
39225         Sync GNUmakefile with coreutils.
39226         * build-aux/GNUmakefile (have-Makefile): Rename...
39227         (_have-Makefile): ...to this, for namespace consideration.
39228         (GNUmakefile.cfg): Include, if present.
39229         (_autoreconf): Define a default.
39230         (_is-dist-target): New rule for rebuilds to pick up intra-release
39231         version.
39232         (maint-cfg.mk): Rename...
39233         (cfg.mk): ...to this.
39234
39235 2008-03-18  Jim Meyering  <meyering@redhat.com>
39236
39237         New script and module: mktempd
39238         * MODULES.html.sh (maint+release support): Add mktempd.
39239         * build-aux/mktempd: New file.
39240         * modules/mktempd: New file.
39241
39242 2008-03-15  Jim Meyering  <meyering@redhat.com>
39243
39244         Undo last change.
39245         * lib/sha1.c, lib/md5.c: 63 != ~63.
39246         Reported by Andreas Schwab.
39247
39248         sha1.c, md5.c: Hoist a redundant expression.
39249         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
39250         "ctx->buflen" only once, before calling *_process_block.
39251         * lib/md5.c (md5_process_bytes): Likewise.
39252
39253 2008-03-14  Eric Blake  <ebb9@byu.net>
39254
39255         Bump copyright year in files generated by gnulib-tool.
39256         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
39257         gnulib-tool, rather than hard-coding it.
39258
39259         Fix 'gnulib-tool --version' output to work with git.
39260         * gnulib-tool (func_gnulib_dir): New function, extracted from...
39261         (startup): ...here.
39262         (func_version): Use it to invoke git-version-gen, rather than
39263         relying on CVS keyword expansion.  Modernize wording.
39264         (cvsdatestamp, last_checkin_date, version): Kill unused
39265         variables.
39266
39267 2008-03-12  Jim Meyering  <meyering@redhat.com>
39268
39269         Recognize optional cast of the argument to free.
39270         * build-aux/useless-if-before-free: Update regexps.
39271
39272         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
39273
39274 2008-03-11  Bruno Haible  <bruno@clisp.org>
39275
39276         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
39277         by a single package.
39278         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
39279         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
39280         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
39281         Reported by Sam Steingold <sds@gnu.org>.
39282
39283 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
39284
39285         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
39286         repositories.
39287
39288 2008-03-11  Bruno Haible  <bruno@clisp.org>
39289
39290         Avoid conflicts between local macro definitions.
39291         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
39292         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
39293
39294 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
39295             Bruno Haible  <bruno@clisp.org>
39296
39297         Make va_copy work with some version of xlc on AIX 5.1.
39298         * lib/stdarg.in.h: New file.
39299         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
39300         On AIX, use a <stdarg.h> file substitute.
39301         * modules/stdarg (Files): Add lib/stdarg.in.h.
39302         (Depends-on): Add include_next.
39303         (Makefile.am): Build a stdarg.h substitute if requested.
39304         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
39305
39306 2008-03-10  Bruno Haible  <bruno@clisp.org>
39307
39308         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
39309         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
39310         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
39311
39312 2008-03-10  Bruno Haible  <bruno@clisp.org>
39313
39314         * modules/stdlib (Depends-on): Add include_next, remove
39315         absolute-header.
39316
39317 2008-03-09  Bruno Haible  <bruno@clisp.org>
39318
39319         * lib/freadahead.h (freadahead): Document more precisely.
39320         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
39321         the sum of both buffer sizes.
39322         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
39323         * NEWS: Document the change.
39324
39325 2008-03-09  Bruno Haible  <bruno@clisp.org>
39326
39327         Extend freadptr to return also the buffer size.
39328         * lib/freadptr.h (freadptr): Add sizep argument.
39329         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
39330         (freadptr): Add sizep argument. Determine buffer size like freadahead
39331         does.
39332         * tests/test-freadptr.c: Don't include freadahead.h.
39333         (main): Adapt for new calling convention of freadptr.
39334         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
39335         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
39336         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
39337         tests/test-freadptr2.sh.
39338         (Depends): Remove freadahead.
39339         (TESTS): Add test-freadptr2.sh.
39340         (check_PROGRAMS): Add test-freadptr2.
39341
39342 2008-03-09  Bruno Haible  <bruno@clisp.org>
39343
39344         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
39345         Report and solution by Simon Josefsson.
39346
39347 2008-03-06  Bruno Haible  <bruno@clisp.org>
39348
39349         Make fflush after ungetc work on BSD platforms.
39350         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
39351         * tests/test-fflush2.c: New file.
39352         * tests/test-fflush2.sh: New file.
39353         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
39354         tests/test-fflush2.c.
39355         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
39356         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
39357
39358 2008-03-06  Eric Blake  <ebb9@byu.net>
39359
39360         Likewise for ftello.
39361         * modules/ftello (Dependencies): Add extensions.
39362         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
39363
39364 2008-03-06  Bruno Haible  <bruno@clisp.org>
39365
39366         * modules/fseeko (Dependencies): Add extensions.
39367         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
39368         Needed on glibc systems.
39369
39370 2008-03-06  Bruno Haible  <bruno@clisp.org>
39371
39372         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
39373         email address.
39374         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
39375
39376 2008-03-06  Bruno Haible  <bruno@clisp.org>
39377
39378         * users.txt: Add libgnupdf.
39379
39380 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
39381
39382         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
39383         (Header File Substitutes, Function Substitutes,
39384         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
39385         (Build robot for gnulib): Fix typo.
39386
39387 2008-03-06  Bruno Haible  <bruno@clisp.org>
39388
39389         * doc/gnulib-tool.texi (VCS Issues): Small updates.
39390         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
39391
39392 2008-03-06  Bruno Haible  <bruno@clisp.org>
39393
39394         * doc/func.texi: New file, extracted from doc/gnulib.texi.
39395         * doc/gnulib.texi: Include it.
39396
39397 2008-03-06  Simon Josefsson  <simon@josefsson.org>
39398
39399         * modules/func (License): Change license to unlimited; there was
39400         no LGPL parts in the module anyway.
39401
39402 2008-03-06  Simon Josefsson  <simon@josefsson.org>
39403
39404         * modules/__func__: Renamed to modules/func.
39405         * modules/__func__-tests: Renamed to modules/func-tests.
39406         * tests/test-__func__.c: Renamed to tests/test-func.c.
39407         * m4/__func__.m4: Renamed to m4/func.m4.
39408         * doc/gnulib.texi (__func__): Section renamed to func.
39409         Suggested by Eric Blake <ebb9@byu.net>.
39410
39411 2008-03-06  Simon Josefsson  <simon@josefsson.org>
39412
39413         * doc/gnulib.texi (__func__): Use C99 terminology when talking
39414         about __func__.  Make example self-contained.  Suggested by Eric
39415         Blake <ebb9@byu.net>.
39416
39417         * tests/test-__func__.c (main): Avoid extraneous () around __func.
39418         Suggested by Eric Blake <ebb9@byu.net>.
39419
39420 2008-03-06  Simon Josefsson  <simon@josefsson.org>
39421
39422         * modules/__func__: New file.
39423         * modules/__func__-tests: New file.
39424         * tests/test-__func__.c: New file.
39425         * m4/__func__.m4: New file.
39426         * doc/gnulib.texi (__func__): Document __func__ module.
39427
39428 2008-03-05  Simon Josefsson  <simon@josefsson.org>
39429
39430         * modules/byteswap (License): Re-license as LGPLv2+.
39431
39432 2008-03-05  Simon Josefsson  <simon@josefsson.org>
39433
39434         * doc/Makefile: Add pdf target.
39435
39436 2008-03-05  Simon Josefsson  <simon@josefsson.org>
39437
39438         * modules/inline (License): Use 'unlimited', since there are only
39439         *.m4 files in this module.
39440
39441 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
39442             Bruno Haible  <bruno@clisp.org>
39443
39444         Add support for HP C 7.1 on OpenVMS 8.3.
39445         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
39446
39447 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
39448
39449         Update VMS specifics.
39450         * lib/getopt.c [VMS]: Remove include of unixlib.h.
39451
39452 2008-03-02  Jim Meyering  <meyering@redhat.com>
39453
39454         Remove the last dependency on the "free" module.
39455         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
39456         Reported by Bob Proulx.
39457
39458         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
39459
39460         Remove useless "if" tests before free.  Deprecate "free" module.
39461         * doc/posix-functions/free.texi: Mention that this
39462         module is no longer useful.
39463         * modules/free (Notice): Say this module is obsolete.
39464         * modules/readutmp (Depends-on): Remove free.
39465         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
39466         * lib/putenv.c (putenv): Likewise.
39467         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
39468         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
39469         * tests/test-c-strcasestr.c (main): Likewise.
39470         * tests/test-c-strstr.c (main): Likewise.
39471         * tests/test-mbscasestr1.c (main): Likewise.
39472         * tests/test-mbscasestr2.c (main): Likewise.
39473         * tests/test-mbsstr1.c (main): Likewise.
39474         * tests/test-mbsstr2.c (main): Likewise.
39475         * tests/test-memmem.c (main): Likewise.
39476         * tests/test-strcasestr.c (main): Likewise.
39477         * tests/test-striconv.c (main): Likewise.
39478         * tests/test-striconveh.c (main): Likewise.
39479         * tests/test-striconveha.c (main): Likewise.
39480         * tests/test-strstr.c (main): Likewise.
39481
39482         * build-aux/git-version-gen: Adjust a comment and the Usage string.
39483
39484         bootstrap: sync from coreutils again
39485         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
39486
39487 2008-03-01  Jim Meyering  <meyering@redhat.com>
39488
39489         bootstrap: sync from coreutils
39490         * build-aux/bootstrap (update_po_files): Copy a .po file into place
39491         also when the target doesn't exist.
39492
39493 2008-03-01  Eric Blake  <ebb9@byu.net>
39494
39495         Fix bugs in last patch.
39496         * lib/memchr2.c (memchr2): Fix typo.
39497         * tests/test-memchr2.c: Test previous bug, and don't use GNU
39498         extension.
39499         Reported by Bruce Korb.
39500
39501         New module 'memchr2'.
39502         * modules/memchr2: New file.
39503         * modules/memchr2-tests: Likewise.
39504         * lib/memchr2.h: Likewise.
39505         * lib/memchr2.c: Likewise, based on memchr.c.
39506         * tests/test-memchr2.c: New test.
39507         * MODULES.html.sh (String handling): Add memchr2.
39508
39509 2008-02-29  Bruno Haible  <bruno@clisp.org>
39510
39511         * modules/freadseek-tests: New file.
39512         * tests/test-freadseek.sh: New file.
39513         * tests/test-freadseek.c: New file.
39514
39515         New module 'freadseek'.
39516         * modules/freadseek: New file.
39517         * lib/freadseek.h: New file.
39518         * lib/freadseek.c: New file.
39519         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
39520
39521 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
39522
39523         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
39524         wydawca.
39525
39526         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
39527         program_invocation_name and program_invocation_short_name are
39528         present.
39529
39530 2008-02-28  Bruno Haible  <bruno@clisp.org>
39531
39532         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
39533         * tests/test-freadptr.sh: Also test non-seekable stdin.
39534
39535 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
39536
39537         * build-aux/bootstrap (source_base, m4_base)
39538         (doc_base, tests_base): New variables.
39539         (gnulib_tool_options): Do not hardcode base directories, use
39540         the above variables instead.
39541
39542 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
39543
39544         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
39545
39546 2008-02-28  Bruno Haible  <bruno@clisp.org>
39547
39548         * modules/freadptr-tests: New file.
39549         * tests/test-freadptr.sh: New file.
39550         * tests/test-freadptr.c: New file.
39551
39552         New module 'freadptr'.
39553         * modules/freadptr: New file.
39554         * lib/freadptr.h: New file.
39555         * lib/freadptr.c: New file.
39556         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
39557
39558 2008-02-26  Karl Berry  <karl@freefriends.org>
39559
39560         Sync from Libtool:
39561         * libltdl/argz.c (argz_add, argz_count): New functions.
39562         * libltdl/argz.in.h: Declare them.
39563         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
39564
39565 2008-02-22  Bruno Haible  <bruno@clisp.org>
39566
39567         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
39568         is a pointer type.  Needed for HP-UX 10.
39569         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
39570         * doc/posix-functions/gmtime_r.texi: Likewise.
39571         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
39572
39573 2008-02-24  Bruno Haible  <bruno@clisp.org>
39574
39575         * modules/environ-tests: New file.
39576         * tests/test-environ.c: New file.
39577
39578         New module 'environ'.
39579         * modules/environ: New file.
39580         * lib/unistd.in.h (environ): New declaration.
39581         * m4/environ.m4: New file.
39582         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
39583         after use.
39584         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
39585         HAVE_DECL_ENVIRON.
39586         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
39587         HAVE_DECL_ENVIRON.
39588         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
39589         wrong claim that 'environ' is missing on some systems.
39590         * modules/execute (Depends-on): Add environ.
39591         * lib/execute.c (environ): Remove fallback declaration.
39592         * modules/pipe (Depends-on): Add environ.
39593         * lib/pipe.c (environ): Remove fallback declaration.
39594         * modules/setenv (Depends-on): Add environ.
39595         * lib/setenv.c (environ): Remove fallback declaration.
39596         * modules/unsetenv (Depends-on): Add environ.
39597         * lib/unsetenv.c (environ): Remove fallback declaration.
39598         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
39599         m4/environ.m4.
39600         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
39601         (gl_PREREQ_UNSETENV): Likewise.
39602
39603 2008-02-24  Bruno Haible  <bruno@clisp.org>
39604
39605         * doc/posix-functions/environ.texi: Document the MacOS X problem.
39606
39607 2008-02-20  Bob Proulx  <bob@proulx.com>
39608
39609         Enable use of older two part flavor 'git describe'.
39610         * build-aux/git-version-gen: If using the older two part flavor of
39611         git version then recreate the third part now present in the
39612         newer three part flavor of git describe.
39613
39614 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
39615
39616         * lib/fts.c (fts_build): Typo correction to comment.
39617
39618 2008-02-17  Bruno Haible  <bruno@clisp.org>
39619
39620         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
39621         generating no-op conflicts.
39622
39623 2008-02-17  Bruno Haible  <bruno@clisp.org>
39624
39625         Speed up by 10%.
39626         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
39627         result_entries, rather than an index-based loop.
39628
39629 2008-02-17  Bruno Haible  <bruno@clisp.org>
39630
39631         Speed up by 25%.
39632         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
39633         'hashcode_cached'.
39634         (entry_create): New function.
39635         (entry_hashcode): Use the cached hashcode if possible.
39636         (read_changelog_file, try_split_merged_entry): Use entry_create.
39637
39638 2008-02-17  Bruno Haible  <bruno@clisp.org>
39639
39640         Speed up from O(n^2) to O(n) for long ChangeLog files.
39641         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
39642         (read_changelog_file): Change implementation of entries_reversed list
39643         to rbtreehash.
39644         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
39645
39646 2008-02-17  Bruno Haible  <bruno@clisp.org>
39647
39648         New option --split-merged-entry.
39649         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
39650         (find_paragraph_end, try_split_merged_entry): New functions.
39651         (long_options): Add option --split-merged-entry.
39652         (usage): Document option --split-merged-entry.
39653         (main): Implement option --split-merged-entry.
39654         Reported by Eric Blake.
39655
39656 2008-02-17  Bruno Haible  <bruno@clisp.org>
39657
39658         * lib/git-merge-changelog.c: Include c-strstr.h.
39659         (main): Support the "git pull --rebase" situation.
39660         * modules/git-merge-changelog (Depends-on): Add c-strstr.
39661         Reported by Eric Blake.
39662
39663 2008-02-16  Eric Blake  <ebb9@byu.net>
39664
39665         Avoid doubling \ in common case of "c-maybe" quoting style.
39666         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
39667         eliding outer quotes.
39668         * lib/quotearg.h: Document this.
39669         * tests/test-quotearg.c (result_strings, inputs, results_g)
39670         (flag_results, locale_results): Test it by adding a new string to
39671         each test group.
39672         (compare_strings): Test new string.
39673
39674 2008-02-13  Eric Blake  <ebb9@byu.net>
39675
39676         Avoid trigraph quoting in default output.
39677         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
39678         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
39679         unless explicitly requested.
39680         * tests/test-quotearg.c (flag_results, main): Add additional tests.
39681
39682 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
39683
39684         Don't rely on signed integer overflowing to negative value.
39685         * lib/getugroups.c (getugroups): Include <limits.h>.
39686         Instead, compare against INT_MAX, and increment only if the test passes.
39687
39688 2008-02-13  Jim Meyering  <meyering@redhat.com>
39689         and Eric Blake  <ebb9@byu.net>
39690
39691         Avoid shadowing warning and compile errors on Linux.
39692         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
39693         forwarding macros on Linux.
39694         (dcgettext): Define a stub, for Linux.
39695         (results_g, main): Avoid warnings.
39696
39697 2008-02-12  Eric Blake  <ebb9@byu.net>
39698
39699         Silence warning in last patch.
39700         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
39701
39702         Quotearg part 4: add tests, fix c-maybe colon quoting.
39703         * lib/quotearg.h: Improve documentation.
39704         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
39705         escapes when adding outer quotes.  When quoting trigraphs, use
39706         valid C notation.  When quoting NUL, omit extra characters if next
39707         character is not digit.  Alter prototype.
39708         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
39709         callers.
39710         * modules/quotearg-tests: New module.
39711         * tests/test-quotearg.c: New test.
39712
39713 2008-02-07  Eric Blake  <ebb9@byu.net>
39714
39715         Quotearg part 3: add flag to control outer quote elision.
39716         * lib/quotearg.h (c_maybe_quoting_style): New style.
39717         (enum quoting_flags): Better documentation of flags.
39718         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
39719         c-maybe style.
39720         (quotearg_buffer_restyled): Handle new flag to elide outer
39721         quotes.
39722
39723         Quotearg part 2: add flag that can control NUL elision.
39724         * lib/quotearg.h (set_quoting_flags): New prototype.
39725         * lib/quotearg.c (struct quoting_options): Add flag field.
39726         (set_quoting_flags): New function.
39727         (quotearg_buffer_restyled): Add flags parameter.
39728         (quotearg_alloc_mem): Set the flag if length cannot be returned.
39729         (quotearg_n_options): Set the flag, since length cannot be
39730         returned.
39731         (quoting_options_from_style): Default flags correctly.
39732
39733         Quotearg part 1: more wrappers, restore quotearg_char state.
39734         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
39735         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
39736         (quotearg_colon_mem): New wrappers.
39737         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
39738         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
39739         functions.
39740         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
39741         (quotearg_colon_mem): New functions.
39742
39743 2008-02-11  Bruno Haible  <bruno@clisp.org>
39744
39745         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
39746         library in the current directory: it does not work with parallel make.
39747         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39748
39749 2008-02-11  Bruno Haible  <bruno@clisp.org>
39750
39751         * .gitattributes: New file.
39752
39753 2008-02-11  Jim Meyering  <meyering@redhat.com>
39754
39755         useless-if-before-free: Fix reversed exit values.
39756         * build-aux/useless-if-before-free: Use correct values
39757         for EXIT_MATCH and EXIT_NO_MATCH.
39758
39759         * build-aux/useless-if-before-free: Close stdout carefully.
39760
39761 2008-02-10  Bruno Haible  <bruno@clisp.org>
39762
39763         New module 'git-merge-changelog'.
39764         * modules/git-merge-changelog: New file.
39765         * lib/git-merge-changelog.c: New file.
39766
39767 2008-02-10  Jim Meyering  <meyering@redhat.com>
39768
39769         useless-if-before-free: New option: --list (-l).
39770
39771         useless-if-before-free: Don't exit immediately upon open failure.
39772         * build-aux/useless-if-before-free: Exit 2 for errors.
39773         Upon failure to open a file, don't exit immediately.
39774         Rather, just warn and continue with any remaining files.
39775
39776 2008-02-10  Bruno Haible  <bruno@clisp.org>
39777
39778         New abstract list operation 'node_set_value'.
39779         * lib/gl_list.h (gl_list_node_set_value): New function.
39780         (struct gl_list_implementation): New field node_set_value.
39781         * lib/gl_list.c (gl_list_node_set_value): New function.
39782         * lib/gl_array_list.c (gl_array_node_set_value): New function.
39783         (gl_array_list_implementation): Update.
39784         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
39785         (gl_carray_list_implementation): Update.
39786         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
39787         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
39788         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
39789         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
39790         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
39791         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
39792         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
39793         Update.
39794         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
39795         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
39796         (gl_sublist_list_implementation): Update.
39797
39798 2008-02-10  Bruno Haible  <bruno@clisp.org>
39799
39800         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
39801         Needed when ELEMENT is #defined to 'some_type *'.
39802
39803 2008-02-10  Jim Meyering  <meyering@redhat.com>
39804
39805         New script and module: useless-if-before-free
39806         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
39807         * build-aux/useless-if-before-free: New file.
39808         * modules/useless-if-before-free: New file.
39809
39810         * build-aux/gitlog-to-changelog: Use committer date, not author date.
39811
39812         xstrtol_error: Fix typo.
39813         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
39814         s/exit_failure/exit_status/.
39815
39816 2008-02-09  Jim Meyering  <meyering@redhat.com>
39817
39818         New script and module: gitlog-to-changelog
39819         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
39820         * modules/gitlog-to-changelog: New file.
39821         * build-aux/gitlog-to-changelog: New file.
39822
39823 2008-02-08  Jim Meyering  <meyering@redhat.com>
39824
39825         Avoid two "parameter unused" warnings.
39826         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
39827         Mark "st" as used.
39828
39829         Use "git COMMAND", not "git-COMMAND".
39830         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
39831         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
39832         * build-aux/git-version-gen: Use "git status", not "git-status".
39833
39834 2008-02-07  Bruno Haible  <bruno@clisp.org>
39835
39836         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
39837         Avoids a crash on Windows Vista.
39838         Reported by Adam Strzelecki <ono@java.pl> via
39839         Simon Josefsson <simon@josefsson.org>.
39840
39841 2008-02-06  Bruno Haible  <bruno@clisp.org>
39842
39843         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
39844         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
39845         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
39846         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
39847         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
39848         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
39849         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
39850         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
39851         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
39852         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
39853         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
39854         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
39855         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
39856         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
39857         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
39858         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
39859         left-adjust flag.
39860         * tests/test-snprintf-posix.h (test_function): Likewise.
39861         * tests/test-sprintf-posix.h (test_function): Likewise.
39862         * tests/test-vasprintf-posix.c (test_function): Likewise.
39863         * doc/posix-functions/fprintf.texi: Update.
39864         * doc/posix-functions/printf.texi: Update.
39865         * doc/posix-functions/snprintf.texi: Update.
39866         * doc/posix-functions/sprintf.texi: Update.
39867         * doc/posix-functions/vfprintf.texi: Update.
39868         * doc/posix-functions/vprintf.texi: Update.
39869         * doc/posix-functions/vsnprintf.texi: Update.
39870         * doc/posix-functions/vsprintf.texi: Update.
39871         Reported by Peter Fales <psfales@alcatel-lucent.com>.
39872
39873 2008-02-06  Bruno Haible  <bruno@clisp.org>
39874
39875         Fix bug introduced on 2008-01-26.
39876         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
39877
39878 2008-02-06  Bruno Haible  <bruno@clisp.org>
39879
39880         Fix bug introduced on 2007-06-10.
39881         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
39882         !NEED_PRINTF_FLAG_ZERO.
39883
39884 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
39885
39886         getloadavg: use libperfstat on AIX5
39887         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
39888
39889 2008-02-03  Bruno Haible  <bruno@clisp.org>
39890
39891         * lib/diffseq.h: Add comments about required #includes.
39892         Reported by Michael Biggs <gnulib@doubleplum.net>.
39893
39894 2008-02-01  Bruno Haible  <bruno@clisp.org>
39895
39896         * users.txt: Add gnuit.
39897
39898 2008-01-31  Bruno Haible  <bruno@clisp.org>
39899
39900         * lib/md4.c (set_uint32): Mark as inline.
39901         * lib/md5.c (set_uint32): Likewise.
39902         * lib/sha1.c (set_uint32): Likewise.
39903         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
39904         * m4/md5.m4 (gl_MD5): Likewise.
39905         * m4/sha1.m4 (gl_SHA1): Likewise.
39906
39907 2008-01-31  Jim Meyering  <meyering@redhat.com>
39908
39909         Use "sizeof VAR", rather than a literal "4".
39910         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
39911         * lib/md4.c (md4_read_ctx): Likewise.
39912         * lib/sha1.c (sha1_read_ctx): Likewise.
39913
39914 2008-01-31  Simon Josefsson  <simon@josefsson.org>
39915
39916         * tests/test-sha1.c: New file, based on test-md5.c.
39917
39918         * modules/crypto/sha1-tests: New file.
39919
39920 2008-01-31  Simon Josefsson  <simon@josefsson.org>
39921
39922         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
39923
39924 2008-01-31  Jim Meyering  <meyering@redhat.com>
39925
39926         Prefer "sizeof v" over the equivalent "4".
39927         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
39928         * lib/md5.c (set_uint32): Likewise.
39929         * lib/sha1.c (set_uint32): Likewise.
39930
39931 2008-01-31  Simon Josefsson  <simon@josefsson.org>
39932
39933         * lib/sha1.c (set_uint32): Mark function as static.
39934
39935 2008-01-31  Simon Josefsson  <simon@josefsson.org>
39936
39937         md2: clarify comments to say that alignment is not required.
39938         * lib/md2.h: Remove warning about alignment in comment.
39939         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
39940         never been required.
39941
39942 2008-01-31  Simon Josefsson  <simon@josefsson.org>
39943
39944         md4: adapt alignment constraint fix from sha1.
39945         * lib/md4.c (set_uint32): New function, from sha1.c
39946         (md4_read_ctx): Use it.
39947         (md4_finish_ctx): Doc fix.
39948         * lib/md4.h: Doc fix.
39949
39950 2008-01-31  Simon Josefsson  <simon@josefsson.org>
39951
39952         md5: adapt alignment constraint fix from sha1.
39953         * lib/md5.c (set_uint32): New function, from sha1.c
39954         (md5_read_ctx): Use it.
39955         (md5_finish_ctx): Doc fix.
39956         * lib/md5.h: Doc fix.
39957
39958 2008-01-30  Peter Palfrader  <weasel@debian.org>
39959
39960         sha1: remove the result buffer alignment constraint
39961         * lib/sha1.c (set_uint32): New function.
39962         (sha1_read_ctx): Rewrite to remove the result buffer alignment
39963         constraint.
39964         (sha1_finish_ctx): Remove comment warning about alignment constraint.
39965         * lib/sha1.h: Likewise.
39966
39967 2008-01-30  Andreas Schwab  <schwab@suse.de>
39968             Bruno Haible  <bruno@clisp.org>
39969
39970         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
39971         correct definition of LDBL_MIN_EXP.
39972
39973 2008-01-30  Karl Berry  <karl@gnu.org>
39974
39975         * config/srclist-update: try to preserve x bit on updates.
39976         * config/srclistvars.sh: update for karl.
39977
39978 2008-01-29  Jim Meyering  <meyering@redhat.com>
39979
39980         vasnprintf.c: Avoid warning about unused label
39981         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
39982         "overflow" label definition and associated code with the
39983         same cpp condition that guards the sole use of that label.
39984
39985 2008-01-26  Bruno Haible  <bruno@clisp.org>
39986
39987         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
39988         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
39989         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
39990         * lib/isnanl-nolibm.h (isnanl): Likewise.
39991         Reported by Paul Eggert <eggert@cs.ucla.edu>.
39992
39993 2008-01-26  Bruno Haible  <bruno@clisp.org>
39994
39995         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
39996         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
39997
39998 2008-01-26  Bruno Haible  <bruno@clisp.org>
39999
40000         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
40001         GCC >= 4.0 built-in.
40002         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
40003
40004 2008-01-26  Bruno Haible  <bruno@clisp.org>
40005
40006         Rename isnan, applicable to 'double' only, to isnand.
40007         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
40008         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
40009         (configure.ac): Update.
40010         (Include): Replace "isnan.h" with "isnand.h".
40011         * m4/isnand.m4: Renamed from m4/isnan.m4.
40012         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
40013         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
40014         instead of isnan.c.
40015         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
40016         instead of HAVE_ISNAN_IN_LIBC.
40017         (isnand): Renamed from isnan.
40018         * lib/isnand.c: New file.
40019         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
40020         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
40021         (Makefile.am): Update.
40022         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
40023         Include isnand.h instead of isnan.h.
40024         (main): Test isnand instead of isnan.
40025         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
40026         isnan-nolibm.
40027         * modules/frexp (Depends-on): Likewise.
40028         * modules/frexp-tests (Depends-on): Likewise.
40029         * modules/frexp-nolibm (Depends-on): Likewise.
40030         * modules/frexp-nolibm-tests (Depends-on): Likewise.
40031         * modules/isfinite (Depends-on): Likewise.
40032         * modules/round-tests (Depends-on): Likewise.
40033         * modules/signbit (Depends-on): Likewise.
40034         * modules/signbit-tests (Depends-on): Likewise.
40035         * modules/snprintf-posix (Depends-on): Likewise.
40036         * modules/sprintf-posix (Depends-on): Likewise.
40037         * modules/trunc-tests (Depends-on): Likewise.
40038         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
40039         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
40040         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
40041         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
40042         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
40043         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
40044         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
40045         * modules/vasnprintf-posix (Depends-on): Likewise.
40046         * modules/vasprintf-posix (Depends-on): Likewise.
40047         * modules/vfprintf-posix (Depends-on): Likewise.
40048         * modules/vsnprintf-posix (Depends-on): Likewise.
40049         * modules/vsprintf-posix (Depends-on): Likewise.
40050         * lib/frexp.c: Include isnand.h instead of isnan.h.
40051         (ISNAN): Set to isnand instead of isnan.
40052         * lib/isfinite.c: Include isnand.h instead of isnan.h.
40053         (gl_isfinited): Use isnand instead of isnan.
40054         * lib/signbitd.c: Include isnand.h instead of isnan.h.
40055         (gl_signbitd): Use isnand instead of isnan.
40056         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
40057         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
40058         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
40059         (main): Use isnand instead of isnan.
40060         * tests/test-round1.c: Include isnand.h.
40061         (main): Use isnand instead of isnan.
40062         * tests/test-round2.c: Include isnand.h instead of isnan.h.
40063         (ISNAN): Set to isnand instead of isnan.
40064         * tests/test-trunc1.c: Include isnand.h.
40065         (main): Use isnand instead of isnan.
40066         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
40067         (equal): Use isnand instead of isnan.
40068         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
40069         isnand-nolibm.
40070         * NEWS: Mention the change.
40071
40072 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
40073             Bruno Haible  <bruno@clisp.org>
40074
40075         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
40076         the GCC builtins for signbits are present and set
40077         REPLACE_SIGNBIT_USING_GCC if so.
40078         * lib/math.in.h (signbit): Define using GCC builtins if
40079         REPLACE_SIGNBIT_USING_GCC is set.
40080         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
40081         REPLACE_SIGNBIT_USING_GCC.
40082         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
40083
40084 2008-01-25  Jim Meyering  <meyering@redhat.com>
40085
40086         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
40087         * lib/poll.c: Include <config.h>, not "config.h".
40088         * tests/test-getaddrinfo.c: Likewise.
40089
40090 2008-01-25  Simon Josefsson  <simon@josefsson.org>
40091
40092         * modules/sockets-tests: New file.
40093
40094 2008-01-24  Simon Josefsson  <simon@josefsson.org>
40095
40096         * modules/sockets: New module, can be used to call WSA_Startup and
40097         WSA_Cleanup when needed.
40098
40099         * lib/sockets.h, lib/sockets.c: New files.
40100
40101         * m4/sockets.m4: New file.
40102
40103         * tests/test-sockets.c: New file.
40104
40105 2008-01-19  Bruno Haible  <bruno@clisp.org>
40106
40107         * doc/posix-headers: Renamed from doc/headers.
40108         * doc/posix-functions: Renamed from doc/functions.
40109         * doc/gnulib.texi: Update.
40110
40111 2008-01-19  Bruno Haible  <bruno@clisp.org>
40112
40113         * doc/glibc-functions/strcasestr.texi: Include contents of
40114         doc/functions/strcasestr.texi, fixing the list of platforms.
40115         * doc/functions/strcasestr.texi: Remove file.
40116
40117 2008-01-19  Bruno Haible  <bruno@clisp.org>
40118
40119         * doc/glibc-functions/memmem.texi: Include contents of
40120         doc/functions/memmem.texi.
40121         * doc/functions/memmem.texi: Remove file.
40122
40123 2008-01-18  Bruno Haible  <bruno@clisp.org>
40124
40125         * doc/glibc-functions/*.texi: New files.
40126         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
40127         to use the new files.
40128
40129 2008-01-17  Bruno Haible  <bruno@clisp.org>
40130
40131         * tests/test-gethostname.c (main): Fix printf statement.
40132
40133 2008-01-17  Simon Josefsson  <simon@josefsson.org>
40134
40135         * modules/gethostname-tests: New file.
40136
40137         * tests/test-gethostname.c: New file.
40138
40139 2008-01-17  Simon Josefsson  <simon@josefsson.org>
40140
40141         * lib/gethostname.c: Include string.h unconditionally, strncpy is
40142         used by the UNAME case.  Reported by Bruno Haible
40143         <bruno@clisp.org>.
40144
40145 2008-01-17  Eric Blake  <ebb9@byu.net>
40146
40147         Convert c-strcasestr to be more efficient.
40148         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
40149         (Depends-on): Add c-strcase, remove malloca, strnlen.
40150         * tests/test-c-strcasestr.c (main): Enhance test.
40151         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
40152
40153 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
40154
40155         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
40156         Use it in creating po/Makevars.
40157
40158 2008-01-15  Simon Josefsson  <simon@josefsson.org>
40159
40160         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
40161         Applications that requires it should initialize libgcrypt
40162         manually.
40163
40164 2008-01-16  Simon Josefsson  <simon@josefsson.org>
40165
40166         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
40167
40168 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
40169
40170         Fix problem with getdate on mingw32 reported by Simon Josefsson
40171         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
40172         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
40173         tzname", when deciding whether to declare tzname.
40174         * lib/strftime.c (tzname): Likewise.
40175
40176 2008-01-15  Bruno Haible  <bruno@clisp.org>
40177
40178         Work around a MacOS X 10.5 bug in frexpl().
40179         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
40180         * doc/functions/frexpl.texi: Document the bug.
40181         Reported by Elias Pipping <pipping@gentoo.org>.
40182
40183 2008-01-14  Eric Blake  <ebb9@byu.net>
40184
40185         Touch up previous patch.
40186         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
40187         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
40188
40189         Convert strcasestr module to use Two-Way algorithm.
40190         * modules/strcasestr-simple: New module, based on the old
40191         strcasestr, but with Two-Way rather than KMP.
40192         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
40193         * lib/string.in.h (rpl_strcasestr): Declare.
40194         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
40195         performance.
40196         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
40197         * modules/string (Makefile.am): Support strcasestr.
40198         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
40199         * modules/strcasestr-tests (Depends-on): Check for alarm.
40200         * tests/test-strcasestr.c: Augment test.
40201         * lib/str-two-way.h: Clean up stray macro.
40202         * NEWS: Document new module.
40203         * MODULES.html.sh (string handling): Likewise.
40204         * doc/functions/strcasestr.texi: New file.
40205         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
40206         here, since it is not a POSIX function.
40207
40208 2008-01-14  Colin Watson  <cjwatson@debian.org>
40209             Bruno Haible  <bruno@clisp.org>
40210
40211         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
40212         works fine; if not, set REPLACE_STRSIGNAL.
40213         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
40214         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
40215         REPLACE_STRSIGNAL.
40216         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
40217         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
40218         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
40219
40220 2008-01-14  Bruno Haible  <bruno@clisp.org>
40221
40222         * modules/strsignal (Include): Change to <string.h>.
40223
40224 2008-01-14  Colin Watson  <cjwatson@debian.org>
40225
40226         * modules/argp (Notice): Add a notice recommending to change
40227         XGETTEXT_OPTIONS.
40228         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
40229
40230 2008-01-13  Colin Watson  <cjwatson@debian.org>
40231
40232         * modules/strsignal-tests: New file.
40233         * tests/test-strsignal.c: New file.
40234
40235         * lib/strsignal.c: New file, from glibc with modifications.
40236         * lib/siglist.h: New file, from glibc with modifications.
40237         * lib/string.in.h (strsignal): New declaration.
40238         * m4/strsignal.m4: New file.
40239         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
40240         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
40241         * modules/strsignal: New file.
40242         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
40243         HAVE_DECL_STRSIGNAL.
40244
40245 2008-01-13  Bruno Haible  <bruno@clisp.org>
40246
40247         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
40248         locale encoding is not ASCII. Needed for OpenBSD 4.0.
40249         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
40250         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
40251
40252 2008-01-13  Bruno Haible  <bruno@clisp.org>
40253
40254         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
40255         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
40256         * lib/argp.h (__attribute__): Likewise.
40257         * lib/c-stack.c (__attribute__): Likewise.
40258         * lib/error.h (__attribute__): Likewise.
40259         * lib/fts.c (__attribute__): Likewise.
40260         * lib/openat.h (__attribute__): Likewise.
40261         * lib/stdio.in.h (__attribute__): Likewise.
40262         * lib/string.in.h (__attribute__): Likewise.
40263         * lib/utimens.c (__attribute__): Likewise.
40264         * lib/vasnprintf.h (__attribute__): Likewise.
40265         * lib/xalloc.h (__attribute__): Likewise.
40266         * lib/xprintf.h (__attribute__): Likewise.
40267         * lib/xstrtol.h (__attribute__): Likewise.
40268         * lib/xvasprintf.h (__attribute__): Likewise.
40269
40270 2008-01-12  Bruno Haible  <bruno@clisp.org>
40271
40272         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
40273         * doc/glibc-headers/a.out.texi: New file.
40274         * doc/glibc-headers/aliases.texi: New file.
40275         * doc/glibc-headers/alloca.texi: New file.
40276         * doc/glibc-headers/ar.texi: New file.
40277         * doc/glibc-headers/argp.texi: New file.
40278         * doc/glibc-headers/argz.texi: New file.
40279         * doc/glibc-headers/byteswap.texi: New file.
40280         * doc/glibc-headers/crypt.texi: New file.
40281         * doc/glibc-headers/endian.texi: New file.
40282         * doc/glibc-headers/envz.texi: New file.
40283         * doc/glibc-headers/err.texi: New file.
40284         * doc/glibc-headers/error.texi: New file.
40285         * doc/glibc-headers/execinfo.texi: New file.
40286         * doc/glibc-headers/fpu_control.texi: New file.
40287         * doc/glibc-headers/fstab.texi: New file.
40288         * doc/glibc-headers/fts.texi: New file.
40289         * doc/glibc-headers/getopt.texi: New file.
40290         * doc/glibc-headers/ieee754.texi: New file.
40291         * doc/glibc-headers/ifaddrs.texi: New file.
40292         * doc/glibc-headers/libintl.texi: New file.
40293         * doc/glibc-headers/mcheck.texi: New file.
40294         * doc/glibc-headers/mntent.texi: New file.
40295         * doc/glibc-headers/obstack.texi: New file.
40296         * doc/glibc-headers/paths.texi: New file.
40297         * doc/glibc-headers/printf.texi: New file.
40298         * doc/glibc-headers/pty.texi: New file.
40299         * doc/glibc-headers/resolv.texi: New file.
40300         * doc/glibc-headers/shadow.texi: New file.
40301         * doc/glibc-headers/sysexits.texi: New file.
40302         * doc/glibc-headers/ttyent.texi: New file.
40303
40304 2008-01-12  Jim Meyering  <meyering@redhat.com>
40305
40306         announce-gen: emit Gnulib's git-based version string.
40307         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
40308         New option --gnulib-version=V, where V is expected to be
40309         the output of running git describe in the gnulib directory.
40310         (get_tool_versions): Request feedback on xdelta.  I suspect it's
40311         not useful, and plan to stop publishing an xdelta file with each
40312         coreutils release.
40313
40314         * build-aux/announce-gen: Also check for lzma-compressed files.
40315
40316 2008-01-11  Bruno Haible  <bruno@clisp.org>
40317
40318         * tests/test-memmem.c (main): Increase maximum allowed time.
40319         * tests/test-strstr.c (main): Likewise.
40320
40321 2008-01-11  Bruno Haible  <bruno@clisp.org>
40322
40323         * doc/functions/memmem.texi: Add more precisions about platforms.
40324         * doc/functions/strstr.texi: Likewise.
40325
40326 2008-01-10  Eric Blake  <ebb9@byu.net>
40327
40328         * m4/strstr.m4: Delete cruft from copy-n-paste.
40329         Reported by Bruno Haible.
40330
40331 2008-01-10  Bruno Haible  <bruno@clisp.org>
40332
40333         Make c-strstr rely on strstr.
40334         * lib/c-strstr.c: Don't include str-kmp.h.
40335         (c_strstr): Define in terms of strstr.
40336         * modules/c-strstr (Files): Remove lib/str-kmp.h.
40337         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
40338
40339 2008-01-10  Bruno Haible  <bruno@clisp.org>
40340
40341         * doc/gnulib.texi (String Functions in C Locale): New section.
40342         * doc/c-ctype.texi: New file.
40343         * doc/c-strcase.texi: New file.
40344         * doc/c-strcaseeq.texi: New file.
40345         * doc/c-strcasestr.texi: New file.
40346         * doc/c-strstr.texi: New file.
40347         * doc/c-strtod.texi: New file.
40348         * doc/c-strtold.texi: New file.
40349
40350 2008-01-10  Eric Blake  <ebb9@byu.net>
40351
40352         * lib/relocatable.h: Fix a comment.
40353
40354 2008-01-10  Eric Blake  <ebb9@byu.net>
40355
40356         Share two-way algorithm.
40357         * lib/str-two-way.h: New file, merged from...
40358         * lib/memmem.c: ...here...
40359         * lib/strstr.c: ...and here.
40360         * modules/memmem (Files): Use it.
40361         * modules/strstr (Files): Likewise.
40362
40363         Avoid quadratic strstr implementations.
40364         * lib/strstr.c: New file.
40365         * m4/strstr.m4: Likewise.
40366         * modules/strstr: Likewise.
40367         * modules/strstr-tests: Likewise.
40368         * tests/test-strstr.c: Likewise.
40369         * lib/string.in.h (rpl_strstr): Declare.
40370         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
40371         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
40372         * modules/string (Makefile.am): Likewise.
40373         * MODULES.html.sh (string handling): Mention new module.
40374         * doc/functions/strstr.texi (strstr): Document the bug.
40375
40376 2008-01-10  Bruno Haible  <bruno@clisp.org>
40377
40378         * lib/relocatable.h (relocate): State whether result is freshly
40379         allocated or not.
40380         * lib/relocatable.c (relocate): Return a freshly allocated string
40381         instead of a pointer to a privately held string.
40382         Reported by Sylvain Beucler <beuc@gnu.org>.
40383
40384 2008-01-10  Colin Watson  <cjwatson@debian.org>
40385
40386         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
40387         s/S_ISNLK/S_ISLNK/.
40388
40389 2008-01-09  Bruno Haible  <bruno@clisp.org>
40390
40391         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
40392         and other files.
40393         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
40394         if it's only a guess.
40395         * modules/memmem: Simplify by depending on memmem-simple.
40396
40397 2008-01-09  Bruno Haible  <bruno@clisp.org>
40398
40399         Work around OpenBSD 4.0 tdelete() bug.
40400         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
40401         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
40402         macros and don't redefine the enum values.
40403         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
40404         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
40405         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
40406
40407 2008-01-09  Bruno Haible  <bruno@clisp.org>
40408
40409         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
40410         (main): Don't perform the tests if setlocale did not install a UTF-8
40411         locale. Needed on OpenBSD 4.0.
40412         * modules/wcwidth-tests (Depends-on): Add localcharset.
40413
40414 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
40415
40416         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
40417         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
40418         * NEWS: announce this.
40419         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
40420
40421 2008-01-09  Simon Josefsson  <simon@josefsson.org>
40422         and Eric Blake  <ebb9@byu.net>
40423
40424         Add memmem-simple module.
40425         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
40426         (gl_FUNC_MEMMEM): Separate performance from presence checks.
40427         * modules/memmem-simple: New file.
40428         * modules/memmem (Description): Tweak.
40429         * MODULES.html.sh (string handling): Mention new module.
40430         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
40431         addressed by memmem-simple.
40432         * NEWS: Document the difference.
40433
40434 2008-01-09  Eric Blake  <ebb9@byu.net>
40435
40436         Give gcc some memmem optimization hints.
40437         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
40438         (strcasestr): Declare as pure.
40439         * modules/memmem (Maintainer): Claim my implementation.
40440
40441 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40442
40443         Support AIX 6.1 and higher.
40444         * build-aux/config.libpath: Likewise.
40445         * build-aux/config.rpath: Likewise.
40446
40447 2008-01-08  Jim Meyering  <meyering@redhat.com>
40448             Bruno Haible  <bruno@clisp.org>
40449
40450         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
40451         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
40452         Reported by Peter Fales in
40453         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
40454
40455 2008-01-08  Bruno Haible  <bruno@clisp.org>
40456
40457         * modules/unictype/category-of (Depends-on): Add
40458         unictype/category-none.
40459         * modules/unictype/category-and-tests (Depends-on): Add
40460         unictype/category-{L,N,Lu,Nd}.
40461         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
40462         * modules/unictype/category-or-tests (Depends-on): Add
40463         unictype/category-{L,N}.
40464         * modules/unictype/category-name-tests (Depends-on): Add
40465         unictype/category-{Z,Nl}.
40466         Reported by Simon Josefsson.
40467
40468 2008-01-08  Bruno Haible  <bruno@clisp.org>
40469
40470         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
40471         convention better.
40472         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
40473         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
40474         Reported by Peter Miller <millerp@canb.auug.org.au>.
40475
40476 2008-01-08  Eric Blake  <ebb9@byu.net>
40477
40478         Rewrite memmem to guarantee linear complexity without malloc.
40479         * lib/memmem.c (memmem): Use Two-Way rather than
40480         Knuth-Morris-Pratt, to allow O(1) space usage.
40481         (critical_factorization, two_way_short_needle)
40482         (two_way_long_needle): New functions.
40483         (knuth_morris_pratt): Delete.
40484         * modules/memmem (Depends-on): No longer need malloca or stdbool.
40485         Add stdint.
40486         * tests/test-memmem.c (main): Add tests for periodic needle and
40487         sublinear performance.
40488         * doc/functions/memmem.texi (memmem): Document other deficiencies
40489         in cygwin and older glibc.
40490
40491 2008-01-08  Bruno Haible  <bruno@clisp.org>
40492
40493         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
40494         augmentation.
40495
40496 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
40497
40498         Add a configure time option: --disable-acl.
40499         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
40500         AC_ARG_ENABLE(acl).
40501
40502 2008-01-06  Simon Josefsson  <simon@josefsson.org>
40503
40504         * tests/test-localename.c: Don't include obsolete "setenv.h".
40505
40506         * modules/localename-tests (Depends-on): Need unsetenv.
40507
40508 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40509
40510         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
40511
40512 2008-01-06  Colin Watson  <cjwatson@debian.org>
40513
40514         * users.txt: Add man-db.
40515
40516 2008-01-07  Bruno Haible  <bruno@clisp.org>
40517
40518         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
40519         previous section name.
40520
40521 2008-01-07  Bruno Haible  <bruno@clisp.org>
40522
40523         * lib/progname.c (set_program_name): Don't strip off a leading
40524         "lt-" prefix outside a .libs directory.
40525         Suggested by Paul Eggert.
40526
40527 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
40528             Bruno Haible  <bruno@clisp.org>
40529
40530         Improve memory cleanup in 'relocatable' module.
40531         * lib/relocatable.h (compute_curr_prefix): Change return type to
40532         'char *'.
40533         * lib/relocatable.c (compute_curr_prefix): Change return type to
40534         'char *'. Free curr_installdir after use.
40535         (relocate): Free curr_prefix_better after use.
40536         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
40537
40538 2008-01-01  Bruno Haible  <bruno@clisp.org>
40539
40540         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
40541         failure on older glibc systems.
40542         Reported by Peter Fales <psfales@alcatel-lucent.com>.
40543
40544 2008-01-05  Eric Blake  <ebb9@byu.net>
40545
40546         Avoid quadratic system memmem.
40547         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
40548         Reported by Ralf Wildenhues.
40549
40550         Fix memmem test for mingw.
40551         * modules/memmem-tests (configure.ac): Check for alarm.
40552         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
40553         it.
40554         * doc/functions/memmem.texi: New file.
40555         * doc/gnulib.texi (Function Substitutes): Add memmem.
40556         Reported by Bruno Haible.
40557
40558 2008-01-04  Bruno Haible  <bruno@clisp.org>
40559
40560         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
40561         Require gl_HEADER_STRINGS_H_DEFAULTS, not
40562         gl_HEADER_STRING_H_DEFAULTS.
40563
40564 2008-01-04  Eric Blake  <ebb9@byu.net>
40565
40566         Shorten duration of memmem test.
40567         * tests/test-memmem.c (main): Use alarm to declare failure if test
40568         is taking too long.
40569         Reported by Ralf Wildenhues.
40570
40571 2007-12-21  Simon Josefsson  <simon@josefsson.org>
40572
40573         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
40574         string, needed by strerror.
40575
40576 2008-01-03  Colin Watson  <cjwatson@debian.org>
40577             Bruno Haible  <bruno@clisp.org>
40578
40579         * doc/gnulib-tool.texi (Localization): New section.
40580
40581 2008-01-02  Bruno Haible  <bruno@clisp.org>
40582
40583         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
40584         variables to 'unsigned char *' type.
40585         Reported by Paul Eggert.
40586
40587 2008-01-02  Jim Meyering  <jim@meyering.net>
40588
40589         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
40590
40591 2007-12-31  Jim Meyering  <jim@meyering.net>
40592
40593         Avoid use of private FTS type name.
40594         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
40595
40596 2007-12-30  Karl Berry  <karl@gnu.org>
40597
40598         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
40599         work around defect in Texinfo and/or the standalone Info browser.
40600
40601 2007-12-30  Bruno Haible  <bruno@clisp.org>
40602
40603         Unify 5 copies of the KMP code.
40604         * lib/str-kmp.h: New file.
40605         * lib/c-strcasestr.c: Include str-kmp.h.
40606         (knuth_morris_pratt): Remove function.
40607         (c_strcasestr): Update.
40608         * lib/c-strstr.c: Include str-kmp.h.
40609         (knuth_morris_pratt): Remove function.
40610         (c_strcasestr): Update.
40611         * lib/mbscasestr.c: Include str-kmp.h.
40612         (knuth_morris_pratt_unibyte): Remove function.
40613         * lib/mbsstr.c: Include str-kmp.h.
40614         (knuth_morris_pratt_unibyte): Remove function.
40615         * lib/strcasestr.c: Include str-kmp.h.
40616         (knuth_morris_pratt): Remove function.
40617         (strcasestr): Update.
40618         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
40619         * modules/c-strstr (Files): Likewise.
40620         * modules/mbscasestr (Files): Likewise.
40621         * modules/mbsstr (Files): Likewise.
40622         * modules/strcasestr (Files): Likewise.
40623         Suggested by Paul Eggert.
40624
40625 2007-12-30  Bruno Haible  <bruno@clisp.org>
40626
40627         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
40628         defined.
40629
40630 2007-12-30  Bruno Haible  <bruno@clisp.org>
40631
40632         * lib/xmalloca.h: Include xalloc.h.
40633         (xnmalloca): New macro.
40634
40635 2007-12-30  Bruno Haible  <bruno@clisp.org>
40636
40637         * lib/malloca.h (nmalloca): New macro.
40638         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
40639         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
40640         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
40641         knuth_morris_pratt_multibyte): Likewise.
40642         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
40643         knuth_morris_pratt_multibyte): Likewise.
40644         * lib/memmem.c (knuth_morris_pratt): Likewise.
40645         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
40646
40647 2007-12-25  Bruno Haible  <bruno@clisp.org>
40648
40649         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
40650         * lib/glob.c: Don't include openat.h.
40651         (link_exists2_p): Add back the code that deals with the
40652         !GLOB_ALTDIRFUNC case.
40653         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
40654         let it do the filename concatenation.
40655         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
40656         * modules/glob (Depends-on): Remove openat.
40657
40658 2007-12-31  Bruno Haible  <bruno@clisp.org>
40659
40660         * modules/dirfd (License): Change to LGPLv2+.
40661         Approved by Jim Meyering.
40662
40663 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
40664
40665         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
40666         when multiplying M by sizeof (size_t).
40667
40668 2007-12-10  Martin Lambers  <marlam@marlam.de>
40669
40670         Override getpagesize on mingw.
40671         * lib/getpagesize.c: New file.
40672         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
40673         * modules/getpagesize (Files): Add lib/getpagesize.c.
40674         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
40675         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
40676         REPLACE_GETPAGESIZE.
40677         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
40678
40679 2007-12-25  Bruno Haible  <bruno@clisp.org>
40680
40681         * modules/localcharset (Notice): New field.
40682         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
40683         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
40684
40685 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
40686             Bruno Haible  <bruno@clisp.org>
40687
40688         Avoid using the syntax symbol() in formatted documentation.
40689         * MODULES.html.sh (func_module): When replacing symbol() with a
40690         hyperlink, remove the parentheses. Show an error if some remain.
40691         Recognize and render the '...' syntax.
40692         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
40693         Rework. Add paragraph about GCC's inlining.
40694         * doc/alloca.texi: Likewise.
40695         * doc/error.texi: Remove parentheses from symbol reference.
40696         * doc/gnulib-intro.texi: Likewise.
40697         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
40698         * modules/fnmatch (Description): Reword to say "the ... function".
40699         * modules/full-read (Description): Likewise.
40700         * modules/full-write (Description): Likewise.
40701         * modules/safe-read (Description): Likewise.
40702         * modules/safe-write (Description): Likewise.
40703         * modules/strchrnul (Description): Likewise.
40704         * modules/trim (Description): Likewise.
40705         * modules/error (Description): Remove parentheses from symbol
40706         references.
40707         * modules/verror (Description): Likewise.
40708         Reported by Karl Berry.
40709
40710 2007-12-25  Bruno Haible  <bruno@clisp.org>
40711
40712         Fixup after 2007-10-16 commit.
40713         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
40714
40715 2007-12-24  Bruno Haible  <bruno@clisp.org>
40716
40717         Make --enable-relocatable work with DESTDIR.
40718         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
40719         to compute installdir from destprog.
40720         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
40721         also set the RELOC_DESTDIR variable.
40722         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
40723
40724 2007-12-24  Bruno Haible  <bruno@clisp.org>
40725
40726         Fix link error due to xalloc_die().
40727         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
40728         of xreadlink.
40729         * lib/relocwrapper.c: Update comments.
40730         * build-aux/install-reloc: Remove xreadlink.c from file list.
40731         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
40732         xreadlink.c.
40733         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
40734
40735 2007-12-24  Bruno Haible  <bruno@clisp.org>
40736
40737         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
40738         * lib/setenv.h: Remove file.
40739         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
40740         lib/setenv.h.
40741         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
40742         (Depends-on): Add stdlib.
40743         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
40744         gl_FUNC_UNSETENV.
40745         (Include): Replace setenv.h with <stdlib.h>.
40746         * modules/unsetenv: New file.
40747         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
40748         * lib/unsetenv.c: Include <stdlib.h> first.
40749         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
40750         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
40751         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
40752         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
40753         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
40754         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
40755         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
40756         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
40757         * doc/functions/unsetenv.texi: Update.
40758         * modules/xsetenv (Depends-on): Add unsetenv.
40759         * modules/getdate (Depends-on): Likewise.
40760         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
40761         * lib/xsetenv.c: Don't include setenv.h.
40762         * lib/getdate.y: Likewise.
40763         * lib/relocwrapper.c: Likewise.
40764         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
40765         (Depends-on): Add stdlib.
40766         * NEWS: Mention the changes.
40767         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
40768
40769 2007-12-23  Bruno Haible  <bruno@clisp.org>
40770
40771         * lib/memmem.c (memmem): Use lowercase variable names. Tab
40772         indentation.
40773
40774 2007-12-23  Bruno Haible  <bruno@clisp.org>
40775
40776         * lib/c-strcasestr.c: Add more comments.
40777         * lib/c-strstr.c: Likewise.
40778         * lib/mbscasestr.c: Likewise.
40779         * lib/mbsstr.c: Likewise.
40780         * lib/strcasestr.c: Likewise.
40781         * lib/memmem.c: Likewise.
40782
40783 2007-12-23  Bruno Haible  <bruno@clisp.org>
40784
40785         * tests/test-memmem.c: Include <string.h> first.
40786
40787 2007-12-22  Bruno Haible  <bruno@clisp.org>
40788
40789         * gnulib-tool (func_create_testdir): Change $auxdir while generating
40790         the contents of $testsbase.
40791         Reported by Ralf Wildenhues.
40792
40793 2007-12-22  Bruno Haible  <bruno@clisp.org>
40794
40795         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
40796         two variables local_ldadd_before, local_ldadd_last.
40797
40798 2007-12-20  Eric Blake  <ebb9@byu.net>
40799
40800         Work around circular library issue when cross-compiling.
40801         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
40802         that progname.o does not need to pull in rpl_memcmp.
40803
40804 2007-12-19  Eric Blake  <ebb9@byu.net>
40805
40806         Fix memmem to avoid O(n^2) worst-case complexity.
40807         * lib/memmem.c (knuth_morris_pratt): New function.
40808         (memmem): Use it if first few naive iterations fail.
40809         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
40810         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
40811         * modules/memchr (License): Likewise.
40812         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
40813         malloca.
40814         * tests/test-memmem.c: Rewrite, borrowing ideas from
40815         test-mbsstr1.c; the old version wouldn't even compile!
40816         * modules/memmem-tests: New file.
40817         * lib/string.in.h (rpl_memmem): Add declaration.
40818         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
40819         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
40820         REPLACE_MEMMEM.
40821
40822 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
40823
40824         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
40825         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
40826         before any system include files, and undef after them all.  This
40827         should fix a problem on VMS reported by John E. Malmberg in
40828         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
40829
40830 2007-12-17  Eric Blake  <ebb9@byu.net>
40831
40832         Revert addition of verify, for BSD/OS.
40833         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
40834         can't handle large files, for the sake of obsolete platforms.
40835         * modules/fseeko (Depends-on): Remove verify.
40836         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
40837         * doc/functions/ftello.texi (ftello): Likewise.
40838         * doc/functions/fgetpos.texi (fgetpos): Likewise.
40839         Reported by Larry Jones.
40840
40841 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
40842
40843         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
40844         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
40845
40846 2007-12-17  Jim Meyering  <meyering@redhat.com>
40847
40848         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
40849         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
40850         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
40851         * modules/getcwd (Depends-on): Add openat.
40852         Reported by Petr Salinger.
40853
40854 2007-12-17  Bruno Haible  <bruno@clisp.org>
40855
40856         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
40857         avoid a segmentation fault of the configure test on x86_64 systems.
40858
40859 2007-12-15  Jim Meyering  <meyering@redhat.com>
40860
40861         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
40862
40863 2007-12-13  Eric Blake  <ebb9@byu.net>
40864
40865         Another fseek test.
40866         * tests/test-fseek.c (main): Also test ungetc handling.
40867         * tests/test-fseeko.c (main): Likewise.
40868         * modules/fseeko (Depends-on): Add verify.
40869         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
40870         large.
40871         Reported by Larry Jones.
40872
40873         Fix fseeko on mingw.
40874         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
40875         seek.
40876
40877         Beef up fseek tests.
40878         * tests/test-fseek.c (main): Also test eof handling.
40879         * tests/test-fseeko.c (main): Likewise.
40880         Reported by Larry Jones.
40881
40882 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
40883
40884         Fix fseeko on BSD-based platforms.
40885         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
40886         successful seek.
40887
40888 2007-12-12  Eric Blake  <ebb9@byu.net>
40889
40890         Allow circular dependency of separate libtests.a
40891         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
40892         when use_libtests.
40893
40894 2007-12-11  Eric Blake  <ebb9@byu.net>
40895
40896         Fix bug with -0.0L in previous patch.
40897         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
40898         * tests/test-isnan.c (main): Also test on zeroes.
40899         * tests/test-isnanf.c (main): Likewise.
40900         * tests/test-isnanl.h (main): Likewise.
40901
40902         Detect pseudo-denormals on x86 even when cross-compiling.
40903         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
40904         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
40905         invalid bit patterns that happen to satisfy ==.
40906
40907         Avoid link failures with separate libtests.a.
40908         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
40909         last, to satisfy circular dependencies.
40910
40911 2007-12-11  Eric Blake  <ebb9@byu.net>
40912         and Bruno Haible  <bruno@clisp.org>
40913
40914         Fix OpenBSD 4.0 <float.h> handling of long double.
40915         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
40916         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
40917         * doc/headers/float.texi (float.h): Document OpenBSD bug.
40918
40919 2007-12-11  Jim Meyering  <meyering@redhat.com>
40920
40921         * users.txt: Add libvirt.
40922
40923         Support versions of autoconf prior to 2.59c.
40924         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
40925         if it is not already defined.
40926
40927 2007-12-09  Bruno Haible  <bruno@clisp.org>
40928
40929         Let 'gnulib-tool --import' collect sources needed for the tests in
40930         tests/ rather than in lib/.
40931         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
40932         argument. If true, add rules to generate libtests.a, and put libtests.a
40933         into $(LDADD). Consider source files in subdirectories and set
40934         uses_subdirs.
40935         (func_emit_initmacro_start, func_emit_initmacro_end,
40936         func_emit_initmacro_done): Pass all arguments explicitly.
40937         (func_import): Determine two module lists main_modules,
40938         testsrelated_modules. Determine use_libtests. Determine two variables
40939         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
40940         instead of just sed_transform_lib_file. Determine two variables
40941         main_files and testsrelated_files. Compute 'files' as the union of
40942         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
40943         func_add_or_update. In the generated gnulib-comp.m4, collect the
40944         object files for tests/ in different variables than those for lib/.
40945         Substitute LIBTESTS_LIBDEPS.
40946         (func_create_testdir): Combine the uses_subdirs results from
40947         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
40948
40949 2007-12-09  Bruno Haible  <bruno@clisp.org>
40950
40951         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
40952         the build-aux directory.
40953
40954 2007-12-09  Bruno Haible  <bruno@clisp.org>
40955
40956         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
40957         introduced on 2006-09-09.
40958
40959 2007-12-07  Jim Meyering  <meyering@redhat.com>
40960
40961         Let these macros work also with autoconf-2.59.
40962         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
40963         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
40964         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
40965
40966 2007-12-06  Jim Meyering  <meyering@redhat.com>
40967
40968         Avoid a configure-time syntax error in gl_FUNC_ACL.
40969         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
40970         function in each branch, before testing the cache variable.
40971
40972 2007-12-04  Eric Blake  <ebb9@byu.net>
40973
40974         Make scripts executable.
40975         * build-aux/config.guess: Add execute permissions.
40976         * build-aux/config.sub: Likewise.
40977         * build-aux/gendocs.sh: Likewise.
40978
40979         Fix frexp on mingw.
40980         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
40981         cross-compiling.
40982         * doc/functions/frexp.texi (frexp): Document the bug.
40983
40984         Make cygwin fseeko check more reliable.
40985         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
40986         version numbers, rather than unrelated feature check.
40987         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
40988         * doc/functions/ftello.texi (ftello): Likewise.
40989         Reported by Bruno Haible.
40990
40991         * m4/strerror.m4: Bump version number.
40992
40993 2007-12-03  Bruno Haible  <bruno@clisp.org>
40994
40995         * doc/functions/mprotect.texi: Mention the mingw problem.
40996
40997 2007-12-03  Eric Blake  <ebb9@byu.net>
40998
40999         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
41000         REPLACE_STRERROR is initialized before this macro.
41001
41002 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
41003
41004         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
41005         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
41006         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
41007         put -lsec in even for programs other than 'ls'.  This fixes a problem
41008         for gettext reported by Bruno Haible in
41009         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
41010         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
41011         Add support for Solaris 10.  This isn't efficient, but should get the
41012         job done for now.
41013
41014 2007-12-03  James Youngman  <jay@gnu.org>
41015
41016         * doc/regexprops-generic.texi: change "an close-group" to "a
41017         close-group" and "illegal" to "not allowed".
41018
41019 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41020
41021         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
41022         pr_byname.h. Needed for the rare case when the maintainer has done
41023         "make maintainer-clean" in the source directory and then attempts a
41024         build outside the source directory.
41025         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
41026         scripts_byname.h.
41027
41028 2007-12-02  Martin Lambers <marlam@marlam.de>
41029             Bruno Haible  <bruno@clisp.org>
41030
41031         * lib/getpagesize.h: Remove file.
41032         * lib/unistd.in.h: Include declaration of getpagesize here.
41033         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
41034         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
41035         HAVE_SYS_PARAM_H.
41036         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
41037         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
41038         * modules/getpagesize (Files): Remove lib/getpagesize.h.
41039         (Depends-on): Add unistd.
41040         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41041         (Include): Use <unistd.h> instead of getpagesize.h.
41042         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
41043         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
41044         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
41045         gl_GETPAGESIZE invocation, already handled by module dependency.
41046         * lib/pagealign_alloc.c: Don't include getpagesize.h.
41047
41048 2007-12-02  Bruno Haible  <bruno@clisp.org>
41049
41050         * modules/strings-tests: New file.
41051         * tests/test-strings.c: New file.
41052
41053         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
41054         * lib/strings.in.h: New file.
41055         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
41056         * m4/strings_h.m4: New file.
41057         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
41058         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
41059         * modules/strings: New file.
41060         * modules/string (Makefile.am): Update.
41061         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
41062         Reported by Karl Berry.
41063
41064 2007-12-01  Eric Blake  <ebb9@byu.net>
41065
41066         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
41067         accomodate fix in cygwin 1.5.25.
41068
41069 2007-12-01  Jim Meyering  <meyering@redhat.com>
41070
41071         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
41072         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
41073         that would inhibit utf8-optimization of a regexp containing line-
41074         or buffer-anchors, e.g., `^', `$'.
41075
41076 2007-11-30  Bruno Haible  <bruno@clisp.org>
41077
41078         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
41079         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
41080         glthread_recursive_lock_init.
41081         * lib/lock.c (glthread_recursive_lock_init)
41082         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
41083         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
41084
41085 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
41086
41087         New function qset_acl, like set_acl but with syscall semantics.
41088         * lib/acl.h (qset_acl): New decl.
41089         * lib/acl.c (qset_acl): New function.
41090         (set_acl): Use new function.  Use more-consistent diagnostics.
41091
41092 2007-11-28  Jim Meyering  <meyering@redhat.com>
41093
41094         * modules/physmem (License): Change from GPL to LGPLv2+.
41095
41096 2007-11-26  Bruno Haible  <bruno@clisp.org>
41097
41098         * lib/vasnprintf.c (decode_long_double): Don't abort if the
41099         'long double' type has excess precision.
41100         Reported by Jim Meyering in
41101         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
41102
41103 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41104
41105         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
41106         Sync from <http://gnu.org/licenses>.
41107         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
41108         with license text from same location.
41109         * doc/maintain.texi, doc/standards.texi:  Sync from
41110         <http://savannah.gnu.org/projects/gnustandards>.
41111
41112 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
41113         and Jim Meyering  <meyering@redhat.com>
41114
41115         Adjust getdate' grammar to accept a slightly more regular language.
41116         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
41117         Before, the former was rejected.
41118         * lib/getdate.y (digits_to_date_time): New function, factored
41119         out of ...
41120         (number): ...here.  Just call digits_to_date_time.
41121         (hybrid): New non-terminal to handle an <unsigned number,
41122         signed relative offset> sequence consistently.
41123
41124 2007-11-18  Jim Meyering  <meyering@redhat.com>
41125
41126         Pull my changes from coreutils:
41127         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
41128         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
41129         use of $gnulib_tool_option_extras, so that it's separated from the
41130         preceding argument.
41131
41132         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
41133         * build-aux/bootstrap (cp_mark_as_generated): Create any required
41134         parent destination directories before copying a file into place.
41135
41136 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
41137
41138         bootstrap: work also with 4-argument variant of AC_INIT
41139         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
41140
41141 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
41142
41143         Port test-getaddrinfo to Solaris.
41144         Problem reported by Bruno Haible in
41145         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
41146         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
41147         explanation of setting 'hints'.
41148         Don't reject an implementation merely because it returns EAI_SERVICE.
41149         (EAI_SERVICE): Define to 0 if not defined.
41150
41151 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
41152
41153         The license of gnu-make and posix-shell is now "GPLed build tool".
41154         * modules/gnu-make (License): Likewise.
41155         * modules/posix-shell (License): Likewise.
41156
41157         New module posix-shell, for determining a POSIX shell
41158         or perhaps something that is close enough to a POSIX shell.
41159         * m4/posix-shell.m4: New file.
41160         * modules/posix-shell: New file.
41161
41162         * MODULES.html.sh: Mention new module.
41163
41164         New module gnu-make, for determining whether we're using GNU Make.
41165         * m4/gnu-make.m4: New file.
41166         * modules/gnu-make: New file.
41167         * MODULES.html.sh: Mention new module.
41168
41169 2007-11-14  Jim Meyering  <meyering@redhat.com>
41170
41171         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
41172         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
41173         use this macro to create a function _definition_.
41174         Remove useless "#undef ARGMATCH_DIE".
41175
41176 2007-11-14  Bruno Haible  <bruno@clisp.org>
41177
41178         * lib/config.charset: Update for OpenBSD 4.1.
41179         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
41180
41181 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
41182
41183         Document 64-bit #if problems in stdint.texi.
41184         * doc/headers/stdint.texi (stdint.h): Mention problems with
41185         64-bit-#if, and how to work around them.
41186
41187         Don't insist on 'long long int' support in the preprocessor.  It
41188         breaks too many things.  For example, PRIdMAX still uses a 'long
41189         long int' format with the latest Sun compiler, even though
41190         HAVE_LONG_LONG_INT isn't defined due to that compiler's
41191         preprocessor problem.  This causes the latest coreutils to dump
41192         core on Solaris 10 sparc with the Sun C compiler.
41193         Instead, fix the 2007-10-16 problem in a different way, by evaluating
41194         the troublesome expressions at configure-time, not at #if-time.
41195         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
41196         preprocessor.
41197         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
41198         compile-time C checks, done at 'configure'-time.
41199         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
41200         * modules/inttypes (Makefile): Substitute the new symbols that
41201         gl_INTTYPES_H now generates.
41202         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
41203
41204 2007-11-12  Bruno Haible  <bruno@clisp.org>
41205
41206         Tests for Unicode character classification functions.
41207
41208         * modules/unictype/bidicategory-byname-tests: New file.
41209         * modules/unictype/bidicategory-name-tests: New file.
41210         * modules/unictype/bidicategory-of-tests: New file.
41211         * modules/unictype/bidicategory-test-tests: New file.
41212         * modules/unictype/block-list-tests: New file.
41213         * modules/unictype/block-of-tests: New file.
41214         * modules/unictype/block-test-tests: New file.
41215         * modules/unictype/category-C-tests: New file.
41216         * modules/unictype/category-Cc-tests: New file.
41217         * modules/unictype/category-Cf-tests: New file.
41218         * modules/unictype/category-Cn-tests: New file.
41219         * modules/unictype/category-Co-tests: New file.
41220         * modules/unictype/category-Cs-tests: New file.
41221         * modules/unictype/category-L-tests: New file.
41222         * modules/unictype/category-Ll-tests: New file.
41223         * modules/unictype/category-Lm-tests: New file.
41224         * modules/unictype/category-Lo-tests: New file.
41225         * modules/unictype/category-Lt-tests: New file.
41226         * modules/unictype/category-Lu-tests: New file.
41227         * modules/unictype/category-M-tests: New file.
41228         * modules/unictype/category-Mc-tests: New file.
41229         * modules/unictype/category-Me-tests: New file.
41230         * modules/unictype/category-Mn-tests: New file.
41231         * modules/unictype/category-N-tests: New file.
41232         * modules/unictype/category-Nd-tests: New file.
41233         * modules/unictype/category-Nl-tests: New file.
41234         * modules/unictype/category-No-tests: New file.
41235         * modules/unictype/category-P-tests: New file.
41236         * modules/unictype/category-Pc-tests: New file.
41237         * modules/unictype/category-Pd-tests: New file.
41238         * modules/unictype/category-Pe-tests: New file.
41239         * modules/unictype/category-Pf-tests: New file.
41240         * modules/unictype/category-Pi-tests: New file.
41241         * modules/unictype/category-Po-tests: New file.
41242         * modules/unictype/category-Ps-tests: New file.
41243         * modules/unictype/category-S-tests: New file.
41244         * modules/unictype/category-Sc-tests: New file.
41245         * modules/unictype/category-Sk-tests: New file.
41246         * modules/unictype/category-Sm-tests: New file.
41247         * modules/unictype/category-So-tests: New file.
41248         * modules/unictype/category-Z-tests: New file.
41249         * modules/unictype/category-Zl-tests: New file.
41250         * modules/unictype/category-Zp-tests: New file.
41251         * modules/unictype/category-Zs-tests: New file.
41252         * modules/unictype/category-and-not-tests: New file.
41253         * modules/unictype/category-and-tests: New file.
41254         * modules/unictype/category-byname-tests: New file.
41255         * modules/unictype/category-name-tests: New file.
41256         * modules/unictype/category-none-tests: New file.
41257         * modules/unictype/category-of-tests: New file.
41258         * modules/unictype/category-or-tests: New file.
41259         * modules/unictype/category-test-withtable-tests: New file.
41260         * modules/unictype/combining-class-tests: New file.
41261         * modules/unictype/ctype-alnum-tests: New file.
41262         * modules/unictype/ctype-alpha-tests: New file.
41263         * modules/unictype/ctype-blank-tests: New file.
41264         * modules/unictype/ctype-cntrl-tests: New file.
41265         * modules/unictype/ctype-digit-tests: New file.
41266         * modules/unictype/ctype-graph-tests: New file.
41267         * modules/unictype/ctype-lower-tests: New file.
41268         * modules/unictype/ctype-print-tests: New file.
41269         * modules/unictype/ctype-punct-tests: New file.
41270         * modules/unictype/ctype-space-tests: New file.
41271         * modules/unictype/ctype-upper-tests: New file.
41272         * modules/unictype/ctype-xdigit-tests: New file.
41273         * modules/unictype/decimal-digit-tests: New file.
41274         * modules/unictype/digit-tests: New file.
41275         * modules/unictype/mirror-tests: New file.
41276         * modules/unictype/numeric-tests: New file.
41277         * modules/unictype/property-alphabetic-tests: New file.
41278         * modules/unictype/property-ascii-hex-digit-tests: New file.
41279         * modules/unictype/property-bidi-arabic-digit-tests: New file.
41280         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
41281         * modules/unictype/property-bidi-block-separator-tests: New file.
41282         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
41283         * modules/unictype/property-bidi-common-separator-tests: New file.
41284         * modules/unictype/property-bidi-control-tests: New file.
41285         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
41286         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
41287         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
41288         * modules/unictype/property-bidi-european-digit-tests: New file.
41289         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
41290         * modules/unictype/property-bidi-left-to-right-tests: New file.
41291         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
41292         * modules/unictype/property-bidi-other-neutral-tests: New file.
41293         * modules/unictype/property-bidi-pdf-tests: New file.
41294         * modules/unictype/property-bidi-segment-separator-tests: New file.
41295         * modules/unictype/property-bidi-whitespace-tests: New file.
41296         * modules/unictype/property-byname-tests: New file.
41297         * modules/unictype/property-combining-tests: New file.
41298         * modules/unictype/property-composite-tests: New file.
41299         * modules/unictype/property-currency-symbol-tests: New file.
41300         * modules/unictype/property-dash-tests: New file.
41301         * modules/unictype/property-decimal-digit-tests: New file.
41302         * modules/unictype/property-default-ignorable-code-point-tests: New file.
41303         * modules/unictype/property-deprecated-tests: New file.
41304         * modules/unictype/property-diacritic-tests: New file.
41305         * modules/unictype/property-extender-tests: New file.
41306         * modules/unictype/property-format-control-tests: New file.
41307         * modules/unictype/property-grapheme-base-tests: New file.
41308         * modules/unictype/property-grapheme-extend-tests: New file.
41309         * modules/unictype/property-grapheme-link-tests: New file.
41310         * modules/unictype/property-hex-digit-tests: New file.
41311         * modules/unictype/property-hyphen-tests: New file.
41312         * modules/unictype/property-id-continue-tests: New file.
41313         * modules/unictype/property-id-start-tests: New file.
41314         * modules/unictype/property-ideographic-tests: New file.
41315         * modules/unictype/property-ids-binary-operator-tests: New file.
41316         * modules/unictype/property-ids-trinary-operator-tests: New file.
41317         * modules/unictype/property-ignorable-control-tests: New file.
41318         * modules/unictype/property-iso-control-tests: New file.
41319         * modules/unictype/property-join-control-tests: New file.
41320         * modules/unictype/property-left-of-pair-tests: New file.
41321         * modules/unictype/property-line-separator-tests: New file.
41322         * modules/unictype/property-logical-order-exception-tests: New file.
41323         * modules/unictype/property-lowercase-tests: New file.
41324         * modules/unictype/property-math-tests: New file.
41325         * modules/unictype/property-non-break-tests: New file.
41326         * modules/unictype/property-not-a-character-tests: New file.
41327         * modules/unictype/property-numeric-tests: New file.
41328         * modules/unictype/property-other-alphabetic-tests: New file.
41329         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
41330         * modules/unictype/property-other-grapheme-extend-tests: New file.
41331         * modules/unictype/property-other-id-continue-tests: New file.
41332         * modules/unictype/property-other-id-start-tests: New file.
41333         * modules/unictype/property-other-lowercase-tests: New file.
41334         * modules/unictype/property-other-math-tests: New file.
41335         * modules/unictype/property-other-uppercase-tests: New file.
41336         * modules/unictype/property-paired-punctuation-tests: New file.
41337         * modules/unictype/property-paragraph-separator-tests: New file.
41338         * modules/unictype/property-pattern-syntax-tests: New file.
41339         * modules/unictype/property-pattern-white-space-tests: New file.
41340         * modules/unictype/property-private-use-tests: New file.
41341         * modules/unictype/property-punctuation-tests: New file.
41342         * modules/unictype/property-quotation-mark-tests: New file.
41343         * modules/unictype/property-radical-tests: New file.
41344         * modules/unictype/property-sentence-terminal-tests: New file.
41345         * modules/unictype/property-soft-dotted-tests: New file.
41346         * modules/unictype/property-space-tests: New file.
41347         * modules/unictype/property-terminal-punctuation-tests: New file.
41348         * modules/unictype/property-test-tests: New file.
41349         * modules/unictype/property-titlecase-tests: New file.
41350         * modules/unictype/property-unassigned-code-value-tests: New file.
41351         * modules/unictype/property-unified-ideograph-tests: New file.
41352         * modules/unictype/property-uppercase-tests: New file.
41353         * modules/unictype/property-variation-selector-tests: New file.
41354         * modules/unictype/property-white-space-tests: New file.
41355         * modules/unictype/property-xid-continue-tests: New file.
41356         * modules/unictype/property-xid-start-tests: New file.
41357         * modules/unictype/property-zero-width-tests: New file.
41358         * modules/unictype/scripts-tests: New file.
41359         * modules/unictype/syntax-c-ident-tests: New file.
41360         * modules/unictype/syntax-c-whitespace-tests: New file.
41361         * modules/unictype/syntax-java-ident-tests: New file.
41362         * modules/unictype/syntax-java-whitespace-tests: New file.
41363         * tests/unictype/test-bidi_byname.c: New file.
41364         * tests/unictype/test-bidi_name.c: New file.
41365         * tests/unictype/test-bidi_of.c: New file.
41366         * tests/unictype/test-bidi_test.c: New file.
41367         * tests/unictype/test-block_list.c: New file.
41368         * tests/unictype/test-block_of.c: New file.
41369         * tests/unictype/test-block_test.c: New file.
41370         * tests/unictype/test-categ_and.c: New file.
41371         * tests/unictype/test-categ_and_not.c: New file.
41372         * tests/unictype/test-categ_byname.c: New file.
41373         * tests/unictype/test-categ_name.c: New file.
41374         * tests/unictype/test-categ_none.c: New file.
41375         * tests/unictype/test-categ_of.c: New file.
41376         * tests/unictype/test-categ_or.c: New file.
41377         * tests/unictype/test-categ_test_withtable.c: New file.
41378         * tests/unictype/test-combining.c: New file.
41379         * tests/unictype/test-decdigit.c: New file.
41380         * tests/unictype/test-digit.c: New file.
41381         * tests/unictype/test-mirror.c: New file.
41382         * tests/unictype/test-numeric.c: New file.
41383         * tests/unictype/test-pr_byname.c: New file.
41384         * tests/unictype/test-pr_test.c: New file.
41385         * tests/unictype/test-predicate-part1.h: New file.
41386         * tests/unictype/test-predicate-part2.h: New file.
41387         * tests/unictype/test-scripts.c: New file.
41388         * tests/unictype/test-sy_c_ident.c: New file.
41389         * tests/unictype/test-sy_java_ident.c: New file.
41390
41391         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
41392         for Unicode 5.0.0.
41393         * tests/unictype/test-categ_Cc.c: Likewise.
41394         * tests/unictype/test-categ_Cf.c: Likewise.
41395         * tests/unictype/test-categ_Cn.c: Likewise.
41396         * tests/unictype/test-categ_Co.c: Likewise.
41397         * tests/unictype/test-categ_Cs.c: Likewise.
41398         * tests/unictype/test-categ_L.c: Likewise.
41399         * tests/unictype/test-categ_Ll.c: Likewise.
41400         * tests/unictype/test-categ_Lm.c: Likewise.
41401         * tests/unictype/test-categ_Lo.c: Likewise.
41402         * tests/unictype/test-categ_Lt.c: Likewise.
41403         * tests/unictype/test-categ_Lu.c: Likewise.
41404         * tests/unictype/test-categ_M.c: Likewise.
41405         * tests/unictype/test-categ_Mc.c: Likewise.
41406         * tests/unictype/test-categ_Me.c: Likewise.
41407         * tests/unictype/test-categ_Mn.c: Likewise.
41408         * tests/unictype/test-categ_N.c: Likewise.
41409         * tests/unictype/test-categ_Nd.c: Likewise.
41410         * tests/unictype/test-categ_Nl.c: Likewise.
41411         * tests/unictype/test-categ_No.c: Likewise.
41412         * tests/unictype/test-categ_P.c: Likewise.
41413         * tests/unictype/test-categ_Pc.c: Likewise.
41414         * tests/unictype/test-categ_Pd.c: Likewise.
41415         * tests/unictype/test-categ_Pe.c: Likewise.
41416         * tests/unictype/test-categ_Pf.c: Likewise.
41417         * tests/unictype/test-categ_Pi.c: Likewise.
41418         * tests/unictype/test-categ_Po.c: Likewise.
41419         * tests/unictype/test-categ_Ps.c: Likewise.
41420         * tests/unictype/test-categ_S.c: Likewise.
41421         * tests/unictype/test-categ_Sc.c: Likewise.
41422         * tests/unictype/test-categ_Sk.c: Likewise.
41423         * tests/unictype/test-categ_Sm.c: Likewise.
41424         * tests/unictype/test-categ_So.c: Likewise.
41425         * tests/unictype/test-categ_Z.c: Likewise.
41426         * tests/unictype/test-categ_Zl.c: Likewise.
41427         * tests/unictype/test-categ_Zp.c: Likewise.
41428         * tests/unictype/test-categ_Zs.c: Likewise.
41429         * tests/unictype/test-ctype_alnum.c: Likewise.
41430         * tests/unictype/test-ctype_alpha.c: Likewise.
41431         * tests/unictype/test-ctype_blank.c: Likewise.
41432         * tests/unictype/test-ctype_cntrl.c: Likewise.
41433         * tests/unictype/test-ctype_digit.c: Likewise.
41434         * tests/unictype/test-ctype_graph.c: Likewise.
41435         * tests/unictype/test-ctype_lower.c: Likewise.
41436         * tests/unictype/test-ctype_print.c: Likewise.
41437         * tests/unictype/test-ctype_punct.c: Likewise.
41438         * tests/unictype/test-ctype_space.c: Likewise.
41439         * tests/unictype/test-ctype_upper.c: Likewise.
41440         * tests/unictype/test-ctype_xdigit.c: Likewise.
41441         * tests/unictype/test-decdigit.h: Likewise.
41442         * tests/unictype/test-digit.h: Likewise.
41443         * tests/unictype/test-numeric.h: Likewise.
41444         * tests/unictype/test-pr_alphabetic.c: Likewise.
41445         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
41446         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
41447         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
41448         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
41449         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
41450         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
41451         * tests/unictype/test-pr_bidi_control.c: Likewise.
41452         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
41453         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
41454         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
41455         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
41456         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
41457         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
41458         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
41459         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
41460         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
41461         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
41462         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
41463         * tests/unictype/test-pr_combining.c: Likewise.
41464         * tests/unictype/test-pr_composite.c: Likewise.
41465         * tests/unictype/test-pr_currency_symbol.c: Likewise.
41466         * tests/unictype/test-pr_dash.c: Likewise.
41467         * tests/unictype/test-pr_decimal_digit.c: Likewise.
41468         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
41469         * tests/unictype/test-pr_deprecated.c: Likewise.
41470         * tests/unictype/test-pr_diacritic.c: Likewise.
41471         * tests/unictype/test-pr_extender.c: Likewise.
41472         * tests/unictype/test-pr_format_control.c: Likewise.
41473         * tests/unictype/test-pr_grapheme_base.c: Likewise.
41474         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
41475         * tests/unictype/test-pr_grapheme_link.c: Likewise.
41476         * tests/unictype/test-pr_hex_digit.c: Likewise.
41477         * tests/unictype/test-pr_hyphen.c: Likewise.
41478         * tests/unictype/test-pr_id_continue.c: Likewise.
41479         * tests/unictype/test-pr_id_start.c: Likewise.
41480         * tests/unictype/test-pr_ideographic.c: Likewise.
41481         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
41482         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
41483         * tests/unictype/test-pr_ignorable_control.c: Likewise.
41484         * tests/unictype/test-pr_iso_control.c: Likewise.
41485         * tests/unictype/test-pr_join_control.c: Likewise.
41486         * tests/unictype/test-pr_left_of_pair.c: Likewise.
41487         * tests/unictype/test-pr_line_separator.c: Likewise.
41488         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
41489         * tests/unictype/test-pr_lowercase.c: Likewise.
41490         * tests/unictype/test-pr_math.c: Likewise.
41491         * tests/unictype/test-pr_non_break.c: Likewise.
41492         * tests/unictype/test-pr_not_a_character.c: Likewise.
41493         * tests/unictype/test-pr_numeric.c: Likewise.
41494         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
41495         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
41496         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
41497         * tests/unictype/test-pr_other_id_continue.c: Likewise.
41498         * tests/unictype/test-pr_other_id_start.c: Likewise.
41499         * tests/unictype/test-pr_other_lowercase.c: Likewise.
41500         * tests/unictype/test-pr_other_math.c: Likewise.
41501         * tests/unictype/test-pr_other_uppercase.c: Likewise.
41502         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
41503         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
41504         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
41505         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
41506         * tests/unictype/test-pr_private_use.c: Likewise.
41507         * tests/unictype/test-pr_punctuation.c: Likewise.
41508         * tests/unictype/test-pr_quotation_mark.c: Likewise.
41509         * tests/unictype/test-pr_radical.c: Likewise.
41510         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
41511         * tests/unictype/test-pr_soft_dotted.c: Likewise.
41512         * tests/unictype/test-pr_space.c: Likewise.
41513         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
41514         * tests/unictype/test-pr_titlecase.c: Likewise.
41515         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
41516         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
41517         * tests/unictype/test-pr_uppercase.c: Likewise.
41518         * tests/unictype/test-pr_variation_selector.c: Likewise.
41519         * tests/unictype/test-pr_white_space.c: Likewise.
41520         * tests/unictype/test-pr_xid_continue.c: Likewise.
41521         * tests/unictype/test-pr_xid_start.c: Likewise.
41522         * tests/unictype/test-pr_zero_width.c: Likewise.
41523         * tests/unictype/test-sy_c_whitespace.c: Likewise.
41524         * tests/unictype/test-sy_java_whitespace.c: Likewise.
41525
41526 2007-11-12  Bruno Haible  <bruno@clisp.org>
41527
41528         Unicode character classification functions.
41529         * lib/unictype.h: New file.
41530         * modules/unictype/base: New file.
41531         * modules/unictype/category-L: New file.
41532         * modules/unictype/category-Lu: New file.
41533         * modules/unictype/category-Ll: New file.
41534         * modules/unictype/category-Lt: New file.
41535         * modules/unictype/category-Lm: New file.
41536         * modules/unictype/category-Lo: New file.
41537         * modules/unictype/category-M: New file.
41538         * modules/unictype/category-Mn: New file.
41539         * modules/unictype/category-Mc: New file.
41540         * modules/unictype/category-Me: New file.
41541         * modules/unictype/category-N: New file.
41542         * modules/unictype/category-Nd: New file.
41543         * modules/unictype/category-Nl: New file.
41544         * modules/unictype/category-No: New file.
41545         * modules/unictype/category-P: New file.
41546         * modules/unictype/category-Pc: New file.
41547         * modules/unictype/category-Pd: New file.
41548         * modules/unictype/category-Ps: New file.
41549         * modules/unictype/category-Pe: New file.
41550         * modules/unictype/category-Pi: New file.
41551         * modules/unictype/category-Pf: New file.
41552         * modules/unictype/category-Po: New file.
41553         * modules/unictype/category-S: New file.
41554         * modules/unictype/category-Sm: New file.
41555         * modules/unictype/category-Sc: New file.
41556         * modules/unictype/category-Sk: New file.
41557         * modules/unictype/category-So: New file.
41558         * modules/unictype/category-Z: New file.
41559         * modules/unictype/category-Zs: New file.
41560         * modules/unictype/category-Zl: New file.
41561         * modules/unictype/category-Zp: New file.
41562         * modules/unictype/category-C: New file.
41563         * modules/unictype/category-Cc: New file.
41564         * modules/unictype/category-Cf: New file.
41565         * modules/unictype/category-Cs: New file.
41566         * modules/unictype/category-Co: New file.
41567         * modules/unictype/category-Cn: New file.
41568         * modules/unictype/category-or: New file.
41569         * modules/unictype/category-of: New file.
41570         * modules/unictype/category-test: New file.
41571         * modules/unictype/category-test-withtable: New file.
41572         * modules/unictype/category-byname: New file.
41573         * modules/unictype/category-none: New file.
41574         * modules/unictype/category-and: New file.
41575         * modules/unictype/category-and-not: New file.
41576         * modules/unictype/category-name: New file.
41577         * modules/unictype/combining-class: New file.
41578         * modules/unictype/category-all: New file.
41579         * modules/unictype/bidicategory-all: New file.
41580         * modules/unictype/bidicategory-byname: New file.
41581         * modules/unictype/bidicategory-name: New file.
41582         * modules/unictype/bidicategory-of: New file.
41583         * modules/unictype/bidicategory-test: New file.
41584         * modules/unictype/decimal-digit: New file.
41585         * modules/unictype/digit: New file.
41586         * modules/unictype/numeric: New file.
41587         * modules/unictype/mirror: New file.
41588         * modules/unictype/property-white-space: New file.
41589         * modules/unictype/property-alphabetic: New file.
41590         * modules/unictype/property-other-alphabetic: New file.
41591         * modules/unictype/property-not-a-character: New file.
41592         * modules/unictype/property-default-ignorable-code-point: New file.
41593         * modules/unictype/property-other-default-ignorable-code-point: New
41594         file.
41595         * modules/unictype/property-deprecated: New file.
41596         * modules/unictype/property-logical-order-exception: New file.
41597         * modules/unictype/property-variation-selector: New file.
41598         * modules/unictype/property-private-use: New file.
41599         * modules/unictype/property-unassigned-code-value: New file.
41600         * modules/unictype/property-uppercase: New file.
41601         * modules/unictype/property-other-uppercase: New file.
41602         * modules/unictype/property-lowercase: New file.
41603         * modules/unictype/property-other-lowercase: New file.
41604         * modules/unictype/property-titlecase: New file.
41605         * modules/unictype/property-soft-dotted: New file.
41606         * modules/unictype/property-id-start: New file.
41607         * modules/unictype/property-other-id-start: New file.
41608         * modules/unictype/property-id-continue: New file.
41609         * modules/unictype/property-other-id-continue: New file.
41610         * modules/unictype/property-xid-start: New file.
41611         * modules/unictype/property-xid-continue: New file.
41612         * modules/unictype/property-pattern-white-space: New file.
41613         * modules/unictype/property-pattern-syntax: New file.
41614         * modules/unictype/property-join-control: New file.
41615         * modules/unictype/property-grapheme-base: New file.
41616         * modules/unictype/property-grapheme-extend: New file.
41617         * modules/unictype/property-other-grapheme-extend: New file.
41618         * modules/unictype/property-grapheme-link: New file.
41619         * modules/unictype/property-bidi-control: New file.
41620         * modules/unictype/property-bidi-left-to-right: New file.
41621         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
41622         * modules/unictype/property-bidi-arabic-right-to-left: New file.
41623         * modules/unictype/property-bidi-european-digit: New file.
41624         * modules/unictype/property-bidi-eur-num-separator: New file.
41625         * modules/unictype/property-bidi-eur-num-terminator: New file.
41626         * modules/unictype/property-bidi-arabic-digit: New file.
41627         * modules/unictype/property-bidi-common-separator: New file.
41628         * modules/unictype/property-bidi-block-separator: New file.
41629         * modules/unictype/property-bidi-segment-separator: New file.
41630         * modules/unictype/property-bidi-whitespace: New file.
41631         * modules/unictype/property-bidi-non-spacing-mark: New file.
41632         * modules/unictype/property-bidi-boundary-neutral: New file.
41633         * modules/unictype/property-bidi-pdf: New file.
41634         * modules/unictype/property-bidi-embedding-or-override: New file.
41635         * modules/unictype/property-bidi-other-neutral: New file.
41636         * modules/unictype/property-hex-digit: New file.
41637         * modules/unictype/property-ascii-hex-digit: New file.
41638         * modules/unictype/property-ideographic: New file.
41639         * modules/unictype/property-unified-ideograph: New file.
41640         * modules/unictype/property-radical: New file.
41641         * modules/unictype/property-ids-binary-operator: New file.
41642         * modules/unictype/property-ids-trinary-operator: New file.
41643         * modules/unictype/property-zero-width: New file.
41644         * modules/unictype/property-space: New file.
41645         * modules/unictype/property-non-break: New file.
41646         * modules/unictype/property-iso-control: New file.
41647         * modules/unictype/property-format-control: New file.
41648         * modules/unictype/property-dash: New file.
41649         * modules/unictype/property-hyphen: New file.
41650         * modules/unictype/property-punctuation: New file.
41651         * modules/unictype/property-line-separator: New file.
41652         * modules/unictype/property-paragraph-separator: New file.
41653         * modules/unictype/property-quotation-mark: New file.
41654         * modules/unictype/property-sentence-terminal: New file.
41655         * modules/unictype/property-terminal-punctuation: New file.
41656         * modules/unictype/property-currency-symbol: New file.
41657         * modules/unictype/property-math: New file.
41658         * modules/unictype/property-other-math: New file.
41659         * modules/unictype/property-paired-punctuation: New file.
41660         * modules/unictype/property-left-of-pair: New file.
41661         * modules/unictype/property-combining: New file.
41662         * modules/unictype/property-composite: New file.
41663         * modules/unictype/property-decimal-digit: New file.
41664         * modules/unictype/property-numeric: New file.
41665         * modules/unictype/property-diacritic: New file.
41666         * modules/unictype/property-extender: New file.
41667         * modules/unictype/property-ignorable-control: New file.
41668         * modules/unictype/property-test: New file.
41669         * modules/unictype/property-byname: New file.
41670         * modules/unictype/property-all: New file.
41671         * modules/unictype/scripts: New file.
41672         * modules/unictype/scripts-all: New file.
41673         * modules/unictype/block-of: New file.
41674         * modules/unictype/block-test: New file.
41675         * modules/unictype/block-list: New file.
41676         * modules/unictype/block-all: New file.
41677         * modules/unictype/syntax-c-whitespace: New file.
41678         * modules/unictype/syntax-java-whitespace: New file.
41679         * modules/unictype/syntax-c-ident: New file.
41680         * modules/unictype/syntax-java-ident: New file.
41681         * modules/unictype/ctype-alnum: New file.
41682         * modules/unictype/ctype-alpha: New file.
41683         * modules/unictype/ctype-cntrl: New file.
41684         * modules/unictype/ctype-digit: New file.
41685         * modules/unictype/ctype-graph: New file.
41686         * modules/unictype/ctype-lower: New file.
41687         * modules/unictype/ctype-print: New file.
41688         * modules/unictype/ctype-punct: New file.
41689         * modules/unictype/ctype-space: New file.
41690         * modules/unictype/ctype-upper: New file.
41691         * modules/unictype/ctype-xdigit: New file.
41692         * modules/unictype/ctype-blank: New file.
41693         * lib/unictype/bidi_byname.c: New file.
41694         * lib/unictype/bidi_name.c: New file.
41695         * lib/unictype/bidi_of.c: New file.
41696         * lib/unictype/bidi_test.c: New file.
41697         * lib/unictype/bitmap.h: New file.
41698         * lib/unictype/block_test.c: New file.
41699         * lib/unictype/blocks.c: New file.
41700         * lib/unictype/categ_C.c: New file.
41701         * lib/unictype/categ_Cc.c: New file.
41702         * lib/unictype/categ_Cf.c: New file.
41703         * lib/unictype/categ_Cn.c: New file.
41704         * lib/unictype/categ_Co.c: New file.
41705         * lib/unictype/categ_Cs.c: New file.
41706         * lib/unictype/categ_L.c: New file.
41707         * lib/unictype/categ_Ll.c: New file.
41708         * lib/unictype/categ_Lm.c: New file.
41709         * lib/unictype/categ_Lo.c: New file.
41710         * lib/unictype/categ_Lt.c: New file.
41711         * lib/unictype/categ_Lu.c: New file.
41712         * lib/unictype/categ_M.c: New file.
41713         * lib/unictype/categ_Mc.c: New file.
41714         * lib/unictype/categ_Me.c: New file.
41715         * lib/unictype/categ_Mn.c: New file.
41716         * lib/unictype/categ_N.c: New file.
41717         * lib/unictype/categ_Nd.c: New file.
41718         * lib/unictype/categ_Nl.c: New file.
41719         * lib/unictype/categ_No.c: New file.
41720         * lib/unictype/categ_P.c: New file.
41721         * lib/unictype/categ_Pc.c: New file.
41722         * lib/unictype/categ_Pd.c: New file.
41723         * lib/unictype/categ_Pe.c: New file.
41724         * lib/unictype/categ_Pf.c: New file.
41725         * lib/unictype/categ_Pi.c: New file.
41726         * lib/unictype/categ_Po.c: New file.
41727         * lib/unictype/categ_Ps.c: New file.
41728         * lib/unictype/categ_S.c: New file.
41729         * lib/unictype/categ_Sc.c: New file.
41730         * lib/unictype/categ_Sk.c: New file.
41731         * lib/unictype/categ_Sm.c: New file.
41732         * lib/unictype/categ_So.c: New file.
41733         * lib/unictype/categ_Z.c: New file.
41734         * lib/unictype/categ_Zl.c: New file.
41735         * lib/unictype/categ_Zp.c: New file.
41736         * lib/unictype/categ_Zs.c: New file.
41737         * lib/unictype/categ_and.c: New file.
41738         * lib/unictype/categ_and_not.c: New file.
41739         * lib/unictype/categ_byname.c: New file.
41740         * lib/unictype/categ_name.c: New file.
41741         * lib/unictype/categ_none.c: New file.
41742         * lib/unictype/categ_of.c: New file.
41743         * lib/unictype/categ_or.c: New file.
41744         * lib/unictype/categ_test.c: New file.
41745         * lib/unictype/combining.c: New file.
41746         * lib/unictype/ctype_alnum.c: New file.
41747         * lib/unictype/ctype_alpha.c: New file.
41748         * lib/unictype/ctype_blank.c: New file.
41749         * lib/unictype/ctype_cntrl.c: New file.
41750         * lib/unictype/ctype_digit.c: New file.
41751         * lib/unictype/ctype_graph.c: New file.
41752         * lib/unictype/ctype_lower.c: New file.
41753         * lib/unictype/ctype_print.c: New file.
41754         * lib/unictype/ctype_punct.c: New file.
41755         * lib/unictype/ctype_space.c: New file.
41756         * lib/unictype/ctype_upper.c: New file.
41757         * lib/unictype/ctype_xdigit.c: New file.
41758         * lib/unictype/decdigit.c: New file.
41759         * lib/unictype/digit.c: New file.
41760         * lib/unictype/identsyntaxmap.h: New file.
41761         * lib/unictype/mirror.c: New file.
41762         * lib/unictype/numeric.c: New file.
41763         * lib/unictype/pr_alphabetic.c: New file.
41764         * lib/unictype/pr_ascii_hex_digit.c: New file.
41765         * lib/unictype/pr_bidi_arabic_digit.c: New file.
41766         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
41767         * lib/unictype/pr_bidi_block_separator.c: New file.
41768         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
41769         * lib/unictype/pr_bidi_common_separator.c: New file.
41770         * lib/unictype/pr_bidi_control.c: New file.
41771         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
41772         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
41773         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
41774         * lib/unictype/pr_bidi_european_digit.c: New file.
41775         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
41776         * lib/unictype/pr_bidi_left_to_right.c: New file.
41777         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
41778         * lib/unictype/pr_bidi_other_neutral.c: New file.
41779         * lib/unictype/pr_bidi_pdf.c: New file.
41780         * lib/unictype/pr_bidi_segment_separator.c: New file.
41781         * lib/unictype/pr_bidi_whitespace.c: New file.
41782         * lib/unictype/pr_byname.c: New file.
41783         * lib/unictype/pr_byname.gperf: New file.
41784         * lib/unictype/pr_combining.c: New file.
41785         * lib/unictype/pr_composite.c: New file.
41786         * lib/unictype/pr_currency_symbol.c: New file.
41787         * lib/unictype/pr_dash.c: New file.
41788         * lib/unictype/pr_decimal_digit.c: New file.
41789         * lib/unictype/pr_default_ignorable_code_point.c: New file.
41790         * lib/unictype/pr_deprecated.c: New file.
41791         * lib/unictype/pr_diacritic.c: New file.
41792         * lib/unictype/pr_extender.c: New file.
41793         * lib/unictype/pr_format_control.c: New file.
41794         * lib/unictype/pr_grapheme_base.c: New file.
41795         * lib/unictype/pr_grapheme_extend.c: New file.
41796         * lib/unictype/pr_grapheme_link.c: New file.
41797         * lib/unictype/pr_hex_digit.c: New file.
41798         * lib/unictype/pr_hyphen.c: New file.
41799         * lib/unictype/pr_id_continue.c: New file.
41800         * lib/unictype/pr_id_start.c: New file.
41801         * lib/unictype/pr_ideographic.c: New file.
41802         * lib/unictype/pr_ids_binary_operator.c: New file.
41803         * lib/unictype/pr_ids_trinary_operator.c: New file.
41804         * lib/unictype/pr_ignorable_control.c: New file.
41805         * lib/unictype/pr_iso_control.c: New file.
41806         * lib/unictype/pr_join_control.c: New file.
41807         * lib/unictype/pr_left_of_pair.c: New file.
41808         * lib/unictype/pr_line_separator.c: New file.
41809         * lib/unictype/pr_logical_order_exception.c: New file.
41810         * lib/unictype/pr_lowercase.c: New file.
41811         * lib/unictype/pr_math.c: New file.
41812         * lib/unictype/pr_non_break.c: New file.
41813         * lib/unictype/pr_not_a_character.c: New file.
41814         * lib/unictype/pr_numeric.c: New file.
41815         * lib/unictype/pr_other_alphabetic.c: New file.
41816         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
41817         * lib/unictype/pr_other_grapheme_extend.c: New file.
41818         * lib/unictype/pr_other_id_continue.c: New file.
41819         * lib/unictype/pr_other_id_start.c: New file.
41820         * lib/unictype/pr_other_lowercase.c: New file.
41821         * lib/unictype/pr_other_math.c: New file.
41822         * lib/unictype/pr_other_uppercase.c: New file.
41823         * lib/unictype/pr_paired_punctuation.c: New file.
41824         * lib/unictype/pr_paragraph_separator.c: New file.
41825         * lib/unictype/pr_pattern_syntax.c: New file.
41826         * lib/unictype/pr_pattern_white_space.c: New file.
41827         * lib/unictype/pr_private_use.c: New file.
41828         * lib/unictype/pr_punctuation.c: New file.
41829         * lib/unictype/pr_quotation_mark.c: New file.
41830         * lib/unictype/pr_radical.c: New file.
41831         * lib/unictype/pr_sentence_terminal.c: New file.
41832         * lib/unictype/pr_soft_dotted.c: New file.
41833         * lib/unictype/pr_space.c: New file.
41834         * lib/unictype/pr_terminal_punctuation.c: New file.
41835         * lib/unictype/pr_test.c: New file.
41836         * lib/unictype/pr_titlecase.c: New file.
41837         * lib/unictype/pr_unassigned_code_value.c: New file.
41838         * lib/unictype/pr_unified_ideograph.c: New file.
41839         * lib/unictype/pr_uppercase.c: New file.
41840         * lib/unictype/pr_variation_selector.c: New file.
41841         * lib/unictype/pr_white_space.c: New file.
41842         * lib/unictype/pr_xid_continue.c: New file.
41843         * lib/unictype/pr_xid_start.c: New file.
41844         * lib/unictype/pr_zero_width.c: New file.
41845         * lib/unictype/scripts.c: New file.
41846         * lib/unictype/sy_c_ident.c: New file.
41847         * lib/unictype/sy_c_whitespace.c: New file.
41848         * lib/unictype/sy_java_ident.c: New file.
41849         * lib/unictype/sy_java_whitespace.c: New file.
41850
41851         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
41852         Unicode 5.0.0.
41853         * lib/unictype/blocks.h: Likewise.
41854         * lib/unictype/categ_C.h: Likewise.
41855         * lib/unictype/categ_Cc.h: Likewise.
41856         * lib/unictype/categ_Cf.h: Likewise.
41857         * lib/unictype/categ_Cn.h: Likewise.
41858         * lib/unictype/categ_Co.h: Likewise.
41859         * lib/unictype/categ_Cs.h: Likewise.
41860         * lib/unictype/categ_L.h: Likewise.
41861         * lib/unictype/categ_Ll.h: Likewise.
41862         * lib/unictype/categ_Lm.h: Likewise.
41863         * lib/unictype/categ_Lo.h: Likewise.
41864         * lib/unictype/categ_Lt.h: Likewise.
41865         * lib/unictype/categ_Lu.h: Likewise.
41866         * lib/unictype/categ_M.h: Likewise.
41867         * lib/unictype/categ_Mc.h: Likewise.
41868         * lib/unictype/categ_Me.h: Likewise.
41869         * lib/unictype/categ_Mn.h: Likewise.
41870         * lib/unictype/categ_N.h: Likewise.
41871         * lib/unictype/categ_Nd.h: Likewise.
41872         * lib/unictype/categ_Nl.h: Likewise.
41873         * lib/unictype/categ_No.h: Likewise.
41874         * lib/unictype/categ_P.h: Likewise.
41875         * lib/unictype/categ_Pc.h: Likewise.
41876         * lib/unictype/categ_Pd.h: Likewise.
41877         * lib/unictype/categ_Pe.h: Likewise.
41878         * lib/unictype/categ_Pf.h: Likewise.
41879         * lib/unictype/categ_Pi.h: Likewise.
41880         * lib/unictype/categ_Po.h: Likewise.
41881         * lib/unictype/categ_Ps.h: Likewise.
41882         * lib/unictype/categ_S.h: Likewise.
41883         * lib/unictype/categ_Sc.h: Likewise.
41884         * lib/unictype/categ_Sk.h: Likewise.
41885         * lib/unictype/categ_Sm.h: Likewise.
41886         * lib/unictype/categ_So.h: Likewise.
41887         * lib/unictype/categ_Z.h: Likewise.
41888         * lib/unictype/categ_Zl.h: Likewise.
41889         * lib/unictype/categ_Zp.h: Likewise.
41890         * lib/unictype/categ_Zs.h: Likewise.
41891         * lib/unictype/categ_of.h: Likewise.
41892         * lib/unictype/combining.h: Likewise.
41893         * lib/unictype/ctype_alnum.h: Likewise.
41894         * lib/unictype/ctype_alpha.h: Likewise.
41895         * lib/unictype/ctype_blank.h: Likewise.
41896         * lib/unictype/ctype_cntrl.h: Likewise.
41897         * lib/unictype/ctype_digit.h: Likewise.
41898         * lib/unictype/ctype_graph.h: Likewise.
41899         * lib/unictype/ctype_lower.h: Likewise.
41900         * lib/unictype/ctype_print.h: Likewise.
41901         * lib/unictype/ctype_punct.h: Likewise.
41902         * lib/unictype/ctype_space.h: Likewise.
41903         * lib/unictype/ctype_upper.h: Likewise.
41904         * lib/unictype/ctype_xdigit.h: Likewise.
41905         * lib/unictype/decdigit.h: Likewise.
41906         * lib/unictype/digit.h: Likewise.
41907         * lib/unictype/mirror.h: Likewise.
41908         * lib/unictype/numeric.h: Likewise.
41909         * lib/unictype/pr_alphabetic.h: Likewise.
41910         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
41911         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
41912         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
41913         * lib/unictype/pr_bidi_block_separator.h: Likewise.
41914         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
41915         * lib/unictype/pr_bidi_common_separator.h: Likewise.
41916         * lib/unictype/pr_bidi_control.h: Likewise.
41917         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
41918         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
41919         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
41920         * lib/unictype/pr_bidi_european_digit.h: Likewise.
41921         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
41922         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
41923         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
41924         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
41925         * lib/unictype/pr_bidi_pdf.h: Likewise.
41926         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
41927         * lib/unictype/pr_bidi_whitespace.h: Likewise.
41928         * lib/unictype/pr_combining.h: Likewise.
41929         * lib/unictype/pr_composite.h: Likewise.
41930         * lib/unictype/pr_currency_symbol.h: Likewise.
41931         * lib/unictype/pr_dash.h: Likewise.
41932         * lib/unictype/pr_decimal_digit.h: Likewise.
41933         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
41934         * lib/unictype/pr_deprecated.h: Likewise.
41935         * lib/unictype/pr_diacritic.h: Likewise.
41936         * lib/unictype/pr_extender.h: Likewise.
41937         * lib/unictype/pr_format_control.h: Likewise.
41938         * lib/unictype/pr_grapheme_base.h: Likewise.
41939         * lib/unictype/pr_grapheme_extend.h: Likewise.
41940         * lib/unictype/pr_grapheme_link.h: Likewise.
41941         * lib/unictype/pr_hex_digit.h: Likewise.
41942         * lib/unictype/pr_hyphen.h: Likewise.
41943         * lib/unictype/pr_id_continue.h: Likewise.
41944         * lib/unictype/pr_id_start.h: Likewise.
41945         * lib/unictype/pr_ideographic.h: Likewise.
41946         * lib/unictype/pr_ids_binary_operator.h: Likewise.
41947         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
41948         * lib/unictype/pr_ignorable_control.h: Likewise.
41949         * lib/unictype/pr_iso_control.h: Likewise.
41950         * lib/unictype/pr_join_control.h: Likewise.
41951         * lib/unictype/pr_left_of_pair.h: Likewise.
41952         * lib/unictype/pr_line_separator.h: Likewise.
41953         * lib/unictype/pr_logical_order_exception.h: Likewise.
41954         * lib/unictype/pr_lowercase.h: Likewise.
41955         * lib/unictype/pr_math.h: Likewise.
41956         * lib/unictype/pr_non_break.h: Likewise.
41957         * lib/unictype/pr_not_a_character.h: Likewise.
41958         * lib/unictype/pr_numeric.h: Likewise.
41959         * lib/unictype/pr_other_alphabetic.h: Likewise.
41960         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
41961         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
41962         * lib/unictype/pr_other_id_continue.h: Likewise.
41963         * lib/unictype/pr_other_id_start.h: Likewise.
41964         * lib/unictype/pr_other_lowercase.h: Likewise.
41965         * lib/unictype/pr_other_math.h: Likewise.
41966         * lib/unictype/pr_other_uppercase.h: Likewise.
41967         * lib/unictype/pr_paired_punctuation.h: Likewise.
41968         * lib/unictype/pr_paragraph_separator.h: Likewise.
41969         * lib/unictype/pr_pattern_syntax.h: Likewise.
41970         * lib/unictype/pr_pattern_white_space.h: Likewise.
41971         * lib/unictype/pr_private_use.h: Likewise.
41972         * lib/unictype/pr_punctuation.h: Likewise.
41973         * lib/unictype/pr_quotation_mark.h: Likewise.
41974         * lib/unictype/pr_radical.h: Likewise.
41975         * lib/unictype/pr_sentence_terminal.h: Likewise.
41976         * lib/unictype/pr_soft_dotted.h: Likewise.
41977         * lib/unictype/pr_space.h: Likewise.
41978         * lib/unictype/pr_terminal_punctuation.h: Likewise.
41979         * lib/unictype/pr_titlecase.h: Likewise.
41980         * lib/unictype/pr_unassigned_code_value.h: Likewise.
41981         * lib/unictype/pr_unified_ideograph.h: Likewise.
41982         * lib/unictype/pr_uppercase.h: Likewise.
41983         * lib/unictype/pr_variation_selector.h: Likewise.
41984         * lib/unictype/pr_white_space.h: Likewise.
41985         * lib/unictype/pr_xid_continue.h: Likewise.
41986         * lib/unictype/pr_xid_start.h: Likewise.
41987         * lib/unictype/pr_zero_width.h: Likewise.
41988         * lib/unictype/scripts.h: Likewise.
41989         * lib/unictype/scripts_byname.gperf: Likewise.
41990         * lib/unictype/sy_c_ident.h: Likewise.
41991         * lib/unictype/sy_c_whitespace.h: Likewise.
41992         * lib/unictype/sy_java_ident.h: Likewise.
41993         * lib/unictype/sy_java_whitespace.h: Likewise.
41994
41995         * lib/unictype/Makefile: New file.
41996         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
41997         glibc.
41998         * lib/unictype/3level.h: New file, copied from glibc.
41999         * lib/unictype/3levelbit.h: New file.
42000
42001 2007-11-11  Bruno Haible  <bruno@clisp.org>
42002
42003         * modules/gperf: New file.
42004         * modules/iconv_open (Depends-on): Add it.
42005         (Makefile.am): Remove the GPERF definition.
42006
42007 2007-11-11  Bruno Haible  <bruno@clisp.org>
42008
42009         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
42010         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
42011
42012 2007-11-11  Bruno Haible  <bruno@clisp.org>
42013
42014         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
42015         (usage): Remove function.
42016
42017 2007-11-11  Bruno Haible  <bruno@clisp.org>
42018
42019         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
42020         gl_FUNC_CEILF_LIBS.
42021         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
42022         gl_FUNC_CEIL_LIBS.
42023         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
42024         gl_FUNC_CEILL_LIBS.
42025         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
42026         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
42027         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
42028
42029 2007-11-11  Bruno Haible  <bruno@clisp.org>
42030
42031         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
42032         roundf were declared but do not exist on functions.
42033         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
42034         roundl were declared but do not exist on functions.
42035         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
42036         HAVE_FLOORL_AND_CEILL, respectively.
42037         Needed for Sun C on Solaris 10.
42038
42039 2007-11-11  Bruno Haible  <bruno@clisp.org>
42040
42041         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
42042         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
42043         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
42044         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
42045         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
42046         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
42047         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
42048         HAVE_DECL_ROUNDF.
42049         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
42050         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
42051         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
42052         of HAVE_DECL_ROUND*.
42053         * modules/math (Makefile.am): Update.
42054
42055 2007-11-10  Bruno Haible  <bruno@clisp.org>
42056
42057         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
42058         ptrdiff_t as m4/intl.m4.
42059
42060 2007-11-10  Jim Meyering  <meyering@redhat.com>
42061
42062         Avoid link failure for the argmatch test.
42063         * tests/test-argmatch.c (usage): Define function to avoid a link
42064         failure: argmatch_die requires a usage function.
42065
42066 2007-11-09  Bruno Haible  <bruno@clisp.org>
42067
42068         * doc/functions/snprintf.texi: Mention BeOS deficiency.
42069         * doc/functions/vsnprintf.texi: Likewise.
42070         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
42071         with a size argument < 2.
42072
42073 2007-11-09  Bruno Haible  <bruno@clisp.org>
42074
42075         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
42076         buffer. Fixes an inefficiency introduced on 2007-11-03.
42077
42078 2007-11-09  Bruno Haible  <bruno@clisp.org>
42079
42080         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
42081         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
42082
42083 2007-11-08  Jim Meyering  <meyering@redhat.com>
42084
42085         Change cache variable name prefix "jm_" to "gl_" everywhere.
42086         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
42087         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
42088         * m4/uptime.m4: s/gl_/jm_/
42089
42090 2007-11-07  Bruno Haible  <bruno@clisp.org>
42091
42092         Update to GNU gettext 0.17.
42093         * m4/intl.m4: Update to GNU gettext 0.17.
42094         * m4/po.m4: Likewise.
42095         * modules/gettext (Files): Remove m4/ulonglong.m4.
42096         (configure.ac): Require gettext infrastructure from version 0.17.
42097
42098 2007-11-06  Bruno Haible  <bruno@clisp.org>
42099
42100         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
42101         symbolic values are not defined in a public header.
42102         * lib/freadable.c (freadable) [QNX]: Likewise.
42103         * lib/freadahead.c (freadahead) [QNX]: Likewise.
42104         * lib/freading.c (freading) [QNX]: Likewise.
42105         * lib/fseterr.c (fseterr) [QNX]: Likewise.
42106         * lib/fwritable.c (fwritable) [QNX]: Likewise.
42107         * lib/fwriting.c (fwriting) [QNX]: Likewise.
42108         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
42109         Reported by Alain Magloire.
42110
42111         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
42112
42113 2007-11-05  Bruno Haible  <bruno@clisp.org>
42114
42115         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
42116         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
42117         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
42118         Reported by Eric Blake.
42119
42120 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42121             Bruno Haible  <bruno@clisp.org>
42122
42123         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
42124         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
42125         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
42126         (malloc): Undefine also before including <stdlib.h>.
42127         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
42128         Needed on OSF/1 4.0.
42129
42130 2007-11-05  Jim Meyering  <meyering@redhat.com>
42131
42132         git-version-gen: sync from coreutils.
42133         * build-aux/git-version-gen: Add comments.
42134         Change the first '-' to '.' in the snapshot version string,
42135         e.g., 6.9-377-08144 -> 6.9.377-08144
42136         Remove first parameter.
42137         Don't declare a version "-dirty" merely because a time
42138         stamp has changed.
42139
42140 2007-11-04  Bruno Haible  <bruno@clisp.org>
42141
42142         * lib/lock.h: Protect all macro definitions containing an 'if'
42143         statement through a "do { ... } while (0)".
42144         * lib/tls.h: Likewise.
42145
42146 2007-11-04  Bruno Haible  <bruno@clisp.org>
42147
42148         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
42149
42150 2007-11-04  Bruno Haible  <bruno@clisp.org>
42151
42152         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
42153         * modules/fprintf-posix (Depends-on): Add nocrash.
42154         * modules/snprintf-posix (Depends-on): Likewise.
42155         * modules/sprintf-posix (Depends-on): Likewise.
42156         * modules/vasnprintf-posix (Depends-on): Likewise.
42157         * modules/vasprintf-posix (Depends-on): Likewise.
42158         * modules/vfprintf-posix (Depends-on): Likewise.
42159         * modules/vsnprintf-posix (Depends-on): Likewise.
42160         * modules/vsprintf-posix (Depends-on): Likewise.
42161         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
42162         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
42163         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
42164         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
42165         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
42166         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
42167         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
42168
42169 2007-11-04  Bruno Haible  <bruno@clisp.org>
42170
42171         * modules/nocrash: New file.
42172         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
42173         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
42174
42175 2007-11-04  Bruno Haible  <bruno@clisp.org>
42176
42177         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
42178         precision handling.
42179         * tests/test-vasprintf-posix.c (test_function): Likewise.
42180         * tests/test-snprintf-posix.h (test_function): Likewise.
42181         * tests/test-sprintf-posix.h (test_function): Likewise.
42182
42183         Fix *printf behaviour for large precisions on mingw and BeOS.
42184         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
42185         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
42186         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
42187         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
42188         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
42189         gl_PRINTF_PRECISION and test its result. Invoke
42190         gl_PREREQ_VASNPRINTF_PRECISION.
42191         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
42192         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
42193         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
42194         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
42195         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
42196         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
42197         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
42198         * doc/functions/fprintf.texi: Update.
42199         * doc/functions/printf.texi: Update.
42200         * doc/functions/snprintf.texi: Update.
42201         * doc/functions/sprintf.texi: Update.
42202         * doc/functions/vfprintf.texi: Update.
42203         * doc/functions/vprintf.texi: Update.
42204         * doc/functions/vsnprintf.texi: Update.
42205         * doc/functions/vsprintf.texi: Update.
42206
42207 2007-11-04  Bruno Haible  <bruno@clisp.org>
42208
42209         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
42210
42211 2007-11-04  Bruno Haible  <bruno@clisp.org>
42212
42213         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
42214         Reported by Sylvain Beucler <beuc@gnu.org>.
42215
42216 2007-11-03  Bruno Haible  <bruno@clisp.org>
42217
42218         * tests/test-fprintf-posix2.sh: New file.
42219         * tests/test-fprintf-posix2.c: New file.
42220         * modules/fprintf-posix-tests (Files): Add them.
42221         (TESTS): Add test-fprintf-posix2.sh.
42222         (configure.ac): Check for getrlimit and setrlimit.
42223         (check_PROGRAMS): Add test-fprintf-posix2.
42224
42225         * tests/test-printf-posix2.sh: New file.
42226         * tests/test-printf-posix2.c: New file.
42227         * modules/printf-posix-tests (Files): Add them.
42228         (TESTS): Add test-printf-posix2.sh.
42229         (configure.ac): Check for getrlimit and setrlimit.
42230         (check_PROGRAMS): Add test-printf-posix2.
42231
42232         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
42233         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
42234         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
42235         (decode_double): New function, copied from decode_long_double.
42236         (scale10_round_decimal_decoded): New function, extracted from
42237         scale10_round_decimal_long_double.
42238         (scale10_round_decimal_long_double): Use it.
42239         (scale10_round_decimal_double): New function.
42240         (floorlog10): New function.
42241         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
42242         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
42243         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
42244         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
42245         gl_PRINTF_ENOMEM and test its result. Invoke
42246         gl_PREREQ_VASNPRINTF_ENOMEM.
42247         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
42248         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
42249         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
42250         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
42251         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
42252         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
42253         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
42254         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
42255         * modules/snprintf-posix (Depends-on): Likewise.
42256         * modules/sprintf-posix (Depends-on): Likewise.
42257         * modules/vasnprintf-posix (Depends-on): Likewise.
42258         * modules/vasprintf-posix (Depends-on): Likewise.
42259         * modules/vfprintf-posix (Depends-on): Likewise.
42260         * modules/vsnprintf-posix (Depends-on): Likewise.
42261         * modules/vsprintf-posix (Depends-on): Likewise.
42262         * doc/functions/fprintf.texi: Update.
42263         * doc/functions/printf.texi: Update.
42264         * doc/functions/snprintf.texi: Update.
42265         * doc/functions/sprintf.texi: Update.
42266         * doc/functions/vfprintf.texi: Update.
42267         * doc/functions/vprintf.texi: Update.
42268         * doc/functions/vsnprintf.texi: Update.
42269         * doc/functions/vsprintf.texi: Update.
42270
42271 2007-11-03  Bruno Haible  <bruno@clisp.org>
42272
42273         * modules/frexp-nolibm-tests: New file.
42274
42275         * modules/frexp-nolibm: New file.
42276         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
42277
42278 2007-11-03  Bruno Haible  <bruno@clisp.org>
42279
42280         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
42281         value is C99 compliant.
42282         Needed for OSF/1 5.1.
42283
42284 2007-11-03  Bruno Haible  <bruno@clisp.org>
42285
42286         Fix out-of-memory handling of vasnprintf.
42287         * lib/printf-parse.c: Include <errno.h>.
42288         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
42289         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
42290         is already set.
42291
42292 2007-11-02  Eric Blake  <ebb9@byu.net>
42293
42294         Fix tests on cygwin.
42295         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
42296
42297 2007-11-01  Bruno Haible  <bruno@clisp.org>
42298
42299         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
42300         warning.
42301         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
42302         needed for POSIX compatibility.
42303
42304 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
42305
42306         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
42307         for compatibility with GNU.
42308
42309 2007-11-01  Bruno Haible  <bruno@clisp.org>
42310
42311         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
42312         (putenv): Renamed from rpl_putenv. Change argument type from
42313         'const char *' to 'char *'.
42314         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
42315         of defining putenv in config.h, just set REPLACE_PUTENV.
42316         * modules/putenv (Depends-on): Add stdlib.
42317         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
42318         (Include): Use <stdlib.h>.
42319         * lib/stdlib.in.h (putenv): New declaration.
42320         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
42321         REPLACE_PUTENV.
42322         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
42323         REPLACE_PUTENV.
42324         Needed for MacOS X 10.5.0.
42325         Reported by Peter O'Gorman <peter@pogma.com>.
42326
42327 2007-11-01  Jim Meyering  <meyering@redhat.com>
42328
42329         Treat an empty date string exactly like "0".
42330         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
42331         if the remaining date string (to be parsed) is empty, use "0".
42332         Reported by Mischa Molhoek and discussed in this thread:
42333         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
42334
42335 2007-10-31  Bruno Haible  <bruno@clisp.org>
42336
42337         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
42338         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
42339         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
42340         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
42341         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
42342         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
42343
42344 2007-10-31  Bruno Haible  <bruno@clisp.org>
42345
42346         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
42347         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
42348         (AC_TYPE_LONG_LONG_INT): Use it.
42349         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
42350         it as well.
42351         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
42352         to m4/longlong.m4.
42353         * modules/stdint (Files): Remove m4/ulonglong.m4.
42354         * modules/strtoull (Files): Use m4/longlong.m4 instead of
42355         m4/ulonglong.m4.
42356         * modules/strtoumax (Files): Likewise.
42357
42358 2007-10-30  Bruno Haible  <bruno@clisp.org>
42359
42360         * modules/xvasprintf-posix: New file.
42361         Suggested by Eric Blake.
42362
42363 2007-10-30  Bruno Haible  <bruno@clisp.org>
42364
42365         * modules/xprintf-posix-tests: New file.
42366         * tests/test-xprintf-posix.sh: New file.
42367         * tests/test-xprintf-posix.c: New file.
42368         * tests/test-xfprintf-posix.c: New file.
42369
42370         * modules/xprintf-posix: New file.
42371
42372 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42373
42374         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
42375         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
42376         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
42377
42378 2007-10-29  Bruno Haible  <bruno@clisp.org>
42379
42380         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
42381         contain the special marker '_cv_'.
42382         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
42383         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
42384         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
42385         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
42386         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
42387         Reported by Ralf Wildenhues.
42388
42389 2007-10-29  Bruno Haible  <bruno@clisp.org>
42390
42391         * gnulib-tool (func_import): When --lgpl is not specified, set
42392         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
42393         GPLv3.
42394         Reported by Simon Josefsson.
42395
42396 2007-10-28  Bruno Haible  <bruno@clisp.org>
42397
42398         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
42399         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
42400         HAVE_DECL_ISFINITE.
42401         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
42402         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
42403         HAVE_DECL_ISFINITE.
42404
42405 2007-10-28  Bruno Haible  <bruno@clisp.org>
42406
42407         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
42408         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
42409
42410 2007-10-28  Bruno Haible  <bruno@clisp.org>
42411
42412         Fix link errors with Sun C 5.0 on Solaris 10.
42413         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
42414         function is declared but not present in the compiler's libm.
42415         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
42416         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
42417         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
42418         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
42419         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
42420         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
42421         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
42422         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
42423         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
42424         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
42425         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
42426         HAVE_DECL_FLOORL.
42427
42428 2007-10-28  Bruno Haible  <bruno@clisp.org>
42429
42430         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
42431         gl_FUNC_FLOORL. Cache the result.
42432         (gl_FUNC_FLOORL): Use it.
42433         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
42434         gl_FUNC_CEILL. Cache the result.
42435         (gl_FUNC_CEILL): Use it.
42436
42437         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
42438         gl_FUNC_FLOOR. Cache the result.
42439         (gl_FUNC_FLOOR): Use it.
42440         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
42441         gl_FUNC_CEIL. Cache the result.
42442         (gl_FUNC_CEIL): Use it.
42443
42444         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
42445         gl_FUNC_FLOORF. Cache the result.
42446         (gl_FUNC_FLOORF): Use it.
42447         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
42448         gl_FUNC_CEILF. Cache the result.
42449         (gl_FUNC_CEILF): Use it.
42450
42451 2007-10-28  Bruno Haible  <bruno@clisp.org>
42452
42453         * gnulib-tool: Allow specifying the LGPL version number through
42454         --lgpl=2 or --lgpl=3.
42455         (func_usage): Document --lgpl with argument.
42456         Handle --lgpl=... arguments.
42457         (func_import): Recognize also gl_LGPL calls with an argument. When
42458         --lgpl=2 is used and the module's license is just LGPL, report an
42459         error. Set sed_transform_lib_file according to the lgpl variable. In
42460         the generated files, use --lgpl or gl_LGPL invocations with argument,
42461         if necessary.
42462         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
42463         an LGPv2+ license.
42464         * doc/gnulib-tool.texi (Modified imports): Update explanation of
42465         gl_LGPL macro.
42466
42467 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42468             Bruno Haible  <bruno@clisp.org>
42469
42470         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
42471         (u16_uctomb_aux): Likewise.
42472         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
42473         !HAVE_INLINE.
42474         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
42475
42476 2007-10-28  Bruno Haible  <bruno@clisp.org>
42477
42478         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
42479         Invoke AM_GETTEXT_OPTION if it exists.
42480         * modules/vasprintf: Likewise.
42481         * modules/verror: Likewise.
42482         * modules/xprintf: Likewise.
42483         * modules/xvasprintf: Likewise.
42484
42485 2007-10-27  Ben Pfaff  <blp@gnu.org>
42486
42487         * lib/math.in.h: Define isfinite macro and prototypes for
42488         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
42489         implementations.
42490         * m4/math_h.m4: New substitutions for isfinite module.
42491         * lib/isfinite.c: New file.
42492         * m4/isfinite.m4: New file.
42493         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
42494         * modules/isfinite: New file.
42495         * modules/isfinite-tests: New file.
42496         * tests/tests-isfinite.c: New file.
42497         * doc/functions/isfinite.texi: Mention isfinite module.
42498         * MODULES.html.sh: Mention new module.
42499
42500 2007-10-27  Ben Pfaff  <blp@gnu.org>
42501
42502         Ralf Wildenhues reported that Tru64 4.0D declares the round
42503         functions but does not have definitions.
42504         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
42505         cannot be found in any library, set the output variable to
42506         "missing" instead of "".
42507         * m4/round.m4: Also use our substitute if we cannot find round in
42508         any library, even if it is declared.
42509         * m4/roundf.m4: Likewise for roundf.
42510         * m4/roundl.m4: Likewise for roundl.
42511         * lib/math.in.h: Undefine roundf, round, roundl before defining
42512         their replacements, to allow for hypothetical systems where these
42513         may be defined as macros but not available in libraries.
42514
42515 2007-10-27  Bruno Haible  <bruno@clisp.org>
42516
42517         * doc/gnulib.texi: Invoke @firstparagraphindent.
42518         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
42519         changes in gnulib.
42520         (Source changes): New section.
42521
42522 2007-10-26  Bruno Haible  <bruno@clisp.org>
42523
42524         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
42525         borrowed from autoconf.
42526
42527 2007-10-26  Bruno Haible  <bruno@clisp.org>
42528
42529         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
42530         strerror returned the empty string. Needed on HP-UX 11.00.
42531
42532 2007-10-24  Micah Cowan  <micah@cowan.name>
42533
42534         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
42535         * build-aux/bootstrap: Remove support for now-unnecessary option,
42536         --cvs-user, and envvars CVS_USER, CVS_RSH.
42537
42538 2007-10-24  Jim Meyering  <meyering@redhat.com>
42539
42540         Avoid diagnostics from sha1sum when there is no cached checksum.
42541         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
42542         if the po.s1 file hasn't been created yet.
42543
42544         * build-aux/bootstrap: Sync from coreutils:
42545         2007-10-24  Jim Meyering  <meyering@redhat.com>
42546         Get gnulib from the git repository, not from an obsolete cvs one.
42547         * build-aux/bootstrap: Suggestion from Micah Cowan.
42548         2007-10-04  Jim Meyering  <jim@meyering.net>
42549         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
42550         (update_po_files): Work also when there are no .po files in po/.
42551
42552 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
42553
42554         * README: Append ".git" to git and cg examples.
42555         Problem reported by Benoit Sigoure.
42556
42557 2007-10-23  Micah Cowan  <micah@cowan.name>
42558
42559         * users.txt: Add wget.
42560
42561 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42562
42563         Fix linking of some unistdio tests on FreeBSD.
42564         * modules/unistdio/u16-vsnprintf-tests
42565         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
42566         * modules/unistdio/u16-vsprintf-tests
42567         (test_u16_vsnprintf1_LDADD): Likewise.
42568         * modules/unistdio/u32-vsnprintf-tests
42569         (test_u32_vsnprintf1_LDADD): Likewise.
42570         * modules/unistdio/u32-vsprintf-tests
42571         (test_u32_vsprintf1_LDADD): Likewise.
42572         * modules/unistdio/u8-vsnprintf-tests
42573         (test_u8_vsnprintf1_LDADD): Likewise.
42574         * modules/unistdio/u8-vsprintf-tests
42575         (test_u8_vsprintf1_LDADD): Likewise.
42576         * modules/unistdio/ulc-vsnprintf-tests
42577         (test_ulc_vsnprintf1_LDADD): Likewise.
42578         * modules/unistdio/ulc-vsprintf-tests
42579         (test_ulc_vsprintf1_LDADD): Likewise.
42580
42581         Fix linking of some uniconv tests on FreeBSD.
42582         * modules/uniconv/u16-conv-from-enc-tests
42583         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
42584         * modules/uniconv/u16-conv-to-enc-tests
42585         (test_u16_conv_to_enc_LDADD): Likewise.
42586         * modules/uniconv/u16-strconv-from-enc-tests
42587         (test_u16_strconv_from_enc_LDADD): Likewise.
42588         * modules/uniconv/u16-strconv-to-enc-tests
42589         (test_u16_strconv_to_enc_LDADD): Likewise.
42590         * modules/uniconv/u32-conv-from-enc-tests
42591         (test_u32_conv_from_enc_LDADD): Likewise.
42592         * modules/uniconv/u32-conv-to-enc-tests
42593         (test_u32_conv_to_enc_LDADD): Likewise.
42594         * modules/uniconv/u32-strconv-from-enc-tests
42595         (test_u32_strconv_from_enc_LDADD): Likewise.
42596         * modules/uniconv/u32-strconv-to-enc-tests
42597         (test_u32_strconv_to_enc_LDADD): Likewise.
42598         * modules/uniconv/u8-conv-from-enc-tests
42599         (test_u8_conv_from_enc_LDADD): Likewise.
42600         * modules/uniconv/u8-conv-to-enc-tests
42601         (test_u8_conv_to_enc_LDADD): Likewise.
42602         * modules/uniconv/u8-strconv-from-enc-tests
42603         (test_u8_strconv_from_enc_LDADD): Likewise.
42604         * modules/uniconv/u8-strconv-to-enc-tests
42605         (test_u8_strconv_to_enc_LDADD): Likewise.
42606
42607 2007-10-22  Bruno Haible  <bruno@clisp.org>
42608
42609         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
42610         size.
42611
42612 2007-10-22  Eric Blake  <ebb9@byu.net>
42613
42614         Tweak x*printf documentation.
42615         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
42616         variable name and comments.
42617         Suggested by Bruno Haible.
42618
42619 2007-10-22  Bruno Haible  <bruno@clisp.org>
42620
42621         * lib/acl.c (copy_acl): Fix file name in comment.
42622
42623 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
42624
42625         Fix Tru64 problem with stdbool.h.
42626         * lib/stdbool.in.h (false, true):
42627         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
42628         Don't declare as an enum in this situation; it runs afoul of Tru64.
42629         Problem reported by Steven M. Schweda in
42630         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
42631
42632 2007-10-22  Eric Blake  <ebb9@byu.net>
42633
42634         Also wrap vf?printf.
42635         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
42636         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
42637         (xvprintf, xvfprintf): New functions.
42638
42639 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42640
42641         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
42642         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
42643
42644         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
42645         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
42646
42647 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
42648
42649         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
42650         by Bruno Haible.
42651
42652 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42653
42654         * lib/getloadavg.c
42655         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
42656         Undef `sys' after including sys/table.h, for Tru64 4.0D.
42657
42658         * tests/test-i-ring.c: Work for C89.
42659
42660 2007-10-22  Bruno Haible  <bruno@clisp.org>
42661
42662         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
42663         -1u, in preprocessor expression, so that we don't test for the bug
42664         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
42665         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
42666
42667 2007-10-22  Eric Blake  <ebb9@byu.net>
42668
42669         * tests/test-yesno.sh: Silence stderr during test.
42670
42671 2007-10-22  Simon Josefsson  <simon@josefsson.org>
42672
42673         * modules/crypto/gc-camellia: New file.
42674
42675         * m4/gc-camellia.m4: New file.
42676
42677         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
42678
42679         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
42680
42681 2007-10-22  Simon Josefsson  <simon@josefsson.org>
42682
42683         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
42684         --help to stdout.  Reported by sms@antinode.org (Steven
42685         M. Schweda).
42686
42687 2007-10-22  Simon Josefsson  <simon@josefsson.org>
42688
42689         * users.txt: Fix link to libksba.
42690
42691 2007-10-21  Ben Pfaff  <blp@gnu.org>
42692
42693         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
42694         round.c roundf implementation that depends on floorf and ceilf to
42695         be tested unconditionally.
42696
42697 2007-10-21  Ben Pfaff  <blp@gnu.org>
42698
42699         * m4/check-libm-func.m4: Removed.
42700         * m4/check-math-lib.m4: New file.
42701         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
42702         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
42703         definition and lack of AC_LIBOBJ([roundf]).
42704         * m4/roundl.m4: Ditto, and similarly for roundl.
42705         * modules/round: Reference new m4 file.
42706         * modules/roundf: Ditto.
42707         * modules/roundl: Ditto.
42708         * tests/test-round2.c (main): Use ROUND instead of round.
42709         Bug report from Bruno Haible.
42710
42711 2007-10-21  Bruno Haible  <bruno@clisp.org>
42712
42713         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
42714         context.
42715
42716 2007-10-21  Bruno Haible  <bruno@clisp.org>
42717
42718         * tests/test-wcwidth.c (main): Allow negative result for some control
42719         characters.
42720
42721         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
42722         Needed on OSF/1 5.1.
42723
42724 2007-10-21  Bruno Haible  <bruno@clisp.org>
42725
42726         * tests/test-floorf1.c: Include isnanf.h.
42727         (main): Use isnanf() instead of isnan().
42728         * tests/test-ceilf1.c: Include isnanf.h.
42729         (main): Use isnanf() instead of isnan().
42730         * tests/test-truncf1.c: Include isnanf.h.
42731         (main): Use isnanf() instead of isnan().
42732         * tests/test-roundf1.c: Include isnanf.h.
42733         (main): Use isnanf() instead of isnan().
42734
42735 2007-10-21  Eric Blake  <ebb9@byu.net>
42736
42737         * users.txt: Update URL for m4.
42738
42739 2007-10-21  Bruno Haible  <bruno@clisp.org>
42740
42741         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
42742
42743 2007-10-21  Bruno Haible  <bruno@clisp.org>
42744
42745         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
42746         Git's management files if the CVS files are not present.
42747
42748 2007-10-20  Bruno Haible  <bruno@clisp.org>
42749
42750         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
42751         gcc-3.4.x.
42752
42753 2007-10-20  Ben Pfaff  <blp@gnu.org>
42754
42755         * lib/math.in.h: Declare round, roundf, roundl if we are providing
42756         implementations.
42757         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
42758         * lib/round.c: New file.
42759         * lib/roundf.c: New file.
42760         * lib/roundl.c: New file.
42761         * m4/round.m4: New file.
42762         * m4/roundf.m4: New file.
42763         * m4/roundl.m4: New file.
42764         * m4/check-libm-func-m4: New file.
42765         * modules/math: Replace round, roundf, roundl related @VARS@ in
42766         math.in.h.
42767         * modules/round: New file.
42768         * modules/round-tests: New file.
42769         * modules/roundf: New file.
42770         * modules/roundf-tests: New file.
42771         * modules/roundl: New file.
42772         * modules/roundl-tests: New file.
42773         * tests/test-round1.c: New file.
42774         * tests/test-round2.c: New file.
42775         * tests/test-roundf1.c: New file.
42776         * tests/test-roundf2.c: New file.
42777         * tests/test-roundl.c: New file.
42778         * doc/functions/round.texi: Mention round module.
42779         * doc/functions/roundf.texi: Mention roundf module.
42780         * doc/functions/roundl.texi: Mention roundl module.
42781         * MODULES.html.sh: Mention new modules.
42782         Thanks to Bruno Haible for suggestions.
42783
42784 2007-10-20  Jim Meyering  <meyering@redhat.com>
42785
42786         * lib/xprintf.c: Include <config.h> unconditionally.
42787
42788         Change xprintf's license to GPL.
42789         * modules/xprintf (License): s/LGPL/GPL/, since this module
42790         depends on modules (exit and exitfail) which are GPL.
42791         Suggestion from Bruno Haible.
42792
42793         xprintf fixes.
42794         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
42795         Use a clearer diagnostic.
42796         Patch from Bruno Haible.
42797
42798 2007-10-20  Bruno Haible  <bruno@clisp.org>
42799
42800         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
42801         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
42802         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
42803
42804 2007-10-20  Bruno Haible  <bruno@clisp.org>
42805
42806         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
42807         precision in the comparison result > x - 1 or similar.
42808         * tests/test-ceilf2.c (correct_result_p): Likewise.
42809         * tests/test-truncf2.c (correct_result_p): Likewise.
42810         * tests/test-trunc2.c (correct_result_p): Likewise.
42811         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
42812
42813 2007-10-20  Bruno Haible  <bruno@clisp.org>
42814
42815         * modules/ceil: New file.
42816         * m4/ceil.m4: New file.
42817         * doc/functions/ceil.texi: Mention the 'ceil' module.
42818
42819 2007-10-20  Bruno Haible  <bruno@clisp.org>
42820
42821         * modules/floor: New file.
42822         * m4/floor.m4: New file.
42823         * doc/functions/floor.texi: Mention the 'floor' module.
42824
42825 2007-10-20  Bruno Haible  <bruno@clisp.org>
42826
42827         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
42828         of %a.
42829         * modules/floorf-tests (Depends-on): Likewise.
42830         * modules/truncf-tests (Depends-on): Likewise.
42831         * modules/trunc-tests (Depends-on): Likewise.
42832         Reported by Ben Pfaff.
42833
42834 2007-10-19  Jim Meyering  <meyering@redhat.com>
42835
42836         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
42837         Don't bother testing specific errno values.  Just test ferror.
42838
42839         New module: xprintf
42840         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
42841
42842 2007-10-19  Bruno Haible  <bruno@clisp.org>
42843
42844         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
42845         syntax.
42846         * modules/javaexec (Makefile.am): Likewise.
42847         * modules/relocatable-prog (Makefile.am): Likewise.
42848         Suggested by Jim Meyering.
42849
42850 2007-10-18  Bruno Haible  <bruno@clisp.org>
42851
42852         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
42853         Reported by Jim Meyering.
42854
42855 2007-10-18  Eric Blake  <ebb9@byu.net>
42856
42857         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
42858
42859 2007-10-18  Bruno Haible  <bruno@clisp.org>
42860
42861         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
42862         the format string into writable memory. Needed in Fortify conditions.
42863
42864 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
42865             Bruno Haible  <bruno@clisp.org>
42866
42867         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
42868         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
42869         * modules/trim (Depends-on): Add mbchar.
42870         (configure.ac): Add gl_FUNC_MBRTOWC.
42871         (Makefile.am): Augment lib_SOURCES.
42872
42873 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
42874
42875         Modify glob.c to use fstatat and dirfd, to simplify it.
42876         Suggested by Eric Blake.
42877         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
42878         Don't include <stdbool.h>; not used.
42879         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
42880         (link_exists_p): Simplify implementation, since we can now assume
42881         dirfd and fstatat.
42882         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
42883
42884 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42885
42886         * gnulib-tool (func_get_dependencies): Fix sed script to
42887         match only tests.
42888
42889 2007-10-17  Bruno Haible  <bruno@clisp.org>
42890
42891         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
42892         allow locale names without encoding suffix.
42893         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
42894         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
42895
42896 2007-10-16  Bruno Haible  <bruno@clisp.org>
42897
42898         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
42899         * lib/getgroups.c (getgroups): Likewise.
42900         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
42901
42902 2007-10-16  Bruno Haible  <bruno@clisp.org>
42903
42904         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
42905         * modules/malloc-posix (License): Likewise.
42906         * modules/realloc-posix (License): Likewise.
42907         * modules/calloc-posix (License): Likewise.
42908         * modules/intprops (License): Change from GPL to LGPL, with
42909         Paul Eggert's approval.
42910
42911 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
42912
42913         Merge glibc changes into lib/glob.c.
42914
42915         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
42916         2007-10-15 04:59:03 UTC.  Here are the changes:
42917
42918         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
42919
42920         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
42921
42922         * lib/glob.c: Add some branch prediction throughout.
42923
42924         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
42925
42926         [BZ #5103]
42927         * lib/glob.c (glob): Recognize patterns starting \/.
42928
42929         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
42930
42931         [BZ #3996]
42932         * lib/glob.c (attribute_hidden): Define if not defined.
42933         (glob): Unescape dirname, filename or username when needed and not
42934         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
42935         is NULL.  Handle unescaped [ in pattern without closing ].
42936         Don't pass GLOB_CHECK down to recursive glob for directories.
42937         (__glob_pattern_type): New function.
42938         (__glob_pattern_p): Implement using __glob_pattern_type.
42939         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
42940         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
42941         Remove unreachable code.
42942
42943         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
42944
42945         * lib/glob.c (glob_in_dir): Add some comments and asserts to
42946         explain why there are no leaks.
42947
42948         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
42949
42950         [BZ #3253]
42951         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
42952         time, rather allocate increasingly bigger arrays of pointers, if
42953         possible with alloca, if too large with malloc.
42954
42955 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
42956
42957         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
42958         Problem reported by H.Merijn Brand in
42959         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
42960         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
42961         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
42962
42963 2007-10-15  Bruno Haible  <bruno@clisp.org>
42964
42965         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
42966         with explicit rpl_ prefix.
42967         * lib/fopen.c (fopen): Likewise.
42968         * lib/freopen.c (freopen): Likewise.
42969         * lib/iconv.c (iconv): Likewise.
42970         * lib/iconv_close.c (iconv_close): Likewise.
42971
42972 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42973
42974         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
42975
42976 2007-10-15  Bruno Haible  <bruno@clisp.org>
42977
42978         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
42979         <stddef.h> instead of <stdlib.h> since we only need NULL.
42980         Reported by Ben Pfaff <blp@cs.stanford.edu>.
42981
42982 2007-10-15  Bruno Haible  <bruno@clisp.org>
42983
42984         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
42985         Replace paragraph talking about LIBOBJS.
42986         Reported by Colin Watson <cjwatson@debian.org>.
42987
42988 2007-10-15  Bruno Haible  <bruno@clisp.org>
42989
42990         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
42991         <stdlib.h> before using NULL.
42992
42993 2007-10-15  Simon Josefsson  <simon@josefsson.org>
42994
42995         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
42996         Reported by Albert Chin <china@thewrittenword.com>.
42997
42998 2007-10-14  Bruno Haible  <bruno@clisp.org>
42999
43000         * modules/iconv_open-utf-tests: New file.
43001         * tests/test-iconv-utf.c: New file.
43002
43003         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
43004         * modules/iconv_open-utf: New file.
43005         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
43006         (iconv, iconv_close): New declarations.
43007         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
43008         be defined.
43009         (iconv_open): Add special handling of conversion between UTF-8 and
43010         UTF-{16,32}{BE,LE}.
43011         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
43012         * lib/iconv_close.c: New file.
43013         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
43014         gl_FUNC_ICONV_OPEN.
43015         (gl_FUNC_ICONV_OPEN): Use it.
43016         (gl_FUNC_ICONV_OPEN_UTF): New macro.
43017         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
43018         and REPLACE_ICONV_UTF.
43019         * modules/iconv_open (Depends-on): Add c-strcase.
43020         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
43021         ICONV_CONST.
43022         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
43023
43024 2007-10-13  Albert Chin  <china@thewrittenword.com>
43025             Bruno Haible  <bruno@clisp.org>
43026
43027         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
43028         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
43029
43030 2007-10-13  Bruno Haible  <bruno@clisp.org>
43031
43032         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
43033         defined, use the ISO C99 inline semantics.
43034         * lib/argp.h (ARGP_EI): Likewise.
43035
43036 2007-10-13  Bruno Haible  <bruno@clisp.org>
43037
43038         Handle 'inline' change in gcc 4.3.0.
43039         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
43040         argp_fmtstream_write, argp_fmtstream_set_lmargin,
43041         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
43042         argp_fmtstream_point): Disable 'extern' declaration if the function
43043         definition is going to be provided inline.
43044         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
43045         semantics, not the ISO C99 inline semantics.
43046         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
43047         'extern' declaration if the function definition is going to be provided
43048         inline.
43049         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
43050         the GNU C inline semantics, not the ISO C99 inline semantics. With
43051         GCC 4.2, avoid a warning.
43052
43053 2007-10-13  Bruno Haible  <bruno@clisp.org>
43054
43055         * lib/freading.h (freading): Enable the use of __freading for
43056         glibc >= 2.7.
43057         * lib/freading.c (freading): Likewise.
43058
43059 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
43060
43061         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
43062         "warning: C99 inline functions are not supported; using GNU89".
43063
43064 2007-10-12  Bruno Haible  <bruno@clisp.org>
43065
43066         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
43067         of 2.
43068         * tests/test-ceilf2.c: New file.
43069         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
43070
43071         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
43072         * modules/ceilf-tests: Update.
43073
43074 2007-10-12  Bruno Haible  <bruno@clisp.org>
43075
43076         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
43077         of 2.
43078         * tests/test-floorf2.c: New file.
43079         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
43080
43081         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
43082         * modules/floorf-tests: Update.
43083
43084 2007-10-12  Bruno Haible  <bruno@clisp.org>
43085
43086         * tests/test-trunc2.c: New file.
43087         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
43088
43089         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
43090         * modules/trunc-tests: Update.
43091
43092 2007-10-12  Bruno Haible  <bruno@clisp.org>
43093
43094         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
43095         of 2.
43096         * tests/test-truncf2.c: New file.
43097         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
43098
43099         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
43100         * modules/truncf-tests: Update.
43101
43102 2007-10-11  Eric Blake  <ebb9@byu.net>
43103
43104         Don't claim strerror is broken on Interix.
43105         * doc/functions/strerror.texi (strerror): Known broken systems are
43106         now Solaris 8, and not Interix.
43107         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
43108         Interix on cross-compile.
43109         Reported by Martin Koeppe in
43110         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
43111
43112 2007-10-11  Bruno Haible  <bruno@clisp.org>
43113
43114         * modules/i-ring-tests: New file.
43115         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
43116         instead of assert.
43117
43118 2007-10-11  Bruno Haible  <bruno@clisp.org>
43119
43120         * modules/filenamecat-tests: New file.
43121         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
43122         * lib/filenamecat.c: Remove test code.
43123
43124 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
43125
43126         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
43127
43128         * lib/strerror.c: Include <string.h> always, to test interface,
43129         and to remove the need for the dummy.
43130         Include intprops.h to compute width instead of doing it ourselves
43131         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
43132         (strerror): Define it to return NULL if there's no system strerror.
43133         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
43134         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
43135         ancient pre-strerror Unix systems well any more.  Saying "unknown
43136         system error" is enough.
43137         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
43138         simpler strerror.c implementation.
43139         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
43140         Simplify the tests to reflect the simpler strerror implementation.
43141         * modules/strerror (Depends-on): Add intprops.
43142
43143 2007-10-09  Eric Blake  <ebb9@byu.net>
43144
43145         Silence test-fpending.
43146         * modules/fpending-tests (Files): Add wrapper script.
43147         * tests/test-fpending.sh: New file.
43148
43149 2007-10-09  Bruno Haible  <bruno@clisp.org>
43150
43151         * MODULES.html.sh (func_module): Don't create a hyperlink for
43152         function names like 'printf_frexp'.
43153         (Misc): Add crc, memxor.
43154         (Characteristics of floating types): New section.
43155         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
43156         isnanf-nolibm, signbit, trunc, truncf, truncl.
43157         (Enhancements for ISO C 99 functions): New subsection Input/output.
43158         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
43159         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
43160         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
43161         (Compatibility checks for POSIX:2001 functions): Add clock-time.
43162         (Enhancements for POSIX:2001 functions): Add chdir-long.
43163         (File system functions): Add areadlink, chdir-safer, read-file.
43164         Remove cycle-check.
43165         (File system as inode set): New section.
43166         (Date and time): Add gethrxtime.
43167         (Multithreading): Add openmp.
43168         (Internationalization functions): Add localename.
43169         (Unicode string functions): Add unistr/u*-mbsnlen.
43170         (Support for maintaining and releasing projects): Add git-version-gen.
43171         (Lone files): Remove directories.
43172
43173 2007-10-08  Ben Pfaff  <blp@gnu.org>
43174
43175         * lib/xmalloca.h: Fix typo in comment.
43176
43177 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
43178
43179         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
43180         when avoiding problems with integer overflow.  Use a portable test
43181         instead.
43182
43183 2007-10-08  Simon Josefsson  <simon@josefsson.org>
43184
43185         * modules/dummy (License): Change to LGPLv2+.
43186         * modules/float (License): Likewise
43187         * modules/realloc (License): Likewise
43188         * modules/stdlib (License): Likewise
43189
43190 2007-10-07  Bruno Haible  <bruno@clisp.org>
43191
43192         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
43193         * floor.c (TWO_MANT_DIG): Likewise.
43194         * ceil.c (TWO_MANT_DIG): Likewise.
43195         Reported by Ben Pfaff.
43196
43197 2007-10-07  Bruno Haible  <bruno@clisp.org>
43198
43199         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
43200         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
43201         * lib/frexp.c (FUNC): Likewise.
43202         * lib/printf-frexp.h (printf_frexp): Likewise.
43203         * lib/printf-frexpl.h (printf_frexpl): Likewise.
43204         * lib/printf-frexp.c (FUNC): Likewise.
43205         Suggested by Jim Meyering.
43206
43207 2007-10-07  Jim Meyering  <meyering@redhat.com>
43208
43209         Make xnanosleep's integer overflow test more robust.
43210         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
43211         so that gcc-4.3.0 doesn't optimize away this test for overflow.
43212
43213 2007-10-07  Bruno Haible  <bruno@clisp.org>
43214
43215         * NEWS: Mention the license change.
43216
43217         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
43218         abbreviations in the modules files.
43219
43220         Change copyright notice from GPLv2+ to GPLv3+.
43221         * README: Change copyright notice.
43222         * MODULES.html.sh: Likewise.
43223         * build-aux/bootstrap.conf: Likewise.
43224         * build-aux/config.libpath: Likewise.
43225         * build-aux/csharpcomp.sh.in: Likewise.
43226         * build-aux/csharpexec.sh.in: Likewise.
43227         * build-aux/install-reloc: Likewise.
43228         * build-aux/javacomp.sh.in: Likewise.
43229         * build-aux/javaexec.sh.in: Likewise.
43230         * build-aux/ldd.sh.in: Likewise.
43231         * build-aux/reloc-ldflags: Likewise.
43232         * build-aux/relocatable.sh.in: Likewise.
43233         * build-aux/x-to-1.in: Likewise.
43234         * check-module: Likewise.
43235         * config/srclistvars.sh: Likewise.
43236         * gnulib-tool: Likewise.
43237         * lib/acl-internal.h: Likewise.
43238         * lib/acl.c: Likewise.
43239         * lib/acl.h: Likewise.
43240         * lib/acl_entries.c: Likewise.
43241         * lib/areadlink-with-size.c: Likewise.
43242         * lib/areadlink.c: Likewise.
43243         * lib/areadlink.h: Likewise.
43244         * lib/argmatch.c: Likewise.
43245         * lib/argmatch.h: Likewise.
43246         * lib/argp-ba.c: Likewise.
43247         * lib/argp-eexst.c: Likewise.
43248         * lib/argp-fmtstream.c: Likewise.
43249         * lib/argp-fmtstream.h: Likewise.
43250         * lib/argp-fs-xinl.c: Likewise.
43251         * lib/argp-help.c: Likewise.
43252         * lib/argp-namefrob.h: Likewise.
43253         * lib/argp-parse.c: Likewise.
43254         * lib/argp-pin.c: Likewise.
43255         * lib/argp-pv.c: Likewise.
43256         * lib/argp-pvh.c: Likewise.
43257         * lib/argp-xinl.c: Likewise.
43258         * lib/argp.h: Likewise.
43259         * lib/at-func.c: Likewise.
43260         * lib/atanl.c: Likewise.
43261         * lib/backupfile.c: Likewise.
43262         * lib/backupfile.h: Likewise.
43263         * lib/basename.c: Likewise.
43264         * lib/binary-io.h: Likewise.
43265         * lib/byteswap.in.h: Likewise.
43266         * lib/c-stack.c: Likewise.
43267         * lib/c-stack.h: Likewise.
43268         * lib/c-strcasestr.c: Likewise.
43269         * lib/c-strcasestr.h: Likewise.
43270         * lib/c-strstr.c: Likewise.
43271         * lib/c-strstr.h: Likewise.
43272         * lib/c-strtod.c: Likewise.
43273         * lib/calloc.c: Likewise.
43274         * lib/canon-host.c: Likewise.
43275         * lib/canon-host.h: Likewise.
43276         * lib/canonicalize-lgpl.c: Likewise.
43277         * lib/canonicalize.c: Likewise.
43278         * lib/canonicalize.h: Likewise.
43279         * lib/ceil.c: Likewise.
43280         * lib/ceilf.c: Likewise.
43281         * lib/ceill.c: Likewise.
43282         * lib/chdir-long.c: Likewise.
43283         * lib/chdir-long.h: Likewise.
43284         * lib/chdir-safer.c: Likewise.
43285         * lib/chdir-safer.h: Likewise.
43286         * lib/chown.c: Likewise.
43287         * lib/classpath.c: Likewise.
43288         * lib/classpath.h: Likewise.
43289         * lib/clean-temp.c: Likewise.
43290         * lib/clean-temp.h: Likewise.
43291         * lib/cloexec.c: Likewise.
43292         * lib/close-stream.c: Likewise.
43293         * lib/closein.c: Likewise.
43294         * lib/closein.h: Likewise.
43295         * lib/closeout.c: Likewise.
43296         * lib/closeout.h: Likewise.
43297         * lib/concat-filename.c: Likewise.
43298         * lib/copy-file.c: Likewise.
43299         * lib/copy-file.h: Likewise.
43300         * lib/count-one-bits.h: Likewise.
43301         * lib/crc.c: Likewise.
43302         * lib/crc.h: Likewise.
43303         * lib/creat-safer.c: Likewise.
43304         * lib/csharpcomp.c: Likewise.
43305         * lib/csharpcomp.h: Likewise.
43306         * lib/csharpexec.c: Likewise.
43307         * lib/csharpexec.h: Likewise.
43308         * lib/cycle-check.c: Likewise.
43309         * lib/cycle-check.h: Likewise.
43310         * lib/diacrit.c: Likewise.
43311         * lib/diacrit.h: Likewise.
43312         * lib/diffseq.h: Likewise.
43313         * lib/dirchownmod.c: Likewise.
43314         * lib/dirent.in.h: Likewise.
43315         * lib/dirfd.c: Likewise.
43316         * lib/dirfd.h: Likewise.
43317         * lib/dirname.c: Likewise.
43318         * lib/dirname.h: Likewise.
43319         * lib/dummy.c: Likewise.
43320         * lib/dup-safer.c: Likewise.
43321         * lib/dup2.c: Likewise.
43322         * lib/eealloc.h: Likewise.
43323         * lib/error.c: Likewise.
43324         * lib/error.h: Likewise.
43325         * lib/euidaccess.c: Likewise.
43326         * lib/exclude.c: Likewise.
43327         * lib/exclude.h: Likewise.
43328         * lib/execute.c: Likewise.
43329         * lib/execute.h: Likewise.
43330         * lib/exitfail.c: Likewise.
43331         * lib/exitfail.h: Likewise.
43332         * lib/expl.c: Likewise.
43333         * lib/fatal-signal.c: Likewise.
43334         * lib/fatal-signal.h: Likewise.
43335         * lib/fbufmode.c: Likewise.
43336         * lib/fbufmode.h: Likewise.
43337         * lib/fchdir.c: Likewise.
43338         * lib/fchmodat.c: Likewise.
43339         * lib/fchownat.c: Likewise.
43340         * lib/fcntl--.h: Likewise.
43341         * lib/fcntl-safer.h: Likewise.
43342         * lib/fcntl.in.h: Likewise.
43343         * lib/fd-safer.c: Likewise.
43344         * lib/fflush.c: Likewise.
43345         * lib/file-has-acl.c: Likewise.
43346         * lib/file-set.c: Likewise.
43347         * lib/file-type.c: Likewise.
43348         * lib/file-type.h: Likewise.
43349         * lib/fileblocks.c: Likewise.
43350         * lib/filemode.c: Likewise.
43351         * lib/filemode.h: Likewise.
43352         * lib/filename.h: Likewise.
43353         * lib/filenamecat.c: Likewise.
43354         * lib/filenamecat.h: Likewise.
43355         * lib/findprog.c: Likewise.
43356         * lib/findprog.h: Likewise.
43357         * lib/float.in.h: Likewise.
43358         * lib/floor.c: Likewise.
43359         * lib/floorf.c: Likewise.
43360         * lib/floorl.c: Likewise.
43361         * lib/fopen-safer.c: Likewise.
43362         * lib/fopen.c: Likewise.
43363         * lib/fpending.c: Likewise.
43364         * lib/fpending.h: Likewise.
43365         * lib/fprintf.c: Likewise.
43366         * lib/fprintftime.h: Likewise.
43367         * lib/fpucw.h: Likewise.
43368         * lib/fpurge.c: Likewise.
43369         * lib/fpurge.h: Likewise.
43370         * lib/freadable.c: Likewise.
43371         * lib/freadable.h: Likewise.
43372         * lib/freadahead.c: Likewise.
43373         * lib/freadahead.h: Likewise.
43374         * lib/freading.c: Likewise.
43375         * lib/freading.h: Likewise.
43376         * lib/free.c: Likewise.
43377         * lib/freopen.c: Likewise.
43378         * lib/frexp.c: Likewise.
43379         * lib/frexpl.c: Likewise.
43380         * lib/fseek.c: Likewise.
43381         * lib/fseterr.c: Likewise.
43382         * lib/fseterr.h: Likewise.
43383         * lib/fstatat.c: Likewise.
43384         * lib/fstrcmp.c: Likewise.
43385         * lib/fstrcmp.h: Likewise.
43386         * lib/fsusage.c: Likewise.
43387         * lib/fsusage.h: Likewise.
43388         * lib/ftell.c: Likewise.
43389         * lib/ftello.c: Likewise.
43390         * lib/fts-cycle.c: Likewise.
43391         * lib/fts.c: Likewise.
43392         * lib/fts_.h: Likewise.
43393         * lib/full-read.c: Likewise.
43394         * lib/full-read.h: Likewise.
43395         * lib/full-write.c: Likewise.
43396         * lib/full-write.h: Likewise.
43397         * lib/fwritable.c: Likewise.
43398         * lib/fwritable.h: Likewise.
43399         * lib/fwriteerror.c: Likewise.
43400         * lib/fwriteerror.h: Likewise.
43401         * lib/fwriting.c: Likewise.
43402         * lib/fwriting.h: Likewise.
43403         * lib/gcd.c: Likewise.
43404         * lib/gcd.h: Likewise.
43405         * lib/getcwd.c: Likewise.
43406         * lib/getdate.h: Likewise.
43407         * lib/getdate.y: Likewise.
43408         * lib/getdomainname.c: Likewise.
43409         * lib/getdomainname.h: Likewise.
43410         * lib/getgroups.c: Likewise.
43411         * lib/gethostname.c: Likewise.
43412         * lib/gethrxtime.c: Likewise.
43413         * lib/gethrxtime.h: Likewise.
43414         * lib/getloadavg.c: Likewise.
43415         * lib/getndelim2.c: Likewise.
43416         * lib/getndelim2.h: Likewise.
43417         * lib/getnline.c: Likewise.
43418         * lib/getnline.h: Likewise.
43419         * lib/getopt.c: Likewise.
43420         * lib/getopt.in.h: Likewise.
43421         * lib/getopt1.c: Likewise.
43422         * lib/getopt_int.h: Likewise.
43423         * lib/getpagesize.h: Likewise.
43424         * lib/getsubopt.c: Likewise.
43425         * lib/gettime.c: Likewise.
43426         * lib/getugroups.c: Likewise.
43427         * lib/getugroups.h: Likewise.
43428         * lib/getusershell.c: Likewise.
43429         * lib/gl_anyavltree_list1.h: Likewise.
43430         * lib/gl_anyavltree_list2.h: Likewise.
43431         * lib/gl_anyhash_list1.h: Likewise.
43432         * lib/gl_anyhash_list2.h: Likewise.
43433         * lib/gl_anylinked_list1.h: Likewise.
43434         * lib/gl_anylinked_list2.h: Likewise.
43435         * lib/gl_anyrbtree_list1.h: Likewise.
43436         * lib/gl_anyrbtree_list2.h: Likewise.
43437         * lib/gl_anytree_list1.h: Likewise.
43438         * lib/gl_anytree_list2.h: Likewise.
43439         * lib/gl_anytree_oset.h: Likewise.
43440         * lib/gl_anytreehash_list1.h: Likewise.
43441         * lib/gl_anytreehash_list2.h: Likewise.
43442         * lib/gl_array_list.c: Likewise.
43443         * lib/gl_array_list.h: Likewise.
43444         * lib/gl_array_oset.c: Likewise.
43445         * lib/gl_array_oset.h: Likewise.
43446         * lib/gl_avltree_list.c: Likewise.
43447         * lib/gl_avltree_list.h: Likewise.
43448         * lib/gl_avltree_oset.c: Likewise.
43449         * lib/gl_avltree_oset.h: Likewise.
43450         * lib/gl_avltreehash_list.c: Likewise.
43451         * lib/gl_avltreehash_list.h: Likewise.
43452         * lib/gl_carray_list.c: Likewise.
43453         * lib/gl_carray_list.h: Likewise.
43454         * lib/gl_linked_list.c: Likewise.
43455         * lib/gl_linked_list.h: Likewise.
43456         * lib/gl_linkedhash_list.c: Likewise.
43457         * lib/gl_linkedhash_list.h: Likewise.
43458         * lib/gl_list.c: Likewise.
43459         * lib/gl_list.h: Likewise.
43460         * lib/gl_oset.c: Likewise.
43461         * lib/gl_oset.h: Likewise.
43462         * lib/gl_rbtree_list.c: Likewise.
43463         * lib/gl_rbtree_list.h: Likewise.
43464         * lib/gl_rbtree_oset.c: Likewise.
43465         * lib/gl_rbtree_oset.h: Likewise.
43466         * lib/gl_rbtreehash_list.c: Likewise.
43467         * lib/gl_rbtreehash_list.h: Likewise.
43468         * lib/gl_sublist.c: Likewise.
43469         * lib/gl_sublist.h: Likewise.
43470         * lib/group-member.c: Likewise.
43471         * lib/group-member.h: Likewise.
43472         * lib/hard-locale.c: Likewise.
43473         * lib/hard-locale.h: Likewise.
43474         * lib/hash-pjw.c: Likewise.
43475         * lib/hash-pjw.h: Likewise.
43476         * lib/hash-triple.c: Likewise.
43477         * lib/hash.c: Likewise.
43478         * lib/hash.h: Likewise.
43479         * lib/human.c: Likewise.
43480         * lib/human.h: Likewise.
43481         * lib/i-ring.c: Likewise.
43482         * lib/i-ring.h: Likewise.
43483         * lib/idcache.c: Likewise.
43484         * lib/imaxabs.c: Likewise.
43485         * lib/imaxdiv.c: Likewise.
43486         * lib/inet_pton.c: Likewise.
43487         * lib/inet_pton.h: Likewise.
43488         * lib/intprops.h: Likewise.
43489         * lib/inttostr.c: Likewise.
43490         * lib/inttostr.h: Likewise.
43491         * lib/inttypes.in.h: Likewise.
43492         * lib/isapipe.c: Likewise.
43493         * lib/isdir.c: Likewise.
43494         * lib/isnan.c: Likewise.
43495         * lib/isnan.h: Likewise.
43496         * lib/isnanf.c: Likewise.
43497         * lib/isnanf.h: Likewise.
43498         * lib/isnanl-nolibm.h: Likewise.
43499         * lib/isnanl.c: Likewise.
43500         * lib/isnanl.h: Likewise.
43501         * lib/javacomp.c: Likewise.
43502         * lib/javacomp.h: Likewise.
43503         * lib/javaexec.c: Likewise.
43504         * lib/javaexec.h: Likewise.
43505         * lib/javaversion.c: Likewise.
43506         * lib/javaversion.h: Likewise.
43507         * lib/javaversion.java: Likewise.
43508         * lib/lbrkprop.h: Likewise.
43509         * lib/lchmod.h: Likewise.
43510         * lib/lchown.c: Likewise.
43511         * lib/ldexpl.c: Likewise.
43512         * lib/linebreak.c: Likewise.
43513         * lib/linebreak.h: Likewise.
43514         * lib/linebuffer.c: Likewise.
43515         * lib/linebuffer.h: Likewise.
43516         * lib/locale.in.h: Likewise.
43517         * lib/logl.c: Likewise.
43518         * lib/long-options.c: Likewise.
43519         * lib/long-options.h: Likewise.
43520         * lib/lstat.c: Likewise.
43521         * lib/lstat.h: Likewise.
43522         * lib/math.in.h: Likewise.
43523         * lib/mbchar.c: Likewise.
43524         * lib/mbchar.h: Likewise.
43525         * lib/mbfile.h: Likewise.
43526         * lib/mbiter.h: Likewise.
43527         * lib/mbscasecmp.c: Likewise.
43528         * lib/mbscasestr.c: Likewise.
43529         * lib/mbschr.c: Likewise.
43530         * lib/mbscspn.c: Likewise.
43531         * lib/mbslen.c: Likewise.
43532         * lib/mbsncasecmp.c: Likewise.
43533         * lib/mbsnlen.c: Likewise.
43534         * lib/mbspbrk.c: Likewise.
43535         * lib/mbspcasecmp.c: Likewise.
43536         * lib/mbsrchr.c: Likewise.
43537         * lib/mbssep.c: Likewise.
43538         * lib/mbsspn.c: Likewise.
43539         * lib/mbsstr.c: Likewise.
43540         * lib/mbstok_r.c: Likewise.
43541         * lib/mbswidth.c: Likewise.
43542         * lib/mbswidth.h: Likewise.
43543         * lib/mbuiter.h: Likewise.
43544         * lib/memcasecmp.c: Likewise.
43545         * lib/memcasecmp.h: Likewise.
43546         * lib/memchr.c: Likewise.
43547         * lib/memcmp.c: Likewise.
43548         * lib/memcoll.c: Likewise.
43549         * lib/memcoll.h: Likewise.
43550         * lib/memcpy.c: Likewise.
43551         * lib/memrchr.c: Likewise.
43552         * lib/mkancesdirs.c: Likewise.
43553         * lib/mkdir-p.c: Likewise.
43554         * lib/mkdir-p.h: Likewise.
43555         * lib/mkdir.c: Likewise.
43556         * lib/mkdirat.c: Likewise.
43557         * lib/mkdtemp.c: Likewise.
43558         * lib/mkstemp-safer.c: Likewise.
43559         * lib/mkstemp.c: Likewise.
43560         * lib/modechange.c: Likewise.
43561         * lib/modechange.h: Likewise.
43562         * lib/mountlist.c: Likewise.
43563         * lib/mountlist.h: Likewise.
43564         * lib/mpsort.c: Likewise.
43565         * lib/nanosleep.c: Likewise.
43566         * lib/obstack.c: Likewise.
43567         * lib/obstack.h: Likewise.
43568         * lib/open-safer.c: Likewise.
43569         * lib/open.c: Likewise.
43570         * lib/openat-die.c: Likewise.
43571         * lib/openat-priv.h: Likewise.
43572         * lib/openat-proc.c: Likewise.
43573         * lib/openat.c: Likewise.
43574         * lib/openat.h: Likewise.
43575         * lib/pagealign_alloc.c: Likewise.
43576         * lib/pagealign_alloc.h: Likewise.
43577         * lib/physmem.c: Likewise.
43578         * lib/physmem.h: Likewise.
43579         * lib/pipe-safer.c: Likewise.
43580         * lib/pipe.c: Likewise.
43581         * lib/pipe.h: Likewise.
43582         * lib/posixtm.c: Likewise.
43583         * lib/posixtm.h: Likewise.
43584         * lib/posixver.c: Likewise.
43585         * lib/printf-frexp.c: Likewise.
43586         * lib/printf-frexp.h: Likewise.
43587         * lib/printf-frexpl.c: Likewise.
43588         * lib/printf-frexpl.h: Likewise.
43589         * lib/printf.c: Likewise.
43590         * lib/progname.c: Likewise.
43591         * lib/progname.h: Likewise.
43592         * lib/progreloc.c: Likewise.
43593         * lib/putenv.c: Likewise.
43594         * lib/quote.c: Likewise.
43595         * lib/quote.h: Likewise.
43596         * lib/quotearg.c: Likewise.
43597         * lib/quotearg.h: Likewise.
43598         * lib/raise.c: Likewise.
43599         * lib/readline.c: Likewise.
43600         * lib/readline.h: Likewise.
43601         * lib/readlink.c: Likewise.
43602         * lib/readtokens.c: Likewise.
43603         * lib/readtokens.h: Likewise.
43604         * lib/readtokens0.c: Likewise.
43605         * lib/readtokens0.h: Likewise.
43606         * lib/readutmp.c: Likewise.
43607         * lib/readutmp.h: Likewise.
43608         * lib/realloc.c: Likewise.
43609         * lib/relocwrapper.c: Likewise.
43610         * lib/rename-dest-slash.c: Likewise.
43611         * lib/rename.c: Likewise.
43612         * lib/rmdir.c: Likewise.
43613         * lib/rpmatch.c: Likewise.
43614         * lib/safe-read.c: Likewise.
43615         * lib/safe-read.h: Likewise.
43616         * lib/safe-write.c: Likewise.
43617         * lib/safe-write.h: Likewise.
43618         * lib/same-inode.h: Likewise.
43619         * lib/same.c: Likewise.
43620         * lib/same.h: Likewise.
43621         * lib/save-cwd.c: Likewise.
43622         * lib/save-cwd.h: Likewise.
43623         * lib/savedir.c: Likewise.
43624         * lib/savedir.h: Likewise.
43625         * lib/savewd.c: Likewise.
43626         * lib/savewd.h: Likewise.
43627         * lib/search.in.h: Likewise.
43628         * lib/setenv.c: Likewise.
43629         * lib/setenv.h: Likewise.
43630         * lib/settime.c: Likewise.
43631         * lib/sh-quote.c: Likewise.
43632         * lib/sh-quote.h: Likewise.
43633         * lib/sig2str.c: Likewise.
43634         * lib/sig2str.h: Likewise.
43635         * lib/signal.in.h: Likewise.
43636         * lib/signbitd.c: Likewise.
43637         * lib/signbitf.c: Likewise.
43638         * lib/signbitl.c: Likewise.
43639         * lib/sigprocmask.c: Likewise.
43640         * lib/sincosl.c: Likewise.
43641         * lib/sleep.c: Likewise.
43642         * lib/sprintf.c: Likewise.
43643         * lib/sqrtl.c: Likewise.
43644         * lib/stat-time.h: Likewise.
43645         * lib/stdio--.h: Likewise.
43646         * lib/stdio-safer.h: Likewise.
43647         * lib/stdlib--.h: Likewise.
43648         * lib/stdlib-safer.h: Likewise.
43649         * lib/stdlib.in.h: Likewise.
43650         * lib/stpcpy.c: Likewise.
43651         * lib/stpncpy.c: Likewise.
43652         * lib/strchrnul.c: Likewise.
43653         * lib/strcspn.c: Likewise.
43654         * lib/strerror.c: Likewise.
43655         * lib/strftime.c: Likewise.
43656         * lib/strftime.h: Likewise.
43657         * lib/striconveh.c: Likewise.
43658         * lib/striconveh.h: Likewise.
43659         * lib/striconveha.c: Likewise.
43660         * lib/striconveha.h: Likewise.
43661         * lib/stripslash.c: Likewise.
43662         * lib/strnlen1.c: Likewise.
43663         * lib/strnlen1.h: Likewise.
43664         * lib/strtod.c: Likewise.
43665         * lib/strtoimax.c: Likewise.
43666         * lib/strtok_r.c: Likewise.
43667         * lib/strtol.c: Likewise.
43668         * lib/strtoll.c: Likewise.
43669         * lib/strtoul.c: Likewise.
43670         * lib/strtoull.c: Likewise.
43671         * lib/sysexits.in.h: Likewise.
43672         * lib/tempname.c: Likewise.
43673         * lib/tempname.h: Likewise.
43674         * lib/timespec.h: Likewise.
43675         * lib/tls.c: Likewise.
43676         * lib/tls.h: Likewise.
43677         * lib/tmpdir.c: Likewise.
43678         * lib/tmpdir.h: Likewise.
43679         * lib/tmpfile-safer.c: Likewise.
43680         * lib/tmpfile.c: Likewise.
43681         * lib/trigl.c: Likewise.
43682         * lib/trigl.h: Likewise.
43683         * lib/trim.c: Likewise.
43684         * lib/trim.h: Likewise.
43685         * lib/trunc.c: Likewise.
43686         * lib/truncf.c: Likewise.
43687         * lib/truncl.c: Likewise.
43688         * lib/tsearch.c: Likewise.
43689         * lib/unicodeio.c: Likewise.
43690         * lib/unicodeio.h: Likewise.
43691         * lib/unistd--.h: Likewise.
43692         * lib/unistd-safer.h: Likewise.
43693         * lib/unistdio/ulc-fprintf.c: Likewise.
43694         * lib/unistdio/ulc-vfprintf.c: Likewise.
43695         * lib/unlinkdir.c: Likewise.
43696         * lib/unlinkdir.h: Likewise.
43697         * lib/unlocked-io.h: Likewise.
43698         * lib/unsetenv.c: Likewise.
43699         * lib/userspec.c: Likewise.
43700         * lib/utime.c: Likewise.
43701         * lib/utimecmp.c: Likewise.
43702         * lib/utimecmp.h: Likewise.
43703         * lib/utimens.c: Likewise.
43704         * lib/verify.h: Likewise.
43705         * lib/verror.c: Likewise.
43706         * lib/verror.h: Likewise.
43707         * lib/version-etc-fsf.c: Likewise.
43708         * lib/version-etc.c: Likewise.
43709         * lib/version-etc.h: Likewise.
43710         * lib/vfprintf.c: Likewise.
43711         * lib/vprintf.c: Likewise.
43712         * lib/vsprintf.c: Likewise.
43713         * lib/w32spawn.h: Likewise.
43714         * lib/wait-process.c: Likewise.
43715         * lib/wait-process.h: Likewise.
43716         * lib/wcwidth.c: Likewise.
43717         * lib/write-any-file.c: Likewise.
43718         * lib/xalloc-die.c: Likewise.
43719         * lib/xalloc.h: Likewise.
43720         * lib/xasprintf.c: Likewise.
43721         * lib/xgetcwd.c: Likewise.
43722         * lib/xgetcwd.h: Likewise.
43723         * lib/xgetdomainname.c: Likewise.
43724         * lib/xgetdomainname.h: Likewise.
43725         * lib/xgethostname.c: Likewise.
43726         * lib/xmalloc.c: Likewise.
43727         * lib/xmalloca.c: Likewise.
43728         * lib/xmalloca.h: Likewise.
43729         * lib/xmemcoll.c: Likewise.
43730         * lib/xnanosleep.c: Likewise.
43731         * lib/xreadlink.c: Likewise.
43732         * lib/xreadlink.h: Likewise.
43733         * lib/xsetenv.c: Likewise.
43734         * lib/xsetenv.h: Likewise.
43735         * lib/xstriconv.c: Likewise.
43736         * lib/xstriconv.h: Likewise.
43737         * lib/xstrndup.c: Likewise.
43738         * lib/xstrndup.h: Likewise.
43739         * lib/xstrtod.c: Likewise.
43740         * lib/xstrtod.h: Likewise.
43741         * lib/xstrtol-error.c: Likewise.
43742         * lib/xstrtol.c: Likewise.
43743         * lib/xstrtol.h: Likewise.
43744         * lib/xtime.h: Likewise.
43745         * lib/xvasprintf.c: Likewise.
43746         * lib/xvasprintf.h: Likewise.
43747         * lib/yesno.c: Likewise.
43748         * lib/yesno.h: Likewise.
43749         * posix-modules: Likewise.
43750         * tests/test-alloca-opt.c: Likewise.
43751         * tests/test-arcfour.c: Likewise.
43752         * tests/test-arctwo.c: Likewise.
43753         * tests/test-argmatch.c: Likewise.
43754         * tests/test-argp-2.sh: Likewise.
43755         * tests/test-argp.c: Likewise.
43756         * tests/test-arpa_inet.c: Likewise.
43757         * tests/test-array_list.c: Likewise.
43758         * tests/test-array_oset.c: Likewise.
43759         * tests/test-atexit.c: Likewise.
43760         * tests/test-avltree_list.c: Likewise.
43761         * tests/test-avltree_oset.c: Likewise.
43762         * tests/test-avltreehash_list.c: Likewise.
43763         * tests/test-base64.c: Likewise.
43764         * tests/test-binary-io.c: Likewise.
43765         * tests/test-byteswap.c: Likewise.
43766         * tests/test-c-ctype.c: Likewise.
43767         * tests/test-c-strcasecmp.c: Likewise.
43768         * tests/test-c-strcasestr.c: Likewise.
43769         * tests/test-c-strncasecmp.c: Likewise.
43770         * tests/test-c-strstr.c: Likewise.
43771         * tests/test-canonicalize-lgpl.c: Likewise.
43772         * tests/test-canonicalize.c: Likewise.
43773         * tests/test-carray_list.c: Likewise.
43774         * tests/test-ceilf.c: Likewise.
43775         * tests/test-ceill.c: Likewise.
43776         * tests/test-count-one-bits.c: Likewise.
43777         * tests/test-crc.c: Likewise.
43778         * tests/test-dirname.c: Likewise.
43779         * tests/test-fbufmode.c: Likewise.
43780         * tests/test-fcntl.c: Likewise.
43781         * tests/test-fflush.c: Likewise.
43782         * tests/test-floorf.c: Likewise.
43783         * tests/test-floorl.c: Likewise.
43784         * tests/test-fopen.c: Likewise.
43785         * tests/test-fprintf-posix.c: Likewise.
43786         * tests/test-fprintf-posix.h: Likewise.
43787         * tests/test-fpurge.c: Likewise.
43788         * tests/test-freadable.c: Likewise.
43789         * tests/test-freadahead.c: Likewise.
43790         * tests/test-freading.c: Likewise.
43791         * tests/test-freopen.c: Likewise.
43792         * tests/test-frexp.c: Likewise.
43793         * tests/test-frexpl.c: Likewise.
43794         * tests/test-fseek.c: Likewise.
43795         * tests/test-fseeko.c: Likewise.
43796         * tests/test-fseterr.c: Likewise.
43797         * tests/test-fstrcmp.c: Likewise.
43798         * tests/test-ftell.c: Likewise.
43799         * tests/test-ftello.c: Likewise.
43800         * tests/test-fwritable.c: Likewise.
43801         * tests/test-fwriting.c: Likewise.
43802         * tests/test-getaddrinfo.c: Likewise.
43803         * tests/test-getpass.c: Likewise.
43804         * tests/test-gettimeofday.c: Likewise.
43805         * tests/test-hmac-md5.c: Likewise.
43806         * tests/test-hmac-sha1.c: Likewise.
43807         * tests/test-iconv.c: Likewise.
43808         * tests/test-iconvme.c: Likewise.
43809         * tests/test-inttypes.c: Likewise.
43810         * tests/test-isnan.c: Likewise.
43811         * tests/test-isnanf.c: Likewise.
43812         * tests/test-isnanl-nolibm.c: Likewise.
43813         * tests/test-isnanl.c: Likewise.
43814         * tests/test-isnanl.h: Likewise.
43815         * tests/test-ldexpl.c: Likewise.
43816         * tests/test-linked_list.c: Likewise.
43817         * tests/test-linkedhash_list.c: Likewise.
43818         * tests/test-locale.c: Likewise.
43819         * tests/test-localename.c: Likewise.
43820         * tests/test-lock.c: Likewise.
43821         * tests/test-lseek.c: Likewise.
43822         * tests/test-malloca.c: Likewise.
43823         * tests/test-math.c: Likewise.
43824         * tests/test-mbscasecmp.c: Likewise.
43825         * tests/test-mbscasestr1.c: Likewise.
43826         * tests/test-mbscasestr2.c: Likewise.
43827         * tests/test-mbscasestr3.c: Likewise.
43828         * tests/test-mbscasestr4.c: Likewise.
43829         * tests/test-mbschr.c: Likewise.
43830         * tests/test-mbscspn.c: Likewise.
43831         * tests/test-mbsncasecmp.c: Likewise.
43832         * tests/test-mbspbrk.c: Likewise.
43833         * tests/test-mbspcasecmp.c: Likewise.
43834         * tests/test-mbsrchr.c: Likewise.
43835         * tests/test-mbsspn.c: Likewise.
43836         * tests/test-mbsstr1.c: Likewise.
43837         * tests/test-mbsstr2.c: Likewise.
43838         * tests/test-mbsstr3.c: Likewise.
43839         * tests/test-md5.c: Likewise.
43840         * tests/test-memmem.c: Likewise.
43841         * tests/test-netinet_in.c: Likewise.
43842         * tests/test-open.c: Likewise.
43843         * tests/test-printf-frexp.c: Likewise.
43844         * tests/test-printf-frexpl.c: Likewise.
43845         * tests/test-printf-posix.c: Likewise.
43846         * tests/test-printf-posix.h: Likewise.
43847         * tests/test-rbtree_list.c: Likewise.
43848         * tests/test-rbtree_oset.c: Likewise.
43849         * tests/test-rbtreehash_list.c: Likewise.
43850         * tests/test-read-file.c: Likewise.
43851         * tests/test-rijndael.c: Likewise.
43852         * tests/test-search.c: Likewise.
43853         * tests/test-signbit.c: Likewise.
43854         * tests/test-sleep.c: Likewise.
43855         * tests/test-snprintf-posix.c: Likewise.
43856         * tests/test-snprintf-posix.h: Likewise.
43857         * tests/test-snprintf.c: Likewise.
43858         * tests/test-sprintf-posix.c: Likewise.
43859         * tests/test-sprintf-posix.h: Likewise.
43860         * tests/test-stat-time.c: Likewise.
43861         * tests/test-stdbool.c: Likewise.
43862         * tests/test-stdint.c: Likewise.
43863         * tests/test-stdio.c: Likewise.
43864         * tests/test-stdlib.c: Likewise.
43865         * tests/test-stpncpy.c: Likewise.
43866         * tests/test-strcasestr.c: Likewise.
43867         * tests/test-striconv.c: Likewise.
43868         * tests/test-striconveh.c: Likewise.
43869         * tests/test-striconveha.c: Likewise.
43870         * tests/test-string.c: Likewise.
43871         * tests/test-sys_select.c: Likewise.
43872         * tests/test-sys_socket.c: Likewise.
43873         * tests/test-sys_stat.c: Likewise.
43874         * tests/test-sys_time.c: Likewise.
43875         * tests/test-sysexits.c: Likewise.
43876         * tests/test-time.c: Likewise.
43877         * tests/test-tls.c: Likewise.
43878         * tests/test-trunc.c: Likewise.
43879         * tests/test-truncf.c: Likewise.
43880         * tests/test-truncl.c: Likewise.
43881         * tests/test-unistd.c: Likewise.
43882         * tests/test-vasnprintf-posix.c: Likewise.
43883         * tests/test-vasnprintf-posix2.c: Likewise.
43884         * tests/test-vasnprintf.c: Likewise.
43885         * tests/test-vasprintf-posix.c: Likewise.
43886         * tests/test-vasprintf.c: Likewise.
43887         * tests/test-verify.c: Likewise.
43888         * tests/test-vfprintf-posix.c: Likewise.
43889         * tests/test-vprintf-posix.c: Likewise.
43890         * tests/test-vsnprintf-posix.c: Likewise.
43891         * tests/test-vsnprintf.c: Likewise.
43892         * tests/test-vsprintf-posix.c: Likewise.
43893         * tests/test-wchar.c: Likewise.
43894         * tests/test-wctype.c: Likewise.
43895         * tests/test-wcwidth.c: Likewise.
43896         * tests/test-xstrtol.c: Likewise.
43897         * tests/test-xvasprintf.c: Likewise.
43898         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
43899         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
43900         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
43901         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
43902         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
43903         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
43904         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
43905         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
43906         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
43907         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
43908         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
43909         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
43910         * tests/uniname/test-uninames.c: Likewise.
43911         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
43912         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
43913         * tests/unistdio/test-u16-printf1.h: Likewise.
43914         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
43915         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
43916         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
43917         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
43918         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
43919         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
43920         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
43921         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
43922         * tests/unistdio/test-u32-printf1.h: Likewise.
43923         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
43924         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
43925         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
43926         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
43927         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
43928         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
43929         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
43930         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
43931         * tests/unistdio/test-u8-printf1.h: Likewise.
43932         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
43933         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
43934         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
43935         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
43936         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
43937         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
43938         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
43939         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
43940         * tests/unistdio/test-ulc-printf1.h: Likewise.
43941         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
43942         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
43943         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
43944         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
43945         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
43946         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
43947         * tests/uniwidth/test-u16-strwidth.c: Likewise.
43948         * tests/uniwidth/test-u16-width.c: Likewise.
43949         * tests/uniwidth/test-u32-strwidth.c: Likewise.
43950         * tests/uniwidth/test-u32-width.c: Likewise.
43951         * tests/uniwidth/test-u8-strwidth.c: Likewise.
43952         * tests/uniwidth/test-u8-width.c: Likewise.
43953         * tests/uniwidth/test-uc_width.c: Likewise.
43954         * config/srclist-update: Likewise.
43955         (fixlicense): Update to GPLv3+.
43956
43957         Change copyright notice from LGPLv2.1+ to LGPLv3+.
43958         * tests/test-tsearch.c: Change copyright notice.
43959
43960         Change copyright notice from LGPLv2.0+ to LGPLv3+.
43961         * lib/c-strcaseeq.h: Change copyright notice.
43962         * lib/streq.h: Likewise.
43963         * lib/uniconv.h: Likewise.
43964         * lib/uniconv/u-conv-from-enc.h: Likewise.
43965         * lib/uniconv/u-conv-to-enc.h: Likewise.
43966         * lib/uniconv/u-strconv-from-enc.h: Likewise.
43967         * lib/uniconv/u-strconv-to-enc.h: Likewise.
43968         * lib/uniconv/u16-conv-from-enc.c: Likewise.
43969         * lib/uniconv/u16-conv-to-enc.c: Likewise.
43970         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
43971         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
43972         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
43973         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
43974         * lib/uniconv/u32-conv-from-enc.c: Likewise.
43975         * lib/uniconv/u32-conv-to-enc.c: Likewise.
43976         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
43977         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
43978         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
43979         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
43980         * lib/uniconv/u8-conv-from-enc.c: Likewise.
43981         * lib/uniconv/u8-conv-to-enc.c: Likewise.
43982         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
43983         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
43984         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
43985         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
43986         * lib/uniname.h: Likewise.
43987         * lib/uniname/uniname.c: Likewise.
43988         * lib/unistdio.h: Likewise.
43989         * lib/unistdio/u-asnprintf.h: Likewise.
43990         * lib/unistdio/u-asprintf.h: Likewise.
43991         * lib/unistdio/u-printf-args.c: Likewise.
43992         * lib/unistdio/u-printf-args.h: Likewise.
43993         * lib/unistdio/u-printf-parse.h: Likewise.
43994         * lib/unistdio/u-snprintf.h: Likewise.
43995         * lib/unistdio/u-sprintf.h: Likewise.
43996         * lib/unistdio/u-vasprintf.h: Likewise.
43997         * lib/unistdio/u-vsnprintf.h: Likewise.
43998         * lib/unistdio/u-vsprintf.h: Likewise.
43999         * lib/unistdio/u16-asnprintf.c: Likewise.
44000         * lib/unistdio/u16-asprintf.c: Likewise.
44001         * lib/unistdio/u16-printf-parse.c: Likewise.
44002         * lib/unistdio/u16-snprintf.c: Likewise.
44003         * lib/unistdio/u16-sprintf.c: Likewise.
44004         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
44005         * lib/unistdio/u16-u16-asprintf.c: Likewise.
44006         * lib/unistdio/u16-u16-snprintf.c: Likewise.
44007         * lib/unistdio/u16-u16-sprintf.c: Likewise.
44008         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
44009         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
44010         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
44011         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
44012         * lib/unistdio/u16-vasnprintf.c: Likewise.
44013         * lib/unistdio/u16-vasprintf.c: Likewise.
44014         * lib/unistdio/u16-vsnprintf.c: Likewise.
44015         * lib/unistdio/u16-vsprintf.c: Likewise.
44016         * lib/unistdio/u32-asnprintf.c: Likewise.
44017         * lib/unistdio/u32-asprintf.c: Likewise.
44018         * lib/unistdio/u32-printf-parse.c: Likewise.
44019         * lib/unistdio/u32-snprintf.c: Likewise.
44020         * lib/unistdio/u32-sprintf.c: Likewise.
44021         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
44022         * lib/unistdio/u32-u32-asprintf.c: Likewise.
44023         * lib/unistdio/u32-u32-snprintf.c: Likewise.
44024         * lib/unistdio/u32-u32-sprintf.c: Likewise.
44025         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
44026         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
44027         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
44028         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
44029         * lib/unistdio/u32-vasnprintf.c: Likewise.
44030         * lib/unistdio/u32-vasprintf.c: Likewise.
44031         * lib/unistdio/u32-vsnprintf.c: Likewise.
44032         * lib/unistdio/u32-vsprintf.c: Likewise.
44033         * lib/unistdio/u8-asnprintf.c: Likewise.
44034         * lib/unistdio/u8-asprintf.c: Likewise.
44035         * lib/unistdio/u8-printf-parse.c: Likewise.
44036         * lib/unistdio/u8-snprintf.c: Likewise.
44037         * lib/unistdio/u8-sprintf.c: Likewise.
44038         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
44039         * lib/unistdio/u8-u8-asprintf.c: Likewise.
44040         * lib/unistdio/u8-u8-snprintf.c: Likewise.
44041         * lib/unistdio/u8-u8-sprintf.c: Likewise.
44042         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
44043         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
44044         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
44045         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
44046         * lib/unistdio/u8-vasnprintf.c: Likewise.
44047         * lib/unistdio/u8-vasprintf.c: Likewise.
44048         * lib/unistdio/u8-vsnprintf.c: Likewise.
44049         * lib/unistdio/u8-vsprintf.c: Likewise.
44050         * lib/unistdio/ulc-asnprintf.c: Likewise.
44051         * lib/unistdio/ulc-asprintf.c: Likewise.
44052         * lib/unistdio/ulc-printf-parse.c: Likewise.
44053         * lib/unistdio/ulc-snprintf.c: Likewise.
44054         * lib/unistdio/ulc-sprintf.c: Likewise.
44055         * lib/unistdio/ulc-vasnprintf.c: Likewise.
44056         * lib/unistdio/ulc-vasprintf.c: Likewise.
44057         * lib/unistdio/ulc-vsnprintf.c: Likewise.
44058         * lib/unistdio/ulc-vsprintf.c: Likewise.
44059         * lib/unistr.h: Likewise.
44060         * lib/unistr/u-cpy-alloc.h: Likewise.
44061         * lib/unistr/u-cpy.h: Likewise.
44062         * lib/unistr/u-endswith.h: Likewise.
44063         * lib/unistr/u-move.h: Likewise.
44064         * lib/unistr/u-set.h: Likewise.
44065         * lib/unistr/u-startswith.h: Likewise.
44066         * lib/unistr/u-stpcpy.h: Likewise.
44067         * lib/unistr/u-stpncpy.h: Likewise.
44068         * lib/unistr/u-strcat.h: Likewise.
44069         * lib/unistr/u-strcpy.h: Likewise.
44070         * lib/unistr/u-strcspn.h: Likewise.
44071         * lib/unistr/u-strdup.h: Likewise.
44072         * lib/unistr/u-strlen.h: Likewise.
44073         * lib/unistr/u-strncat.h: Likewise.
44074         * lib/unistr/u-strncpy.h: Likewise.
44075         * lib/unistr/u-strnlen.h: Likewise.
44076         * lib/unistr/u-strpbrk.h: Likewise.
44077         * lib/unistr/u-strspn.h: Likewise.
44078         * lib/unistr/u-strstr.h: Likewise.
44079         * lib/unistr/u-strtok.h: Likewise.
44080         * lib/unistr/u16-check.c: Likewise.
44081         * lib/unistr/u16-chr.c: Likewise.
44082         * lib/unistr/u16-cmp.c: Likewise.
44083         * lib/unistr/u16-cpy-alloc.c: Likewise.
44084         * lib/unistr/u16-cpy.c: Likewise.
44085         * lib/unistr/u16-endswith.c: Likewise.
44086         * lib/unistr/u16-mblen.c: Likewise.
44087         * lib/unistr/u16-mbsnlen.c: Likewise.
44088         * lib/unistr/u16-mbtouc-aux.c: Likewise.
44089         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
44090         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
44091         * lib/unistr/u16-mbtouc.c: Likewise.
44092         * lib/unistr/u16-mbtoucr.c: Likewise.
44093         * lib/unistr/u16-move.c: Likewise.
44094         * lib/unistr/u16-next.c: Likewise.
44095         * lib/unistr/u16-prev.c: Likewise.
44096         * lib/unistr/u16-set.c: Likewise.
44097         * lib/unistr/u16-startswith.c: Likewise.
44098         * lib/unistr/u16-stpcpy.c: Likewise.
44099         * lib/unistr/u16-stpncpy.c: Likewise.
44100         * lib/unistr/u16-strcat.c: Likewise.
44101         * lib/unistr/u16-strchr.c: Likewise.
44102         * lib/unistr/u16-strcmp.c: Likewise.
44103         * lib/unistr/u16-strcpy.c: Likewise.
44104         * lib/unistr/u16-strcspn.c: Likewise.
44105         * lib/unistr/u16-strdup.c: Likewise.
44106         * lib/unistr/u16-strlen.c: Likewise.
44107         * lib/unistr/u16-strmblen.c: Likewise.
44108         * lib/unistr/u16-strmbtouc.c: Likewise.
44109         * lib/unistr/u16-strncat.c: Likewise.
44110         * lib/unistr/u16-strncmp.c: Likewise.
44111         * lib/unistr/u16-strncpy.c: Likewise.
44112         * lib/unistr/u16-strnlen.c: Likewise.
44113         * lib/unistr/u16-strpbrk.c: Likewise.
44114         * lib/unistr/u16-strrchr.c: Likewise.
44115         * lib/unistr/u16-strspn.c: Likewise.
44116         * lib/unistr/u16-strstr.c: Likewise.
44117         * lib/unistr/u16-strtok.c: Likewise.
44118         * lib/unistr/u16-to-u32.c: Likewise.
44119         * lib/unistr/u16-to-u8.c: Likewise.
44120         * lib/unistr/u16-uctomb-aux.c: Likewise.
44121         * lib/unistr/u16-uctomb.c: Likewise.
44122         * lib/unistr/u32-check.c: Likewise.
44123         * lib/unistr/u32-chr.c: Likewise.
44124         * lib/unistr/u32-cmp.c: Likewise.
44125         * lib/unistr/u32-cpy-alloc.c: Likewise.
44126         * lib/unistr/u32-cpy.c: Likewise.
44127         * lib/unistr/u32-endswith.c: Likewise.
44128         * lib/unistr/u32-mblen.c: Likewise.
44129         * lib/unistr/u32-mbsnlen.c: Likewise.
44130         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
44131         * lib/unistr/u32-mbtouc.c: Likewise.
44132         * lib/unistr/u32-mbtoucr.c: Likewise.
44133         * lib/unistr/u32-move.c: Likewise.
44134         * lib/unistr/u32-next.c: Likewise.
44135         * lib/unistr/u32-prev.c: Likewise.
44136         * lib/unistr/u32-set.c: Likewise.
44137         * lib/unistr/u32-startswith.c: Likewise.
44138         * lib/unistr/u32-stpcpy.c: Likewise.
44139         * lib/unistr/u32-stpncpy.c: Likewise.
44140         * lib/unistr/u32-strcat.c: Likewise.
44141         * lib/unistr/u32-strchr.c: Likewise.
44142         * lib/unistr/u32-strcmp.c: Likewise.
44143         * lib/unistr/u32-strcpy.c: Likewise.
44144         * lib/unistr/u32-strcspn.c: Likewise.
44145         * lib/unistr/u32-strdup.c: Likewise.
44146         * lib/unistr/u32-strlen.c: Likewise.
44147         * lib/unistr/u32-strmblen.c: Likewise.
44148         * lib/unistr/u32-strmbtouc.c: Likewise.
44149         * lib/unistr/u32-strncat.c: Likewise.
44150         * lib/unistr/u32-strncmp.c: Likewise.
44151         * lib/unistr/u32-strncpy.c: Likewise.
44152         * lib/unistr/u32-strnlen.c: Likewise.
44153         * lib/unistr/u32-strpbrk.c: Likewise.
44154         * lib/unistr/u32-strrchr.c: Likewise.
44155         * lib/unistr/u32-strspn.c: Likewise.
44156         * lib/unistr/u32-strstr.c: Likewise.
44157         * lib/unistr/u32-strtok.c: Likewise.
44158         * lib/unistr/u32-to-u16.c: Likewise.
44159         * lib/unistr/u32-to-u8.c: Likewise.
44160         * lib/unistr/u32-uctomb.c: Likewise.
44161         * lib/unistr/u8-check.c: Likewise.
44162         * lib/unistr/u8-chr.c: Likewise.
44163         * lib/unistr/u8-cmp.c: Likewise.
44164         * lib/unistr/u8-cpy-alloc.c: Likewise.
44165         * lib/unistr/u8-cpy.c: Likewise.
44166         * lib/unistr/u8-endswith.c: Likewise.
44167         * lib/unistr/u8-mblen.c: Likewise.
44168         * lib/unistr/u8-mbsnlen.c: Likewise.
44169         * lib/unistr/u8-mbtouc-aux.c: Likewise.
44170         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
44171         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
44172         * lib/unistr/u8-mbtouc.c: Likewise.
44173         * lib/unistr/u8-mbtoucr.c: Likewise.
44174         * lib/unistr/u8-move.c: Likewise.
44175         * lib/unistr/u8-next.c: Likewise.
44176         * lib/unistr/u8-prev.c: Likewise.
44177         * lib/unistr/u8-set.c: Likewise.
44178         * lib/unistr/u8-startswith.c: Likewise.
44179         * lib/unistr/u8-stpcpy.c: Likewise.
44180         * lib/unistr/u8-stpncpy.c: Likewise.
44181         * lib/unistr/u8-strcat.c: Likewise.
44182         * lib/unistr/u8-strchr.c: Likewise.
44183         * lib/unistr/u8-strcmp.c: Likewise.
44184         * lib/unistr/u8-strcpy.c: Likewise.
44185         * lib/unistr/u8-strcspn.c: Likewise.
44186         * lib/unistr/u8-strdup.c: Likewise.
44187         * lib/unistr/u8-strlen.c: Likewise.
44188         * lib/unistr/u8-strmblen.c: Likewise.
44189         * lib/unistr/u8-strmbtouc.c: Likewise.
44190         * lib/unistr/u8-strncat.c: Likewise.
44191         * lib/unistr/u8-strncmp.c: Likewise.
44192         * lib/unistr/u8-strncpy.c: Likewise.
44193         * lib/unistr/u8-strnlen.c: Likewise.
44194         * lib/unistr/u8-strpbrk.c: Likewise.
44195         * lib/unistr/u8-strrchr.c: Likewise.
44196         * lib/unistr/u8-strspn.c: Likewise.
44197         * lib/unistr/u8-strstr.c: Likewise.
44198         * lib/unistr/u8-strtok.c: Likewise.
44199         * lib/unistr/u8-to-u16.c: Likewise.
44200         * lib/unistr/u8-to-u32.c: Likewise.
44201         * lib/unistr/u8-uctomb-aux.c: Likewise.
44202         * lib/unistr/u8-uctomb.c: Likewise.
44203         * lib/unitypes.h: Likewise.
44204         * lib/uniwidth.h: Likewise.
44205         * lib/uniwidth/cjk.h: Likewise.
44206         * lib/uniwidth/u16-strwidth.c: Likewise.
44207         * lib/uniwidth/u16-width.c: Likewise.
44208         * lib/uniwidth/u32-strwidth.c: Likewise.
44209         * lib/uniwidth/u32-width.c: Likewise.
44210         * lib/uniwidth/u8-strwidth.c: Likewise.
44211         * lib/uniwidth/u8-width.c: Likewise.
44212         * lib/uniwidth/width.c: Likewise.
44213
44214 2007-10-07  Bruno Haible  <bruno@clisp.org>
44215
44216         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
44217         The file is still under LGPL (see modules/inttypes).
44218
44219 2007-10-06  Bruno Haible  <bruno@clisp.org>
44220
44221         * modules/trunc (Dependencies): Add 'extensions'.
44222         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
44223         Reported by Ben Pfaff <blp@gnu.org>.
44224
44225 2007-10-06  Bruno Haible  <bruno@clisp.org>
44226
44227         * modules/freopen-tests: New file.
44228         * tests/test-freopen.c: New file.
44229
44230         * modules/fopen-tests: New file.
44231         * tests/test-fopen.c: New file.
44232
44233         * modules/fopen: New file.
44234         * lib/fopen.c: New file.
44235         * m4/fopen.m4: New file.
44236         * modules/freopen: New file.
44237         * lib/freopen.c: New file.
44238         * m4/freopen.m4: New file.
44239         * lib/stdio.in.h (fopen, freopen): New declarations.
44240         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
44241         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
44242         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
44243         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
44244         * doc/functions/fopen.texi: Mention the 'fopen' module.
44245         * doc/functions/freopen.texi: Mention the 'freopen' module.
44246
44247 2007-10-06  Bruno Haible  <bruno@clisp.org>
44248
44249         * modules/open-tests: New file.
44250         * tests/test-open.c: New file.
44251
44252         * modules/open: New file.
44253         * lib/open.c: New file.
44254         * m4/open.m4: New file.
44255         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
44256         lib/open.c does.
44257         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
44258         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
44259         macros.
44260         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
44261         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
44262         REPLACE_OPEN.
44263         * doc/functions/open.texi: Mention the 'open' module.
44264
44265 2007-10-04  Bruno Haible  <bruno@clisp.org>
44266
44267         * modules/ceill-tests: New file.
44268         * tests/test-ceill.c: New file.
44269
44270         * modules/ceill: New file.
44271         * lib/ceill.c: Replace entire file.
44272         * m4/ceill.m4: New file.
44273         * lib/math.in.h (ceill): Replace declaration.
44274         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
44275         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
44276         * doc/functions/ceill.texi: Mention the 'ceill' module.
44277         * modules/mathl (Files): Remove lib/ceill.c.
44278         (Depends-on): Add ceill.
44279
44280 2007-10-04  Bruno Haible  <bruno@clisp.org>
44281
44282         * modules/ceilf-tests: New file.
44283         * tests/test-ceilf.c: New file.
44284
44285         * modules/ceilf: New file.
44286         * lib/ceil.c: New file.
44287         * lib/ceilf.c: New file.
44288         * m4/ceilf.m4: New file.
44289         * lib/math.in.h (ceilf): New declaration.
44290         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
44291         HAVE_DECL_CEILF.
44292         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
44293         HAVE_DECL_CEILF.
44294         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
44295
44296 2007-10-04  Bruno Haible  <bruno@clisp.org>
44297
44298         * modules/floorl-tests: New file.
44299         * tests/test-floorl.c: New file.
44300
44301         * modules/floorl: New file.
44302         * lib/floorl.c: Replace entire file.
44303         * m4/floorl.m4: New file.
44304         * lib/math.in.h (floorl): Replace declaration.
44305         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
44306         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
44307         * doc/functions/floorl.texi: Mention the 'floorl' module.
44308         * modules/mathl (Files): Remove lib/floorl.c.
44309         (Depends-on): Add floorl.
44310
44311 2007-10-04  Bruno Haible  <bruno@clisp.org>
44312
44313         * modules/floorf-tests: New file.
44314         * tests/test-floorf.c: New file.
44315
44316         * modules/floorf: New file.
44317         * lib/floor.c: New file.
44318         * lib/floorf.c: New file.
44319         * m4/floorf.m4: New file.
44320         * lib/math.in.h (floorf): New declaration.
44321         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
44322         HAVE_DECL_FLOORF.
44323         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
44324         HAVE_DECL_FLOORF.
44325         * doc/functions/floorf.texi: Mention the 'floorf' module.
44326
44327 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
44328             Bruno Haible  <bruno@clisp.org>
44329
44330         Advertise for the Git server instead of the CVS server.
44331         * doc/gnulib-intro.texi (Steady Development): Mention the Git
44332         repository instead of the CVS one.
44333         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
44334         about all VCS systems generically.
44335         * doc/gnulib.texi (Introduction): Capitalize `Git'.
44336
44337 2007-10-04  Bruno Haible  <bruno@clisp.org>
44338
44339         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
44340         means.
44341         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
44342
44343 2007-10-04  Bruno Haible  <bruno@clisp.org>
44344
44345         * modules/truncl-tests: New file.
44346         * tests/test-truncl.c: New file.
44347
44348         * modules/truncl: New file.
44349         * lib/truncl.c: New file.
44350         * m4/truncl.m4: New file.
44351         * lib/math.in.h (truncl): New declaration.
44352         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
44353         HAVE_DECL_TRUNCL.
44354         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
44355         HAVE_DECL_TRUNCL.
44356         * doc/functions/truncl.texi: Mention the 'truncl' module.
44357
44358 2007-10-04  Bruno Haible  <bruno@clisp.org>
44359
44360         * modules/truncf-tests: New file.
44361         * tests/test-truncf.c: New file.
44362
44363         * modules/truncf: New file.
44364         * lib/trunc.c: Make paramerizable through USE_* macros.
44365         * lib/truncf.c: New file.
44366         * m4/truncf.m4: New file.
44367         * lib/math.in.h (truncf): New declaration.
44368         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
44369         HAVE_DECL_TRUNCF.
44370         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
44371         HAVE_DECL_TRUNCF.
44372         * doc/functions/truncf.texi: Mention the 'truncf' module.
44373
44374 2007-10-03  Bruno Haible  <bruno@clisp.org>
44375
44376         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
44377         augmentation also for tests modules.
44378         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
44379         * modules/atexit-tests (Makefile.am): Likewise.
44380         * modules/binary-io-tests (Makefile.am): Likewise.
44381         * modules/c-strcase-tests (Makefile.am): Likewise.
44382         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
44383         * modules/canonicalize-tests (Makefile.am): Likewise.
44384         * modules/closein-tests (Makefile.am): Likewise.
44385         * modules/fprintf-posix-tests (Makefile.am): Likewise.
44386         * modules/freadahead-tests (Makefile.am): Likewise.
44387         * modules/fseek-tests (Makefile.am): Likewise.
44388         * modules/fseeko-tests (Makefile.am): Likewise.
44389         * modules/ftell-tests (Makefile.am): Likewise.
44390         * modules/ftello-tests (Makefile.am): Likewise.
44391         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
44392         * modules/isnanl-tests (Makefile.am): Likewise.
44393         * modules/lseek-tests (Makefile.am): Likewise.
44394         * modules/mbscasecmp-tests (Makefile.am): Likewise.
44395         * modules/mbscasestr-tests (Makefile.am): Likewise.
44396         * modules/mbschr-tests (Makefile.am): Likewise.
44397         * modules/mbscspn-tests (Makefile.am): Likewise.
44398         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
44399         * modules/mbspbrk-tests (Makefile.am): Likewise.
44400         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
44401         * modules/mbsrchr-tests (Makefile.am): Likewise.
44402         * modules/mbsspn-tests (Makefile.am): Likewise.
44403         * modules/mbsstr-tests (Makefile.am): Likewise.
44404         * modules/printf-posix-tests (Makefile.am): Likewise.
44405         * modules/snprintf-posix-tests (Makefile.am): Likewise.
44406         * modules/sprintf-posix-tests (Makefile.am): Likewise.
44407         * modules/tsearch-tests (Makefile.am): Likewise.
44408         * modules/uniname/uniname-tests (Makefile.am): Likewise.
44409         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
44410         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
44411         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
44412         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
44413         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
44414         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
44415         * modules/vprintf-posix-tests (Makefile.am): Likewise.
44416         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
44417         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
44418         * modules/xstrtoimax-tests (Makefile.am): Likewise.
44419         * modules/xstrtol-tests (Makefile.am): Likewise.
44420         * modules/xstrtoumax-tests (Makefile.am): Likewise.
44421         * modules/yesno-tests (Makefile.am): Likewise.
44422
44423 2007-10-03  Bruno Haible  <bruno@clisp.org>
44424
44425         * modules/trunc-tests: New file.
44426         * tests/test-trunc.c: New file.
44427
44428         * modules/trunc: New file.
44429         * lib/trunc.c: New file.
44430         * m4/trunc.m4: New file.
44431         * lib/math.in.h (trunc): New declaration.
44432         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
44433         HAVE_DECL_TRUNC.
44434         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
44435         HAVE_DECL_TRUNC.
44436         * doc/functions/trunc.texi: Mention the 'trunc' module.
44437
44438 2007-10-03  Bruno Haible  <bruno@clisp.org>
44439
44440         * tests/test-fpending.c: New file, mostly copied
44441         from coreutils/lib/t-fpending.c.
44442         * modules/fpending-tests: New file.
44443
44444 2007-10-03  Bruno Haible  <bruno@clisp.org>
44445
44446         Port the stdio extensions to QNX (untested).
44447         * lib/fseterr.c (fseterr): Add support for QNX.
44448         * lib/fbufmode.c (fbufmode): Likewise.
44449         * lib/freadable.c (freadable): Likewise.
44450         * lib/fwritable.c (fwritable): Likewise.
44451         * lib/freading.c (freading): Likewise.
44452         * lib/fwriting.c (fwriting): Likewise.
44453         * lib/freadahead.c (freadahed): Likewise.
44454         * lib/fpurge.c (fpurge): Likewise.
44455         * lib/fseeko.c (rpl_fseeko): Likewise.
44456
44457 2007-10-03  Bruno Haible  <bruno@clisp.org>
44458             Jim Meyering  <jim@meyering.net>
44459             Eric Blake  <ebb9@byu.net>
44460
44461         * doc/relocatable.texi: Use @command instead of @program.
44462
44463 2007-10-02  Jim Meyering  <jim@meyering.net>
44464
44465         Perform one more "_.h" -> ".in.h" substitution.
44466         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
44467         instead of unistd_.h here, too.
44468
44469 2007-10-01  Bruno Haible  <bruno@clisp.org>
44470
44471         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
44472         Needed for the alloca-opt module.
44473
44474 2007-09-30  Bruno Haible  <bruno@clisp.org>
44475
44476         * lib/alloca.in.h: Renamed from lib/alloca_.h.
44477         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
44478         alloca_.h.
44479         * lib/argz.in.h: Renamed from lib/argz_.h.
44480         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
44481         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
44482         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
44483         byteswap_.h.
44484         * lib/dirent.in.h: Renamed from lib/dirent_.h.
44485         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
44486         dirent_.h.
44487         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
44488         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
44489         fcntl_.h.
44490         * lib/float.in.h: Renamed from lib/float_.h.
44491         * modules/float (Files, Makefile.am): Use float.in.h instead of
44492         float_.h.
44493         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
44494         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
44495         fnmatch_.h.
44496         * lib/getopt.in.h: Renamed from lib/getopt_.h.
44497         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
44498         getopt_.h.
44499         * lib/glob.in.h: Renamed from lib/glob_.h.
44500         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
44501         * lib/iconv.in.h: Renamed from lib/iconv_.h.
44502         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
44503         iconv_.h.
44504         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
44505         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
44506         inttypes_.h.
44507         * lib/locale.in.h: Renamed from lib/locale_.h.
44508         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
44509         locale_.h.
44510         * lib/math.in.h: Renamed from lib/math_.h.
44511         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
44512         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
44513         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
44514         of netinet_in_.h. Add dependency.
44515         * lib/poll.in.h: Renamed from lib/poll_.h.
44516         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
44517         * lib/search.in.h: Renamed from lib/search_.h.
44518         * modules/search (Files, Makefile.am): Use search.in.h instead of
44519         search_.h.
44520         * lib/signal.in.h: Renamed from lib/signal_.h.
44521         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
44522         _signal.h.
44523         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
44524         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
44525         stdbool_.h.
44526         * lib/stdint.in.h: Renamed from lib/stdint_.h.
44527         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
44528         stdint_.h.
44529         * lib/stdio.in.h: Renamed from lib/stdio_.h.
44530         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
44531         stdio_.h.
44532         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
44533         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
44534         stdlib_.h.
44535         * lib/string.in.h: Renamed from lib/string_.h.
44536         * modules/string (Files, Makefile.am): Use string.in.h instead of
44537         string_.h.
44538         * doc/gnulib-tool.texi (Initial import): Update.
44539         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
44540         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
44541         of sys_select_.h. Add dependency.
44542         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
44543         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
44544         of sys_socket_.h.
44545         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
44546         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
44547         sys_stat_.h.
44548         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
44549         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
44550         sys_time_.h.
44551         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
44552         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
44553         sysexits_.h.
44554         * lib/time.in.h: Renamed from lib/time_.h.
44555         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
44556         * lib/unistd.in.h: Renamed from lib/unistd_.h.
44557         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
44558         unistd_.h.
44559         * lib/wchar.in.h: Renamed from lib/wchar_.h.
44560         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
44561         wchar_.h.
44562         * lib/wctype.in.h: Renamed from lib/wctype_.h.
44563         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
44564         wctype_.h.
44565         * build-aux/bootstrap (slurp): Update.
44566         * lib/.cppi-disable: Update.
44567
44568 2007-09-30  Bruno Haible  <bruno@clisp.org>
44569
44570         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
44571         Needed on BeOS.
44572
44573 2007-09-30  Bruno Haible  <bruno@clisp.org>
44574
44575         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
44576
44577 2007-09-29  Bruno Haible  <bruno@clisp.org>
44578
44579         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
44580
44581 2007-09-29  Bruno Haible  <bruno@clisp.org>
44582
44583         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
44584         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
44585         * build-aux/install-reloc: Compile also areadlink.c.
44586         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
44587
44588 2007-09-29  Bruno Haible  <bruno@clisp.org>
44589
44590         * gnulib-tool (func_emit_initmacro_done): Indentation.
44591
44592 2007-09-29  Bruno Haible  <bruno@clisp.org>
44593
44594         * README: Add CVS checkout update instructions.
44595         Info from Bob Proulx <bob@proulx.com>.
44596
44597 2007-09-28  Eric Blake  <ebb9@byu.net>
44598
44599         Provide move-if-change.
44600         * build-aux/move-if-change: New file, based on best practice
44601         rather than any canonical upstream location.
44602
44603 2007-09-28  Jim Meyering  <jim@meyering.net>
44604
44605         Fix canonicalize loop-detection corner case.
44606         Do not attempt to stat the symlink values stored via seen_triple.
44607         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
44608         on linux-2.6.18, (but not 2.6.22).
44609         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
44610         triple_compare.  The former compares dev,ino,filename, while the latter
44611         would actually stat dirname(filename) when dev and ino were equal.
44612         * lib/hash-triple.c: Install <string.h>.
44613         (STREQ): Define.
44614         (triple_compare_ino_str): New function.
44615         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
44616
44617 2007-09-28  Eric Blake  <ebb9@byu.net>
44618
44619         Enforce that AC_REPLACE_FUNCS files exist.
44620         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
44621         override check for typos.
44622
44623         Fix test-closein on Solaris 10.
44624         * tests/test-closein.c (main): Don't assume stdin can be inherited
44625         closed on all systems.
44626         * tests/test-closein.sh: Likewise.
44627         Reported by Piotr Tarnowski.
44628
44629 2007-09-28  Jim Meyering  <jim@meyering.net>
44630
44631         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
44632
44633 2007-09-27  Jim Meyering  <jim@meyering.net>
44634
44635         canonicalize: Avoid a false-positive cycle failure.
44636         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
44637         Sort.  Remove cycle-check.
44638         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
44639         not cycle-check.h.
44640         (seen_triple): New function.
44641         (canonicalize_filename_mode): Use it instead of cycle-check.
44642         * tests/test-canonicalize.c: Add a test for this bug.
44643         * tests/test-canonicalize.sh: Set up and run the test.
44644
44645         New module, file-set, from coreutils.
44646         * modules/file-set: Define it.
44647         * lib/file-set.c, lib/file-set.h: Implement.
44648
44649         New module, hash-triple, from coreutils.
44650         * modules/hash-triple: Define it.
44651         * lib/hash-triple.c, lib/hash-triple.h: Implement.
44652
44653 2007-09-25  Eric Blake  <ebb9@byu.net>
44654
44655         Fix strerror on Interix.
44656         * lib/string_.h (strerror): Declare replacement.
44657         * doc/functions/strerror.texi (strerror): Document the Interix
44658         shortcoming.
44659         * modules/string (Makefile.am): Support new hooks.
44660         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
44661         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
44662         gl_FUNC_STRERROR_SEPARATE.
44663         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
44664         * lib/strerror.c (rpl_strerror): Provide replacement.
44665         * modules/strerror (Depends-on): Add string.
44666         (configure.ac): Detect use of module.
44667         * tests/test-strerror.c: New file.
44668         * modules/strerror-tests: New test module.
44669         * modules/argp (Depends-on): Add strerror.
44670         * modules/error (Depends-on): Likewise.
44671         Reported by Martin Koeppe.
44672
44673 2007-09-24  Bruno Haible  <bruno@clisp.org>
44674
44675         * README: Update git instructions.
44676
44677 2007-09-24  Eric Blake  <ebb9@byu.net>
44678
44679         Revert fpending breakage from 2007-09-08.
44680         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
44681         __fpending.c.
44682
44683 2007-09-24  Jim Meyering  <jim@meyering.net>
44684
44685         filenamecat.c: Add a test.
44686         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
44687         showing how the function works when DIR is the empty string.
44688
44689 2007-09-21  Simon Josefsson  <simon@josefsson.org>
44690
44691         * tests/test-canonicalize.sh: Turn on executable bit.
44692
44693 2007-09-19  Eric Blake  <ebb9@byu.net>
44694
44695         * README: Update CVS instructions.
44696
44697 2007-09-18  Bruno Haible  <bruno@clisp.org>
44698
44699         * modules/areadlink: New file.
44700         * lib/areadlink.h (areadlink): New declaration.
44701         * lib/areadlink.c: New file, based on lib/xreadlink.c.
44702
44703 2007-09-17  Jim Meyering  <jim@meyering.net>
44704
44705         * lib/savewd.c (ESTALE) [!defined]: Define.
44706         Reported to be required on Interix by Martin Koeppe.
44707
44708 2007-09-17  Bruno Haible  <bruno@clisp.org>
44709
44710         * gnulib-tool (func_version): Use $version.
44711
44712 2007-09-16  Bruno Haible  <bruno@clisp.org>
44713
44714         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
44715         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
44716         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
44717         Reported by Greg Schafer <gschafer@zip.com.au>.
44718
44719 2007-09-15  Bruno Haible  <bruno@clisp.org>
44720
44721         * gnulib-tool (sed): Try a little harder to make bash understand the
44722         alias.
44723         Reported by Bruce Korb <bruce.korb@gmail.com>.
44724
44725 2007-09-13  Eric Blake  <ebb9@byu.net>
44726
44727         * ChangeLog: Remove conflict markers.
44728
44729 2007-09-13  Simon Josefsson  <simon@josefsson.org>
44730
44731         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
44732         Reported by Bruno Haible <bruno@clisp.org>.
44733
44734 2007-09-12  Bruno Haible  <bruno@clisp.org>
44735
44736         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
44737         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
44738         is not defined.
44739
44740 2007-09-12  Eric Blake  <ebb9@byu.net>
44741
44742         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
44743         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
44744         Autoconf definition.
44745         * modules/euidaccess (Depends-on): Add extensions, for
44746         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
44747         * modules/fnmatch (Depends-on): Likewise.
44748         * modules/getaddrinfo (Depends-on): Likewise.
44749         * modules/getdelim (Depends-on): Likewise.
44750         * modules/getline (Depends-on): Likewise.
44751         * modules/getsubopt (Depends-on): Likewise.
44752         * modules/gettext (Depends-on): Likewise.
44753         * modules/group-member (Depends-on): Likewise.
44754         * modules/mbchar (Depends-on): Likewise.
44755         * modules/memmem (Depends-on): Likewise.
44756         * modules/mempcpy (Depends-on): Likewise.
44757         * modules/memrchr (Depends-on): Likewise.
44758         * modules/pagealign_alloc (Depends-on): Likewise.
44759         * modules/readutmp (Depends-on): Likewise.
44760         * modules/stpcpy (Depends-on): Likewise.
44761         * modules/stpncpy (Depends-on): Likewise.
44762         * modules/strchrnul (Depends-on): Likewise.
44763         * modules/strndup (Depends-on): Likewise.
44764         * modules/strsep (Depends-on): Likewise.
44765         * modules/strverscmp (Depends-on): Likewise.
44766         * modules/vasprintf (Depends-on): Likewise.
44767         * modules/wcwidth (Depends-on): Likewise.
44768         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
44769         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
44770         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
44771         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
44772         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
44773         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
44774         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
44775         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
44776         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
44777         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
44778         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
44779         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
44780         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
44781         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
44782         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
44783         * m4/readutmp.m4 (gl_READUTMP): Likewise.
44784         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
44785         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
44786         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
44787         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
44788         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
44789         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
44790         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
44791         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
44792         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
44793         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
44794         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
44795         so that lock.m4 can be used in gettext without extensions module.
44796
44797 2007-09-11  Bruno Haible  <bruno@clisp.org>
44798
44799         * m4/isc-posix.m4: Remove file.
44800         Suggested by Eric Blake.
44801
44802 2007-09-11  Eric Blake  <ebb9@byu.net>
44803
44804         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
44805
44806 2007-09-10  Bruno Haible  <bruno@clisp.org>
44807
44808         * posix-modules: Fix typo in error message.
44809         Reported by Matt <mkraai@beckman.com>.
44810
44811 2007-09-09  Bruno Haible  <bruno@clisp.org>
44812
44813         * doc/functions/getdelim.texi: Update list of platforms lacking the
44814         function.
44815         * doc/functions/getline.texi: Likewise.
44816
44817 2007-09-09  Jim Meyering  <jim@meyering.net>
44818
44819         * lib/hash.c (hash_initialize): Detect calloc failure.
44820         Reported by Bruno Haible.
44821
44822 2007-09-09  Bruno Haible  <bruno@clisp.org>
44823
44824         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
44825         malloc or realloc fails.
44826
44827 2007-09-09  Bruno Haible  <bruno@clisp.org>
44828
44829         * modules/getcwd (Depends-on): Add malloc-posix.
44830         * modules/glob (Depends-on): Likewise.
44831         * modules/putenv (Depends-on): Likewise.
44832         * modules/strdup (Depends-on): Likewise.
44833         * modules/getdelim (Depends-on): Add realloc-posix.
44834         * modules/read-file (Depends-on): Likewise.
44835
44836 2007-09-09  Bruno Haible  <bruno@clisp.org>
44837
44838         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
44839         (gl_FUNC_MALLOC_POSIX): Require it.
44840         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
44841         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
44842         * modules/realloc (Files): Add m4/malloc.m4.
44843         * modules/calloc (Files): Likewise.
44844
44845 2007-09-09  Bruno Haible  <bruno@clisp.org>
44846
44847         * modules/malloc-posix: New file.
44848         * modules/malloc (Depends-on): Add malloc-posix.
44849         * lib/malloc.c: Include errno.h.
44850         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
44851         and a POSIX-compatible malloc into a single function. Set ENOMEM
44852         when returning NULL.
44853         * m4/malloc.m4: New file.
44854         * doc/functions/malloc.texi: Mention the malloc-posix module.
44855         * lib/stdlib_.h (malloc): New declaration.
44856         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
44857         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
44858         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
44859         and HAVE_MALLOC_POSIX.
44860
44861 2007-09-09  Bruno Haible  <bruno@clisp.org>
44862
44863         * modules/realloc-posix: New file.
44864         * modules/realloc (Depends-on): Add realloc-posix.
44865         * lib/realloc.c: Include errno.h.
44866         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
44867         and a POSIX-compatible realloc into a single function. Set ENOMEM
44868         when returning NULL.
44869         * m4/realloc.m4: New file.
44870         * doc/functions/realloc.texi: Mention the realloc-posix module.
44871         * lib/stdlib_.h (realloc): New declaration.
44872         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
44873         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
44874         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
44875         and HAVE_REALLOC_POSIX.
44876
44877 2007-09-09  Bruno Haible  <bruno@clisp.org>
44878
44879         * modules/calloc-posix: New file.
44880         * modules/calloc (Depends-on): Add calloc-posix.
44881         * lib/calloc.c: Include errno.h.
44882         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
44883         and a POSIX-compatible calloc into a single function. Set ENOMEM
44884         when returning NULL.
44885         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
44886         * doc/functions/calloc.texi: Mention the calloc-posix module.
44887         * lib/stdlib_.h (calloc): New declaration.
44888         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
44889         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
44890         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
44891         and HAVE_CALLOC_POSIX.
44892
44893 2007-09-09  Bruno Haible  <bruno@clisp.org>
44894
44895         Allow for modules to show an arbitrary notice.
44896         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
44897         * gnulib-tool: New option --extract-notice.
44898         (func_usage): Document it.
44899         (sed_extract_prog): Update.
44900         (func_get_notice): New function.
44901         (func_modules_notice): New function.
44902         (func_import, func_create_testdir): Invoke it.
44903         Suggested by Jim Meyering.
44904
44905 2007-09-09  Bruno Haible  <bruno@clisp.org>
44906
44907         * gnulib-tool: New options --verbose, --quiet.
44908         (func_usage): Document them.
44909         (verbose): New variable.
44910         (func_execute_command): New function.
44911         (func_import): Don't show the module list and the file list if
44912         $verbose < 0.
44913         (func_create_testdir): Likewise. Use func_execute_command.
44914         (func_create_megatestdir): Use func_execute_command.
44915
44916 2007-09-08  Bruno Haible  <bruno@clisp.org>
44917
44918         * gnulib-tool (func_import): Prefer rsync over wget when available,
44919         for fetching the PO files.
44920
44921 2007-09-08  Bruno Haible  <bruno@clisp.org>
44922
44923         * posix-modules: New file. Portions copied from gnulib-tool.
44924         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
44925
44926 2007-09-08  Jim Meyering  <jim@meyering.net>
44927
44928         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
44929         * lib/fpending.h: Rename from __fpending.h.
44930         * lib/fpending.c: Rename from __fpending.c.
44931         Include "fpending.h", not "__fpending.h".
44932         * lib/__fpending.h, lib/__fpending.c: Remove files.
44933         * modules/fpending (Files): Reflect new file names.
44934         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
44935
44936 2007-09-08  Bruno Haible  <bruno@clisp.org>
44937
44938         * m4/inttypes-h.m4: Remove stub file.
44939
44940 2007-09-07  Simon Josefsson  <simon@josefsson.org>
44941
44942         * doc/headers/stdint.texi: Discuss #include_next issue.
44943
44944 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
44945
44946         * build-aux/bootstrap: Remove obsolete comment about wget --help.
44947
44948 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44949
44950         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
44951         in variable name.
44952
44953 2007-09-03  Jim Meyering  <jim@meyering.net>
44954
44955         New module: git-version-gen.
44956         * modules/git-version-gen: New file.
44957
44958         Import changes from coreutils for bootstrap script.
44959
44960         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
44961
44962         bootstrap: uses rsync to download the .po files
44963         * build-aux/bootstrap (po_download_command_format): New global.
44964         (download_po_files): Use rsync.
44965         (update_po_files): Don't remove .po files after download,
44966         so future rsync runs can take advantage of the copies.
44967
44968         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
44969
44970         Solve the unnecessary-.po-file-regeneration problem once and for all.
44971         * build-aux/bootstrap (download_po_files): New function, renamed from
44972         get_translations.  Now, downloads, but doesn't update LINGUAS.
44973         (update_po_files): New function.
44974
44975         bootstrap: Ignore more.
44976         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
44977         uniwidth to e.g., lib/.gitignore.
44978         (slurp): Handle the sys_stat_.h -> sys mapping, too.
44979
44980         * build-aux/bootstrap: New setting: vc_ignore.
44981         (insert_sorted_if_absent): Create $file if absent.
44982         Adapt to new, possibly empty, list: $vc_ignore.
44983
44984         bootstrap: generate more ignorable names
44985         * build-aux/bootstrap (slurp): When generating ignorable names,
44986         also map .sin to .sed, .gperf to .c, and .y to .c.
44987
44988 2007-09-03  Jim Meyering  <jim@meyering.net>
44989
44990         * build-aux/git-version-gen: New file, from coreutils.  For details, see
44991         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
44992
44993 2007-09-02  Bruno Haible  <bruno@clisp.org>
44994
44995         Fix mis-recognition of 'mcs' on QNX 6.
44996         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
44997         output contains the string "Mono".
44998         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
44999         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
45000
45001 2007-09-01  Bruno Haible  <bruno@clisp.org>
45002
45003         Fix collision between uniwidth/* and linebreak modules.
45004         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
45005         u32_width): Remove declarations.
45006         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
45007         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
45008         streq3, streq2, streq1, streq0): Remove functions.
45009         (STREQ): Remove macro.
45010         (is_cjk_encoding): Remove function.
45011         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
45012         (uc_width, u8_width, u16_width, u32_width): Remove functions.
45013         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
45014         * NEWS: Document the change.
45015
45016 2007-09-01  Bruno Haible  <bruno@clisp.org>
45017
45018         * lib/streq.h: Add double-inclusion guard.
45019
45020 2007-09-01  Karl Berry  <karl@gnu.org>
45021
45022         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
45023
45024 2007-08-28  Jim Meyering  <jim@meyering.net>
45025
45026         Rename mreadlink_with_size to areadlink_with_size.
45027         * NEWS: Document the change.
45028         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
45029         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
45030         * lib/mreadlink.h: Rename this to...
45031         * lib/areadlink.h: ...this.
45032         * modules/mreadlink-with-size: Rename this to...
45033         * modules/areadlink-with-size: ...this.
45034         * lib/canonicalize.c: Reflect the renaming.
45035         * modules/canonicalize: Likewise.
45036
45037 2007-08-26  Bruno Haible  <bruno@clisp.org>
45038
45039         * gnulib-tool (func_import): When deciding which files to remove,
45040         consider also dangling symbolic links.
45041         Reported by Eric Blake.
45042
45043 2007-08-26  Bruno Haible  <bruno@clisp.org>
45044
45045         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
45046
45047 2007-08-23  Simon Josefsson  <simon@josefsson.org>
45048
45049         * lib/readline.c: Don't include getline.h, the prototype is now
45050         found in stdio.h.
45051
45052 2007-08-23  Jim Meyering  <jim@meyering.net>
45053
45054         Getdelim touchup.
45055         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
45056         around the funlockfile call, since funlockfile never sets errno.
45057         Don't set errno upon failed realloc.
45058
45059 2007-08-22  Eric Blake  <ebb9@byu.net>
45060
45061         Getline touchups.
45062         * lib/getdelim.c (getdelim): Revert regression that required *n to
45063         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
45064         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
45065         getdelim, rather than whether implementation is missing.
45066         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
45067         * lib/stdio_.h (getline): Also declare if replacement is
45068         required.
45069         * doc/functions/getdelim.texi: New file.
45070         * doc/functions/getline.texi: Likewise.
45071         * doc/gnulib.texi (Function Substitutes): Add new files.
45072         Reported by Bruno Haible.
45073
45074 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
45075
45076         * users.txt: Add Guile.
45077
45078 2007-08-22  Eric Blake  <ebb9@byu.net>
45079
45080         * tests/test-getdelim.c (main): Use remove, not unlink.
45081         * tests/test-getline.c (main): Likewise.
45082
45083         Move getline and getdelim into stdio.h, per POSIX 200x.
45084         * modules/getline (Files): Remove getline.h.
45085         (Depends-on): Add stdio.
45086         (configure.ac): Add module indicator.
45087         * modules/getdelim (Files): Remove getdelim.h.
45088         (Depends-on): Add stdio.
45089         (configure.ac): Add module indicator.
45090         * modules/stdio (Makefile.am): Work with new indicators.
45091         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
45092         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
45093         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
45094         * lib/getdelim.h: Delete.
45095         * lib/getline.h: Delete.
45096         * lib/stdio_.h (getdelim, getline): Declare.
45097         * modules/getdelim-tests: New module.
45098         * modules/getline-tests: Likewise.
45099         * tests/test-getdelim.c: New file.
45100         * tests/test-getline.c: Likewise.
45101         * NEWS: Document the change.
45102         * lib/getline.c: Update choice of header.
45103         * lib/csharpcomp.c: Likewise.
45104         * lib/getpass.c: Likewise.
45105         * lib/javacomp.c: Likewise.
45106         * lib/javaversion.c: Likewise.
45107         * lib/yesno.c: Likewise.
45108         * lib/getdelim.c: Likewise.
45109         (getdelim): Set errno on failure, and avoid memory leak.
45110
45111 2007-08-19  Bruno Haible  <bruno@clisp.org>
45112
45113         * modules/closein (Depends-on): Add freadahead.
45114         * lib/closein.c: Include freadahead.h.
45115         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
45116         is zero.
45117
45118 2007-08-19  Bruno Haible  <bruno@clisp.org>
45119
45120         * modules/freadahead-tests: New file.
45121         * tests/test-freadahead.sh: New file.
45122         * tests/test-freadahead.c: New file.
45123
45124         * modules/freadahead: New file.
45125         * lib/freadahead.h: New file.
45126         * lib/freadahead.c: New file.
45127         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
45128         fbufmode, fpurge, freadable, fwritable.
45129
45130 2007-08-19  Eric Blake  <ebb9@byu.net>
45131
45132         Test yesno in combination with closein.
45133         * lib/yesno.c (yesno): Document use of stdin.
45134         * modules/yesno-tests (Files): New module.
45135         * tests/test-yesno.c (main): New file.
45136         * tests/test-yesno.sh: Likewise.
45137
45138 2007-08-19  Bruno Haible  <bruno@clisp.org>
45139
45140         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
45141         * lib/fseeko.c (rpl_fseeko): Likewise.
45142         * lib/fseterr.c (fseterr): Likewise.
45143
45144 2007-08-19  Bruno Haible  <bruno@clisp.org>
45145
45146         * tests/test-lseek.c (main): Disable a test for BeOS.
45147         * doc/functions/lseek.texi: Document the BeOS bug.
45148
45149 2007-08-19  Bruno Haible  <bruno@clisp.org>
45150             Eric Blake  <ebb9@byu.net>
45151
45152         * lib/lseek.c: Include <sys/stat.h>.
45153         (rpl_lseek): Add workaround code also for Unix platforms.
45154         Needed for BeOS.
45155         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
45156         * doc/functions/lseek.texi: Document BeOS definiency.
45157
45158 2007-08-18  Bruno Haible  <bruno@clisp.org>
45159
45160         * modules/fstrcmp-tests: New file.
45161         * tests/test-fstrcmp.c: New file.
45162
45163 2007-08-18  Bruno Haible  <bruno@clisp.org>
45164
45165         * modules/fstrcmp: New file, from GNU gettext with modifications.
45166         * lib/fstrcmp.h: New file, from GNU gettext.
45167         * lib/fstrcmp.c: New file, from GNU gettext.
45168         * MODULES.html.sh (String handling): Add fstrcmp.
45169
45170 2007-08-18  Bruno Haible  <bruno@clisp.org>
45171
45172         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
45173         'bool'.
45174         (diag, compareseq): Remove const from the ctxt argument.
45175         (USE_HEURISTIC): Undefine at the end.
45176
45177 2007-08-18  Jim Meyering  <jim@meyering.net>
45178
45179         New file: lib/idcache.h
45180         * NEWS: Mention the addition.
45181         * modules/idcache (Files): Add lib/idcache.h
45182         * lib/idcache.c: Include "idcache.h".
45183         Don't include <sys/types.h>.
45184         Add a FIXME comment.
45185         Move file-scoped "static" declarations to the top.
45186         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
45187
45188 2007-08-17  Bruno Haible  <bruno@clisp.org>
45189         and Paul Eggert  <eggert@cs.ucla.edu>
45190
45191         * MODULES.html.sh: Add diffseq.
45192         * modules/diffseq: New file.
45193         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
45194         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
45195
45196 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
45197
45198         Import changes from coreutils for bootstrap script.
45199
45200         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
45201
45202         * build-aux/bootstrap (slurp): Work even in environments where
45203         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
45204         current code does not slurp files whose names start with ".", and
45205         this looks like it might be a troublesome area.
45206
45207         2007-07-11  Jim Meyering  <jim@meyering.net>
45208
45209         If there's a GPL vN copyright comment, require that N == 3.
45210
45211         2007-07-08  Jim Meyering  <jim@meyering.net>
45212
45213         Run the coreutils-specific code only if tests/Makefile.am.in exists.
45214         * build-aux/bootstrap (mam_template): Move definition out of loop.
45215
45216         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
45217
45218         * build-aux/bootstrap (symlink_to_dir): Rename function from
45219         symlink_to_gnulib.  Add a directory parameter.  Update all
45220         callers.
45221         (cp_mark_as_generated): Also check for -- and link to -- files in
45222         gl/.
45223
45224         2007-07-08  Jim Meyering  <jim@meyering.net>
45225
45226         Adapt to deeper hierarchy in gnulib.
45227         * build-aux/bootstrap (symlink_to_dir): If the destination
45228         directory doesn't exist, create it. This is required at least for
45229         "lib/uniwidth/cjk.h".
45230
45231         2007-05-15  Jim Meyering  <jim@meyering.net>
45232
45233         * build-aux/bootstrap: Now that generated Makefile.am files
45234         are no longer under version control, they must be created at
45235         bootstrap time.
45236
45237 2007-08-14  Ben Pfaff  <blp@gnu.org>
45238
45239         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
45240
45241 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
45242
45243         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
45244         given the changes below.
45245         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
45246         even on hosts that have padding bits beyond the supported 64.
45247
45248 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
45249
45250         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
45251         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
45252         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
45253         depends on it.
45254         (xstrtol_error): Remove.
45255         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
45256         but with a different signature.
45257         (ATTRIBUTE_NORETURN, __attribute__): New macros.
45258         * lib/xstrtol-error.c: Include exitfail.h.
45259         (xstrtol_fatal): New function, with a different signature from the
45260         old xstrtol_error, so that the caller need not worry about passing
45261         in an exit status, or about storage management of the option argument.
45262         (xstrtol_error): Now a static function.  Redo signature to
45263         implement xstrtol_fatal.  Output the correct number of hyphens in
45264         front of the option so that the caller need not worry about
45265         storage management.
45266         (N_): New macro.
45267         (_): Remove; not used now.
45268         * modules/xstrtol: Depend on getopt.
45269         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
45270         of old STRTOL_FATAL_ERROR macro.
45271         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
45272         of test program.
45273         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
45274         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
45275
45276 2007-08-08  Eric Blake  <ebb9@byu.net>
45277
45278         * lib/xstrtol-error.c: Add missing include.
45279
45280         Move xstrtol messages into gnulib domain, when --pobase is used.
45281         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
45282         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
45283         * modules/xstrtol (Files): Distribute new file.
45284         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
45285         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
45286         * tests/test-xstrtol.c: ...into new file.
45287         * tests/test-xstrtoul.c: Also test xstrtoul.
45288         * tests/test-xstrtoimax.c: Also test xstrtoimax.
45289         * tests/test-xstrtoumax.c: Also test xstrtoumax.
45290         * tests/test-xstrtol.sh: Drive the tests.
45291         * tests/test-xstrtoimax.sh: Likewise.
45292         * tests/test-xstrtoumax.sh: Likewise.
45293         * modules/xstrtol-tests: New module.
45294         * modules/xstrtoimax-tests: Likewise.
45295         * modules/xstrtoumax-tests: Likewise.
45296
45297 2007-08-08  Jim Meyering  <jim@meyering.net>
45298
45299         New function: mfile_name_concat.
45300         * lib/filenamecat.c (mfile_name_concat): New function, just like
45301         file_name_concat, but return NULL upon failure rather than exiting
45302         with a diagnostic.
45303         * lib/filenamecat.h: Declare it.
45304
45305 2007-08-07  Bruno Haible  <bruno@clisp.org>
45306
45307         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
45308         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
45309         warning from gcc.
45310         Reported by Eric Blake.
45311
45312 2007-08-07  Simon Josefsson  <simon@josefsson.org>
45313
45314         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
45315         * modules/crypto/arcfour (License): Likewise.
45316         * modules/crypto/des-tests (License): Likewise.
45317         * modules/crypto/gc-arctwo-tests (License): Likewise.
45318         * modules/crypto/gc-des-tests (License): Likewise.
45319         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
45320         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
45321         * modules/crypto/gc-md2-tests (License): Likewise.
45322         * modules/crypto/gc-md4-tests (License): Likewise.
45323         * modules/crypto/gc-md5-tests (License): Likewise.
45324         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
45325         * modules/crypto/gc-rijndael-tests (License): Likewise.
45326         * modules/crypto/gc-sha1-tests (License): Likewise.
45327         * modules/crypto/gc-tests (License): Likewise.
45328         * modules/crypto/hmac-md5 (License): Likewise.
45329         * modules/crypto/hmac-sha1 (License): Likewise.
45330         * modules/crypto/md2-tests (License): Likewise.
45331         * modules/crypto/md4-tests (License): Likewise.
45332         * modules/crypto/md5 (License): Likewise.
45333         * modules/crypto/rijndael (License): Likewise.
45334         * modules/crypto/sha1 (License): Likewise.
45335         * modules/memxor (License): Likewise.
45336
45337 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
45338         and Bruno Haible  <bruno@clisp.org>
45339
45340         * NEWS: Describe interface changes to human, xstrtol.
45341         * lib/human.h: Include <xstrtol.h>.
45342         (human_options): Return enum strtol_error, not int.  Remove
45343         bool arg; take int * instead.
45344         * lib/human.c: Don't include "gettext.h".
45345         (_): Remove; no longer used.
45346         Don't include <xstrtol.h>, since human.h does it.
45347         (human_options): Adjust to abovementioned interface changes.
45348         Do not report error to stderr; that's now the caller's
45349         responsibility.
45350         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
45351         interface change.
45352         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
45353         Str, Argument_type_string.  All uses changed.  Put " argument"
45354         in diagnostics to make them clearer.  Change wording of suffix
45355         message for clarity.
45356         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
45357         Argument_type_string.
45358         (STRTOL_FATAL_WARN): Remove; no longer used.
45359         * modules/human (Depends-on): Remove gettext-h.
45360
45361 2007-08-06  Simon Josefsson  <simon@josefsson.org>
45362
45363         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
45364
45365 2007-07-31  Bruno Haible  <bruno@clisp.org>
45366
45367         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
45368         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
45369         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
45370
45371 2007-07-31  Bruno Haible  <bruno@clisp.org>
45372
45373         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
45374         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
45375
45376 2007-07-30  Bruno Haible  <bruno@clisp.org>
45377
45378         * modules/base64 (License): Use the synonymous term "LGPLv2+".
45379         * modules/c-ctype (License): Likewise.
45380         * modules/c-strcase (License): Likewise.
45381         * modules/check-version (License): Likewise.
45382         * modules/iconv (License): Likewise.
45383         * modules/iconv_open (License): Likewise.
45384         * modules/read-file (License): Likewise.
45385         * modules/striconv (License): Likewise.
45386         * modules/strverscmp (License): Likewise.
45387         * modules/vasprintf (License): Likewise.
45388         * modules/crypto/des (License): Likewise.
45389         * modules/crypto/gc (License): Likewise.
45390         * modules/crypto/gc-arcfour (License): Likewise.
45391         * modules/crypto/gc-arctwo (License): Likewise.
45392         * modules/crypto/gc-des (License): Likewise.
45393         * modules/crypto/gc-hmac-md5 (License): Likewise.
45394         * modules/crypto/gc-hmac-sha1 (License): Likewise.
45395         * modules/crypto/gc-md2 (License): Likewise.
45396         * modules/crypto/gc-md4 (License): Likewise.
45397         * modules/crypto/gc-md5 (License): Likewise.
45398         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
45399         * modules/crypto/gc-random (License): Likewise.
45400         * modules/crypto/gc-rijndael (License): Likewise.
45401         * modules/crypto/gc-sha1 (License): Likewise.
45402         * modules/crypto/md2 (License): Likewise.
45403         * modules/crypto/md4 (License): Likewise.
45404
45405 2007-07-30  Jim Meyering  <jim@meyering.net>
45406
45407         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
45408         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
45409         it has valid stat data.  This bug would cause du not to count the
45410         sizes of inaccessible directories.
45411         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
45412         in <http://bugzilla.redhat.com/250077>.
45413
45414 2007-07-25  Peter O'Gorman  <peter@pogma.com>
45415             Bruno Haible  <bruno@clisp.org>
45416
45417         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
45418         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
45419         #include_next, gives a diagnostic about it, but reports no error in
45420         the exit code.
45421         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
45422
45423 2007-07-24  Ben Pfaff  <blp@gnu.org>
45424
45425         Improve name: "count-one-bits" is better than "popcount".
45426         * MODULES.html.sh: Update name.
45427         * lib/popcount.h: Renamed lib/count-one-bits.h.
45428         (popcount): Renamed count_one_bits.
45429         (popcountl): Renamed count_one_bits_l.
45430         (popcountll): Renamed count_one_bits_ll.
45431         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
45432         * modules/popcount: Renamed module/count-one-bits.
45433         * modules/popcount-tests: Renamed module/count-one-bits-tests.
45434         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
45435
45436 2007-07-23  Ben Pfaff  <blp@gnu.org>
45437
45438         * lib/popcount.h (popcount32): Reduce size of constants, to allow
45439         better code generation, and add U to large constants to avoid
45440         warnings, in non-GCC case.
45441         Suggested by Bruno Haible.
45442
45443 2007-07-23  Ben Pfaff  <blp@gnu.org>
45444
45445         * lib/popcount.h: Use verify_true instead of if...abort.
45446         * modules/popcount: Depend on verify module.
45447         Suggested by Jim Meyering.
45448
45449 2007-07-23  Bruno Haible  <bruno@clisp.org>
45450
45451         * gnulib-tool (func_import): Create a .cvsignore file also when the
45452         directory is not yet in CVS but the toplevel directory is. When
45453         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
45454         Reported by Karl Berry.
45455
45456 2007-07-22  Ben Pfaff  <blp@gnu.org>
45457
45458         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
45459         case.
45460         Suggested by Eric Blake.
45461
45462 2007-07-22  Ben Pfaff  <blp@gnu.org>
45463
45464         New module: popcount.
45465         * MODULES.html.sh: Add popcount.
45466         * modules/popcount: New file.
45467         * modules/popcount-tests: New file.
45468         * tests/test-popcount.c: New file.
45469         * lib/popcount.h: New file.
45470         * m4/popcount.m4: New file.
45471
45472 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
45473
45474         * build-aux/announce-gen: Update to GPLv3.
45475
45476         * build-aux/config.guess: Update from config.
45477
45478 2007-07-21  Bruno Haible  <bruno@clisp.org>
45479
45480         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
45481         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
45482
45483 2007-07-20  Jim Meyering  <jim@meyering.net>
45484
45485         * check-module: Diagnose a self-dependency.
45486
45487 2007-07-19  Bruno Haible  <bruno@clisp.org>
45488
45489         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
45490         empty.
45491         Reported by Eric Blake.
45492
45493 2007-07-18  Bruno Haible  <bruno@clisp.org>
45494
45495         * gnulib-tool: New options --po-base, --po-domain.
45496         (func_usage): Document them.
45497         (pobase, po_domain): New variables.
45498         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
45499         DEFAULT_TEXT_DOMAIN.
45500         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
45501         (func_import): Consider pobase and po_domain. Create a po/ directory.
45502         (func_create_testdir): Set pobase and po_domain to empty.
45503         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
45504         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
45505
45506 2007-07-18  Bruno Haible  <bruno@clisp.org>
45507
45508         * gnulib-tool (func_get_automake_snippet): Synthesize also an
45509         EXTRA_DIST augmentation for files in build-aux/.
45510
45511 2007-07-16  Bruno Haible  <bruno@clisp.org>
45512
45513         * modules/lseek (License): Use the synonymous term "LGPLv2+".
45514         * modules/getdelim (License): Likewise.
45515
45516 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45517
45518         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
45519         * modules/d-type (License): Likewise.
45520         * modules/extensions (License): Likewise.
45521         * modules/fnmatch (License): Likewise.
45522         * modules/fseeko (License): Likewise.
45523         * modules/getaddrinfo (License): Likewise.
45524         * modules/getline (License): Likewise.
45525         * modules/getlogin_r (License): Likewise.
45526         * modules/getpass (License): Likewise.
45527         * modules/gettimeofday (License): Likewise.
45528         * modules/glob (License): Likewise.
45529         * modules/inet_ntop (License): Likewise.
45530         * modules/malloc (License): Likewise.
45531         * modules/malloca (License): Likewise.
45532         * modules/memmem (License): Likewise.
45533         * modules/mempcpy (License): Likewise.
45534         * modules/memset (License): Likewise.
45535         * modules/minmax (License): Likewise.
45536         * modules/mktime (License): Likewise.
45537         * modules/netinet_in (License): Likewise.
45538         * modules/pathmax (License): Likewise.
45539         * modules/poll (License): Likewise.
45540         * modules/regex (License): Likewise.
45541         * modules/snprintf (License): Likewise.
45542         * modules/stdbool (License): Likewise.
45543         * modules/stdint (License): Likewise.
45544         * modules/stdio (License): Likewise.
45545         * modules/strcase (License): Likewise.
45546         * modules/strcasestr (License): Likewise.
45547         * modules/strdup (License): Likewise.
45548         * modules/string (License): Likewise.
45549         * modules/strndup (License): Likewise.
45550         * modules/strnlen (License): Likewise.
45551         * modules/strpbrk (License): Likewise.
45552         * modules/strptime (License): Likewise.
45553         * modules/strsep (License): Likewise.
45554         * modules/sys_select (License): Likewise.
45555         * modules/sys_socket (License): Likewise.
45556         * modules/sys_stat (License): Likewise.
45557         * modules/sys_time (License): Likewise.
45558         * modules/time (License): Likewise.
45559         * modules/time_r (License): Likewise.
45560         * modules/timegm (License): Likewise.
45561         * modules/unistd (License): Likewise.
45562         * modules/vsnprintf (License): Likewise.
45563         * modules/wctype (License): Likewise.
45564
45565 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45566
45567         * modules/argz (License): LGPLv2+.
45568
45569 2007-07-15  Karl Berry  <karl@gnu.org>
45570
45571         * doc/gnulib.texi: revise node structure per new fdl.texi.
45572
45573 2007-07-14  Bruno Haible  <bruno@clisp.org>
45574
45575         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
45576         the output file.
45577         * lib/uniname/uninames.h: Regenerated.
45578
45579 2007-07-14  Karl Berry  <karl@gnu.org>
45580
45581         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
45582         omitting sectioning and index commands.
45583
45584 2007-07-13  Bruno Haible  <bruno@clisp.org>
45585
45586         New gnulib-tool option --more-symlinks.
45587         * gnulib-tool (func_usage): Document --more-symlinks.
45588         (do_copyrights): New variable.
45589         Recognize option --more-symlinks.
45590         (func_import): Don't add a copyright notice transform to
45591         sed_transform_lib_file if do_copyrights is empty.
45592
45593 2007-07-13  Bruno Haible  <bruno@clisp.org>
45594
45595         * lib/vasnprintf.c (decimal_point_char): Define also if
45596         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
45597         && !NEED_PRINTF_DIRECTIVE_A.
45598         Reported by Clemens Koller <clemens.koller@anagramm.de> via
45599         Gary V. Vaughan <gary@gnu.org>.
45600
45601 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
45602
45603         * lib/inttypes_.h: Undo previous change, since it was fixed
45604         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
45605
45606 2007-07-13  Bruno Haible  <bruno@clisp.org>
45607
45608         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
45609         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
45610
45611 2007-07-13  Jim Meyering  <jim@meyering.net>
45612
45613         df: Don't fail for Tru64's "file-on-file mount".
45614         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
45615         so we fall through and use statfs instead.  Details here:
45616         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
45617         Reported by Albert Chin.
45618
45619 2007-07-13  Bruno Haible  <bruno@clisp.org>
45620
45621         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
45622         * modules/configmake (License): Likewise.
45623         * modules/gettext (License): Likewise.
45624         * modules/gettext-h (License): Likewise.
45625         * modules/include_next (License): Likewise.
45626         * modules/link-warning (License): Likewise.
45627         * modules/localcharset (License): Likewise.
45628         * modules/localename (License): Likewise.
45629         * modules/lock (License): Likewise.
45630         * modules/relocatable-lib-lgpl (License): Likewise.
45631         * modules/size_max (License): Likewise.
45632         * modules/vasnprintf (License): Likewise.
45633         * modules/wchar (License): Likewise.
45634         * modules/xsize (License): Likewise.
45635
45636 2007-07-13  Bruno Haible  <bruno@clisp.org>
45637
45638         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
45639         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
45640
45641 2007-07-12  Bruno Haible  <bruno@clisp.org>
45642
45643         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
45644         in the modules files.
45645
45646 2007-07-11  Karl Berry  <karl@gnu.org>
45647
45648         * MODULES.html.sh (func_module): use
45649          sed -e '\|^'"${includefile}"'$|d'
45650          instead of /.../d, to avoid errors on $includefile's containing /.
45651
45652 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
45653
45654         * gnulib-tool (func_import): Avoid duplication of --avoid
45655         statements
45656         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
45657         names to `_' in variable names.
45658
45659 2007-07-10  Eric Blake  <ebb9@byu.net>
45660
45661         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
45662         * NEWS: Document this change.
45663
45664 2007-07-08  Bruno Haible  <bruno@clisp.org>
45665
45666         Update to Unicode 5.0.
45667         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
45668         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
45669         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
45670         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
45671         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
45672         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
45673         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
45674         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
45675         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
45676         U+10A3F, U+1D242..U+1D244.
45677         (nonspacing_table_ind): Update.
45678         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
45679         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
45680
45681 2007-07-08  Bruno Haible  <bruno@clisp.org>
45682
45683         Update to Unicode 5.0.
45684         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
45685         code transform. Extend the name index field of unicode_name_to_code and
45686         unicode_code_to_name from 16 to 24 bits.
45687         * lib/uniname/uniname.c (unicode_character_name,
45688         unicode_name_character): Add the range 0x12xxx to the code transform.
45689         * lib/uniname/uninames.h: Regenerated.
45690         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
45691
45692 2007-07-07  Bruno Haible  <bruno@clisp.org>
45693
45694         * modules/wcwidth-tests: New file.
45695         * tests/test-wcwidth.c: New file.
45696
45697         Work around MacOS X wcwidth() bug.
45698         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
45699         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
45700         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
45701         original wcwidth in non-UTF-8 locales.
45702         * modules/wcwidth (Depends-on): Add localcharset, streq,
45703         uniwidth/width.
45704         * doc/functions/wcwidth.texi: Update.
45705
45706 2007-07-07  Bruno Haible  <bruno@clisp.org>
45707
45708         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
45709         (wcwidth): New declaration.
45710         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
45711         macros.
45712         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
45713         here. Prepare for creating <wchar.h> unconditionally.
45714         * modules/wchar (Depends-on): Add link-warning.
45715         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
45716         REPLACE_WCWIDTH, and GL_LINK_WARNING.
45717         * lib/wcwidth.h: Remove file.
45718         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
45719         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
45720         * modules/wcwidth (Files): Remove lib/wcwidth.h.
45721         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
45722         (Include): Replace wcwidth.h with <wchar.h>.
45723         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
45724         * lib/mbchar.h: Don't include wcwidth.h.
45725         * lib/mbswidth.c: Likewise.
45726         * NEWS: Mention the change.
45727
45728 2007-07-07  Bruno Haible  <bruno@clisp.org>
45729
45730         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
45731         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
45732         definition with an external declaration.
45733         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
45734         defined as a function. Remove AC_C_INLINE requirement.
45735         * modules/wcwidth (Files): Add lib/wcwidth.c.
45736         (Makefile.am): Remove redundant statement.
45737
45738 2007-07-07  Bruno Haible  <bruno@clisp.org>
45739
45740         * MODULES.html.sh (Unicode string functions): Add the new modules.
45741
45742         * tests/uniwidth/test-u32-strwidth.c: New file.
45743         * modules/uniwidth/u32-strwidth-tests: New file.
45744
45745         * lib/uniwidth/u32-strwidth.c: New file.
45746         * modules/uniwidth/u32-strwidth: New file.
45747
45748         * tests/uniwidth/test-u16-strwidth.c: New file.
45749         * modules/uniwidth/u16-strwidth-tests: New file.
45750
45751         * lib/uniwidth/u16-strwidth.c: New file.
45752         * modules/uniwidth/u16-strwidth: New file.
45753
45754         * tests/uniwidth/test-u8-strwidth.c: New file.
45755         * modules/uniwidth/u8-strwidth-tests: New file.
45756
45757         * lib/uniwidth/u8-strwidth.c: New file.
45758         * modules/uniwidth/u8-strwidth: New file.
45759
45760         * tests/uniwidth/test-u32-width.c: New file.
45761         * modules/uniwidth/u32-width-tests: New file.
45762
45763         * lib/uniwidth/u32-width.c: New file.
45764         * modules/uniwidth/u32-width: New file.
45765
45766         * tests/uniwidth/test-u16-width.c: New file.
45767         * modules/uniwidth/u16-width-tests: New file.
45768
45769         * lib/uniwidth/u16-width.c: New file.
45770         * modules/uniwidth/u16-width: New file.
45771
45772         * tests/uniwidth/test-u8-width.c: New file.
45773         * modules/uniwidth/u8-width-tests: New file.
45774
45775         * lib/uniwidth/u8-width.c: New file.
45776         * modules/uniwidth/u8-width: New file.
45777
45778         * tests/uniwidth/test-uc_width.c: New file.
45779         * modules/uniwidth/width-tests: New file.
45780
45781         * lib/uniwidth/width.c: New file, from GNU libiconv.
45782         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
45783         * modules/uniwidth/width: New file.
45784
45785         * lib/uniwidth.h: New file, from GNU libiconv.
45786         * modules/uniwidth/base: New file.
45787
45788 2007-07-07  Bruno Haible  <bruno@clisp.org>
45789
45790         * lib/uniname.h: New file, from GNU gettext.
45791         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
45792         * lib/uniname/uninames.h: New file, from GNU gettext.
45793         * lib/uniname/uniname.c: New file, from GNU gettext.
45794         * tests/uniname/test-uninames.sh: New file.
45795         * tests/uniname/test-uninames.c: New file, from GNU gettext.
45796         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
45797         * modules/uniname/base: New file.
45798         * modules/uniname/uniname: New file.
45799         * modules/uniname/uniname-tests: New file.
45800         * MODULES.html.sh (Unicode string functions): Add the new modules.
45801
45802 2007-07-06  Bruno Haible  <bruno@clisp.org>
45803
45804         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
45805
45806 2007-07-06  Bruno Haible  <bruno@clisp.org>
45807
45808         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
45809         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
45810         includes <cygwin/sys_time.h> which includes <sys/select.h> which
45811         include <sys/time.h>.
45812         Reported by Eric Blake.
45813
45814 2007-07-06  Eric Blake  <ebb9@byu.net>
45815
45816         Fix testing canonicalize on cygwin.
45817         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
45818         Revert patch from 2007-06-19.
45819         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
45820         canonicalize module is also in use.
45821         * tests/test-canonicalize.c: New file.
45822         * tests/test-canonicalize.sh: Likewise.
45823         * modules/canonicalize-tests: Likewise.
45824
45825 2007-07-06  Jim Meyering  <jim@meyering.net>
45826
45827         * lib/getugroups.c (getugroups): Detect getgrent failure.
45828         Adjust comment to reflect reality: this function may return -1.
45829
45830 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
45831
45832         * build-aux/bootstrap (TP_URL,get_translations): Update to use
45833         the new TP address.
45834         (usage): Fix typo
45835         (gnulib_mk): New variable.
45836
45837 2007-07-05  Jim Meyering  <jim@meyering.net>
45838
45839         Don't let endgrent clobber errno, no matter how improbable.
45840         * lib/getugroups.c (getugroups): Save and restore errno around
45841         endgrent call.
45842
45843         Close the group DB even when failing with 2^31 or more members.
45844         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
45845
45846 2007-07-04  Jim Meyering  <jim@meyering.net>
45847
45848         * lib/getugroups.h: New file.
45849         * lib/getugroups.c: Include "getugroups.h".
45850         Remove uses of "register" keyword.
45851         Move local variable, "cp", down into scope where used.
45852         Give "username" parameter the "const" attribute.
45853         * modules/getugroups (Files): Add lib/getugroups.h
45854
45855 2007-07-04  Karl Berry  <karl@gnu.org>
45856
45857         * MODULES.html.sh (func_all_modules): Complete rename of
45858         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
45859
45860 2007-07-02  Bruno Haible  <bruno@clisp.org>
45861
45862         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
45863         mode, when inttypes.h comes from gnulib.
45864         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
45865
45866 2007-07-02  Simon Josefsson  <simon@josefsson.org>
45867
45868         * NEWS: Mention lgpl module name change.
45869
45870         * modules/lgpl-2.1: Renamed from lgpl.
45871
45872         * NEWS: Mention gpl module name change.
45873
45874         * modules/gpl-3.0: New file, based on gpl-2.0.
45875
45876         * modules/gpl-2.0: Renamed from gpl.
45877
45878         * modules/gpl: Fix filename, doc/gpl.texi is now found at
45879         doc/gpl-2.0.texi.
45880
45881 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
45882
45883         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
45884         #define __STDC_LIMIT_MACROS temporarily while including
45885         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
45886         Problem reported by Joel E. Denny in
45887         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
45888
45889 2007-07-01  Bruno Haible  <bruno@clisp.org>
45890
45891         * lib/unistdio.h: New file.
45892         * lib/unistdio/u-asnprintf.h: New file.
45893         * lib/unistdio/u-asprintf.h: New file.
45894         * lib/unistdio/u-printf-args.c: New file.
45895         * lib/unistdio/u-printf-args.h: New file.
45896         * lib/unistdio/u-printf-parse.h: New file.
45897         * lib/unistdio/u-snprintf.h: New file.
45898         * lib/unistdio/u-sprintf.h: New file.
45899         * lib/unistdio/u-vasprintf.h: New file.
45900         * lib/unistdio/u-vsnprintf.h: New file.
45901         * lib/unistdio/u-vsprintf.h: New file.
45902         * lib/unistdio/ulc-asnprintf.c: New file.
45903         * lib/unistdio/ulc-asprintf.c: New file.
45904         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
45905         * lib/unistdio/ulc-printf-parse.c: New file.
45906         * lib/unistdio/ulc-snprintf.c: New file.
45907         * lib/unistdio/ulc-sprintf.c: New file.
45908         * lib/unistdio/ulc-vasnprintf.c: New file.
45909         * lib/unistdio/ulc-vasprintf.c: New file.
45910         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
45911         * lib/unistdio/ulc-vsnprintf.c: New file.
45912         * lib/unistdio/ulc-vsprintf.c: New file.
45913         * lib/unistdio/u8-asnprintf.c: New file.
45914         * lib/unistdio/u8-asprintf.c: New file.
45915         * lib/unistdio/u8-printf-parse.c: New file.
45916         * lib/unistdio/u8-snprintf.c: New file.
45917         * lib/unistdio/u8-sprintf.c: New file.
45918         * lib/unistdio/u8-vasnprintf.c: New file.
45919         * lib/unistdio/u8-vasprintf.c: New file.
45920         * lib/unistdio/u8-vsnprintf.c: New file.
45921         * lib/unistdio/u8-vsprintf.c: New file.
45922         * lib/unistdio/u8-u8-asnprintf.c: New file.
45923         * lib/unistdio/u8-u8-asprintf.c: New file.
45924         * lib/unistdio/u8-u8-snprintf.c: New file.
45925         * lib/unistdio/u8-u8-sprintf.c: New file.
45926         * lib/unistdio/u8-u8-vasnprintf.c: New file.
45927         * lib/unistdio/u8-u8-vasprintf.c: New file.
45928         * lib/unistdio/u8-u8-vsnprintf.c: New file.
45929         * lib/unistdio/u8-u8-vsprintf.c: New file.
45930         * lib/unistdio/u16-asnprintf.c: New file.
45931         * lib/unistdio/u16-asprintf.c: New file.
45932         * lib/unistdio/u16-printf-parse.c: New file.
45933         * lib/unistdio/u16-snprintf.c: New file.
45934         * lib/unistdio/u16-sprintf.c: New file.
45935         * lib/unistdio/u16-vasnprintf.c: New file.
45936         * lib/unistdio/u16-vasprintf.c: New file.
45937         * lib/unistdio/u16-vsnprintf.c: New file.
45938         * lib/unistdio/u16-vsprintf.c: New file.
45939         * lib/unistdio/u16-u16-asnprintf.c: New file.
45940         * lib/unistdio/u16-u16-asprintf.c: New file.
45941         * lib/unistdio/u16-u16-snprintf.c: New file.
45942         * lib/unistdio/u16-u16-sprintf.c: New file.
45943         * lib/unistdio/u16-u16-vasnprintf.c: New file.
45944         * lib/unistdio/u16-u16-vasprintf.c: New file.
45945         * lib/unistdio/u16-u16-vsnprintf.c: New file.
45946         * lib/unistdio/u16-u16-vsprintf.c: New file.
45947         * lib/unistdio/u32-asnprintf.c: New file.
45948         * lib/unistdio/u32-asprintf.c: New file.
45949         * lib/unistdio/u32-printf-parse.c: New file.
45950         * lib/unistdio/u32-snprintf.c: New file.
45951         * lib/unistdio/u32-sprintf.c: New file.
45952         * lib/unistdio/u32-vasnprintf.c: New file.
45953         * lib/unistdio/u32-vasprintf.c: New file.
45954         * lib/unistdio/u32-vsnprintf.c: New file.
45955         * lib/unistdio/u32-vsprintf.c: New file.
45956         * lib/unistdio/u32-u32-asnprintf.c: New file.
45957         * lib/unistdio/u32-u32-asprintf.c: New file.
45958         * lib/unistdio/u32-u32-snprintf.c: New file.
45959         * lib/unistdio/u32-u32-sprintf.c: New file.
45960         * lib/unistdio/u32-u32-vasnprintf.c: New file.
45961         * lib/unistdio/u32-u32-vasprintf.c: New file.
45962         * lib/unistdio/u32-u32-vsnprintf.c: New file.
45963         * lib/unistdio/u32-u32-vsprintf.c: New file.
45964         * tests/unistdio/test-ulc-asnprintf1.c: New file.
45965         * tests/unistdio/test-ulc-asnprintf1.h: New file.
45966         * tests/unistdio/test-ulc-printf1.h: New file.
45967         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
45968         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
45969         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
45970         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
45971         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
45972         * tests/unistdio/test-ulc-vasprintf1.c: New file.
45973         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
45974         * tests/unistdio/test-ulc-vsprintf1.c: New file.
45975         * tests/unistdio/test-u8-asnprintf1.c: New file.
45976         * tests/unistdio/test-u8-asnprintf1.h: New file.
45977         * tests/unistdio/test-u8-printf1.h: New file.
45978         * tests/unistdio/test-u8-vasnprintf1.c: New file.
45979         * tests/unistdio/test-u8-vasnprintf2.c: New file.
45980         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
45981         * tests/unistdio/test-u8-vasnprintf3.c: New file.
45982         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
45983         * tests/unistdio/test-u8-vasprintf1.c: New file.
45984         * tests/unistdio/test-u8-vsnprintf1.c: New file.
45985         * tests/unistdio/test-u8-vsprintf1.c: New file.
45986         * tests/unistdio/test-u16-asnprintf1.c: New file.
45987         * tests/unistdio/test-u16-asnprintf1.h: New file.
45988         * tests/unistdio/test-u16-printf1.h: New file.
45989         * tests/unistdio/test-u16-vasnprintf1.c: New file.
45990         * tests/unistdio/test-u16-vasnprintf2.c: New file.
45991         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
45992         * tests/unistdio/test-u16-vasnprintf3.c: New file.
45993         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
45994         * tests/unistdio/test-u16-vasprintf1.c: New file.
45995         * tests/unistdio/test-u16-vsnprintf1.c: New file.
45996         * tests/unistdio/test-u16-vsprintf1.c: New file.
45997         * tests/unistdio/test-u32-asnprintf1.c: New file.
45998         * tests/unistdio/test-u32-asnprintf1.h: New file.
45999         * tests/unistdio/test-u32-printf1.h: New file.
46000         * tests/unistdio/test-u32-vasnprintf1.c: New file.
46001         * tests/unistdio/test-u32-vasnprintf2.c: New file.
46002         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
46003         * tests/unistdio/test-u32-vasnprintf3.c: New file.
46004         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
46005         * tests/unistdio/test-u32-vasprintf1.c: New file.
46006         * tests/unistdio/test-u32-vsnprintf1.c: New file.
46007         * tests/unistdio/test-u32-vsprintf1.c: New file.
46008         * modules/unistdio/base: New file.
46009         * modules/unistdio/u-printf-args: New file.
46010         * modules/unistdio/ulc-asnprintf: New file.
46011         * modules/unistdio/ulc-asprintf: New file.
46012         * modules/unistdio/ulc-fprintf: New file.
46013         * modules/unistdio/ulc-printf-parse: New file.
46014         * modules/unistdio/ulc-snprintf: New file.
46015         * modules/unistdio/ulc-sprintf: New file.
46016         * modules/unistdio/ulc-vasnprintf: New file.
46017         * modules/unistdio/ulc-vasprintf: New file.
46018         * modules/unistdio/ulc-vfprintf: New file.
46019         * modules/unistdio/ulc-vsnprintf: New file.
46020         * modules/unistdio/ulc-vsprintf: New file.
46021         * modules/unistdio/u8-asnprintf: New file.
46022         * modules/unistdio/u8-asprintf: New file.
46023         * modules/unistdio/u8-printf-parse: New file.
46024         * modules/unistdio/u8-snprintf: New file.
46025         * modules/unistdio/u8-sprintf: New file.
46026         * modules/unistdio/u8-vasnprintf: New file.
46027         * modules/unistdio/u8-vasprintf: New file.
46028         * modules/unistdio/u8-vsnprintf: New file.
46029         * modules/unistdio/u8-vsprintf: New file.
46030         * modules/unistdio/u8-u8-asnprintf: New file.
46031         * modules/unistdio/u8-u8-asprintf: New file.
46032         * modules/unistdio/u8-u8-snprintf: New file.
46033         * modules/unistdio/u8-u8-sprintf: New file.
46034         * modules/unistdio/u8-u8-vasnprintf: New file.
46035         * modules/unistdio/u8-u8-vasprintf: New file.
46036         * modules/unistdio/u8-u8-vsnprintf: New file.
46037         * modules/unistdio/u8-u8-vsprintf: New file.
46038         * modules/unistdio/u16-asnprintf: New file.
46039         * modules/unistdio/u16-asprintf: New file.
46040         * modules/unistdio/u16-printf-parse: New file.
46041         * modules/unistdio/u16-snprintf: New file.
46042         * modules/unistdio/u16-sprintf: New file.
46043         * modules/unistdio/u16-vasnprintf: New file.
46044         * modules/unistdio/u16-vasprintf: New file.
46045         * modules/unistdio/u16-vsnprintf: New file.
46046         * modules/unistdio/u16-vsprintf: New file.
46047         * modules/unistdio/u16-u16-asnprintf: New file.
46048         * modules/unistdio/u16-u16-asprintf: New file.
46049         * modules/unistdio/u16-u16-snprintf: New file.
46050         * modules/unistdio/u16-u16-sprintf: New file.
46051         * modules/unistdio/u16-u16-vasnprintf: New file.
46052         * modules/unistdio/u16-u16-vasprintf: New file.
46053         * modules/unistdio/u16-u16-vsnprintf: New file.
46054         * modules/unistdio/u16-u16-vsprintf: New file.
46055         * modules/unistdio/u32-asnprintf: New file.
46056         * modules/unistdio/u32-asprintf: New file.
46057         * modules/unistdio/u32-printf-parse: New file.
46058         * modules/unistdio/u32-snprintf: New file.
46059         * modules/unistdio/u32-sprintf: New file.
46060         * modules/unistdio/u32-vasnprintf: New file.
46061         * modules/unistdio/u32-vasprintf: New file.
46062         * modules/unistdio/u32-vsnprintf: New file.
46063         * modules/unistdio/u32-vsprintf: New file.
46064         * modules/unistdio/u32-u32-asnprintf: New file.
46065         * modules/unistdio/u32-u32-asprintf: New file.
46066         * modules/unistdio/u32-u32-snprintf: New file.
46067         * modules/unistdio/u32-u32-sprintf: New file.
46068         * modules/unistdio/u32-u32-vasnprintf: New file.
46069         * modules/unistdio/u32-u32-vasprintf: New file.
46070         * modules/unistdio/u32-u32-vsnprintf: New file.
46071         * modules/unistdio/u32-u32-vsprintf: New file.
46072         * modules/unistdio/ulc-asnprintf-tests: New file.
46073         * modules/unistdio/ulc-vasnprintf-tests: New file.
46074         * modules/unistdio/ulc-vasprintf-tests: New file.
46075         * modules/unistdio/ulc-vsnprintf-tests: New file.
46076         * modules/unistdio/ulc-vsprintf-tests: New file.
46077         * modules/unistdio/u8-asnprintf-tests: New file.
46078         * modules/unistdio/u8-vasnprintf-tests: New file.
46079         * modules/unistdio/u8-vasprintf-tests: New file.
46080         * modules/unistdio/u8-vsnprintf-tests: New file.
46081         * modules/unistdio/u8-vsprintf-tests: New file.
46082         * modules/unistdio/u16-asnprintf-tests: New file.
46083         * modules/unistdio/u16-vasnprintf-tests: New file.
46084         * modules/unistdio/u16-vasprintf-tests: New file.
46085         * modules/unistdio/u16-vsnprintf-tests: New file.
46086         * modules/unistdio/u16-vsprintf-tests: New file.
46087         * modules/unistdio/u32-asnprintf-tests: New file.
46088         * modules/unistdio/u32-vasnprintf-tests: New file.
46089         * modules/unistdio/u32-vasprintf-tests: New file.
46090         * modules/unistdio/u32-vsnprintf-tests: New file.
46091         * modules/unistdio/u32-vsprintf-tests: New file.
46092         * MODULES.html.sh (Unicode string functions): Add the new modules.
46093
46094 2007-07-01  Bruno Haible  <bruno@clisp.org>
46095
46096         * lib/sprintf.c (sprintf): Limit the available length estimation,
46097         to avoid address wraparound.
46098         * lib/vsprintf.c (vsprintf): Likewise.
46099         * modules/sprintf-posix (Dependencies): Add stdint.
46100         * modules/vsprintf-posix (Dependencies): Likewise.
46101
46102 2007-07-01  Bruno Haible  <bruno@clisp.org>
46103
46104         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
46105         Windows PATH as well. Conservative double-quoting. Comments.
46106
46107 2007-07-01  Bruno Haible  <bruno@clisp.org>
46108             Eric Blake  <ebb9@byu.net>
46109             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46110
46111         * gnulib-tool (self_abspathname): Fix algorithm to cope with
46112         empty components in $PATH, denoting '.'.
46113
46114 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46115
46116         * gnulib-tool: Fix indentation.
46117         (func_create_megatestdir): Likewise.
46118         Report by Bruno Haible.
46119
46120 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46121
46122         Sync from Automake.
46123         * build-aux/gnupload: Fix shell portability issues with for loops.
46124         Report by Karl Berry.
46125
46126 2007-06-29  Simon Josefsson  <simon@josefsson.org>
46127
46128         * build-aux/maint.mk (POURL): Use translationproject.org.
46129
46130 2007-06-27  Simon Josefsson  <simon@josefsson.org>
46131             Bruno Haible  <bruno@clisp.org>
46132
46133         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
46134         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
46135         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
46136         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
46137         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
46138
46139 2007-06-27  Bruno Haible  <bruno@clisp.org>
46140
46141         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
46142         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
46143
46144 2007-06-26  Karl Berry  <karl@gnu.org>
46145
46146         * MODULES.html.sh: remove xreadlink-with-size.
46147
46148 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
46149
46150         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
46151         method that I hope also handles the double-include problem noted
46152         by Bruno Haible in
46153         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
46154
46155 2007-06-23  Bruno Haible  <bruno@clisp.org>
46156
46157         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
46158         Don't let the 'mostlyclean' target fail if the last subdirectory could
46159         not be removed.
46160         Reported by Karl Berry.
46161
46162 2007-06-23  Bruno Haible  <bruno@clisp.org>
46163
46164         * gnulib-tool (echo): Add a speedier workaround for ksh.
46165         * tests/test-echo.sh: Likewise.
46166
46167 2007-06-23  Bruno Haible  <bruno@clisp.org>
46168
46169         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
46170         * tests/test-echo.sh: Likewise.
46171
46172 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46173
46174         * gnulib-tool (IFS): Initialize early, so we don't set it to
46175         empty later.
46176         (self_abspathname): Rewrite algorithm to set it, reindent.
46177         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
46178         (func_create_megatestdir): Merge some sed scripts.
46179
46180 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
46181
46182         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
46183         exposed by Sun Studio 11 cc on Solaris 8.
46184
46185 2007-06-22  Bruno Haible  <bruno@clisp.org>
46186
46187         * gnulib-tool (echo): Ensure the echo primitive does not interpret
46188         backslashes.
46189         * tests/test-echo.sh: New file.
46190
46191 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46192
46193         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
46194         simplify `sed_replace_build_aux' scripts, they are portable but
46195         echoing them with `echo' is not.
46196         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
46197
46198 2007-06-21  Karl Berry  <karl@gnu.org>
46199
46200         * config/srclist.txt: guess we can't handle the licenses via
46201         srclist at the moment.
46202
46203 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
46204
46205         * MODULES.html.sh: Add include_next.
46206         * modules/include_next: New file.
46207
46208 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
46209
46210         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
46211         INCLUDE_NEXT.
46212         (gl_CHECK_NEXT_HEADERS): New macro.
46213         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
46214         the obsolescent gl_ABSOLUTE_HEADER.
46215         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
46216         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
46217         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
46218         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
46219         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
46220         * m4/math_h.m4 (gl_MATH_H): Likewise.
46221         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
46222         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
46223         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
46224         * m4/stdint.m4 (gl_STDINT_H): Likewise.
46225         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
46226         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
46227         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
46228         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
46229         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
46230         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
46231         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
46232         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
46233         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
46234         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
46235         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
46236         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
46237         * m4/inttypes.m4 (gl_INTTYPES_H): Define
46238         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
46239         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
46240         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
46241         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
46242         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
46243         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
46244         * lib/float_.h: Likewise.
46245         * lib/inttypes_.h: Likewise.
46246         * lib/math_.h: Likewise.
46247         * lib/search_.h: Likewise.
46248         * lib/signal_.h: Likewise.
46249         * lib/stdint_.h: Likewise.
46250         * lib/stdio_.h: Likewise.
46251         * lib/stdlib_.h: Likewise.
46252         * lib/string_.h: Likewise.
46253         * lib/sys_stat_.h: Likewise.
46254         * lib/sys_time_.h: Likewise.
46255         * lib/time_.h: Likewise.
46256         * lib/unistd_.h: Likewise.
46257         * lib/wchar_.h: Likewise.
46258         * lib/wctype_.h: Likewise.
46259         * lib/dirent_.h: Likewise.
46260         * lib/iconv_.h: Likewise.
46261         * lib/locale_.h: Likewise.
46262         * lib/netinet_in_.h: Likewise.
46263         * lib/sys_select_.h: Likewise.
46264         * lib/sys_socket_.h: Likewise.
46265         * lib/sysexits_.h: Likewise.
46266         * modules/fcntl (Depends-on): Depend on include_next, not
46267         absolute_header.
46268         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
46269         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
46270         * modules/fchdir: Likewise.
46271         * modules/float: Likewise.
46272         * modules/iconv_open: Likewise.
46273         * modules/inttypes: Likewise.
46274         * modules/locale: Likewise.
46275         * modules/math: Likewise.
46276         * modules/netinet_in: Likewise.
46277         * modules/search: Likewise.
46278         * modules/signal: Likewise.
46279         * modules/stdint: Likewise.
46280         * modules/stdio: Likewise.
46281         * modules/stdlib: Likewise.
46282         * modules/string: Likewise.
46283         * modules/sys_select: Likewise.
46284         * modules/sys_socket: Likewise.
46285         * modules/sys_stat: Likewise.
46286         * modules/sys_time: Likewise.
46287         * modules/sysexits: Likewise.
46288         * modules/time: Likewise.
46289         * modules/unistd: Likewise.
46290         * modules/wchar: Likewise.
46291         * modules/wctype: Likewise.
46292         * modules/sys_stat: Change maintainer to "all".
46293         * modules/unistd: Likewise.
46294
46295 2007-06-20  Karl Berry  <karl@gnu.org>
46296
46297         * config/srclist.txt: track www changes in license files.
46298
46299 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
46300
46301         * build-aux/bootstrap: Remove stray dot.
46302         Make sure build_aux settings are honored when linking
46303         gnulib_extra_files.
46304
46305 2007-06-19  Eric Blake  <ebb9@byu.net>
46306
46307         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
46308         Allow compilation on cygwin.
46309
46310 2007-06-19  Jim Meyering  <jim@meyering.net>
46311
46312         xreadlink-with-size: Remove module.  No longer used.
46313         Ex-callers now use xreadlink or mreadlink-with-size.
46314         * modules/xreadlink-with-size: Remove module.
46315         * lib/xreadlink-with-size.c: Remove file.
46316         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
46317         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
46318         just before the function definition *is* accurate.
46319
46320         Eliminate one way canonicalize_filename_mode could exit.
46321         * lib/canonicalize.c (canonicalize_filename_mode):
46322         Use mreadlink_with_size, not xreadlink_with_size.
46323
46324 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
46325
46326         Detect porting problems to FreeBSD/arm, which has time_t wider than
46327         long int.  Original problem reported for GNU diff by Xin Li in
46328         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
46329         * modules/getdate (Depends-on): Add intprops, verify.
46330         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
46331         is an integer type no wider than long int.
46332
46333 2007-06-18  Jim Meyering  <jim@meyering.net>
46334
46335         New module: mreadlink-with-size.
46336         * MODULES.html.sh: Add mreadlink-with-size.
46337         * modules/mreadlink-with-size: New module
46338         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
46339         not xreadlink-with-size.
46340         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
46341
46342 2007-06-16  Bruno Haible  <bruno@clisp.org>
46343
46344         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
46345         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
46346         Reported by Gary V. Vaughan <gary@gnu.org>.
46347
46348 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
46349
46350         Revamp lchown so that it lives in unistd.h where it belongs.
46351         * lib/lchown.h: Remove.
46352         * lib/dirchownmod.c: Don't include lib/lchown.h.
46353         * lib/fchownat.c: Likewise.
46354         * lib/openat.c: Likewise.
46355         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
46356         does not follow symlinks.
46357         (EOPNOTSUPP): Define if not defined.
46358         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
46359         is defined to 0.
46360         (lchown): New decl.
46361         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
46362         Do not check for lchown decl.
46363         Set REPLACE_LCHOWN.
46364         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
46365         REPLACE_LCHOWN.
46366         * modules/chown: Make it clear it follows symlinks.
46367         * modules/lchown: Make it clear it doesn't follow symlinks.
46368         (Files): Remove lib/lchown.h
46369         (Depends-on): Add unistd.
46370         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
46371         (Include): Include <unistd.h>, not "lchown.h".
46372         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
46373         REPLACE_LCHOWN.
46374
46375 2007-06-15  Jim Meyering  <jim@meyering.net>
46376
46377         Change license (GPL to LGPL) of fsusage and dependents.
46378         * modules/fsusage (License): Change to LGPL.
46379         * modules/full-read (License): Likewise.
46380         * modules/full-write (License): Likewise.
46381         * modules/safe-read (License): Likewise.
46382         * modules/safe-write (License): Likewise.
46383
46384 2007-06-14  Ben Pfaff  <blp@gnu.org>
46385
46386         Missing part of allocsa -> malloca transition.
46387         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
46388         gl_MALLOCA.
46389
46390 2007-06-12  Bruno Haible  <bruno@clisp.org>
46391
46392         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
46393         to ia64, x86_64, i386.
46394         Reported by Eric Blake.
46395
46396 2007-06-12  Bruno Haible  <bruno@clisp.org>
46397
46398         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
46399         cross-compiling to x86_64.
46400
46401 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
46402
46403         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
46404         glitch reported by Ralf Wildenhues in
46405         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
46406
46407         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
46408         Vin Shelton.
46409
46410 2007-06-11  Bruno Haible  <bruno@clisp.org>
46411
46412         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
46413         replacement string.
46414         Reported by Eric Blake.
46415
46416 2007-06-10  Bruno Haible  <bruno@clisp.org>
46417
46418         Prepare vasnprintf code for use with Unicode strings.
46419         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
46420         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
46421         TYPE_U32_STRING.
46422         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
46423         a_u32_string variants.
46424         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
46425         * lib/printf-args.c: Don't include config.h and the specification
46426         header if PRINTF_FETCHARGS is already defined.
46427         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
46428         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
46429         TYPE_U16_STRING, TYPE_U32_STRING.
46430         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
46431         u16_directive, u16_directives, u32_directive, u32_directives): New
46432         types.
46433         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
46434         New declarations.
46435         * lib/printf-parse.c: Don't include config.h and the specification
46436         header if PRINTF_PARSE is already defined. Eliminate the set of
46437         parameters for WIDE_CHAR_VERSION; the user of this file must provide
46438         them now. Include c-ctype.h.
46439         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
46440         directive and CHAR_T_ONLY_ASCII.
46441         * lib/vasnprintf.c: Don't include config.h and the specification header
46442         if VASNPRINTF is already defined.
46443         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
46444         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
46445         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
46446         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
46447         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
46448         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
46449         code accordingly.
46450         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
46451         pad_ourselves also in this case, with the 'c' and 's' directives, and
46452         with a different notion of "width".
46453         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
46454
46455 2007-06-10  Bruno Haible  <bruno@clisp.org>
46456
46457         * modules/unistr/u32-mbsnlen: New file.
46458         * lib/unistr/u32-mbsnlen.c: New file.
46459
46460         * modules/unistr/u16-mbsnlen: New file.
46461         * lib/unistr/u16-mbsnlen.c: New file.
46462
46463         * modules/unistr/u8-mbsnlen: New file.
46464         * lib/unistr/u8-mbsnlen.c: New file.
46465
46466         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
46467         declarations.
46468
46469 2007-06-10  Bruno Haible  <bruno@clisp.org>
46470
46471         * lib/string_.h (mbsnlen): New declaration.
46472         * lib/mbsnlen.c: New file.
46473         * m4/mbsnlen.m4: New file.
46474         * modules/mbsnlen: New file.
46475         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
46476         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
46477         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
46478
46479 2007-06-10  Bruno Haible  <bruno@clisp.org>
46480
46481         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
46482
46483 2007-06-10  Bruno Haible  <bruno@clisp.org>
46484
46485         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
46486         * lib/mbuiter.h: Likewise.
46487
46488 2007-06-10  Bruno Haible  <bruno@clisp.org>
46489
46490         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
46491         declaration.
46492
46493 2007-06-10  Karl Berry  <karl@gnu.org>
46494
46495         * config/srclist.txt: remove gettext entries, Bruno prefers
46496         to update individually.
46497
46498 2007-06-10  Bruno Haible  <bruno@clisp.org>
46499
46500         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
46501         'maxlen'. Ensure only length + width bytes are allocated, not
46502         length + 1 + width.
46503
46504 2007-06-09  Bruno Haible  <bruno@clisp.org>
46505
46506         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
46507         (CHAR_T): Remove macro.
46508         (VASNPRINTF): Update.
46509
46510 2007-06-09  Bruno Haible  <bruno@clisp.org>
46511
46512         * MODULES.html.sh (Unicode string functions): Add the new modules.
46513
46514         * modules/uniconv/u32-conv-to-enc: New file.
46515         * lib/uniconv/u32-conv-to-enc.c: New file.
46516         * modules/uniconv/u32-conv-to-enc-tests: New file.
46517         * tests/uniconv/test-u32-conv-to-enc.c: New file.
46518
46519         * modules/uniconv/u16-conv-to-enc: New file.
46520         * lib/uniconv/u16-conv-to-enc.c: New file.
46521         * lib/uniconv/u-conv-to-enc.h: New file.
46522         * modules/uniconv/u16-conv-to-enc-tests: New file.
46523         * tests/uniconv/test-u16-conv-to-enc.c: New file.
46524
46525         * modules/uniconv/u8-conv-to-enc: New file.
46526         * lib/uniconv/u8-conv-to-enc.c: New file.
46527         * modules/uniconv/u8-conv-to-enc-tests: New file.
46528         * tests/uniconv/test-u8-conv-to-enc.c: New file.
46529
46530         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
46531         u32_conv_to_encoding): New declarations.
46532
46533 2007-06-09  Bruno Haible  <bruno@clisp.org>
46534
46535         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
46536
46537 2007-06-09  Bruno Haible  <bruno@clisp.org>
46538
46539         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
46540         * modules/malloca: Renamed from modules/allocsa, updated.
46541         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
46542         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
46543         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
46544         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
46545         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
46546         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
46547         * modules/xmalloca: Renamed from modules/xallocsa, updated.
46548         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
46549         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
46550         * modules/c-strcasestr (Depends-on): Update.
46551         * lib/c-strcasestr.c: Update.
46552         * modules/c-strstr (Depends-on): Update.
46553         * lib/c-strstr.c: Update.
46554         * modules/canonicalize-lgpl (Depends-on): Update.
46555         * lib/canonicalize-lgpl.c: Update.
46556         * modules/clean-temp (Depends-on): Update.
46557         * lib/clean-temp.c: Update.
46558         * modules/csharpcomp (Depends-on): Update.
46559         * lib/csharpcomp.c: Update.
46560         * modules/csharpexec (Depends-on): Update.
46561         * lib/csharpexec.c: Update.
46562         * modules/javacomp (Depends-on): Update.
46563         * lib/javacomp.c: Update.
46564         * modules/javaexec (Depends-on): Update.
46565         * lib/javaexec.c: Update.
46566         * modules/mbscasestr (Depends-on): Update.
46567         * lib/mbscasestr.c: Update.
46568         * modules/mbsstr (Depends-on): Update.
46569         * lib/mbsstr.c: Update.
46570         * modules/setenv (Depends-on): Update.
46571         * lib/setenv.c: Update.
46572         * modules/strcasestr (Depends-on): Update.
46573         * lib/strcasestr.c: Update.
46574         * modules/striconveha (Depends-on): Update.
46575         * lib/striconveha.c: Update.
46576         * modules/relocatable-prog-wrapper (Files): Update.
46577         * lib/relocwrapper.c: Update.
46578         * build-aux/install-reloc: Update.
46579         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
46580
46581 2007-06-08  Bruno Haible  <bruno@clisp.org>
46582
46583         Port to uClibc.
46584         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
46585         * lib/fpurge.c (fpurge): Likewise.
46586         * lib/freading.c (freading): Likewise.
46587         * lib/fseeko.c (rpl_fseeko): Likewise.
46588         * lib/fseterr.c (fseterr): Likewise.
46589         * lib/fwriting.c (fwriting): Likewise.
46590         * tests/test-fflush.c (main): Avoid a failure on uClibc.
46591
46592 2007-06-08  Bruno Haible  <bruno@clisp.org>
46593
46594         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
46595         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
46596         * modules/gettext (Files): Add m4/intlmacosx.m4.
46597
46598 2007-06-07  Bruno Haible  <bruno@clisp.org>
46599
46600         * modules/localename-tests: New file.
46601         * tests/test-localename.c: New file.
46602
46603         New module 'localename'.
46604         * lib/localename.h: New file.
46605         * lib/localename.c: New file, from GNU gettext.
46606         * m4/localename.m4: New file.
46607         * modules/localename: New file.
46608
46609 2007-06-07  Bruno Haible  <bruno@clisp.org>
46610
46611         Work around the lack of <wchar.h> on some builds of uClibc.
46612         * doc/headers/wchar.texi: Update.
46613         * lib/wchar_.h: Include <wchar.h> only if it exists.
46614         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
46615         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
46616         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
46617         doesn't exist.
46618         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
46619         * modules/mbfile (Depends-on): Add wchar.
46620         * modules/mbiter (Depends-on): Likewise.
46621         * modules/mbuiter (Depends-on): Likewise.
46622         Reported by Simon Josefsson.
46623
46624 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
46625
46626         Work around problem reported by Steven M. Schweda in
46627         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
46628         Tru64 5.1B with the Compaq compiler environment installed declares
46629         an 'isblank' function but does not define it in the C library.
46630         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
46631         * lib/regex_internal.h (isblank): Likewise.
46632         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
46633         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
46634
46635 2007-06-05  Bruno Haible  <bruno@clisp.org>
46636
46637         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
46638         ia64.
46639         * modules/printf-safe: New file.
46640         * modules/fprintf-posix (Depends-on): Add printf-safe.
46641         * modules/printf-posix (Depends-on): Likewise.
46642         * modules/snprintf-posix (Depends-on): Likewise.
46643         * modules/sprintf-posix (Depends-on): Likewise.
46644         * modules/vasnprintf-posix (Depends-on): Likewise.
46645         * modules/vasprintf-posix (Depends-on): Likewise.
46646         * modules/vfprintf-posix (Depends-on): Likewise.
46647         * modules/vprintf-posix (Depends-on): Likewise.
46648         * modules/vsnprintf-posix (Depends-on): Likewise.
46649         * modules/vsprintf-posix (Depends-on): Likewise.
46650         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
46651         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
46652         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
46653         "no" on i386, x86_64, ia64.
46654         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
46655         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
46656         on i386, x86_64, ia64.
46657         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
46658         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
46659         on i386, x86_64, ia64.
46660         * tests/test-vasnprintf-posix.c: Include float.h.
46661         (LDBL80_WORDS): New macro.
46662         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
46663         on i386, x86_64, ia64.
46664         * tests/test-vasprintf-posix.c: Include float.h.
46665         (LDBL80_WORDS): New macro.
46666         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
46667         on i386, x86_64, ia64.
46668         * tests/test-snprintf-posix.c: Include float.h.
46669         * tests/test-sprintf-posix.c: Likewise.
46670         * tests/test-vsnprintf-posix.c: Likewise.
46671         * tests/test-vsprintf-posix.c: Likewise.
46672
46673 2007-06-05  Bruno Haible  <bruno@clisp.org>
46674
46675         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
46676         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
46677         non-IEEE numbers on i386, x86_64, ia64.
46678         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
46679         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
46680         * tests/test-isnanl.h: Include float.h.
46681         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
46682
46683 2007-06-05  Bruno Haible  <bruno@clisp.org>
46684
46685         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
46686         also the %a / %A. Handle the %a / %A code before this extra handling.
46687
46688 2007-06-05  Bruno Haible  <bruno@clisp.org>
46689
46690         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
46691         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
46692
46693 2007-06-05  Bruno Haible  <bruno@clisp.org>
46694
46695         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
46696         typo in variable name.
46697
46698 2007-06-05  Eric Blake  <ebb9@byu.net>
46699
46700         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
46701         Reported by Simon Josefsson.
46702
46703 2007-06-04  Bruno Haible  <bruno@clisp.org>
46704
46705         Avoid test failures on some PowerPC platforms.
46706         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
46707         Define differently for PowerPC.
46708         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
46709         Reported by Gary V. Vaughan <gary@gnu.org>.
46710
46711 2007-06-02  Bruno Haible  <bruno@clisp.org>
46712
46713         Fix test-stdint failure on FreeBSD/ia64.
46714         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
46715         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
46716         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
46717         * doc/headers/stdint.texi: Update.
46718
46719 2007-06-01  Bruno Haible  <bruno@clisp.org>
46720
46721         * tests/test-binary-io.c (main): Pass a third argument to open().
46722         Reported by Gary V. Vaughan <gary@gnu.org>.
46723
46724 2007-06-01  Bruno Haible  <bruno@clisp.org>
46725
46726         * doc/functions/frexpl.texi: Update for mingw.
46727
46728 2007-06-01  Bruno Haible  <bruno@clisp.org>
46729
46730         * tests/test-lseek.c (main): Disable test of errno for invalid third
46731         argument.
46732         * doc/functions/lseek.texi: Update.
46733         Reported by Gary V. Vaughan <gary@gnu.org>.
46734
46735 2007-05-28  Bruno Haible  <bruno@clisp.org>
46736
46737         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
46738
46739 2007-05-31  Eric Blake  <ebb9@byu.net>
46740
46741         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
46742         cross compiling.
46743
46744 2007-05-30  Eric Blake  <ebb9@byu.net>
46745         and Bruno Haible  <bruno@clisp.org>
46746
46747         Work around mingw test failures exposed by m4-1.4.9b.
46748         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
46749         * tests/test-unistd.c: Disable uid_t and git_t tests for the
46750         moment.
46751
46752 2007-05-30  Bruno Haible  <bruno@clisp.org>
46753
46754         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
46755         assuming that they are closed. Needed on HP-UX 11.
46756
46757 2007-05-29  Bruno Haible  <bruno@clisp.org>
46758
46759         Fix a problem with #include_next.
46760         * lib/dirent_.h: Split the double-inclusion guard.
46761         * lib/fcntl_.h: Likewise.
46762         * lib/float_.h: Likewise.
46763         * lib/iconv_.h: Likewise.
46764         * lib/inttypes_.h: Likewise.
46765         * lib/locale_.h: Likewise.
46766         * lib/math_.h: Likewise.
46767         * lib/netinet_in_.h: Likewise.
46768         * lib/search_.h: Likewise.
46769         * lib/signal_.h: Likewise.
46770         * lib/stdint_.h: Likewise.
46771         * lib/stdio_.h: Likewise.
46772         * lib/stdlib_.h: Likewise.
46773         * lib/string_.h: Likewise.
46774         * lib/sys_select_.h: Likewise.
46775         * lib/sys_socket_.h: Likewise.
46776         * lib/sys_stat_.h: Likewise.
46777         * lib/sys_time_.h: Likewise.
46778         * lib/sysexits_.h: Likewise.
46779         * lib/time_.h: Likewise.
46780         * lib/unistd_.h: Likewise.
46781         * lib/wchar_.h: Likewise.
46782         * lib/wctype_.h: Likewise.
46783
46784 2007-05-29  Bruno Haible  <bruno@clisp.org>
46785
46786         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
46787         for the moment.
46788
46789 2007-05-29  Bruno Haible  <bruno@clisp.org>
46790
46791         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
46792         invocation.
46793         Reported by Eric Blake.
46794
46795 2007-05-29  Bruno Haible  <bruno@clisp.org>
46796
46797         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
46798         compiling case.
46799
46800 2007-05-29  Eric Blake  <ebb9@byu.net>
46801             Bruno Haible  <bruno@clisp.org>
46802
46803         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
46804         cross compiles.
46805
46806 2007-05-28  Eric Blake  <ebb9@byu.net>
46807
46808         * modules/closein-tests (test_closein_LDADD): Support test on
46809         cygwin with libtool.
46810
46811 2007-05-28  Bruno Haible  <bruno@clisp.org>
46812
46813         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
46814         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
46815         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
46816         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
46817         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
46818         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
46819         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
46820         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
46821         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
46822
46823 2007-05-28  Eric Blake  <ebb9@byu.net>
46824
46825         Unconditionally include <config.h> in unit tests.
46826         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
46827         * tests/test-allocsa.c, tests/test-arcfour.c,
46828         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
46829         tests/test-array_list.c, tests/test-array_oset.c,
46830         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
46831         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
46832         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
46833         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
46834         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
46835         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
46836         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
46837         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
46838         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
46839         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
46840         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
46841         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
46842         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
46843         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
46844         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
46845         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
46846         test-md5.c, test-memmem.c, test-printf-posix.c,
46847         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
46848         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
46849         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
46850         test-strcasestr.c, test-striconv.c, test-striconveh.c,
46851         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
46852         test-vasnprintf-posix2.c, test-vasnprintf.c,
46853         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
46854         test-vfprintf-posix.c, test-vprintf-posix.c,
46855         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
46856         test-xvasprintf.c: Likewise.
46857
46858 2007-05-28  Bruno Haible  <bruno@clisp.org>
46859
46860         * gnulib-tool (func_import): Remember the --with-tests command-line
46861         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
46862         Reported by Eric Blake.
46863
46864 2007-05-28  Bruno Haible  <bruno@clisp.org>
46865
46866         * modules/ftell-tests: New file.
46867         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
46868         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
46869
46870         * lib/ftell.c: New file.
46871         * modules/ftell: New file.
46872         * m4/ftell.m4: New file.
46873         * doc/functions/ftell.texi: Update.
46874         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
46875         REPLACE_FTELL.
46876         * lib/stdio_.h (rpl_ftell): New declaration.
46877         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
46878         REPLACE_FTELL.
46879
46880 2007-05-28  Eric Blake  <ebb9@byu.net>
46881
46882         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
46883
46884 2007-05-28  Bruno Haible  <bruno@clisp.org>
46885
46886         * modules/fseek-tests: New file.
46887         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
46888         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
46889
46890         * lib/fseek.c: New file.
46891         * modules/fseek: New file.
46892         * m4/fseek.m4: New file.
46893         * doc/functions/fseek.texi: Update.
46894         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
46895         REPLACE_FSEEK.
46896         * lib/stdio_.h (rpl_fseek): New declaration.
46897         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
46898         REPLACE_FSEEK.
46899
46900 2007-05-28  Bruno Haible  <bruno@clisp.org>
46901
46902         * lib/stdio_.h (fflush): More comments.
46903
46904 2007-05-28  Bruno Haible  <bruno@clisp.org>
46905
46906         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
46907         runtime test.
46908
46909 2007-05-28  Eric Blake  <ebb9@byu.net>
46910
46911         Improve lseek module.
46912         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
46913         * lib/unistd_.h (lseek): Scale back link warning message.
46914         * tests/test-lseek.c: Beef up test.
46915         * tests/test-lseek.sh: Exercise more facets of lseek.
46916         Reported by Bruno Haible.
46917
46918 2007-05-28  Bruno Haible  <bruno@clisp.org>
46919
46920         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
46921         to define.
46922
46923 2007-05-27  Bruno Haible  <bruno@clisp.org>
46924
46925         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
46926
46927 2007-05-27  Bruno Haible  <bruno@clisp.org>
46928
46929         * modules/openmp: New file.
46930         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
46931         Noah Misch.
46932
46933 2007-05-26  Bruno Haible  <bruno@clisp.org>
46934
46935         * modules/chdir-long (Depends-on): Add fchdir.
46936         * modules/chdir-safer (Depends-on): Likewise.
46937         * modules/fts (Depends-on): Likewise.
46938         * modules/fts-lgpl (Depends-on): Likewise.
46939         * modules/openat (Depends-on): Likewise.
46940         * modules/savewd (Depends-on): Likewise.
46941
46942 2007-05-24  Eric Blake  <ebb9@byu.net>
46943
46944         Fix lseek on mingw.
46945         * modules/lseek: New module.
46946         * m4/lseek.m4: New file.
46947         * lib/lseek.c: New file.
46948         * modules/lseek-tests: New file.
46949         * tests/test-lseek.c: New file.
46950         * tests/test-lseek.sh: New file.
46951         * MODULES.html.sh: Document lseek module.
46952         * modules/fflush (Depends-on): Add lseek, fseeko.
46953         * modules/fseeko (Depends-on): Likewise.
46954         * modules/ftello (Depends-on): Likewise.
46955         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
46956         broken.
46957         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
46958         broken.
46959         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
46960         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
46961         * lib/ftello.c (rpl_ftello): Likewise.
46962         * tests/test-fseeko.c (main): Test this.
46963         * tests/test-fseeko.sh: Likewise.
46964         * tests/test-ftello.c (main): Likewise.
46965         * tests/test-ftello.sh: Likewise.
46966         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
46967         implies replacing fseek.
46968         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
46969         HAVE_FTELLO.
46970         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
46971         * modules/unistd (Makefile.am): Likewise.
46972         * lib/unistd_.h (lseek): Declare a replacement.
46973         * doc/functions/lseek.texi (lseek): Document this fix.
46974         * doc/functions/fseek.texi (fseek): Likewise.
46975         * doc/functions/ftell.texi (ftell): Likewise.
46976
46977 2007-05-24  Bruno Haible  <bruno@clisp.org>
46978
46979         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
46980         in the printed representation of a NaN.
46981         * tests/test-vasprintf-posix.c (test_function): Likewise.
46982         * tests/test-snprintf-posix.h (test_function): Likewise.
46983         * tests/test-sprintf-posix.h (test_function): Likewise.
46984         Reported by Eric Blake.
46985
46986 2007-05-23  Eric Blake  <ebb9@byu.net>
46987
46988         Fix fseeko/ftello on cygwin 1.5.24.
46989         * doc/functions/fseeko.texi (fseeko): Document the fix.
46990         * doc/functions/ftello.texi (ftello): Document the fix.
46991         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
46992         * doc/functions/stdout.text (stdout): New file.
46993         * doc/functions/stderr.text (stderr): New file.
46994         * doc/gnulib.texi (Function Substitutes): Use new files.
46995         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
46996         prior to 1.7.0.
46997         * tests/test-ftello.c (main): Likewise for ftello.
46998         * tests/test-fseeko.sh: New file.
46999         * tests/test-ftello.sh: New file.
47000         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
47001         with seekable stdin.
47002         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
47003         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
47004         (gl_REPLACE_FSEEKO): New macro.
47005         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
47006         * modules/fseeko (Files): Distribute fseeko.c.
47007         * modules/ftello (Files): Distribute ftello.c.
47008         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
47009         mode.
47010         * lib/ftello.c (rpl_ftello): New file.
47011         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
47012         fseeko, ftello.
47013         (gl_STDIN_LARGE_OFFSET): New macro.
47014         * modules/stdio (Makefile.am): Perform the replacement.
47015         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
47016
47017 2007-05-23  Bruno Haible  <bruno@clisp.org>
47018
47019         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
47020         GNULIB_POSIXCHECK is defined.
47021
47022 2007-05-21  Bruno Haible  <bruno@clisp.org>
47023
47024         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
47025         Check also the output for NaN arguments. When cross-compiling, guess
47026         no on IRIX.
47027         * lib/vasnprintf.c: Update comments.
47028         * tests/test-vasnprintf-posix.c (strisnan): New function.
47029         (test_function): Use it.
47030         * tests/test-vasprintf-posix.c (strisnan): New function.
47031         (test_function): Use it.
47032         * tests/test-snprintf-posix.h (strisnan): New function.
47033         (test_function): Use it.
47034         * tests/test-sprintf-posix.h (strisnan): New function.
47035         (test_function): Use it.
47036         Reported by Eric Blake.
47037
47038 2007-05-20  Bruno Haible  <bruno@clisp.org>
47039
47040         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
47041         numbers that fails on BeOS.
47042         * doc/functions/frexpl.texi: Update.
47043
47044 2007-05-20  Jim Meyering  <jim@meyering.net>
47045
47046         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
47047         forced upon us by glibc-2.6.
47048
47049 2007-05-20  Bruno Haible  <bruno@clisp.org>
47050
47051         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
47052         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
47053         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
47054         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
47055         NEED_PRINTF_INFINITE.
47056         (is_infinitel): New function.
47057         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
47058         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
47059         gl_PREREQ_VASNPRINTF_INFINITE.
47060         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
47061         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
47062         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
47063         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
47064         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
47065         gl_PREREQ_VASNPRINTF_INFINITE.
47066         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
47067         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47068         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47069         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47070         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47071         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47072         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47073         * doc/functions/fprintf.texi: Update.
47074         * doc/functions/printf.texi: Update.
47075         * doc/functions/snprintf.texi: Update.
47076         * doc/functions/sprintf.texi: Update.
47077         * doc/functions/vfprintf.texi: Update.
47078         * doc/functions/vprintf.texi: Update.
47079         * doc/functions/vsnprintf.texi: Update.
47080         * doc/functions/vsprintf.texi: Update.
47081
47082 2007-05-20  Bruno Haible  <bruno@clisp.org>
47083
47084         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
47085         was not found in libc.
47086         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
47087
47088 2007-05-20  Bruno Haible  <bruno@clisp.org>
47089
47090         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
47091         printed as "-nan" instead of "nan".
47092         * tests/test-vasprintf-posix.c (test_function): Likewise.
47093         * tests/test-snprintf-posix.h (test_function): Likewise.
47094         * tests/test-sprintf-posix.h (test_function): Likewise.
47095         Needed for HP-UX 11.
47096
47097 2007-05-20  Jim Meyering  <jim@meyering.net>
47098
47099         Fix buggy test for the fchownat-deref bug.
47100         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
47101         symlink required for the run-test.  Without it, this test would
47102         always declare that fchownat doesn't work, and client code would
47103         unnecessarily use the replacement function with fixed libc.
47104         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
47105         Reported by Greg Schafer.
47106
47107 2007-05-19  Bruno Haible  <bruno@clisp.org>
47108
47109         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
47110         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
47111         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
47112         Needed for IRIX 6.5 and Solaris 2.5.1.
47113
47114 2007-05-19  Bruno Haible  <bruno@clisp.org>
47115
47116         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
47117         (test_function): Skip tests involving -0.0 on platforms where
47118         -0.0 = 0.0.
47119         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
47120         (test_function): Skip tests involving -0.0 on platforms where
47121         -0.0 = 0.0.
47122         * tests/test-snprintf-posix.h (have_minus_zero): New function.
47123         (test_function): Skip tests involving -0.0 on platforms where
47124         -0.0 = 0.0.
47125         * tests/test-sprintf-posix.h (have_minus_zero): New function.
47126         (test_function): Skip tests involving -0.0 on platforms where
47127         -0.0 = 0.0.
47128         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
47129         tests.
47130         * tests/test-printf-posix.h (test_function): Likewise.
47131         * tests/test-printf-posix.output: Remove all -0.0 related results.
47132         Needed for IRIX 6.5.
47133
47134 2007-05-19  Bruno Haible  <bruno@clisp.org>
47135
47136         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
47137         printed as "nan0x7fffffff" instead of "nan".
47138         * tests/test-vasprintf-posix.c (test_function): Likewise.
47139         * tests/test-snprintf-posix.h (test_function): Likewise.
47140         * tests/test-sprintf-posix.h (test_function): Likewise.
47141         * tests/test-fprintf-posix.h (NaN): Remove macro.
47142         (test_function): Remove all NaN related tests.
47143         * tests/test-printf-posix.h (NaN): Remove macro.
47144         (test_function): Remove all NaN related tests.
47145         * tests/test-printf-posix.output: Remove all NaN related results.
47146         Needed for IRIX 6.5.
47147
47148 2007-05-19  Bruno Haible  <bruno@clisp.org>
47149
47150         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
47151         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
47152
47153 2007-05-19  Bruno Haible  <bruno@clisp.org>
47154
47155         * lib/float_.h: New file.
47156         * m4/float_h.m4: New file.
47157         * modules/float: New file.
47158         * modules/isnanl (Dependencies): Add float.
47159         * modules/isnanl-nolibm (Dependencies): Likewise.
47160         * modules/mathl (Dependencies): Likewise.
47161         * modules/printf-frexpl (Dependencies): Likewise.
47162         * modules/signbit (Dependencies): Likewise.
47163         * modules/vasnprintf (Dependencies): Likewise.
47164         * doc/headers/float.texi: Update.
47165
47166 2007-05-19  Jim Meyering  <jim@meyering.net>
47167
47168         * lib/utimens.c (gl_futimens): Rename from futimens,
47169         now that glibc-2.6 declares futimens.
47170         * lib/utimens.h: Likewise.
47171
47172 2007-05-19  Bruno Haible  <bruno@clisp.org>
47173
47174         Avoid test failures on mingw.
47175         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
47176         * tests/test-printf-posix.sh: Likewise.
47177         * tests/test-vfprintf-posix.sh: Likewise.
47178         * tests/test-vprintf-posix.sh: Likewise.
47179
47180 2007-05-19  Bruno Haible  <bruno@clisp.org>
47181
47182         Fix *printf result for NaN, Inf, -0.0 on mingw.
47183         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
47184         * lib/vasnprintf.c: Include math.h and isnan.h.
47185         (is_infinite_or_zero): New function.
47186         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
47187         values in the %f, %F, %e, %E, %g, %G directives.
47188         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
47189         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
47190         gl_PRINTF_INFINITE and test its result. Invoke
47191         gl_PREREQ_VASNPRINTF_INFINITE.
47192         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
47193         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47194         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47195         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47196         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47197         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47198         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47199         * doc/functions/fprintf.texi: Update.
47200         * doc/functions/printf.texi: Update.
47201         * doc/functions/snprintf.texi: Update.
47202         * doc/functions/sprintf.texi: Update.
47203         * doc/functions/vfprintf.texi: Update.
47204         * doc/functions/vprintf.texi: Update.
47205         * doc/functions/vsnprintf.texi: Update.
47206         * doc/functions/vsprintf.texi: Update.
47207
47208 2007-05-19  Bruno Haible  <bruno@clisp.org>
47209
47210         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
47211         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
47212         Instead of multiplying with 10^k, set extra_zeroes to k.
47213         (scale10_round_long_double): Remove function.
47214
47215 2007-05-18  Bruno Haible  <bruno@clisp.org>
47216
47217         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
47218         introduced on 2007-05-06.
47219
47220 2007-05-18  Bruno Haible  <bruno@clisp.org>
47221
47222         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
47223         %g directives.
47224         * tests/test-vasprintf-posix.c (test_function): Likewise.
47225         * tests/test-snprintf-posix.h (test_function): Likewise.
47226         * tests/test-sprintf-posix.h (test_function): Likewise.
47227
47228 2007-05-18  Bruno Haible  <bruno@clisp.org>
47229
47230         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
47231         (strmatch): New function.
47232         (test_function): Test the %f directive on numbers of various exponents.
47233         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
47234         (strmatch): New function.
47235         (test_function): Test the %f directive on numbers of various exponents.
47236         * tests/test-snprintf-posix.h (strmatch): New function.
47237         (test_function): Test the %f directive on numbers of various exponents.
47238         * tests/test-sprintf-posix.h (strmatch): New function.
47239         (test_function): Test the %f directive on numbers of various exponents.
47240         * tests/test-snprintf-posix.c (SIZEOF): New macro.
47241         * tests/test-sprintf-posix.c (SIZEOF): New macro.
47242         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
47243         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
47244
47245 2007-05-18  Bruno Haible  <bruno@clisp.org>
47246
47247         Add support for 'long double' number output.
47248         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
47249         * lib/vasnprintf.c: Include math.h and float+.h.
47250         (mp_limb_t): New type.
47251         (GMP_LIMB_BITS): New macro.
47252         (mp_twolimb_t): New type.
47253         (GMP_TWOLIMB_BITS): New macro.
47254         (mpn_t): New type.
47255         (multiply, divide, convert_to_decimal, decode_long_double,
47256         scale10_round_long_double, scale10_round_decimal_long_double,
47257         floorlog10l): New functions.
47258         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
47259         for the %f, %F, %e, %E, %g, %G directives.
47260         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
47261         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
47262         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
47263         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
47264         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
47265         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47266         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47267         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47268         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47269         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47270         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47271         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
47272         * modules/snprintf-posix (Depends-on): Likewise.
47273         * modules/sprintf-posix (Depends-on): Likewise.
47274         * modules/vasnprintf-posix (Depends-on): Likewise.
47275         * modules/vasprintf-posix (Depends-on): Likewise.
47276         * modules/vfprintf-posix (Depends-on): Likewise.
47277         * modules/vsnprintf-posix (Depends-on): Likewise.
47278         * modules/vsprintf-posix (Depends-on): Likewise.
47279         * modules/vasnprintf (Files): Add lib/float+.h.
47280         * doc/functions/fprintf.texi: Update.
47281         * doc/functions/printf.texi: Update.
47282         * doc/functions/snprintf.texi: Update.
47283         * doc/functions/sprintf.texi: Update.
47284         * doc/functions/vfprintf.texi: Update.
47285         * doc/functions/vprintf.texi: Update.
47286         * doc/functions/vsnprintf.texi: Update.
47287         * doc/functions/vsprintf.texi: Update.
47288
47289 2007-05-18  Bruno Haible  <bruno@clisp.org>
47290
47291         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
47292
47293 2007-05-18  Bruno Haible  <bruno@clisp.org>
47294
47295         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
47296         for printing 64-bit integers. Needed for mingw.
47297
47298 2007-05-18  Bruno Haible  <bruno@clisp.org>
47299
47300         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
47301         gl_FUNC_FREXPL_WORKS.
47302         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
47303
47304 2007-05-18  Bruno Haible  <bruno@clisp.org>
47305
47306         * modules/frexpl-nolibm-tests: New file.
47307
47308         * modules/frexpl-nolibm: New file.
47309         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
47310
47311 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
47312
47313         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
47314         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
47315         GCC 4.2, which otherwise issues a lot of warnings.
47316         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
47317         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
47318         Likewise.
47319         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
47320         * modules/iconv_open (iconv.h): Likewise.
47321         * modules/locale (locale.h): Likewise.
47322         * modules/netinet_in (netinet/in.h): Likewise.
47323         * modules/sys_select (sys_select.h): Likewise.
47324         * modules/sys_socket (sys/socket.h): Likewise.
47325         * modules/sys_stat (sys/stat.h): Likewise.
47326         * modules/sysexits (sysexits.h): Likewise.
47327         * modules/unistd (unistd.h): Likewise.
47328
47329 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47330
47331         * modules/closein-tests (Makefile.am): Distribute
47332         `test-closein.sh'.
47333
47334 2007-05-17  Bruno Haible  <bruno@clisp.org>
47335
47336         * tests/test-printf-posix.output: Renamed from
47337         tests/test-fprintf-posix.out.
47338         * modules/fprintf-posix-tests: Update.
47339         * modules/printf-posix-tests: Update.
47340         * modules/vfprintf-posix-tests: Update.
47341         * modules/vprintf-posix-tests: Update.
47342         * tests/test-fprintf-posix.sh: Update.
47343         * tests/test-printf-posix.sh: Update.
47344         * tests/test-vfprintf-posix.sh: Update.
47345         * tests/test-vprintf-posix.sh: Update.
47346         Reported by Ralf Wildenhues.
47347
47348 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
47349
47350         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
47351         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
47352         GCC 4.2, which otherwise issues a lot of warnings.
47353         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
47354         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
47355         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
47356         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
47357         it should no longer be needed.
47358         * lib/string_.h: Likewise.
47359         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
47360         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
47361         * modules/inttypes (inttypes.h): Likewise.
47362         * modules/math (math.h): Likewise.
47363         * modules/search (search.h): Likewise.
47364         * modules/signal (signal.h): Likewise.
47365         * modules/stdint (stdint.h): Likewise.
47366         * modules/stdio (stdio.h): Likewise.
47367         * modules/stdlib (stdlib.h): Likewise.
47368         * modules/string (string.h): Likewise.
47369         * modules/sys_time (sys/time.h): Likewise.
47370         * modules/time (time.h): Likewise.
47371         * modules/wchar (wchar.h): Likewise.
47372         * modules/wctype (wtype.h): Likewise.
47373
47374 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
47375
47376         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
47377
47378 2007-05-13  Bruno Haible  <bruno@clisp.org>
47379
47380         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
47381         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
47382         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
47383         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
47384         (gl_PREREQ_STRTOK_R): Don't require it here.
47385
47386 2007-05-13  Bruno Haible  <bruno@clisp.org>
47387
47388         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
47389         when used in C++ mode.
47390
47391 2007-05-12  Bruno Haible  <bruno@clisp.org>
47392
47393         * lib/linebuffer.h: Tweak doc.
47394         * lib/linebuffer.c: Likewise.
47395
47396 2007-05-12  James Youngman  <jay@gnu.org>
47397
47398         * lib/linebuffer.c (readlinebuffer_delim): New function,
47399         like readlinebuffer, but use a caller-specified delimiter.
47400         (readlinebuffer): Just call readlinebuffer_delim with '\n'
47401         as the delimiter.
47402         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
47403
47404 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
47405
47406         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
47407         * modules/openat (Files): Remove openat-die.c.
47408         (Depends-on): Add openat-die.
47409         * modules/openat-die: New module.
47410
47411 2007-05-06  Bruno Haible  <bruno@clisp.org>
47412
47413         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
47414         Update with info about Cygwin.
47415         * doc/functions/fprintf.texi: Update.
47416         * doc/functions/printf.texi: Update.
47417         * doc/functions/snprintf.texi: Update.
47418         * doc/functions/sprintf.texi: Update.
47419         * doc/functions/vfprintf.texi: Update.
47420         * doc/functions/vprintf.texi: Update.
47421         * doc/functions/vsnprintf.texi: Update.
47422         * doc/functions/vsprintf.texi: Update.
47423         Reported by Eric Blake.
47424
47425 2007-05-06  Bruno Haible  <bruno@clisp.org>
47426
47427         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
47428         padding ourselves for the floating-point directives.
47429         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
47430         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
47431         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
47432         gl_PRINTF_FLAG_ZERO and test its result. Invoke
47433         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
47434         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47435         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
47436         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47437         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47438         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47439         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47440         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47441         * tests/test-snprintf-posix.h (test_function): Also check the width
47442         and some flags in the %f directive.
47443         * tests/test-sprintf-posix.h (test_function): Likewise.
47444         * tests/test-vasnprintf-posix.c (test_function): Likewise.
47445         * tests/test-vasprintf-posix.c (test_function): Likewise.
47446         * doc/functions/fprintf.texi: Update.
47447         * doc/functions/printf.texi: Update.
47448         * doc/functions/snprintf.texi: Update.
47449         * doc/functions/sprintf.texi: Update.
47450         * doc/functions/vfprintf.texi: Update.
47451         * doc/functions/vprintf.texi: Update.
47452         * doc/functions/vsnprintf.texi: Update.
47453         * doc/functions/vsprintf.texi: Update.
47454
47455 2007-05-06  Bruno Haible  <bruno@clisp.org>
47456
47457         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
47458         pass the ' flag character to sprintf or snprintf.
47459         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
47460         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
47461         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
47462         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
47463         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
47464         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47465         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
47466         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47467         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47468         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47469         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47470         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47471         * tests/test-snprintf-posix.h (test_function): Also check the grouping
47472         flag.
47473         * tests/test-sprintf-posix.h (test_function): Likewise.
47474         * tests/test-vasnprintf-posix.c (test_function): Likewise.
47475         * tests/test-vasprintf-posix.c (test_function): Likewise.
47476         * doc/functions/fprintf.texi: Update.
47477         * doc/functions/printf.texi: Update.
47478         * doc/functions/snprintf.texi: Update.
47479         * doc/functions/sprintf.texi: Update.
47480         * doc/functions/vfprintf.texi: Update.
47481         * doc/functions/vprintf.texi: Update.
47482         * doc/functions/vsnprintf.texi: Update.
47483         * doc/functions/vsprintf.texi: Update.
47484
47485 2007-05-01  Bruno Haible  <bruno@clisp.org>
47486
47487         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
47488
47489 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
47490
47491         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
47492         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
47493
47494 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
47495
47496         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
47497         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
47498         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
47499
47500 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
47501
47502         * lib/argp-help.c (struct hol_entry): New member `ord'.
47503         (HOL_ENTRY_PTRCMP): Use ord for comparison
47504         (hol_sort): Initialize ord.
47505
47506 2007-05-01  Bruno Haible  <bruno@clisp.org>
47507
47508         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
47509         Reported by Eric Blake.
47510         * doc/gnulib.texi (Function Substitutes): Update.
47511
47512 2007-05-01  Bruno Haible  <bruno@clisp.org>
47513
47514         * doc/functions.texi: Remove file, now redundant through
47515         doc/functions/*.texi.
47516
47517 2007-05-01  Bruno Haible  <bruno@clisp.org>
47518
47519         * modules/argp (Depends-on): Add sleep.
47520
47521 2007-05-01  Bruno Haible  <bruno@clisp.org>
47522
47523         * modules/sleep-tests: New file.
47524         * tests/test-sleep.c: New file.
47525
47526         * modules/sleep: New file.
47527         * lib/sleep.c: New file.
47528         * m4/sleep.m4: New file.
47529         * lib/unistd_.h (sleep): New declaration.
47530         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
47531         HAVE_SLEEP.
47532         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
47533         * doc/functions/sleep.texi: Document the sleep module.
47534
47535 2007-05-01  Bruno Haible  <bruno@clisp.org>
47536
47537         * lib/sigprocmask.h: Remove file.
47538         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
47539         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
47540         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
47541         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
47542         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
47543         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
47544         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
47545         HAVE_SIGSET_T as a shell variable.
47546         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
47547         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
47548         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
47549         (Depends-on): Add signal. Remove verify.
47550         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
47551         (Include): Mention <signal.h> instead of sigprocmask.h.
47552         * NEWS: Mention the change.
47553         * lib/fatal-signal.c: Don't include sigprocmask.h.
47554
47555 2007-05-01  Bruno Haible  <bruno@clisp.org>
47556
47557         * modules/signal: New file.
47558         * lib/signal_.h: New file.
47559         * m4/signal_h.m4: New file.
47560
47561 2007-05-01  Bruno Haible  <bruno@clisp.org>
47562
47563         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
47564         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
47565         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
47566         HAVE_WCTYPE_CTMP_BUG into wctype.h.
47567
47568 2007-05-01  Bruno Haible  <bruno@clisp.org>
47569
47570         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
47571         configure time.
47572         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
47573         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
47574         * modules/sys_stat (Makefile.am): Substitute their values into
47575         sys/stat.h.
47576
47577 2007-05-01  Bruno Haible  <bruno@clisp.org>
47578
47579         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
47580         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
47581         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
47582
47583 2007-05-01  Bruno Haible  <bruno@clisp.org>
47584
47585         * doc/header/assert.texi: Undo last change: don't mention the gnulib
47586         'assert' module here.
47587
47588 2007-05-01  Bruno Haible  <bruno@clisp.org>
47589
47590         * doc/functions/*.texi: New files.
47591         * doc/functions/google-ranking.txt: New file.
47592         * doc/gnulib.texi (Function Substitutes): New chapter.
47593         (ctime, inet_ntoa): Remove sections.
47594         * doc/ctime.texi: Remove file.
47595         * doc/inet_ntoa.texi: Remove file.
47596         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
47597         dependencies.
47598         (%.info): New rule, specifying a --reference-limit.
47599
47600 2007-05-01  Bruno Haible  <bruno@clisp.org>
47601
47602         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
47603
47604 2007-05-01  Bruno Haible  <bruno@clisp.org>
47605
47606         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
47607         the portability of 'mkdir' to mingw systems.
47608
47609 2007-05-01  Bruno Haible  <bruno@clisp.org>
47610
47611         * doc/headers/google-ranking.txt: New file.
47612
47613 2007-04-30  Eric Blake  <ebb9@byu.net>
47614
47615         Prefer fseeko to fseek.
47616         * modules/getpass (Depends-on): Add fseeko.
47617         * lib/getpass.c (getpass): Use fseeko, not fseek.
47618
47619 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
47620
47621         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
47622         assumes the sorting is stable, while most qsort implementations
47623         are not.  Use argument addresses to ensure they never compare as
47624         equal.
47625
47626         * tests/test-argp-2.sh (usage-indent test): Fix output
47627         (func_compare): Restore diff options
47628         * tests/test-argp.c: Restore #include "progname.h"
47629
47630 2007-04-29  Bruno Haible  <bruno@clisp.org>
47631
47632         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
47633         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
47634         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
47635         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47636         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
47637         (configure.ac): Define CHECK_SNPRINTF_POSIX.
47638         (TESTS, check_PROGRAMS): Add test-snprintf.
47639         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
47640         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
47641         (TESTS, check_PROGRAMS): Add test-vsnprintf.
47642         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
47643         assertions that fail on HP-UX, OSF/1, or IRIX.
47644         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
47645
47646 2007-04-29  Bruno Haible  <bruno@clisp.org>
47647
47648         * MODULES.html.sh (posix_functions): Remove 'contents'.
47649
47650 2007-04-29  Karl Berry  <karl@gnu.org>
47651
47652         * config/srclist.txt (gendocs_template_min): new entry.
47653
47654 2007-04-29  Bruno Haible  <bruno@clisp.org>
47655
47656         Work around fpurge bug on BSD systems.
47657         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
47658         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
47659         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
47660         fpurge to rpl_fpurge if the system already has this function.
47661         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
47662         the case where the system already has this function. Correct invariants
47663         on BSD systems.
47664         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
47665         BSD systems.
47666
47667 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
47668
47669         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
47670         proposed by Sven Verdoolaege.
47671
47672         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
47673         options.
47674         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
47675         (usage and help tests): Update
47676
47677 2007-04-29  Bruno Haible  <bruno@clisp.org>
47678
47679         * tests/test-fflush.c (main): Use a file of size 17, not 10.
47680         Print more information in case of failure. Disable a test on BeOS.
47681
47682 2007-04-29  Bruno Haible  <bruno@clisp.org>
47683
47684         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
47685         This helps debugging on systems on which no gdb is available.
47686
47687 2007-04-29  Bruno Haible  <bruno@clisp.org>
47688
47689         * lib/freading.h: Improve comments.
47690         * lib/fwriting.h: Likewise.
47691         * tests/test-freading.c (main): Don't check freading immediately after
47692         repositioning. Needed for glibc.
47693
47694 2007-04-29  Bruno Haible  <bruno@clisp.org>
47695
47696         * lib/freading.c (freading): Trivial simplification.
47697
47698 2007-04-28  Bruno Haible  <bruno@clisp.org>
47699
47700         * tests/test-fwriting.c (main): Also test the interaction between
47701         fflush and fwriting.
47702         * modules/fwriting-tests (Depends-on): Add fflush.
47703
47704         * tests/test-freading.c (main): Also test the interaction between
47705         fflush and freading.
47706         * modules/freading-tests (Depends-on): Add fflush.
47707
47708 2007-04-28  Bruno Haible  <bruno@clisp.org>
47709
47710         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
47711         fseeko and ftello.
47712         Suggested by Eric Blake.
47713
47714 2007-04-28  Jim Meyering  <jim@meyering.net>
47715
47716         Avoid false-negative in gl_STDINT_H's C99 conformance test.
47717         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
47718         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
47719
47720 2007-04-27  Eric Blake  <ebb9@byu.net>
47721
47722         * doc/headers/assert.texi (assert.h): Document assert module use.
47723
47724 2007-04-27  Bruno Haible  <bruno@clisp.org>
47725
47726         * doc/headers/*.texi: New files.
47727         * doc/gnulib.texi (Header File Substitutes): New chapter.
47728         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
47729         dependencies.
47730         (standards.info ,standards.html, standards.dvi): Update dependencies.
47731         (mostlyclean, clean): New targets.
47732
47733 2007-04-27  Bruno Haible  <bruno@clisp.org>
47734
47735         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
47736         * modules/sysexits (Files, Makefile.am): Update.
47737
47738         * lib/sys_socket_.h: Renamed from lib/socket_.h.
47739         * modules/sys_socket (Files, Makefile.am): Update.
47740
47741         * lib/sys_stat_.h: Renamed from lib/stat_.h.
47742         * modules/sys_stat (Files, Makefile.am): Update.
47743
47744 2007-04-27  Eric Blake  <ebb9@byu.net>
47745
47746         * lib/freading.h: Improve comments.
47747         * lib/fwriting.h: Likewise.
47748         * lib/fflush.c: Likewise.
47749
47750         Fix closein for mingw.
47751         * modules/closein-tests: Add tests for closein.
47752         * tests/test-closein.c: New file.
47753         * tests/test-closein.sh: Likewise.
47754         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
47755         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
47756
47757 2007-04-27  Bruno Haible  <bruno@clisp.org>
47758
47759         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
47760         version is < 6.
47761         * lib/math_.h [__DECC]: Likewise.
47762         * lib/stdio_.h [__DECC]: Likewise.
47763         * lib/stdlib_.h [__DECC]: Likewise.
47764         * lib/string_.h [__DECC]: Likewise.
47765         * lib/time_.h [__DECC]: Likewise.
47766         * lib/wchar_.h [__DECC]: Likewise.
47767         * lib/wctype_.h [__DECC]: Likewise.
47768
47769 2007-04-27  Bruno Haible  <bruno@clisp.org>
47770
47771         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
47772
47773 2007-04-27  Bruno Haible  <bruno@clisp.org>
47774
47775         * lib/fflush.c: Add comments.
47776         * modules/fpurge-tests (Depends-on): Add fflush.
47777         * modules/freadable-tests (Depends-on): Likewise.
47778         * modules/fwritable-tests (Depends-on): Likewise.
47779
47780 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
47781
47782         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
47783         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
47784         Report by Bruno Haible <bruno@clisp.org>.
47785
47786 2007-04-26  Eric Blake  <ebb9@byu.net>
47787
47788         Fix fflush on mingw.
47789         * modules/fflush (Depends-on): Add freading.
47790         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
47791         but unread data.
47792
47793 2007-04-26  Eric Blake  <ebb9@byu.net>
47794         and Bruno Haible  <bruno@clisp.org>
47795
47796         Implement freading and fwriting.
47797         * lib/freading.c: New file.
47798         * lib/freading.h: Likewise.
47799         * m4/freading.m4: Likewise.
47800         * modules/freading: Likewise.
47801         * modules/freading-tests: Likewise.
47802         * tests/test-freading.c: Likewise.
47803         * lib/fwriting.c: New file.
47804         * lib/fwriting.h: Likewise.
47805         * m4/fwriting.m4: Likewise.
47806         * modules/fwriting: Likewise.
47807         * modules/fwriting-tests: Likewise.
47808         * tests/test-fwriting.c: Likewise.
47809         * MODULES.html.sh (File stream based Input/Output): Mention them.
47810
47811 2007-04-26  Bruno Haible  <bruno@clisp.org>
47812
47813         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
47814         'long' when we assume it.
47815         Suggested by Eric Blake.
47816
47817 2007-04-26  Bruno Haible  <bruno@clisp.org>
47818
47819         Ensure fseeko, ftello are declared on glibc systems.
47820         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
47821         * modules/fseeko (configure.ac-early): Likewise.
47822         * modules/ftello (configure.ac-early): Likewise.
47823         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
47824         AC_FUNC_FSEEKO for this.
47825         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
47826         (gl_CHECK_FSEEKO): Remove macro.
47827
47828 2007-04-26  Bruno Haible  <bruno@clisp.org>
47829
47830         * tests/test-fflush.c (main): Also check the ftell result after
47831         fflush and fseek/fseeko.
47832         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
47833         file descriptor position cache in the stream.
47834         * lib/fseeko.c (rpl_fseeko): Likewise.
47835
47836 2007-04-26  Bruno Haible  <bruno@clisp.org>
47837
47838         * modules/fflush-tests (Depends-on): Add fseeko.
47839
47840 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
47841             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47842
47843         * lib/argz_.h: ensure error_t definition is obtained in same
47844         mechanism system argz.h would have.
47845         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
47846         argz facilities are known bad.  Err on the side of caution if
47847         cross-compiling.
47848
47849 2007-04-25  Eric Blake  <ebb9@byu.net>
47850
47851         * lib/fpurge.c (includes): Use stdlib.h for free.
47852         * tests/test-fflush.c (main): Also test fflush-fseeko.
47853
47854 2007-04-25  Bruno Haible  <bruno@clisp.org>
47855
47856         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
47857         * lib/fseeko.c: New file.
47858         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
47859         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
47860         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
47861         gl_FUNC_FSEEKO.
47862         (gl_FUNC_FSEEKO): Invoke it.
47863         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
47864         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
47865         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
47866
47867 2007-04-25  Bruno Haible  <bruno@clisp.org>
47868
47869         * modules/fflush (Depends-on): Add ftello.
47870
47871 2007-04-25  Bruno Haible  <bruno@clisp.org>
47872
47873         * modules/ftello-tests: New file.
47874         * tests/test-ftello.c: New file.
47875
47876         * modules/ftello: New file.
47877         * m4/ftello.m4: New file.
47878         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
47879         HAVE_FTELLO.
47880         * lib/stdio_.h (ftello): New declaration.
47881         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
47882         HAVE_FTELLO.
47883
47884 2007-04-25  Bruno Haible  <bruno@clisp.org>
47885
47886         * modules/fseeko-tests: New file.
47887         * tests/test-fseeko.c: New file.
47888
47889         * modules/fseeko: New file.
47890         * m4/fseeko.m4: New file.
47891         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
47892         HAVE_FSEEKO.
47893         * lib/stdio_.h (fseeko): New declaration.
47894         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
47895         HAVE_FSEEKO.
47896
47897 2007-04-25  Bruno Haible  <bruno@clisp.org>
47898
47899         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
47900
47901 2007-04-25  Bruno Haible  <bruno@clisp.org>
47902
47903         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
47904         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
47905         * tests/test-unistd.c: Likewise.
47906         * tests/test-fcntl.c: Likewise.
47907
47908 2007-04-23  Eric Blake  <ebb9@byu.net>
47909
47910         * lib/fflush.c: Fix missing include.
47911         Reported by Bruno Haible.
47912
47913 2007-04-23  Bruno Haible  <bruno@clisp.org>
47914
47915         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
47916         Reported by Eric Blake.
47917
47918 2007-04-23  Bruno Haible  <bruno@clisp.org>
47919
47920         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
47921
47922 2007-04-23  Bruno Haible  <bruno@clisp.org>
47923
47924         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
47925
47926 2007-04-23  Bruno Haible  <bruno@clisp.org>
47927
47928         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
47929         Needed on HP-UX 11.
47930
47931 2007-04-16  Eric Blake  <ebb9@byu.net>
47932
47933         Make fflush rely on fpurge.
47934         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
47935         open coding all variants.
47936         * modules/fflush (Depends-on): Add fpurge and unistd.
47937         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
47938         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
47939
47940         Fix --with-tests compilation on cygwin.
47941         * modules/argmatch-tests (Makefile.am): List gnulib library first
47942         in LDADD.
47943         * modules/argp-tests (Makefile.am): Likewise.
47944         * modules/array-list-tests (Makefile.am): Likewise.
47945         * modules/array-oset-tests (Makefile.am): Likewise.
47946         * modules/avltree-list-tests (Makefile.am): Likewise.
47947         * modules/avltree-oset-tests (Makefile.am): Likewise.
47948         * modules/avltreehash-list-tests (Makefile.am): Likewise.
47949         * modules/carray-list-tests (Makefile.am): Likewise.
47950         * modules/dirname-tests (Makefile.am): Likewise.
47951         * modules/frexp-tests (Makefile.am): Likewise.
47952         * modules/isnanl-tests (Makefile.am): Likewise.
47953         * modules/linked-list-tests (Makefile.am): Likewise.
47954         * modules/linkedhash-list-tests (Makefile.am): Likewise.
47955         * modules/lock-tests (Makefile.am): Likewise.
47956         * modules/rbtree-list-tests (Makefile.am): Likewise.
47957         * modules/rbtree-oset-tests (Makefile.am): Likewise.
47958         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
47959         * modules/tls-tests (Makefile.am): Likewise.
47960         * modules/tsearch-tests (Makefile.am): Likewise.
47961         * modules/xvasprintf-tests (Makefile.am): Likewise.
47962
47963         Fix fpurge for cygwin.
47964         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
47965         value.
47966         * modules/fpurge-tests (Depends-on): Clean up trash.
47967
47968 2007-04-16  Simon Josefsson  <simon@josefsson.org>
47969
47970         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
47971
47972         * m4/autobuild.m4: Re-indent.
47973
47974 2007-04-13  Bruno Haible  <bruno@clisp.org>
47975
47976         * modules/fpurge-tests: New file.
47977         * tests/test-fpurge.c: New file.
47978
47979         * modules/fpurge: New file.
47980         * lib/fpurge.h: New file.
47981         * lib/fpurge.c: New file.
47982         * m4/fpurge.m4: New file.
47983
47984 2007-04-13  Bruno Haible  <bruno@clisp.org>
47985
47986         * modules/fbufmode-tests: New file.
47987         * tests/test-fbufmode.c: New file.
47988
47989         * modules/fbufmode: New file.
47990         * lib/fbufmode.h: New file.
47991         * lib/fbufmode.c: New file.
47992         * m4/fbufmode.m4: New file.
47993
47994 2007-04-13  Bruno Haible  <bruno@clisp.org>
47995
47996         * modules/fwritable-tests: New file.
47997         * tests/test-fwritable.c: New file.
47998
47999         * modules/fwritable: New file.
48000         * lib/fwritable.h: New file.
48001         * lib/fwritable.c: New file.
48002         * m4/fwritable.m4: New file.
48003
48004 2007-04-13  Bruno Haible  <bruno@clisp.org>
48005
48006         * modules/freadable-tests: New file.
48007         * tests/test-freadable.c: New file.
48008
48009         * modules/freadable: New file.
48010         * lib/freadable.h: New file.
48011         * lib/freadable.c: New file.
48012         * m4/freadable.m4: New file.
48013
48014 2007-04-13  Bruno Haible  <bruno@clisp.org>
48015
48016         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
48017         MOSTLYCLEANFILES.
48018
48019 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
48020
48021         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
48022         gzip bootstrap.conf to avoid dragging in i18n machinery.
48023         (gnulib_tool_option): Use it.
48024
48025 2007-04-13  Bruno Haible  <bruno@clisp.org>
48026
48027         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
48028         %F directives.
48029         * tests/test-vasprintf-posix.c (test_function): Likewise.
48030         * tests/test-snprintf-posix.h (test_function): Likewise.
48031         * tests/test-sprintf-posix.h (test_function): Likewise.
48032         * tests/test-fprintf-posix.h (test_function): Likewise.
48033         * tests/test-printf-posix.h (test_function): Likewise.
48034         * tests/test-fprintf-posix.out: Likewise.
48035
48036 2007-04-13  Bruno Haible  <bruno@clisp.org>
48037
48038         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
48039         * modules/tls-tests (configure.ac): Likewise.
48040         Reported by Arto C. Nirkko <anirkko@insel.ch>.
48041
48042 2007-04-13  Bruno Haible  <bruno@clisp.org>
48043
48044         * lib/tls.c (glthread_tls_get): Fix return type.
48045         Patch by Arto C. Nirkko <anirkko@insel.ch>.
48046
48047 2007-04-12  Eric Blake  <ebb9@byu.net>
48048
48049         * modules/gettime (Depends-on): Remove gettime.
48050         Reported by Dmitry V. Levin.
48051
48052 2007-04-12  Bruno Haible  <bruno@clisp.org>
48053
48054         * modules/fflush (Include): Mention <stdio.h>.
48055         * modules/strtoimax (Include): Mention <inttypes.h>.
48056         * modules/strtoumax (Include): Likewise.
48057
48058 2007-04-12  Eric Blake  <ebb9@byu.net>
48059
48060         * .cvsignore: New file.
48061         * .gitignore: Likewise.
48062
48063 2007-04-12  Bruno Haible  <bruno@clisp.org>
48064
48065         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
48066         not before, since $(LDADD) often contains libgnu.a.
48067         * modules/striconv-tests (test_striconv_LDADD): Likewise.
48068         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
48069         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
48070         Needed on Cygwin.
48071
48072 2007-04-12  Eric Blake  <ebb9@byu.net>
48073
48074         Work around glibc's failure to flush stdin on fclose.
48075         * lib/closein.c (close_stdin): Flush stdin before closing.
48076
48077         Work around glibc's failure to reset seekable stdin on exit.
48078         * modules/closein: New module.
48079         * lib/closein.c: New file.
48080         * lib/closein.h: Likewise.
48081         * m4/closein.m4: Likewise.
48082         * MODULES.html.sh (File stream based Input/Output): Document it.
48083
48084 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48085
48086         * gnulib-tool: Rename generated 'autobuild' script to
48087         'do-autobuild' in --create-megatestdir output.
48088
48089         * doc/gnulib.texi (Build robot for gnulib): Fix.
48090
48091 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48092
48093         * modules/sysexits (Depends-on): Add absolute-header.
48094
48095 2007-04-12  Eric Blake  <ebb9@byu.net>
48096
48097         No need to preserve errno on success.
48098         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
48099         Reported by Bruno Haible.
48100
48101 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48102
48103         * MODULES.html.sh (Support for maintaining and releasing
48104         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
48105
48106 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48107
48108         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
48109
48110 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48111
48112         * modules/autobuild: New module.
48113
48114         * m4/autobuild.m4: New file.
48115
48116 2007-04-11  Bruno Haible  <bruno@clisp.org>
48117
48118         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
48119         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
48120         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
48121         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
48122         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
48123         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48124         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48125         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
48126         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48127         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48128         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
48129         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48130         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48131         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
48132         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48133         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48134         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
48135         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48136         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48137         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
48138         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48139         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48140         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
48141         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48142         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48143         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
48144         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48145         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48146         Reported by Eric Blake.
48147
48148 2007-04-11  Bruno Haible  <bruno@clisp.org>
48149
48150         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
48151
48152 2007-04-10  Bruno Haible  <bruno@clisp.org>
48153
48154         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
48155         for NaN and Infinity. Needed on FreeBSD 6.1.
48156         * tests/test-vasnprintf-posix.c (test_function): Undo last change
48157         regarding results for "%010a" of Infinity and NaN.
48158         * tests/test-vasprintf-posix.c (test_function): Likewise.
48159         * tests/test-snprintf-posix.h (test_function): Likewise.
48160         * tests/test-sprintf-posix.h (test_function): Likewise.
48161         * tests/test-fprintf-posix.h (test_function): Likewise.
48162         * tests/test-printf-posix.h (test_function): Likewise.
48163         * tests/test-fprintf-posix.out: Likewise.
48164
48165 2007-04-10  Bruno Haible  <bruno@clisp.org>
48166
48167         * modules/locale-tests: New file.
48168         * tests/test-locale.c: New file.
48169
48170         * modules/locale: New file.
48171         * lib/locale_.h: New file.
48172         * m4/locale_h.m4: New file.
48173
48174 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
48175             Bruno Haible  <bruno@clisp.org>
48176
48177         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
48178         be determined, test for availability of the copysignf, copysign,
48179         copysignl functions.
48180         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
48181         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
48182         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
48183
48184 2007-04-09  Eric Blake  <ebb9@byu.net>
48185
48186         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
48187         * modules/stdio (Makefile.am): Support fflush.
48188         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
48189         * modules/fflush: New file.
48190         * lib/fflush.c: Likewise.
48191         * m4/fflush.m4: Likewise.
48192         * modules/fflush-tests: New test.
48193         * tests/test-fflush.c: Likewise.
48194         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
48195
48196 2007-04-06  Bruno Haible  <bruno@clisp.org>
48197
48198         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
48199         (VASNPRINTF): Use signbit for faster determination whether to print a
48200         minus sign.
48201         * modules/vasnprintf (Files): Remove lib/float+.h.
48202         * modules/fprintf-posix (Depends-on): Add signbit.
48203         * modules/snprintf-posix (Depends-on): Likewise.
48204         * modules/sprintf-posix (Depends-on): Likewise.
48205         * modules/vasnprintf-posix (Depends-on): Likewise.
48206         * modules/vasprintf-posix (Depends-on): Likewise.
48207         * modules/vfprintf-posix (Depends-on): Likewise.
48208         * modules/vsnprintf-posix (Depends-on): Likewise.
48209         * modules/vsprintf-posix (Depends-on): Likewise.
48210
48211 2007-04-06  Bruno Haible  <bruno@clisp.org>
48212
48213         * tests/test-frexp.c (main): Test also the sign bit of zero results.
48214         * tests/test-frexpl.c (main): Likewise.
48215         * tests/test-ldexpl.c (main): Likewise.
48216         * modules/frexp-tests (Depends-on): Add signbit.
48217         * modules/frexpl-tests (Depdends-on): Likewise.
48218         * modules/ldexpl-tests (Depdends-on): Likewise.
48219
48220 2007-04-06  Bruno Haible  <bruno@clisp.org>
48221
48222         * modules/signbit-tests: New file.
48223         * tests/test-signbit.c: New file.
48224
48225         * modules/signbit: New file.
48226         * lib/signbitf.c: New file.
48227         * lib/signbitd.c: New file.
48228         * lib/signbitl.c: New file.
48229         * m4/signbit.m4: New file.
48230         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
48231         (signbit): New macro.
48232         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
48233         REPLACE_SIGNBIT.
48234         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
48235         REPLACE_FREXPL into math.h.
48236
48237 2007-04-06  Bruno Haible  <bruno@clisp.org>
48238
48239         * modules/isnanf-nolibm-tests: New file.
48240         * tests/test-isnanf.c: New file.
48241
48242         * modules/isnanf-nolibm: New file.
48243         * lib/isnanf.h: New file.
48244         * lib/isnanf.c: New file.
48245         * lib/isnan.c: Consider the USE_FLOAT macro.
48246         * m4/isnanf.m4: New file.
48247
48248 2007-04-06  Bruno Haible  <bruno@clisp.org>
48249
48250         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
48251         (Link): New section.
48252
48253         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
48254
48255 2007-04-06  Bruno Haible  <bruno@clisp.org>
48256
48257         Assume the 'long double' type.
48258         * m4/longdouble.m4: Remove file.
48259         * config/srclist.txt: Don't mention longdouble.m4.
48260         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
48261         * lib/float+.h: Likewise.
48262         * lib/frexp.c: Likewise.
48263         * lib/printf-args.h: Likewise.
48264         * lib/printf-args.c: Likewise.
48265         * lib/printf-frexp.c: Likewise.
48266         * lib/printf-parse.c: Likewise.
48267         * lib/vasnprintf.c: Likewise.
48268         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
48269         * m4/intl.m4: Likewise.
48270         * m4/isnanl.m4: Likewise.
48271         * m4/printf.m4: Likewise.
48272         * m4/printf-frexpl.m4: Likewise.
48273         * m4/vasnprintf.m4: Likewise.
48274         * modules/allocsa (Files): Remove m4/longdouble.m4.
48275         * modules/gettext (Files): Likewise.
48276         * modules/relocatable-prog-wrapper (Files): Likewise.
48277         * modules/vasnprintf (Files): Likewise.
48278         * modules/isnanl (Files): Likewise.
48279         (Include): Simplify.
48280         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
48281         (Include): Simplify.
48282         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
48283         (Include): Simplify.
48284         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
48285         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
48286         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
48287         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
48288         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
48289         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
48290         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
48291         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
48292         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
48293         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
48294         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
48295         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
48296         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
48297         * tests/test-isnanl.c: Likewise.
48298         * tests/test-snprintf-posix.h: Likewise.
48299         * tests/test-sprintf-posix.h: Likewise.
48300         * tests/test-vasnprintf-posix.c: Likewise.
48301         * tests/test-vasnprintf-posix2.c: Likewise.
48302         * tests/test-vasprintf-posix.c: Likewise.
48303
48304 2007-04-06  Bruno Haible  <bruno@clisp.org>
48305
48306         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
48307         * lib/math_.h [__DECC]: Include the overridden include file through
48308         #include_next, outside the double-inclusion guard.
48309         * lib/stdio_.h [__DECC]: Likewise.
48310         * lib/stdlib_.h [__DECC]: Likewise.
48311         * lib/string_.h [__DECC]: Likewise.
48312         * lib/time_.h [__DECC]: Likewise.
48313         * lib/wchar_.h [__DECC]: Likewise.
48314         * lib/wctype_.h [__DECC]: Likewise.
48315         * lib/inttypes_.h [__DECC]: Likewise.
48316         Reported by Albert Chin <china@thewrittenword.com> in
48317         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
48318
48319 2007-04-04  Eric Blake  <ebb9@byu.net>
48320
48321         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
48322         1.5.x.
48323
48324 2007-04-04  Bruno Haible  <bruno@clisp.org>
48325
48326         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
48327         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
48328
48329 2007-04-04  Bruno Haible  <bruno@clisp.org>
48330
48331         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
48332         results for "%010a" of Infinity and NaN.
48333         * tests/test-vasprintf-posix.c (test_function): Likewise.
48334         * tests/test-snprintf-posix.h (test_function): Likewise.
48335         * tests/test-sprintf-posix.h (test_function): Likewise.
48336         * tests/test-fprintf-posix.h (test_function): Remove these tests.
48337         * tests/test-printf-posix.h (test_function): Likewise.
48338         * tests/test-fprintf-posix.out: Update.
48339         Needed for FreeBSD 6.1.
48340
48341 2007-04-04  Bruno Haible  <bruno@clisp.org>
48342
48343         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
48344         directly used by the gnulib modules nor by gnulib-tool.
48345
48346 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
48347
48348         * DEPENDENCIES: Give overall description of version dependency
48349         desirability.  Use more-typical names for apps.
48350         Add shell, coreutils, diffutils, grep, tar, gzip.
48351
48352 2007-04-04  Simon Josefsson  <simon@josefsson.org>
48353
48354         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
48355
48356 2007-04-04  Karl Berry  <karl@gnu.org>
48357
48358         * MODULES.html.sh (func_module): missing '.
48359
48360 2007-04-03  Bruno Haible  <bruno@clisp.org>
48361
48362         * modules/argmatch-tests (Makefile.am): New variable
48363         test_argmatch_LDADD.
48364         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
48365         * modules/array-list-tests (Makefile.am): New variable
48366         test_array_list_LDADD.
48367         * modules/array-oset-tests (Makefile.am): New variable
48368         test_array_oset_LDADD.
48369         * modules/avltree-list-tests (Makefile.am): New variable
48370         test_avltree_list_LDADD.
48371         * modules/avltree-oset-tests (Makefile.am): New variable
48372         test_avltree_oset_LDADD.
48373         * modules/avltreehash-list-tests (Makefile.am): New variable
48374         test_avltreehash_list_LDADD.
48375         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
48376         test_canonicalize_lgpl_LDADD.
48377         * modules/carray-list-tests (Makefile.am): New variable
48378         test_carray_list_LDADD.
48379         * modules/dirname-tests (Makefile.am): New variable
48380         test_dirname_LDADD.
48381         * modules/linked-list-tests (Makefile.am): New variable
48382         test_linked_list_LDADD.
48383         * modules/linkedhash-list-tests (Makefile.am): New variable
48384         test_linkedhash_list_LDADD.
48385         * modules/rbtree-list-tests (Makefile.am): New variable
48386         test_rbtree_list_LDADD.
48387         * modules/rbtree-oset-tests (Makefile.am): New variable
48388         test_rbtree_oset_LDADD.
48389         * modules/rbtreehash-list-tests (Makefile.am): New variable
48390         test_rbtreehash_list_LDADD.
48391         * modules/xvasprintf-tests (Makefile.am): New variable
48392         test_xvasprintf_LDADD.
48393         Reported by Eric Blake.
48394
48395 2007-04-03  Eric Blake  <ebb9@byu.net>
48396
48397         * DEPENDENCIES: Weaken m4 requirements.
48398
48399 2007-04-03  Bruno Haible  <bruno@clisp.org>
48400
48401         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
48402         * modules/isnanl-tests (configure.ac): Likewise.
48403
48404 2007-04-03  Ben Pfaff  <blp@gnu.org>
48405
48406         * modules/iconv_open: Add $(srcdir)/ to source directory
48407         references in Makefile fragments that call gperf, to fix VPATH
48408         builds.
48409
48410 2007-04-03  Bruno Haible  <bruno@clisp.org>
48411
48412         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
48413         * lib/ldexpl.c: Undo last change.
48414
48415 2007-04-03  Bruno Haible  <bruno@clisp.org>
48416
48417         * modules/printf-frexpl (Depends-on): Undo last change.
48418         (Files): Add m4/ldexpl.m4.
48419
48420 2007-04-03  Bruno Haible  <bruno@clisp.org>
48421
48422         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
48423         * modules/isnanl (Link): New section.
48424
48425         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
48426         * modules/frexp (Link): New section.
48427
48428         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
48429         * modules/frexpl (Link): New section.
48430
48431         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
48432         * modules/ldexpl (Link): New section.
48433
48434 2007-04-03  Bruno Haible  <bruno@clisp.org>
48435
48436         * modules/TEMPLATE-EXTENDED: New file.
48437         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
48438
48439 2007-04-03  Bruno Haible  <bruno@clisp.org>
48440
48441         * DEPENDENCIES: New file.
48442         Suggested by Simon Josefsson.
48443
48444 2007-04-03  Bruno Haible  <bruno@clisp.org>
48445
48446         * doc/gnulib.texi: Escape @.
48447
48448 2007-04-03  James Youngman  <jay@gnu.org>
48449         and Paul Eggert  <eggert@cs.ucla.edu>
48450
48451         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
48452         birthtime on all systems that have birthtime, not just those which
48453         use st_birthtimensec rather than st_birthtim.  Putting zero in
48454         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
48455         that the birth time is not available for files on an NFS mount.
48456
48457 2007-04-03  Simon Josefsson  <simon@josefsson.org>
48458
48459         * modules/memxor: Move back from crypto/, suggested by Bruno.
48460         * modules/crypto/hmac-sha1: Fix memxor dependency.
48461
48462         * modules/crypto/gc: Moved from ../.
48463
48464 2007-04-02  Eric Blake  <ebb9@byu.net>
48465
48466         * lib/ldexpl.c (includes): Avoid libm.
48467
48468         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
48469
48470 2007-04-02  Bruno Haible  <bruno@clisp.org>
48471
48472         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
48473         on IRIX.
48474
48475 2007-04-02  Bruno Haible  <bruno@clisp.org>
48476
48477         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
48478         x86 or x86_64 platforms running MacOS X.
48479         Reported by Ryan Schmidt <@ryandesign.com>.
48480
48481 2007-04-02  Bruno Haible  <bruno@clisp.org>
48482
48483         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
48484         i386.
48485
48486 2007-04-01  Simon Josefsson  <simon@josefsson.org>
48487
48488         * modules/crypto/arcfour: Moved from ../.
48489         * modules/crypto/arcfour-tests: Moved from ../.
48490         * modules/crypto/arctwo: Moved from ../.
48491         * modules/crypto/arctwo-tests: Moved from ../.
48492         * modules/crypto/des: Moved from ../.
48493         * modules/crypto/des-tests: Moved from ../.
48494         * modules/crypto/gc-arcfour: Moved from ../.
48495         * modules/crypto/gc-arcfour-tests: Moved from ../.
48496         * modules/crypto/gc-arctwo: Moved from ../.
48497         * modules/crypto/gc-arctwo-tests: Moved from ../.
48498         * modules/crypto/gc-des: Moved from ../.
48499         * modules/crypto/gc-des-tests: Moved from ../.
48500         * modules/crypto/gc-hmac-md5: Moved from ../.
48501         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
48502         * modules/crypto/gc-hmac-sha1: Moved from ../.
48503         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
48504         * modules/crypto/gc-md2: Moved from ../.
48505         * modules/crypto/gc-md2-tests: Moved from ../.
48506         * modules/crypto/gc-md4: Moved from ../.
48507         * modules/crypto/gc-md4-tests: Moved from ../.
48508         * modules/crypto/gc-md5: Moved from ../.
48509         * modules/crypto/gc-md5-tests: Moved from ../.
48510         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
48511         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
48512         * modules/crypto/gc-random: Moved from ../.
48513         * modules/crypto/gc-rijndael: Moved from ../.
48514         * modules/crypto/gc-rijndael-tests: Moved from ../.
48515         * modules/crypto/gc-sha1: Moved from ../.
48516         * modules/crypto/gc-sha1-tests: Moved from ../.
48517         * modules/crypto/gc-tests: Moved from ../.
48518         * modules/crypto/hmac-md5: Moved from ../.
48519         * modules/crypto/hmac-md5-tests: Moved from ../.
48520         * modules/crypto/hmac-sha1: Moved from ../.
48521         * modules/crypto/hmac-sha1-tests: Moved from ../.
48522         * modules/crypto/md2: Moved from ../.
48523         * modules/crypto/md2-tests: Moved from ../.
48524         * modules/crypto/md4: Moved from ../.
48525         * modules/crypto/md4-tests: Moved from ../.
48526         * modules/crypto/md5: Moved from ../.
48527         * modules/crypto/md5-tests: Moved from ../.
48528         * modules/crypto/memxor: Moved from ../.
48529         * modules/crypto/rijndael: Moved from ../.
48530         * modules/crypto/rijndael-tests: Moved from ../.
48531         * modules/crypto/sha1: Moved from ../.
48532
48533 2007-03-30  James Youngman  <jay@gnu.org>
48534
48535         * tests/test-stat-time.c (prepare_test): use chmod() rather than
48536         rename() to change the ctime of a file (because ctime is unaffected
48537         by rename on jfs2 on AIX 5.1).
48538         (main): Start by doing cleanup, in case a previous run failed leaving
48539         test files behind.
48540
48541 2007-03-31  Bruno Haible  <bruno@clisp.org>
48542
48543         Support old proprietary implementations of iconv.
48544         * modules/iconv_open: New file.
48545         * lib/iconv_.h: New file.
48546         * m4/iconv_h.m4: New file.
48547         * lib/iconv_open.c: New file.
48548         * lib/iconv_open-aix.gperf: New file.
48549         * lib/iconv_open-hpux.gperf: New file.
48550         * lib/iconv_open-irix.gperf: New file.
48551         * lib/iconv_open-osf.gperf: New file.
48552         * m4/iconv_open.m4: New file.
48553         * modules/linebreak (Depends-on): Add iconv_open.
48554         * modules/striconv (Depends-on): Likewise.
48555         * modules/striconveh (Depends-on): Likewise.
48556         * modules/unicodeio (Depends-on): Likewise.
48557         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
48558         (iconv_t)(-1).
48559         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
48560         conversion if cd is (iconv_t)(-1).
48561         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
48562         is not possible.
48563
48564 2007-03-31  Bruno Haible  <bruno@clisp.org>
48565
48566         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
48567         work on Solaris either. Protect also second use of "autodetect_jp".
48568
48569 2007-03-31  Bruno Haible  <bruno@clisp.org>
48570
48571         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
48572         the function is not present.
48573
48574 2007-03-31  Bruno Haible  <bruno@clisp.org>
48575
48576         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
48577         the function is not present.
48578
48579 2007-03-31  Bruno Haible  <bruno@clisp.org>
48580
48581         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
48582         a bug in HP-UX iconv_open().
48583
48584 2007-03-31  Bruno Haible  <bruno@clisp.org>
48585
48586         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
48587         (Mathematics <math.h>): New section, add fpieee.
48588         (Input/output <stdio.h>): Add fseterr.
48589         (Mathematics <math.h>): New section, add printf-frexp.
48590         (Container data structures): Add sublist.
48591         (Core language properties): Add fpucw, inline.
48592         (Functions for greatest-width integer types <inttypes.h>): Add
48593         imaxabs, imaxdiv, inttypes.
48594         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
48595         isnanl-nolibm, ldexp.
48596         (Mathematics <math.h>): New section, add printf-frexpl.
48597         (Support for systems lacking POSIX:2001): Add fprintf-posix,
48598         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
48599         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
48600         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
48601         (Unicode string functions): Add unistr/u*-mbtoucr.
48602         (Java): Add javacomp-script, javaexec-script.
48603         (C#): Add csharpcomp-script, csharpexec-script.
48604         (Support for building libraries and executables): Add havelib,
48605         relocatable-*.
48606         (Support for maintaining and releasing projects): Renamed from
48607         'Support for maintaining and release projects'. Add announce-gen.
48608
48609 2007-03-31  Bruno Haible  <bruno@clisp.org>
48610
48611         * README: Talk primarily about git.
48612         (git and CVS): Renamed from CVS.
48613         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
48614         gnulib is available through git.
48615         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
48616
48617 2007-03-30  Bruno Haible  <bruno@clisp.org>
48618
48619         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
48620         * lib/poll_.h: Likewise.
48621         * lib/stat_.h: Likewise.
48622         * lib/sys_time_.h: Likewise.
48623         * lib/sysexit_.h: Likewise.
48624         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
48625         * lib/stdbool_.h: Likewise.
48626         * lib/byteswap_.h: Add double-inclusion guard.
48627
48628 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
48629
48630         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
48631
48632 2007-03-30  Karl Berry  <karl@gnu.org>
48633
48634         * config/srclist-update: double space after USA in the license
48635         substitution, since that's how it's usually (?) written.
48636
48637 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
48638
48639         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
48640         reported by Bruno Haible.
48641
48642 2007-03-29  Bruno Haible  <bruno@clisp.org>
48643
48644         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
48645         a bug in AIX iconv().
48646
48647 2007-03-29  Bruno Haible  <bruno@clisp.org>
48648
48649         * modules/ldexpl-tests: New file.
48650         * tests/test-ldexpl.c: New file.
48651
48652 2007-03-29  Bruno Haible  <bruno@clisp.org>
48653
48654         * lib/ldexpl.c: Include fpucw.h.
48655         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
48656         multiplication.
48657         * modules/ldexpl (Depends-on): Add fpucw.
48658
48659 2007-03-29  Bruno Haible  <bruno@clisp.org>
48660
48661         * modules/ldexpl: New file.
48662         * m4/ldexpl.m4: New file.
48663         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
48664         set.
48665         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
48666         REPLACE_LDEXPL.
48667         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
48668         REPLACE_LDEXPL.
48669         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
48670         gl_FUNC_LDEXPL_WORKS.
48671         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
48672         * modules/mathl (Files): Remove lib/ldexpl.c.
48673         (Depends-on): Add ldexpl.
48674
48675 2007-03-29  Bruno Haible  <bruno@clisp.org>
48676
48677         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
48678
48679 2007-03-29  Bruno Haible  <bruno@clisp.org>
48680
48681         * tests/test-striconveh.c (main): Don't assume that a direct conversion
48682         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
48683         and possibly also HP-UX.
48684         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
48685         work on AIX, IRIX, HP-UX, OSF/1.
48686         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
48687         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
48688         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
48689         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
48690         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
48691         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
48692
48693 2007-03-29  Bruno Haible  <bruno@clisp.org>
48694
48695         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
48696
48697 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
48698
48699         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
48700         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
48701
48702 2007-03-29  Eric Blake  <ebb9@byu.net>
48703
48704         * lib/acl-internal.h: Remove redundant include.
48705         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
48706         Cygwin when a file is locked.
48707
48708 2007-03-29  Bruno Haible  <bruno@clisp.org>
48709
48710         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
48711         file.
48712         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
48713
48714 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
48715
48716         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
48717         try to remove a parent directory if the child couldn't be removed
48718         (except for the first rmdir, which could fail because the child
48719         doesn't exist).  Problem reported by Jeff Blaine in
48720         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
48721
48722 2007-03-28  Bruno Haible  <bruno@clisp.org>
48723
48724         * lib/striconveh.c (utf8conv_carefully): New function.
48725         (mem_cd_iconveh_internal): Invoke it.
48726
48727 2007-03-28  Bruno Haible  <bruno@clisp.org>
48728
48729         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
48730         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
48731         input.
48732         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
48733         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
48734         unistr/u8-uctomb.
48735
48736 2007-03-28  Bruno Haible  <bruno@clisp.org>
48737
48738         * modules/unistr/u8-mbtoucr: New file.
48739         * lib/unistr/u8-mbtoucr.c: New file.
48740         * modules/unistr/u16-mbtoucr: New file.
48741         * lib/unistr/u16-mbtoucr.c: New file.
48742         * modules/unistr/u16-mbtoucr: New file.
48743         * lib/unistr/u16-mbtoucr.c: New file.
48744         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
48745
48746 2007-03-27  Simon Josefsson  <simon@josefsson.org>
48747             Bruno Haible  <bruno@clisp.org>
48748
48749         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
48750         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
48751         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
48752
48753         * m4/stdio_h.m4: Add stubs for vasprintf too.
48754
48755         * modules/stdio: Support vasprintf in sed command.
48756
48757         * modules/vasprintf: Depend on stdio for prototypes.  Remove
48758         vasprintf.h.  Add stdio module indicator.
48759
48760         * lib/stdio_.h: Declare asprintf and vasprintf, based on
48761         vasprintf.h.
48762
48763         * lib/vasprintf.h: File removed.
48764
48765         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
48766         * lib/vasprintf.c: Ditto.
48767         * lib/xvasprintf.c: Ditto.
48768         * tests/test-vasprintf-posix.c: Ditto.
48769         * tests/test-vasprintf.c: Ditto.
48770
48771 2007-03-27  Bruno Haible  <bruno@clisp.org>
48772
48773         Make vasnprintf multithread-safe.
48774         * lib/vasnprintf.c (decimal_point_char): New function.
48775         (VASNPRINTF): Use it.
48776         Suggested by Simon Josefsson.
48777
48778 2007-03-27  Eric Blake  <ebb9@byu.net>
48779
48780         Support sub-second birthtime on cygwin.
48781         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
48782         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
48783         (get_stat_birthtime): Also work with st_birthtim.
48784
48785 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
48786
48787         * lib/stat-time.h (USE_BIRTHTIME): Remove.
48788         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
48789         (get_stat_birthtime_ns): Do not try to use "spare" fields.
48790         (get_stat_birthtime_ns): Simplify compile-time tests.
48791         (get_stat_birthtime): Change the API to look like
48792         get_stat_mtime etc., except return a negative tv_nsec on error.
48793         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
48794         Don't check for "spare" fields.
48795         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
48796         or for struct stat.st_birthtime, as these tests aren't used.
48797         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
48798
48799 2007-03-27  Bruno Haible  <bruno@clisp.org>
48800
48801         * lib/stat-time.h: Include <sys/stat.h>.
48802
48803 2007-03-27  James Youngman  <jay@gnu.org>
48804
48805         * lib/stat-time.h (get_stat_birthtime): New function for
48806           retrieving st_birthtime as provided by UFS2 (hence *BSD).
48807         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
48808           and its variants.
48809         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
48810         * modules/stat-time-test: New file.
48811         * tests/test-stat-time.c: New test, devised by Bruno Haible.
48812
48813 2007-03-26  Bruno Haible  <bruno@clisp.org>
48814
48815         Better support of signalling NaNs.
48816         * lib/atanl.c: Include isnanl.h.
48817         (atanl): Perform test for NaN at the beginning of the function and
48818         through a call to isnanl.
48819         * lib/cosl.c: Include isnanl.h.
48820         (cosl): Perform test for NaN at the beginning of the function and
48821         through a call to isnanl.
48822         * lib/ldexpl.c: Include isnanl.h.
48823         (ldexpl): Perform test for NaN through a call to isnanl.
48824         * lib/logl.c: Include isnanl.h.
48825         (logl): Perform test for NaN at the beginning of the function and
48826         through a call to isnanl.
48827         * lib/sinl.c: Include isnanl.h.
48828         (sinl): Perform test for NaN at the beginning of the function and
48829         through a call to isnanl.
48830         * lib/sqrtl.c: Include isnanl.h.
48831         (sqrtl): Perform test for NaN at the beginning of the function and
48832         through a call to isnanl.
48833         * lib/tanl.c: Include isnanl.h.
48834         (tanl): Perform test for NaN at the beginning of the function and
48835         through a call to isnanl.
48836         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
48837         * modules/mathl (Depends-on): Add isnanl.
48838
48839 2007-03-26  Eric Blake  <ebb9@byu.net>
48840
48841         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
48842         regression in logic sense of previous patch.
48843
48844 2007-03-26  Bruno Haible  <bruno@clisp.org>
48845
48846         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
48847         unportable shell command "if ! ...".
48848         Reported by Ralf Wildenhues.
48849
48850 2007-03-25  Bruno Haible  <bruno@clisp.org>
48851
48852         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
48853         <sysexits.h> file, and only add EX_CONFIG.
48854         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
48855         absolute file name and whether it is sufficient. Substitute also
48856         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
48857         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
48858         ABSOLUTE_SYSEXITS_H into sysexits.h.
48859
48860 2007-03-25  Bruno Haible  <bruno@clisp.org>
48861
48862         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
48863         hints is NULL.
48864
48865 2007-03-25  Bruno Haible  <bruno@clisp.org>
48866
48867         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
48868         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
48869
48870 2007-03-25  Bruno Haible  <bruno@clisp.org>
48871
48872         * lib/vasnprintf.c: Include langinfo.h.
48873         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
48874         multithread-safe.
48875         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
48876         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
48877         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
48878         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48879         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48880         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48881         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48882         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
48883         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48884         Reported by Simon Josefsson.
48885
48886 2007-03-25  Bruno Haible  <bruno@clisp.org>
48887
48888         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
48889         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
48890         * modules/vasnprintf (Depends-on): Add stdint.
48891
48892 2007-03-25  Bruno Haible  <bruno@clisp.org>
48893
48894         * modules/fpieee: New file.
48895         * m4/fpieee.m4: New file.
48896         * modules/isnan-nolibm (Depends-on): Add fpieee.
48897         * modules/isnanl-nolibm (Depends-on): Add fpieee.
48898         * modules/isnanl (Depends-on): Add fpieee.
48899
48900 2007-03-25  Bruno Haible  <bruno@clisp.org>
48901
48902         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
48903
48904 2007-03-25  Bruno Haible  <bruno@clisp.org>
48905
48906         Avoid test failures on IRIX 6.5.
48907         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
48908         (main): Use it.
48909         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
48910         macros.
48911         (main): Use them.
48912
48913 2007-03-25  Bruno Haible  <bruno@clisp.org>
48914
48915         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
48916         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
48917         exists but doesn't work.
48918         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
48919         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
48920         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
48921         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
48922
48923 2007-03-25  Bruno Haible  <bruno@clisp.org>
48924
48925         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
48926         returns inf. Needed on IRIX 6.5.
48927
48928 2007-03-25  Bruno Haible  <bruno@clisp.org>
48929
48930         * tests/test-frexpl.c: Include isnanl-nolibm.h.
48931         (main): Use isnanl instead of x != x idiom.
48932         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
48933
48934         * tests/test-frexp.c: Include isnan.h.
48935         (main): Use isnan instead of x != x idiom.
48936         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
48937
48938 2007-03-25  Bruno Haible  <bruno@clisp.org>
48939
48940         * tests/test-frexp.c (NaN): New function/macro.
48941         (main): Use it instead of 0.0 / 0.0.
48942         * tests/test-isnan.c (NaN): New function/macro.
48943         (main): Use it instead of 0.0 / 0.0.
48944         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
48945         (test_function): Use it instead of 0.0 / 0.0.
48946         * tests/test-vasprintf-posix.c (NaN): New function/macro.
48947         (test_function): Use it instead of 0.0 / 0.0.
48948         * tests/test-snprintf-posix.h (NaN): New function/macro.
48949         (test_function): Use it instead of 0.0 / 0.0.
48950         * tests/test-sprintf-posix.h (NaN): New function/macro.
48951         (test_function): Use it instead of 0.0 / 0.0.
48952         * tests/test-fprintf-posix.h (NaN): New function/macro.
48953         (test_function): Use it instead of 0.0 / 0.0.
48954         * tests/test-printf-posix.h (NaN): New function/macro.
48955         (test_function): Use it instead of 0.0 / 0.0.
48956
48957         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
48958
48959 2007-03-25  Bruno Haible  <bruno@clisp.org>
48960
48961         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
48962
48963 2007-03-25  Bruno Haible  <bruno@clisp.org>
48964
48965         * lib/regexec.c (merge_state_with_log): Make static.
48966
48967 2007-03-25  Bruno Haible  <bruno@clisp.org>
48968
48969         * lib/trigl.c (kernel_rem_pio2): Make static.
48970
48971 2007-03-25  Bruno Haible  <bruno@clisp.org>
48972
48973         * lib/sincosl.c (sincosl_table): Make static.
48974
48975 2007-03-25  Bruno Haible  <bruno@clisp.org>
48976
48977         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
48978         if the compiler does not support C99.
48979
48980 2007-03-25  Bruno Haible  <bruno@clisp.org>
48981
48982         * modules/time (Makefile.am): Ensure all rule action lines start with a
48983         tab.
48984
48985 2007-03-24  Bruno Haible  <bruno@clisp.org>
48986
48987         * modules/tsearch-tests: New file.
48988         * tests/test-tsearch.sh: New file.
48989         * tests/test-tsearch.c: New file, mostly copied from glibc.
48990
48991         * modules/search-tests: New file.
48992         * tests/test-search.c: New file.
48993
48994         * modules/search: New file.
48995         * lib/search_.h: New file, incorporating lib/tsearch.h.
48996         * m4/search_h.m4: New file.
48997         * lib/tsearch.h: Remove file.
48998         * lib/tsearch.c: Include search.h instead of tsearch.h.
48999         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
49000         HAVE_TSEARCH.
49001         * modules/tsearch (Files): Remove lib/tsearch.h.
49002         (Depends-on): Add search.
49003         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
49004         (Include): Change tsearch.h into search.h.
49005
49006 2007-03-24  Bruno Haible  <bruno@clisp.org>
49007
49008         * modules/fpucw: New file.
49009         * lib/fpucw.h: New file.
49010         * lib/frexp.c: Include fpucw.h.
49011         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
49012         (FUNC): Use them.
49013         * lib/printf-frexp.c: Include fpucw.h.
49014         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
49015         (FUNC): Use them.
49016         * lib/vasnprintf.c: Include fpucw.h.
49017         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
49018         'long double' calculations.
49019         * tests/test-frexpl.c: Include fpucw.h.
49020         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
49021         * tests/test-printf-frexpl.c: Include fpucw.h.
49022         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
49023         * modules/frexpl (Depends-on): Add fpucw.
49024         * modules/printf-frexpl (Depends-on): Likewise.
49025         * modules/fprintf-posix (Depends-on): Likewise.
49026         * modules/snprintf-posix (Depends-on): Likewise.
49027         * modules/sprintf-posix (Depends-on): Likewise.
49028         * modules/vasnprintf-posix (Depends-on): Likewise.
49029         * modules/vasprintf-posix (Depends-on): Likewise.
49030         * modules/vfprintf-posix (Depends-on): Likewise.
49031         * modules/vsnprintf-posix (Depends-on): Likewise.
49032         * modules/vsprintf-posix (Depends-on): Likewise.
49033         * modules/frexpl-tests (Depends-on): Likewise.
49034         * modules/printf-frexpl-tests (Depends-on): Likewise.
49035
49036 2007-03-24  Bruno Haible  <bruno@clisp.org>
49037
49038         * lib/float+.h: New file.
49039         * lib/isnan.c: Include float+.h.
49040         (SIZE): New macro.
49041         (FUNC): Compare only SIZE bytes of the value.
49042         * lib/vasnprintf.c: Include float+.h.
49043         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
49044         SIZEOF_LDBL or SIZEOF_DBL bytes.
49045         * modules/isnan-nolibm (Files): Add lib/float+.h.
49046         * modules/isnanl-nolibm (Files): Add lib/float+.h.
49047         * modules/isnanl (Files): Add lib/float+.h.
49048         * modules/vasnprintf (Files): Add lib/float+.h.
49049
49050 2007-03-24  Bruno Haible  <bruno@clisp.org>
49051
49052         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
49053         include isnanl-nolibm.h.
49054
49055 2007-03-24  Bruno Haible  <bruno@clisp.org>
49056
49057         * tests/test-read-file.c (main): Don't produce spurious output for
49058         expected situations. Make the test fail if it encountered unexpected
49059         results.
49060
49061 2007-03-24  Bruno Haible  <bruno@clisp.org>
49062
49063         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
49064         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
49065
49066 2007-03-24  Bruno Haible  <bruno@clisp.org>
49067
49068         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
49069
49070 2007-03-24  Bruno Haible  <bruno@clisp.org>
49071
49072         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
49073         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
49074
49075         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
49076         * modules/utf8-ucs4: Turn into a symbolic link to module
49077         unistr/u8-mbtouc.
49078
49079         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
49080         utf8-ucs4-unsafe.
49081         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
49082         unistr/u8-mbtouc-unsafe.
49083
49084         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
49085         * modules/utf16-ucs4: Turn into a symbolic link to module
49086         unistr/u16-mbtouc.
49087
49088         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
49089         utf16-ucs4-unsafe.
49090         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
49091         unistr/u16-mbtouc-unsafe.
49092
49093         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
49094         * modules/ucs4-utf8: Turn into a symbolic link to module
49095         unistr/u8-ubtomb.
49096
49097         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
49098         * modules/ucs4-utf16: Turn into a symbolic link to module
49099         unistr/u16-ubtomb.
49100
49101 2007-03-24  Bruno Haible  <bruno@clisp.org>
49102
49103         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
49104         Enable the function only if HAVE_INLINE.
49105         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
49106         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
49107         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
49108         Enable the function only if HAVE_INLINE.
49109         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
49110         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
49111         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
49112         Enable the function only if HAVE_INLINE.
49113         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
49114         Enable the function only if HAVE_INLINE.
49115         * modules/utf8-ucs4: Update.
49116         * modules/utf8-ucs4-unsafe: Update.
49117         * modules/utf16-ucs4: Update.
49118         * modules/utf16-ucs4-unsafe: Update.
49119         * modules/ucs4-utf8: Update.
49120         * modules/ucs4-utf16: Update.
49121
49122 2007-03-24  Bruno Haible  <bruno@clisp.org>
49123
49124         * lib/utf8-ucs4.h: Remove file.
49125         * lib/utf8-ucs4-unsafe.h: Remove file.
49126         * lib/utf16-ucs4.h: Remove file.
49127         * lib/utf16-ucs4-unsafe.h: Remove file.
49128         * lib/ucs4-utf8.h: Remove file.
49129         * lib/ucs4-utf16.h: Remove file.
49130         * lib/unistr.h: Include their previous contents.
49131         * m4/utf-ucs4.m4: Remove file.
49132         * m4/ucs4-utf.m4: Remove file.
49133         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
49134         (Depends-on): Add unistr/base.
49135         (configure.ac): Remove gl_UTF_UCS4.
49136         (Makefile.am): Update.
49137         (Include): Change to unistr.h.
49138         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
49139         (Depends-on): Add unistr/base.
49140         (configure.ac): Remove gl_UTF_UCS4.
49141         (Makefile.am): Update.
49142         (Include): Change to unistr.h.
49143         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
49144         (Depends-on): Add unistr/base.
49145         (configure.ac): Remove gl_UTF_UCS4.
49146         (Makefile.am): Update.
49147         (Include): Change to unistr.h.
49148         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
49149         (Depends-on): Add unistr/base.
49150         (configure.ac): Remove gl_UTF_UCS4.
49151         (Makefile.am): Update.
49152         (Include): Change to unistr.h.
49153         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
49154         (Depends-on): Add unistr/base.
49155         (configure.ac): Remove gl_UCS4_UTF.
49156         (Makefile.am): Update.
49157         (Include): Change to unistr.h.
49158         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
49159         (Depends-on): Add unistr/base.
49160         (configure.ac): Remove gl_UCS4_UTF.
49161         (Makefile.am): Update.
49162         (Include): Change to unistr.h.
49163         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
49164         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
49165         utf8-ucs4-unsafe.h.
49166         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
49167         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
49168         utf16-ucs4-unsafe.h.
49169         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
49170         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
49171         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
49172         * lib/unistr/u8-strchr.c: Likewise.
49173         * lib/unistr/u8-strrchr.c: Likewise.
49174         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
49175         * lib/unistr/u16-strchr.c: Likewise.
49176         * lib/unistr/u16-strrchr.c: Likewise.
49177         * lib/striconveh.c: Update.
49178         * lib/linebreak.c: Update.
49179
49180 2007-03-24  Bruno Haible  <bruno@clisp.org>
49181
49182         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
49183         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
49184
49185 2007-03-22  Bruno Haible  <bruno@clisp.org>
49186
49187         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
49188
49189 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
49190
49191         * MODULES.html.sh (File system functions): New module write-any-file.
49192         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
49193         * m4/write-any-file.m4: New files.
49194
49195 2007-03-23  Eric Blake  <ebb9@byu.net>
49196
49197         * gnulib-tool: Rearrange space-tab sequences, since some editors
49198         like to eat them.
49199
49200 2007-03-23  Eric Blake  <ebb9@byu.net>
49201
49202         * lib/version-etc.c (version_etc_va): Update license wording to
49203         be more concise.  Recommended by Richard Stallman.
49204
49205 2007-03-22  Bruno Haible  <bruno@clisp.org>
49206
49207         * lib/poll.c (MSG_PEEK): New fallback definition.
49208
49209 2007-03-22  Bruno Haible  <bruno@clisp.org>
49210
49211         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
49212         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
49213         (main): Update.
49214         Fixes a compilation error on BeOS.
49215
49216 2007-03-22  Bruno Haible  <bruno@clisp.org>
49217
49218         * modules/frexpl-tests: New file.
49219         * tests/test-frexpl.c: New file.
49220
49221         * modules/frexpl: New file.
49222         * m4/frexpl.m4: New file.
49223         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
49224         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
49225         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
49226         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
49227         (Depends-on): Add frexpl. Remove isnanl-nolibm.
49228         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
49229
49230 2007-03-22  Bruno Haible  <bruno@clisp.org>
49231
49232         * lib/frexpl.c: Share code with lib/frexp.c.
49233         * modules/mathl (Files): Add lib/frexp.c.
49234         (Depends-on): Add isnanl-nolibm.
49235
49236 2007-03-22  Bruno Haible  <bruno@clisp.org>
49237
49238         * modules/printf-frexp (Files): Add m4/frexp.m4.
49239         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
49240         only if the found frexp function actually works.
49241
49242 2007-03-22  Bruno Haible  <bruno@clisp.org>
49243
49244         * lib/frexp.c: Remove older implementation that uses divisions.
49245
49246 2007-03-21  Bruno Haible  <bruno@clisp.org>
49247
49248         * modules/frexp-tests: New file.
49249         * tests/test-frexp.c: New file.
49250
49251         * modules/frexp: New file.
49252         * lib/frexp.c: New file.
49253         * m4/frexp.m4: New file.
49254         * lib/math_.h (frexp): New declaration.
49255         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
49256         REPLACE_FREXP.
49257         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
49258
49259 2007-03-21  Bruno Haible  <bruno@clisp.org>
49260
49261         * modules/isnanl-tests: New file.
49262         * tests/test-isnanl.c: New file.
49263
49264         * modules/isnanl: New file.
49265         * lib/isnanl.h: New file.
49266         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
49267         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
49268         gl_FUNC_ISNANL_WORKS.
49269         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
49270         New macros.
49271
49272 2007-03-21  Bruno Haible  <bruno@clisp.org>
49273
49274         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
49275         lib/isnanl.h.
49276         (Include): Update.
49277         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
49278         * lib/vasnprintf.c: Update.
49279         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
49280         tests/test-isnanl.h, remove tests/test-isnanl.c.
49281         (Makefile.am): Update.
49282         * tests/test-isnanl-nolibm.c: New file.
49283         * tests/test-isnanl.h: New file.
49284         * tests/test-isnanl.c: Remove file.
49285
49286 2007-03-21  Jim Meyering  <jim@meyering.net>
49287
49288         When trying to open ".", treat ESTALE like EACCES.
49289         * lib/savewd.c (savewd_save): Resort to forking not just upon
49290         failure with EACCES, but also when errno is ESTALE.
49291
49292 2007-03-20  Bruno Haible  <bruno@clisp.org>
49293
49294         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
49295         Needed on AIX 5.1. Reported by Matthew Woehlke.
49296
49297 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
49298
49299         Suggestions by Bruno Haible:
49300         * lib/acl-internal.h: Include "gettext.h" rather than rolling
49301         our own.
49302         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
49303         * modules/acl (Depends-on): Add gettext.
49304
49305 2007-03-19  Bruno Haible  <bruno@clisp.org>
49306
49307         * modules/iconvme: Remove file.
49308         * lib/iconvme.h: Remove file.
49309         * lib/iconvme.c: Remove file.
49310         * m4/iconvme.m4: Remove file.
49311
49312 2007-03-19  Bruno Haible  <bruno@clisp.org>
49313
49314         * doc/relocatable-maint.texi: Break long shell script line.
49315         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
49316
49317 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
49318
49319         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
49320         handle file_has_acl.
49321         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
49322         * lib/acl.c: Move header inclusions and related macro defns into
49323         lib/acl-internal.h.
49324         (S_ISLNK): Remove defn, since that's now done for us.
49325         (file_has_acl): Move to lib/file-has-acl.c.
49326         Call acl_trivial if available.  This is the crucial part of the fix.
49327         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
49328         shared within the library.  Rewrite a bit, partly to make it compatible
49329         with the GNU coding style.
49330         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
49331         Remove unnecessary double-quotes.
49332         Don't test for acl_to_text; the build will catch that.
49333         Replace acl_entries if it doesn't exist and it is needed.
49334         Check for -lsec and acl_trivial (as used on Solaris 10).
49335         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
49336         lib/file-has-acl.c.
49337         (Depends-on): Add sys_stat, for S_ISLNK.
49338
49339 2007-03-19  Ben Pfaff  <blp@gnu.org>
49340
49341         * doc/gnulib.texi: Fix typos.
49342         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
49343
49344 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
49345
49346         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
49347         If size is zero here, buf must be zero.
49348
49349 2007-03-19  Simon Josefsson  <simon@josefsson.org>
49350
49351         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
49352         <bruno@clisp.org>.
49353
49354 2007-03-18  Bruno Haible  <bruno@clisp.org>
49355
49356         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
49357         Suggested by Eric Blake.
49358
49359 2007-03-18  Ben Pfaff  <blp@gnu.org>
49360
49361         * doc/relocatable.texi: Recommend using as prefix a directory
49362         that does not exist and will never be created.  Based on
49363         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
49364         and others.
49365
49366 2007-03-17  Bruno Haible  <bruno@clisp.org>
49367
49368         * lib/fchownat.c: Include lchown.h.
49369
49370 2007-03-17  Bruno Haible  <bruno@clisp.org>
49371
49372         Fix endless loop when the given allocated size was > INT_MAX.
49373         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
49374         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
49375         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
49376         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
49377         * lib/sprintf.c (sprintf): Likewise.
49378
49379 2007-03-17  Bruno Haible  <bruno@clisp.org>
49380
49381         * tests/test-argp-2.sh (func_compare): Output a context diff.
49382
49383 2007-03-17  Bruno Haible  <bruno@clisp.org>
49384
49385         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
49386         locale's decimal-point character.
49387
49388 2007-03-17  Bruno Haible  <bruno@clisp.org>
49389
49390         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
49391         before comparing it. Needed because on some platforms (e.g. x86) a
49392         'long double' occupies less bytes than sizeof (long double).
49393
49394 2007-03-17  Bruno Haible  <bruno@clisp.org>
49395
49396         * tests/test-crc.c (main): Make printf statements 64-bit clean.
49397         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
49398         * tests/test-getaddrinfo.c (simple): Likewise.
49399         * tests/test-read-file.c (main): Likewise.
49400
49401 2007-03-17  Bruno Haible  <bruno@clisp.org>
49402
49403         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
49404
49405 2007-03-17  Bruno Haible  <bruno@clisp.org>
49406
49407         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
49408         unused variable.
49409
49410 2007-03-17  Bruno Haible  <bruno@clisp.org>
49411
49412         * tests/test-c-strcasecmp.c: Include c-strcase.h.
49413         * tests/test-c-strncasecmp.c: Likewise.
49414
49415 2007-03-17  Bruno Haible  <bruno@clisp.org>
49416
49417         * modules/stdlib (Depends-on): Add unistd.
49418         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
49419         Needed for MacOS X 10.3.
49420
49421 2007-03-17  Bruno Haible  <bruno@clisp.org>
49422
49423         * lib/unistr/u-strdup.h: Include <stdlib.h>.
49424
49425 2007-03-17  Bruno Haible  <bruno@clisp.org>
49426
49427         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
49428
49429 2007-03-17  Bruno Haible  <bruno@clisp.org>
49430
49431         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
49432         to reflect files copied from gnulib (with or without modifications).
49433         Suggested by Jim Meyering.
49434
49435 2007-03-17  Eric Blake  <ebb9@byu.net>
49436
49437         * NEWS: Document stdlib change from 2007-02-18.
49438
49439 2007-03-17  Jim Meyering  <jim@meyering.net>
49440
49441         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
49442         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
49443         someone uses a name containing shell meta-characters.
49444         Reported by Alfred M. Szmidt.
49445
49446         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
49447
49448 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
49449
49450         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
49451         and copy gettext configuration files only if configure.ac contains
49452         a use of AM_GNU_GETTEXT_VERSION.
49453
49454 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
49455
49456         * build-aux/bootstrap (gnulib_name): New variable.
49457         (gnulib_tool_options): Use it.
49458
49459 2007-03-13  Simon Josefsson  <simon@josefsson.org>
49460
49461         * tests/test-des.c: Use new namespace.
49462
49463 2007-03-15  Bruno Haible  <bruno@clisp.org>
49464
49465         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
49466         Reported by James Youngman <jay@gnu.org>.
49467
49468 2007-03-15  Bruno Haible  <bruno@clisp.org>
49469
49470         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
49471         declared prototype. Needed with cc on OSF/1 5.1.
49472
49473 2007-03-15  Bruno Haible  <bruno@clisp.org>
49474
49475         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
49476         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
49477         (struct gl_list_implementation): Add dispose_fn argument to the
49478         'create_empty', 'create' methods.
49479         (struct gl_list_impl_base): Add field 'dispose_fn'.
49480         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
49481         argument.
49482         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
49483         dispose_fn argument.
49484         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
49485         dispose_fn on the dropped values.
49486         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
49487         dispose_fn argument.
49488         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
49489         dropped values.
49490         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
49491         (gl_tree_remove_node): Call dispose_fn on the dropped value.
49492         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
49493         (gl_tree_remove_node): Call dispose_fn on the dropped value.
49494         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
49495         argument.
49496         (gl_tree_list_free): Call dispose_fn on the dropped values.
49497         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
49498         the dropped values.
49499         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
49500         Add dispose_fn argument.
49501         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
49502         Call dispose_fn on the dropped values.
49503         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
49504         Add dispose_fn argument.
49505         (gl_sublist_create): Initialize the 'dispose_fn' field.
49506         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
49507         * tests/test-array_list.c (main): Update.
49508         * tests/test-carray_list.c (main): Update.
49509         * tests/test-avltree_list.c (main): Update.
49510         * tests/test-rbtree_list.c (main): Update.
49511         * tests/test-avltreehash_list.c (main): Update.
49512         * tests/test-rbtreehash_list.c (main): Update.
49513         * tests/test-linked_list.c (main): Update.
49514         * tests/test-linkedhash_list.c (main): Update.
49515         * tests/test-array_oset.c (main): Update.
49516
49517 2007-03-15  Bruno Haible  <bruno@clisp.org>
49518
49519         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
49520         (gl_oset_create_empty): Add dispose_fn argument.
49521         (struct gl_oset_implementation): Add dispose_fn argument to
49522         'create_empty' method.
49523         (struct gl_oset_impl_base): Add dispose_fn field.
49524         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
49525         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
49526         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
49527         values.
49528         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
49529         (gl_tree_oset_free): Call dispose_fn on the dropped values.
49530         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
49531         dropped value.
49532         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
49533         dropped value.
49534         * tests/test-array_oset.c (main): Update.
49535         * tests/test-avltree_oset.c (main): Update.
49536         * tests/test-rbtree_oset.c (main): Update.
49537         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
49538
49539 2007-03-13  Bruno Haible  <bruno@clisp.org>
49540
49541         * tests/test-stdbool.c (i): Update after last patch.
49542
49543 2007-03-12  Bruno Haible  <bruno@clisp.org>
49544
49545         * lib/quotearg.c: Include <wctype.h> early, before the definition of
49546         the iswprint macro. Needed on Solaris 2.5.1.
49547
49548 2007-03-12  Bruno Haible  <bruno@clisp.org>
49549
49550         * tests/test-printf-frexp.c (main): Declare x as volatile.
49551
49552 2007-03-12  Simon Josefsson  <simon@josefsson.org>
49553
49554         * doc/gnulib.texi (Build robot for gnulib): New section.
49555
49556 2007-03-12  Jim Meyering  <jim@meyering.net>
49557
49558         * build-aux/bootstrap: New file.
49559         * build-aux/bootstrap.conf: New file, from coreutils.
49560
49561 2007-03-11  Bruno Haible  <bruno@clisp.org>
49562
49563         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
49564
49565 2007-03-12  Simon Josefsson  <simon@josefsson.org>
49566
49567         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
49568         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
49569         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
49570
49571 2007-03-11  Bruno Haible  <bruno@clisp.org>
49572
49573         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
49574         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
49575
49576 2007-03-11  Bruno Haible  <bruno@clisp.org>
49577
49578         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
49579         formula. Needed for SunPRO C 5.0.
49580
49581 2007-03-11  Bruno Haible  <bruno@clisp.org>
49582
49583         * modules/long-options (Depends-on): Add getopt.
49584
49585 2007-03-11  Bruno Haible  <bruno@clisp.org>
49586
49587         * modules/modechange (Depends-on): Add stdbool.
49588
49589 2007-03-11  Bruno Haible  <bruno@clisp.org>
49590
49591         * modules/i-ring (Depends-on): Add stdbool.
49592
49593 2007-03-11  Bruno Haible  <bruno@clisp.org>
49594
49595         * modules/gc-des (Depends-on): Add stdbool.
49596
49597 2007-03-11  Bruno Haible  <bruno@clisp.org>
49598
49599         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
49600
49601 2007-03-11  Bruno Haible  <bruno@clisp.org>
49602
49603         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
49604
49605 2007-03-11  Bruno Haible  <bruno@clisp.org>
49606
49607         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
49608
49609 2007-03-11  Bruno Haible  <bruno@clisp.org>
49610
49611         * lib/vasnprintf.c (sprintf): Undefine.
49612
49613 2007-03-11  Bruno Haible  <bruno@clisp.org>
49614
49615         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
49616         initializers in SunPRO C and Compaq C compilers.
49617
49618 2007-03-11  Bruno Haible  <bruno@clisp.org>
49619
49620         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
49621         decrementing code ANSI C compliant.
49622
49623 2007-03-11  Bruno Haible  <bruno@clisp.org>
49624
49625         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
49626         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
49627
49628 2007-03-11  Bruno Haible  <bruno@clisp.org>
49629
49630         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
49631         <stdbool.h> substitute doesn't pass.
49632
49633 2007-03-11  Bruno Haible  <bruno@clisp.org>
49634
49635         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
49636
49637 2007-03-11  Bruno Haible  <bruno@clisp.org>
49638
49639         * gnulib-tool (func_create_megatestdir): Create also an autobuild
49640         script, for submission to autobuild.josefsson.org.
49641
49642 2007-03-10  Bruno Haible  <bruno@clisp.org>
49643
49644         * modules/canonicalize-lgpl-tests: New file.
49645         * tests/test-canonicalize-lgpl.sh: New file.
49646         * tests/test-canonicalize-lgpl.c: New file.
49647
49648         * modules/c-strcase-tests: New file.
49649         * tests/test-c-strcase.sh: New file.
49650         * tests/test-c-strcasecmp.c: New file.
49651         * tests/test-c-strncasecmp.c: New file.
49652
49653         * modules/atexit-tests: New file.
49654         * tests/test-atexit.sh: New file.
49655         * tests/test-atexit.c: New file.
49656
49657 2007-03-10  Bruno Haible  <bruno@clisp.org>
49658
49659         * tests/test-binary-io.sh: Use temporary filenames that are not so
49660         likely to clash with those of other tests (in a parallel make).
49661         * tests/test-binary-io.c: Likewise.
49662
49663 2007-03-10  Bruno Haible  <bruno@clisp.org>
49664
49665         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
49666         fallback; use #error instead.
49667         Suggested by Simon Josefsson.
49668
49669 2007-03-10  Bruno Haible  <bruno@clisp.org>
49670
49671         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
49672         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
49673         first and the last.
49674
49675 2007-03-10  Bruno Haible  <bruno@clisp.org>
49676
49677         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
49678
49679 2007-03-10  Bruno Haible  <bruno@clisp.org>
49680
49681         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
49682         "make distcheck".
49683         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
49684         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
49685         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
49686
49687 2007-03-10  Bruno Haible  <bruno@clisp.org>
49688
49689         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
49690         variable.
49691         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
49692         variable.
49693
49694 2007-03-09  Eric Blake  <ebb9@byu.net>
49695         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
49696
49697         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
49698         types are not being provided by gnulib.
49699         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
49700         types are supported.
49701
49702 2007-03-10  Bruno Haible  <bruno@clisp.org>
49703
49704         * lib/stdio_.h (__attribute__): New macro.
49705         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
49706         vsprintf): Specify __attribute__ __format__ for GCC.
49707         Suggested by Eric Blake.
49708
49709 2007-03-09  Bruno Haible  <bruno@clisp.org>
49710
49711         * modules/printf-posix-tests: New file.
49712         * tests/test-printf-posix.sh: New file.
49713         * tests/test-printf-posix.c: New file.
49714
49715         * modules/printf-posix: New file.
49716         * lib/printf.c: New file.
49717         * m4/printf-posix-rpl.m4: New file.
49718         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
49719         REPLACE_PRINTF.
49720         * lib/stdio_.h (printf): New declaration.
49721         (format, __format__, ____printf____, ____scanf____, ____strftime____,
49722         ____strfmon____): New macros.
49723         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
49724         REPLACE_PRINTF.
49725
49726 2007-03-09  Bruno Haible  <bruno@clisp.org>
49727
49728         * tests/test-vasnprintf-posix2.sh: New file.
49729         * tests/test-vasnprintf-posix2.c: New file.
49730         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
49731         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
49732         (Makefile.am): Activate test-vasnprintf-posix2.sh.
49733
49734         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
49735         a locale dependent decimal point, rather than always '.'.
49736
49737 2007-03-09  Eric Blake  <ebb9@byu.net>
49738
49739         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
49740         spite of platforms like Tandem/NSK that define it to -1.
49741
49742 2007-03-08  Bruno Haible  <bruno@clisp.org>
49743
49744         * modules/vprintf-posix-tests: New file.
49745         * tests/test-vprintf-posix.sh: New file.
49746         * tests/test-vprintf-posix.c: New file.
49747         * tests/test-printf-posix.h: New file.
49748
49749         * modules/vprintf-posix: New file.
49750         * lib/vprintf.c: New file.
49751         * m4/vprintf-posix.m4: New file.
49752         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
49753         REPLACE_VPRINTF.
49754         * lib/stdio_.h (vprintf): New declaration.
49755         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
49756         REPLACE_VPRINTF.
49757
49758 2007-03-08  Bruno Haible  <bruno@clisp.org>
49759
49760         * modules/fprintf-posix-tests: New file.
49761         * tests/test-fprintf-posix.sh: New file.
49762         * tests/test-fprintf-posix.c: New file.
49763
49764         * modules/fprintf-posix: New file.
49765         * lib/fprintf.c: New file.
49766         * m4/fprintf-posix.m4: New file.
49767         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
49768         REPLACE_FPRINTF.
49769         * lib/stdio_.h (fprintf): New declaration.
49770         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
49771         REPLACE_FPRINTF.
49772
49773 2007-03-08  Bruno Haible  <bruno@clisp.org>
49774
49775         * modules/vfprintf-posix-tests: New file.
49776         * tests/test-vfprintf-posix.sh: New file.
49777         * tests/test-vfprintf-posix.c: New file.
49778         * tests/test-fprintf-posix.h: New file.
49779         * tests/test-fprintf-posix.out: New file.
49780
49781         * modules/vfprintf-posix: New file.
49782         * lib/vfprintf.c: New file.
49783         * m4/vfprintf-posix.m4: New file.
49784         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
49785         REPLACE_VFPRINTF.
49786         * lib/stdio_.h (vfprintf): New declaration.
49787         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
49788         REPLACE_VFPRINTF.
49789
49790 2007-03-08  Bruno Haible  <bruno@clisp.org>
49791
49792         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
49793
49794 2007-03-08  Bruno Haible  <bruno@clisp.org>
49795
49796         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
49797         instead of 'expr' invocations.
49798         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49799         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49800         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49801         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49802         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49803         Suggested by Paul Eggert.
49804
49805 2007-03-08  Bruno Haible  <bruno@clisp.org>
49806
49807         * modules/fseterr-tests: New file.
49808         * tests/test-fseterr.c: New file.
49809
49810         * modules/fseterr: New file.
49811         * lib/fseterr.h: New file.
49812         * lib/fseterr.c: New file.
49813
49814 2007-03-08  Bruno Haible  <bruno@clisp.org>
49815
49816         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
49817         * lib/getopt_.h: Likewise.
49818         * lib/mbswidth.h: Likewise.
49819         * lib/setenv.h: Likewise.
49820         * lib/vasnprintf.h: Likewise.
49821         * lib/vasprintf.h: Likewise.
49822         * lib/verror.h: Likewise.
49823         * lib/xsetenv.h: Likewise.
49824         * lib/xvasprintf.h: Likewise.
49825
49826 2007-03-08  Jim Meyering  <jim@meyering.net>
49827
49828         * users.txt: Add parted.
49829
49830         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
49831
49832 2007-03-07  Bruno Haible  <bruno@clisp.org>
49833
49834         * m4/printf.m4: Make the shell script snippets copy&pastable.
49835
49836 2007-03-02  Bruno Haible  <bruno@clisp.org>
49837
49838         * lib/netinet_in_.h: New file.
49839         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
49840         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
49841         * modules/netinet_in (Files): Add lib/netinet_in_.h.
49842         (Depends-on): Add absolute-header.
49843         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
49844         into netinet/in.h.
49845
49846 2007-03-03  Bruno Haible  <bruno@clisp.org>
49847
49848         * lib/sys_select_.h: New file.
49849         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
49850         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
49851         * modules/sys_select (Files): Add lib/sys_select_.h.
49852         (Depends-on): Add absolute-header.
49853         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
49854         into sys/select.h.
49855
49856 2007-03-02  Bruno Haible  <bruno@clisp.org>
49857
49858         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
49859         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
49860         values.
49861         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
49862         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
49863         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
49864         * modules/sys_socket (Depends-on): Add absolute-header.
49865         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
49866         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
49867         (Include): Remove requirement of inclusion of <sys/types.h>.
49868
49869 2007-03-02  Bruno Haible  <bruno@clisp.org>
49870
49871         * lib/byteswap_.h (bswap_32): Fix formula.
49872
49873 2007-03-06  Bruno Haible  <bruno@clisp.org>
49874
49875         * modules/sprintf-posix-tests: New file.
49876         * tests/test-sprintf-posix.c: New file.
49877
49878         * modules/sprintf-posix: New file.
49879         * lib/sprintf.c: New file.
49880         * m4/sprintf-posix.m4: New file.
49881         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
49882         REPLACE_SPRINTF.
49883         * lib/stdio_.h (sprintf): New declaration.
49884         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
49885         REPLACE_SPRINTF.
49886
49887 2007-03-06  Bruno Haible  <bruno@clisp.org>
49888
49889         * modules/vsprintf-posix-tests: New file.
49890         * tests/test-vsprintf-posix.c: New file.
49891         * tests/test-sprintf-posix.h: New file.
49892
49893         * modules/vsprintf-posix: New file.
49894         * lib/vsprintf.c: New file.
49895         * m4/vsprintf-posix.m4: New file.
49896         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
49897         REPLACE_VSPRINTF.
49898         * lib/stdio_.h (vsprintf): New declaration.
49899         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
49900         REPLACE_VSPRINTF.
49901
49902 2007-03-06  Bruno Haible  <bruno@clisp.org>
49903
49904         * modules/vsnprintf (Depend-on): Remove minmax.
49905
49906 2007-03-06  Bruno Haible  <bruno@clisp.org>
49907
49908         * modules/snprintf-posix-tests: New file.
49909         * tests/test-snprintf-posix.c: New file.
49910
49911         * modules/snprintf-posix: New file.
49912         * m4/snprintf-posix.m4: New file.
49913         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
49914         gl_FUNC_SNPRINTF.
49915         (gl_FUNC_SNPRINTF): Invoke it.
49916         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
49917         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
49918         is set.
49919         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
49920
49921 2007-03-06  Bruno Haible  <bruno@clisp.org>
49922
49923         * modules/vsnprintf-posix-tests: New file.
49924         * tests/test-vsnprintf-posix.c: New file.
49925         * tests/test-snprintf-posix.h: New file.
49926
49927         * modules/vsnprintf-posix: New file.
49928         * m4/vsnprintf-posix.m4: New file.
49929         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
49930         gl_FUNC_VSNPRINTF.
49931         (gl_FUNC_VSNPRINTF): Invoke it.
49932         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
49933         * lib/stdio_.h (vsnprintf): Define as a replacement if
49934         REPLACE_VSNPRINTF is set.
49935         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
49936
49937 2007-03-06  Bruno Haible  <bruno@clisp.org>
49938
49939         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
49940         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
49941
49942 2007-03-06  Bruno Haible  <bruno@clisp.org>
49943
49944         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
49945         (asinl): Declare also if HAVE_DECL_ASINL is set.
49946         (atanl): Declare also if HAVE_DECL_ATANL is set.
49947         (ceill): Declare also if HAVE_DECL_CEILL is set.
49948         (cosl): Declare also if HAVE_DECL_COSL is set.
49949         (expl): Declare also if HAVE_DECL_EXPL is set.
49950         (floorl): Declare also if HAVE_DECL_FLOORL is set.
49951         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
49952         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
49953         (logl): Declare also if HAVE_DECL_LOGL is set.
49954         (sinl): Declare also if HAVE_DECL_SINL is set.
49955         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
49956         (tanl): Declare also if HAVE_DECL_TANL is set.
49957         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
49958         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
49959         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
49960         declaration of frexpl, ldexpl.
49961         * modules/printf-frexpl (Depends-on): Add math.
49962         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
49963
49964 2007-03-05  Bruno Haible  <bruno@clisp.org>
49965
49966         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
49967         frexpl and ldexpl are declared.
49968         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
49969
49970 2007-03-05  Bruno Haible  <bruno@clisp.org>
49971
49972         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
49973         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
49974
49975 2007-03-05  Bruno Haible  <bruno@clisp.org>
49976
49977         * lib/stdio_.h: Include <stddef.h>.
49978
49979 2007-03-05  Bruno Haible  <bruno@clisp.org>
49980
49981         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
49982
49983 2007-03-05  Bruno Haible  <bruno@clisp.org>
49984
49985         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
49986         NetBSD 4, from Ralf Wildenhues.
49987
49988 2007-03-04  Bruno Haible  <bruno@clisp.org>
49989
49990         * lib/vasprintf.h: Update #if logic for the case when the functions
49991         exist but are overridden.
49992
49993 2007-03-04  Bruno Haible  <bruno@clisp.org>
49994
49995         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
49996         implementations: glibc-2.4 and MacOS X 10.3.
49997         * tests/test-vasnprintf-posix.c (test_function): Test also the case
49998         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
49999         * tests/test-vasprintf-posix.c (test_function): Likewise.
50000
50001 2007-03-04  Bruno Haible  <bruno@clisp.org>
50002
50003         * modules/vasprintf-posix-tests: New file.
50004         * tests/test-vasprintf-posix.c: New file.
50005
50006         * modules/vasprintf-posix: New file.
50007         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
50008         defined.
50009         * m4/vasprintf-posix.m4: New file.
50010         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
50011         gl_FUNC_VASPRINTF.
50012         (gl_FUNC_VASPRINTF): Invoke it.
50013         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
50014         here.
50015         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
50016
50017 2007-03-04  Bruno Haible  <bruno@clisp.org>
50018
50019         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
50020         REPLACE_GETTIMEOFDAY.
50021         * modules/sys_time (Makefile.am): Likewise.
50022         * m4/sys_time_h.m4: Likewise.
50023         * m4/gettimeofday.m4: Likewise.
50024
50025 2007-03-04  Bruno Haible  <bruno@clisp.org>
50026
50027         * modules/vasnprintf-posix-tests: New file.
50028         * tests/test-vasnprintf-posix.c: New file.
50029
50030         * modules/vasnprintf-posix: New file.
50031         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
50032         printf-frexpl.h.
50033         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
50034         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
50035         REPLACE_VASNPRINTF is defined.
50036         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
50037         gl_FUNC_VASNPRINTF.
50038         (gl_FUNC_VASNPRINTF): Invoke it.
50039         * m4/vasnprintf-posix.m4: New file.
50040         * m4/printf.m4: New file.
50041
50042 2007-03-04  Bruno Haible  <bruno@clisp.org>
50043
50044         Compile progreloc.c only if --enable-relocatable is specified.
50045         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
50046         if --enable-relocatable was specified.
50047         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
50048         lib_SOURCES.
50049
50050 2007-03-04  Jim Meyering  <jim@meyering.net>
50051
50052         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
50053         Use it consistently, rather than enumerating errno constants.
50054
50055 2007-03-04  Bruno Haible  <bruno@clisp.org>
50056
50057         * modules/xvasprintf-tests: New file.
50058         * tests/test-xvasprintf.c: New file.
50059
50060         * modules/vasprintf-tests: New file.
50061         * tests/test-vasprintf.c: New file.
50062
50063         * modules/vasnprintf-tests: New file.
50064         * tests/test-vasnprintf.c: New file.
50065
50066         * modules/vsnprintf-tests: New file.
50067         * tests/test-vsnprintf.c: New file.
50068
50069         * modules/snprintf-tests: New file.
50070         * tests/test-snprintf.c: New file.
50071
50072 2007-03-04  Bruno Haible  <bruno@clisp.org>
50073
50074         Compile relocatable.c only if --enable-relocatable is specified.
50075         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
50076         gl_RELOCATABLE_LIBRARY.
50077         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
50078         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
50079         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
50080         gl_RELOCATABLE_LIBRARY.
50081         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
50082         (Makefile.am): Remove lib_SOURCES.
50083         * modules/relocatable-lib-lgpl (configure.ac): Invoke
50084         gl_RELOCATABLE_LIBRARY.
50085         (Makefile.am): Remove lib_SOURCES.
50086         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
50087         always.
50088         * modules/relocatable-prog-wrapper (configure.ac): Invoke
50089         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
50090
50091 2007-03-04  Bruno Haible  <bruno@clisp.org>
50092
50093         * modules/argmatch-tests: New file.
50094         * tests/test-argmatch.c: New file.
50095
50096         * tests/test-allocsa.c (main): Halve the number of loop runs.
50097
50098         * modules/alloca-opt-tests: New file.
50099         * tests/test-alloca-opt.c: New file.
50100
50101 2007-03-04  Jim Meyering  <jim@meyering.net>
50102
50103         Work around difference between Linux ACLs and Solaris 10 ZFS.
50104         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
50105         for EINVAL.
50106
50107 2007-03-03  Bruno Haible  <bruno@clisp.org>
50108
50109         * modules/relocatable-prog (Depends-on): Add back progreloc's
50110         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
50111
50112 2007-03-03  Bruno Haible  <bruno@clisp.org>
50113
50114         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
50115         * modules/relocatable-lib: New file.
50116
50117 2007-03-03  Bruno Haible  <bruno@clisp.org>
50118
50119         * modules/relocatable-prog: Renamed from modules/relocatable.
50120         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
50121
50122 2007-03-03  Bruno Haible  <bruno@clisp.org>
50123
50124         * modules/relocatable-script (Files): Add doc/relocatable.texi,
50125         m4/relocatable-lib.m4.
50126         (Depends-on): Remove 'relocatable'.
50127         (configure.ac): Add gl_RELOCATABLE_NOP.
50128
50129 2007-03-03  Bruno Haible  <bruno@clisp.org>
50130
50131         * modules/relocatable-prog-wrapper: New file.
50132         * modules/relocatable (Depends-on): Add it. Remove all other
50133         dependencies except progname.
50134         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
50135
50136         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
50137         (gl_FUNC_STRERROR): Nop.
50138         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
50139
50140         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
50141         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
50142
50143         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
50144         (gl_FUNC_READLINK): Update.
50145
50146         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
50147
50148 2007-03-03  Bruno Haible  <bruno@clisp.org>
50149
50150         * lib/xreadlink.c: Include <unistd.h> unconditionally.
50151         * modules/xreadlink (Depends-on): Add unistd.
50152         * modules/xreadlink-with-size (Depends-on): Likewise.
50153
50154 2007-03-03  Bruno Haible  <bruno@clisp.org>
50155
50156         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
50157         extracted from gt_FUNC_SETENV.
50158         (gt_FUNC_SETENV): Remove macro.
50159         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
50160         remove gt_FUNC_SETENV.
50161
50162 2007-03-03  Bruno Haible  <bruno@clisp.org>
50163
50164         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
50165         ENABLE_RELOCATABLE here.
50166         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
50167
50168 2007-03-03  Bruno Haible  <bruno@clisp.org>
50169
50170         * modules/rbtreehash-list-tests (Depends-on): Add progname.
50171         * tests/test-rbtreehash_list.c: Include progname.h.
50172         (main): Call set_program_name.
50173
50174         * modules/rbtree-oset-tests (Depends-on): Add progname.
50175         * tests/test-rbtree_oset.c: Include progname.h.
50176         (main): Call set_program_name.
50177
50178         * modules/rbtree-list-tests (Depends-on): Add progname.
50179         * tests/test-rbtree_list.c: Include progname.h.
50180         (main): Call set_program_name.
50181
50182         * modules/linked-list-tests (Depends-on): Add progname.
50183         * tests/test-linked_list.c: Include progname.h.
50184         (main): Call set_program_name.
50185
50186 2007-03-03  Bruno Haible  <bruno@clisp.org>
50187
50188         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
50189         All uses of __restrict changed to _Restrict_.
50190         * lib/glob_.h (__restrict): Remove macro.
50191
50192 2007-03-02  Bruno Haible  <bruno@clisp.org>
50193
50194         * modules/gettext (configure.ac): Require gettext infrastructure
50195         from version 0.16.1.
50196
50197 2007-03-02  Bruno Haible  <bruno@clisp.org>
50198
50199         * modules/linkedhash-list-tests (Depends-on): Add progname.
50200         * tests/test-linkedhash_list.c: Include progname.h.
50201         (main): Call set_program_name.
50202
50203         * modules/carray-list-tests (Depends-on): Add progname.
50204         * tests/test-carray_list.c: Include progname.h.
50205         (main): Call set_program_name.
50206
50207         * modules/avltreehash-list-tests (Depends-on): Add progname.
50208         * tests/test-avltreehash_list.c: Include progname.h.
50209         (main): Call set_program_name.
50210
50211         * modules/avltree-oset-tests (Depends-on): Add progname.
50212         * tests/test-avltree_oset.c: Include progname.h.
50213         (main): Call set_program_name.
50214
50215         * modules/avltree-list-tests (Depends-on): Add progname.
50216         * tests/test-avltree_list.c: Include progname.h.
50217         (main): Call set_program_name.
50218
50219         * modules/array-oset-tests (Depends-on): Add progname.
50220         * tests/test-array_oset.c: Include progname.h.
50221         (main): Call set_program_name.
50222
50223         * modules/array-list-tests (Depends-on): Add progname.
50224         * tests/test-array_list.c: Include progname.h.
50225         (main): Call set_program_name.
50226
50227         * modules/argp-tests (Depends-on): Add progname.
50228         * tests/test-argp.c: Include argp.h first. Include progname.h.
50229         (main): Call set_program_name.
50230
50231 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
50232
50233         * doc/gnulib-tool.texi (Initial import): Reword description of
50234         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
50235         limited effect even if defined after the first system include.
50236
50237 2007-03-01  Bruno Haible  <bruno@clisp.org>
50238
50239         * build-aux/config.libpath: Update to libtool-1.5.22.
50240         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
50241
50242 2007-03-01  Bruno Haible  <bruno@clisp.org>
50243
50244         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
50245         foo_CFLAGS.
50246         Reported by Ralf Wildenhues.
50247
50248 2007-03-01  Bruno Haible  <bruno@clisp.org>
50249
50250         * build-aux/install-reloc: Remove object files left over by some
50251         compilers.
50252         Reported by Ralf Wildenhues.
50253
50254 2007-03-01  Bruno Haible  <bruno@clisp.org>
50255
50256         * build-aux/install-reloc: Break long lines.
50257
50258 2007-03-01  Bruno Haible  <bruno@clisp.org>
50259
50260         * doc/relocatable.texi: Document that it may not work on OpenBSD.
50261         Reported by Ralf Wildenhues.
50262
50263 2007-03-01  Bruno Haible  <bruno@clisp.org>
50264
50265         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
50266         include ordering constraints.
50267
50268 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
50269
50270         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
50271         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
50272         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
50273         as another example.
50274         * lib/time_.h: Fix misspelling.
50275         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
50276         Require gl_HEADER_TIME_H_DEFAULTS.
50277         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
50278         * m4/time_r.m4 (gl_TIME_R): Likewise.
50279         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
50280
50281 2007-03-01  Bruno Haible  <bruno@clisp.org>
50282
50283         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
50284         * m4/utimens.m4 (gl_UTIMENS): Likewise.
50285
50286 2007-03-01  Jim Meyering  <jim@meyering.net>
50287
50288         * modules/xreadlink (Maintainer): Add my name.
50289         * modules/xreadlink-with-size (Depends-on): Alphabetize.
50290
50291 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
50292             Bruno Haible  <bruno@clisp.org>
50293
50294         * build-aux/install-reloc: Compile also c-ctype.c.
50295         * build-aux/relocatable.sh.in: New file.
50296         * doc/relocatable.texi: New file.
50297         * doc/relocatable-maint.texi: New file.
50298         * doc/gnulib.texi: Include relocatable-maint.texi.
50299         * lib/progreloc.c: Include unistd.h unconditionally.
50300         * lib/relocwrapper.c: Include unistd.h unconditionally.
50301         Include c-ctype.h.
50302         (add_dotbin): Use c_tolower.
50303         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
50304         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
50305         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
50306         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
50307         to m4/relocatable-lib.m4.
50308         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
50309         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
50310         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
50311         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
50312         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
50313         * modules/relocatable: New file.
50314         * modules/relocatable-lib: New file.
50315         * modules/relocatable-script: New file.
50316
50317 2007-02-28  Bruno Haible  <bruno@clisp.org>
50318
50319         Import --enable-relocatable infrastructure.
50320         * build-aux/config.libpath: New file, from GNU gettext.
50321         * build-aux/install-reloc: New file, from GNU gettext.
50322         * build-aux/reloc-ldflags: New file, from GNU gettext.
50323         * lib/relocatable.h: New file, from GNU gettext.
50324         * lib/relocatable.c: New file, from GNU gettext.
50325         * lib/relocwrapper.c: New file, from GNU gettext.
50326         * m4/relocatable.m4: New file, from GNU gettext.
50327
50328 2007-02-28  Bruno Haible  <bruno@clisp.org>
50329
50330         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
50331
50332         * modules/xreadlink: New file, from GNU gettext with modifications.
50333         * lib/xreadlink.c: New file, from GNU gettext.
50334         * lib/xreadlink.h: Add comments.
50335         (xreadlink): New declaration.
50336
50337         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
50338         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
50339         lib/xreadlink-with-size.c.
50340         (configure.ac): Remove gl_XREADLINK invocation.
50341         (Makefile.am): Augment lib_SOURCES.
50342         * m4/xreadlink.m4: Remove file.
50343         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
50344         (xreadlink_with_size): Renamed from xreadink.
50345         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
50346         * modules/canonicalize (Depends-on): Replace xreadlink with
50347         xreadlink-with-size.
50348         * lib/canonicalize.c (canonicalize_filename_mode): Update.
50349
50350 2007-02-25  Jim Meyering  <jim@meyering.net>
50351
50352         * build-aux/announce-gen: When complaining about excess arguments,
50353         list them.
50354
50355 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
50356
50357         * README: Document signed integer overflow situation more
50358         accurately.
50359
50360 2007-02-25  Bruno Haible  <bruno@clisp.org>
50361
50362         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
50363         'a' or 'A' conversion.
50364
50365 2007-02-25  Bruno Haible  <bruno@clisp.org>
50366
50367         * modules/filename: Renamed from modules/pathname.
50368         (Files): Replace lib/pathname.h with lib/filename.h. Replace
50369         lib/concatpath.c with lib/concat-filename.c.
50370         (Makefile.am): Update.
50371         (Include): Replace pathname.h with filename.h.
50372         * lib/filename.h: Renamed from lib/pathname.h.
50373         (concatenated_filename): Renamed from concatenated_pathname.
50374         * lib/concat-filename.c: Renamed from lib/concatpath.c.
50375         (concatenated_filename): Renamed from concatenated_pathname.
50376         * lib/findprog.c: Include filename.h instead of pathname.h.
50377         (find_in_path): Update.
50378         * lib/javacomp.c: Include filename.h instead of pathname.h.
50379         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
50380         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
50381         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
50382         is_oldgcj_14_13_usable, is_javac_usable): Update.
50383         * lib/javaexec.c: Include filename.h instead of pathname.h.
50384         (execute_java_class): Update.
50385         * modules/findprog: Update.
50386         * modules/javacomp: Update.
50387         * modules/javaexec: Update.
50388         * MODULES.html.sh (File system functions): Add 'filename', remove
50389         'pathname'.
50390
50391 2007-02-25  Bruno Haible  <bruno@clisp.org>
50392
50393         * modules/printf-frexpl-tests: New file.
50394         * tests/test-printf-frexpl.c: New file.
50395
50396         * modules/printf-frexpl: New file.
50397         * lib/printf-frexpl.h: New file.
50398         * lib/printf-frexpl.c: New file.
50399         * m4/printf-frexpl.m4: New file.
50400
50401 2007-02-25  Bruno Haible  <bruno@clisp.org>
50402
50403         * modules/printf-frexp-tests: New file.
50404         * tests/test-printf-frexp.c: New file.
50405
50406         * modules/printf-frexp: New file.
50407         * lib/printf-frexp.h: New file.
50408         * lib/printf-frexp.c: New file.
50409         * m4/printf-frexp.m4: New file.
50410
50411 2007-02-25  Bruno Haible  <bruno@clisp.org>
50412
50413         Assume automake >= 1.10 for the tests.
50414         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
50415         * modules/arctwo-tests: Likewise.
50416         * modules/argp-tests: Likewise.
50417         * modules/avltree-list-tests: Likewise.
50418         * modules/avltree-oset-tests: Likewise.
50419         * modules/avltreehash-list-tests: Likewise.
50420         * modules/carray-list-tests: Likewise.
50421         * modules/crc-tests: Likewise.
50422         * modules/des-tests: Likewise.
50423         * modules/gc-arcfour-tests: Likewise.
50424         * modules/gc-arctwo-tests: Likewise.
50425         * modules/gc-des-tests: Likewise.
50426         * modules/gc-hmac-md5-tests: Likewise.
50427         * modules/gc-hmac-sha1-tests: Likewise.
50428         * modules/gc-md2-tests: Likewise.
50429         * modules/gc-md4-tests: Likewise.
50430         * modules/gc-md5-tests: Likewise.
50431         * modules/gc-pbkdf2-sha1-tests: Likewise.
50432         * modules/gc-rijndael-tests: Likewise.
50433         * modules/gc-sha1-tests: Likewise.
50434         * modules/gc-tests: Likewise.
50435         * modules/getaddrinfo-tests: Likewise.
50436         * modules/hmac-md5-tests: Likewise.
50437         * modules/hmac-sha1-tests: Likewise.
50438         * modules/linked-list-tests: Likewise.
50439         * modules/linkedhash-list-tests: Likewise.
50440         * modules/lock-tests: Likewise.
50441         * modules/md2-tests: Likewise.
50442         * modules/md4-tests: Likewise.
50443         * modules/md5-tests: Likewise.
50444         * modules/rbtree-list-tests: Likewise.
50445         * modules/rbtree-oset-tests: Likewise.
50446         * modules/rbtreehash-list-tests: Likewise.
50447         * modules/read-file-tests: Likewise.
50448         * modules/rijndael-tests: Likewise.
50449         * modules/stdint-tests: Likewise.
50450         * modules/tls-tests: Likewise.
50451
50452 2007-02-24  Bruno Haible  <bruno@clisp.org>
50453
50454         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
50455         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
50456         function; instead check whether isnan with a double argument links.
50457         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
50458         function; instead check whether isnan with a 'long double' argument
50459         links.
50460         Reported by Eric Blake <ebb9@byu.net>.
50461
50462 2007-02-24  Bruno Haible  <bruno@clisp.org>
50463
50464         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
50465         defined.
50466         * lib/isnanl.c: Remove all code. Just include isnan.c.
50467         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
50468
50469 2007-02-25  Jim Meyering  <jim@meyering.net>
50470
50471         Avoid conflicting types for 'unsetenv' on FreeBSD.
50472         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
50473         conflicting with FreeBSD's (5.0 and 6.1) function declaration
50474         in stdlib.h.
50475
50476 2007-02-24  Bruno Haible  <bruno@clisp.org>
50477
50478         * modules/isnanl-nolibm-tests: New file.
50479         * tests/test-isnanl.c: New file.
50480
50481         * modules/isnanl-nolibm: New file.
50482         * lib/isnanl.h: New file.
50483         * lib/isnanl.c: New file.
50484         * m4/isnanl.m4: New file.
50485
50486 2007-02-24  Bruno Haible  <bruno@clisp.org>
50487
50488         * modules/isnan-nolibm-tests: New file.
50489         * tests/test-isnan.c: New file.
50490
50491         * modules/isnan-nolibm: New file.
50492         * lib/isnan.h: New file.
50493         * lib/isnan.c: New file.
50494         * m4/isnan.m4: New file.
50495
50496 2007-02-24  Bruno Haible  <bruno@clisp.org>
50497
50498         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
50499         assume that an exponent fits in 20 bits.
50500
50501 2007-02-24  Jim Meyering  <jim@meyering.net>
50502
50503         * m4/regex.m4: Update the description of the configure-time option,
50504         --without-included-regex, to state accurately what the defaults are,
50505         and perhaps to give people an idea why using this option is risky.
50506
50507 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
50508
50509         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
50510         loops on small arguments.  This attempts to avoid the problem
50511         Bruno Haible reported for AIX 4.3.2 in
50512         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
50513
50514 2007-02-23  Bruno Haible  <bruno@clisp.org>
50515
50516         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
50517         Needed for help2man.
50518
50519 2007-02-23  Karl Berry  <karl@gnu.org>
50520
50521         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
50522         exists, foo.h should be cvs-ignored, not committed.
50523
50524 2007-02-23  Eric Blake  <ebb9@byu.net>
50525
50526         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
50527         * lib/stat-time.h (includes): Likewise.
50528         * lib/utimecmp.c (includes): Likewise.
50529         * lib/utimens.h (includes): Likewise.
50530         * lib/getdate.y (includes): Also include "timespec.h" for use
50531         internal to the module.
50532         * modules/utimens (Depends-on): Revert yesterday's patch.
50533         * modules/nanosleep (Depends-on): Add missing dependency.
50534
50535 2007-02-22  Bruno Haible  <bruno@clisp.org>
50536
50537         * lib/glob.c: Don't include getlogin_r.h.
50538
50539 2007-02-22  Jim Meyering  <jim@meyering.net>
50540
50541         * modules/utimens (Depends-on): Add timespec, required for
50542         utimens.h's inclusion of timespec.h.
50543
50544 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
50545
50546         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
50547         long unreadable paths in GNU/Linux.  Problem reported by Andreas
50548         Schwab in
50549         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
50550         I'll try to think of a better way to fix the Solaris problem.
50551
50552         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
50553         like glibc; on Solaris 10, it fails with errno == EINVAL.
50554         POSIX says the behavior is unspecified if the first argument is NULL,
50555         so play it safe and never pass NULL to the system getcwd.
50556
50557 2007-02-21  Jim Meyering  <jim@meyering.net>
50558
50559         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
50560         of gettimeofday.  It would conflict with the one now always
50561         provided via sys_time_.h.  Reported by Matthew Woehlke, as
50562         an IRIX 6.5 build failure.
50563
50564 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
50565
50566         Minor fixups to port to Solaris 10 with Sun C 5.8.
50567         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
50568         * modules/getcwd (Depends-on): Add dirfd.
50569         * lib/putenv.c (putenv): #undef it.
50570         (rpl_putenv): New decl.
50571         (malloc, free): Include <stdlib.h> rather than prototyping separately.
50572
50573 2007-02-20  Bruno Haible  <bruno@clisp.org>
50574
50575         * modules/stdio-tests: New file.
50576         * tests/test-stdio.c: New file.
50577
50578         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
50579         (Depends-on): Add stdio.
50580         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
50581         (Include): Use <stdio.h> instead of vsnprintf.h.
50582         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
50583         HAVE_DECL_VSNPRINTF.
50584         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
50585
50586         * modules/snprintf (Files): Remove lib/snprintf.h.
50587         (Depends-on): Add stdio.
50588         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
50589         (Include): Use <stdio.h> instead of snprintf.h.
50590         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
50591         HAVE_DECL_SNPRINTF.
50592         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
50593         * lib/getaddrinfo.c: Likewise.
50594
50595         * modules/stdio: New file.
50596         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
50597         * lib/snprintf.h: Remove file.
50598         * lib/vsnprintf.h: Remove file.
50599         * lib/.cppi-disable: Remove snprintf.h.
50600         * m4/stdio_h.m4: New file.
50601         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
50602
50603 2007-02-20  Jim Meyering  <jim@meyering.net>
50604
50605         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
50606         used by e.g., mingw.  From Bruno Haible.
50607
50608 2007-02-19  Bruno Haible  <bruno@clisp.org>
50609
50610         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
50611         warnings.
50612         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50613
50614 2007-02-19  Bruno Haible  <bruno@clisp.org>
50615
50616         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
50617         from mingw users.
50618
50619 2007-02-19  Bruno Haible  <bruno@clisp.org>
50620
50621         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
50622         warnings.
50623         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
50624
50625 2007-02-19  Jim Meyering  <jim@meyering.net>
50626
50627         Don't use FD after a successful "fdopendir (fd)".
50628         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
50629         Reset it by calling dirfd on the just-obtained DIR*.
50630
50631         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
50632         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
50633
50634 2007-02-18  Bruno Haible  <bruno@clisp.org>
50635
50636         * lib/readlink.c: Include <unistd.h>.
50637         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
50638         HAVE_READLINK.
50639         * modules/readlink (Depends-on): Add unistd.
50640         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50641         (Include): Add <unistd.h>.
50642
50643         * lib/getlogin_r.h: Remove file.
50644         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
50645         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
50646         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
50647         HAVE_DECL_GETLOGIN_R.
50648         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
50649         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50650         (Include): Use <unistd.h> instead of getlogin_r.h.
50651
50652         * lib/getcwd.h: Remove file.
50653         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
50654         * lib/xgetcwd.c: Likewise.
50655         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
50656         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
50657         * modules/getcwd (Files): Remove lib/getcwd.h.
50658         (Depends-on): Add unistd.
50659         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50660         (Include): Use <unistd.h> instad of getcwd.h.
50661
50662         * lib/ftruncate.c: Include <unistd.h> first.
50663         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
50664         Set HAVE_FTRUNCATE.
50665         * modules/ftruncate (Depends-on): Add unistd.
50666         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50667
50668         * lib/fchdir.c: Include <unistd.h> first.
50669         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
50670         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
50671         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
50672         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50673         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
50674
50675         * lib/dup2.c: Include <unistd.h> first.
50676         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
50677         HAVE_DUP2.
50678         * modules/dup2 (Depends-on): Add unistd.
50679         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50680
50681         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
50682         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
50683         REPLACE_CHOWN. Don't define chown as a macro here.
50684         * modules/chown (Depends-on): Add unistd.
50685         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50686
50687         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
50688         Add definition for GL_LINK_WARNING.
50689         (chown, dup2): New declarations.
50690         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
50691         link warning.
50692         (ftruncate): New declaration.
50693         (getcwd): New declaration, taken from old getcwd.h.
50694         (getlogin_r): New declaration, taken from old getlogin_r.h.
50695         (readlink): New declaration.
50696         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
50697         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
50698         (gl_PREREQ_UNISTD): Remove macro.
50699         (gl_UNISTD_MODULE_INDICATOR): New macro.
50700         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
50701         many new variables. Don't set UNISTD_H.
50702         * modules/unistd (Description): Change.
50703         (Depends-on): Add link-warning.
50704         (configure.ac): Update.
50705         (Makefile.am): Create unistd.h always. Substitute many new variables
50706         into it.
50707
50708 2007-02-18  Bruno Haible  <bruno@clisp.org>
50709
50710         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
50711         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
50712         HAVE_GETSUBOPT.
50713         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
50714         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
50715         * lib/getsubopt.h: Remove file.
50716         * modules/getsubopt (Files): Remove lib/getsubopt.h.
50717         (Depends-on): Add stdlib.
50718         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
50719         (Includes): Use <stdlib.h> instead of getsubopt.h.
50720         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
50721         Set HAVE_GETSUBOPT.
50722         * lib/getsubopt.c: Don't include getsubopt.h.
50723
50724 2007-02-18  Bruno Haible  <bruno@clisp.org>
50725
50726         * modules/fchdir (Depends-on): Add dup2.
50727
50728 2007-02-18  Bruno Haible  <bruno@clisp.org>
50729
50730         * lib/stdlib_.h: Handle glibc's special invocation convention
50731         specially.
50732
50733 2007-02-18  Bruno Haible  <bruno@clisp.org>
50734
50735         * modules/stdlib-tests: New file.
50736         * tests/test-stdlib.c: New file.
50737
50738         * modules/mkstemp (Files): Remove lib/mkstemp.h.
50739         (Depends-on): Add stdlib.
50740         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
50741         (Includes): Use <stdlib.h> instead of mkstemp.h.
50742         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
50743         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
50744         * lib/mkstemp.c: Don't include mkstemp.h.
50745         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
50746         * lib/stdlib--.h: Don't include mkstemp.h.
50747
50748         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
50749         (Depends-on): Add stdlib.
50750         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
50751         (Includes): Use <stdlib.h> instead of mkdtemp.h.
50752         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
50753         HAVE_MKDTEMP.
50754         * lib/mkdtemp.c: Don't include mkdtemp.h.
50755         * lib/clean-temp.c: Don't include mkdtemp.h.
50756
50757         * modules/exit (Files): Remove lib/exit.h.
50758         (Depends-on): Add stdlib.
50759         (Makefile.am): Remove lib_SOURCES.
50760         (Include): Use <stdlib.h> instead of exit.h.
50761         * lib/argmatch.c: Don't include exit.h.
50762         * lib/execute.c: Likewise.
50763         * lib/pagealign_alloc.c: Likewise.
50764         * lib/pipe.c: Likewise.
50765         * lib/wait-process.c: Likewise.
50766         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
50767         * lib/exitfail.c: Likewise.
50768         * lib/savewd.c: Likewise.
50769         * lib/xsetenv.c: Likewise.
50770
50771         * modules/stdlib: New file.
50772         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
50773         and extra comments about mkstemp().
50774         * lib/exit.h: Remove file.
50775         * lib/mkdtemp.h: Remove file.
50776         * lib/mkstemp.h: Remove file.
50777         * m4/stdlib_h.m4: New file.
50778         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
50779
50780 2007-02-18  Bruno Haible  <bruno@clisp.org>
50781
50782         * modules/math-tests: New file.
50783         * tests/test-math.c: New file.
50784
50785         * modules/math: New file.
50786         * modules/mathl (Files): Remove lib/mathl.h.
50787         (Depends-on): Add math.
50788         (Makefile.am): Don't mention mathl.h.
50789         (Include): Use <math.h> instead of mathl.h.
50790         * lib/math_.h: New file.
50791         * lib/mathl.h: Remove file.
50792         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
50793         mathl.h.
50794         * lib/asinl.c: Likewise.
50795         * lib/atanl.c: Likewise.
50796         * lib/ceill.c: Likewise.
50797         * lib/cosl.c: Likewise.
50798         * lib/expl.c: Likewise.
50799         * lib/floorl.c: Likewise.
50800         * lib/frexpl.c: Likewise.
50801         * lib/ldexpl.c: Likewise.
50802         * lib/logl.c: Likewise.
50803         * lib/sincosl.c: Likewise.
50804         * lib/sinl.c: Likewise.
50805         * lib/sqrtl.c: Likewise.
50806         * lib/tanl.c: Likewise.
50807         * lib/trigl.c: Likewise.
50808         * m4/math_h.m4: New file.
50809         * MODULES.html.sh (Mathematics): Add math.
50810
50811 2007-02-17  Bruno Haible  <bruno@clisp.org>
50812
50813         * modules/wctype-tests: New file.
50814         * tests/test-wctype.c: New file.
50815
50816         * modules/wchar-tests: New file.
50817         * tests/test-wchar.c: New file.
50818
50819         * modules/unistd-tests: New file.
50820         * tests/test-unistd.c: New file.
50821
50822         * modules/time-tests: New file.
50823         * tests/test-time.c: New file.
50824
50825         * modules/sysexits-tests: New file.
50826         * tests/test-sysexits.c: New file.
50827
50828         * modules/sys_time-tests: New file.
50829         * tests/test-sys_time.c: New file.
50830
50831         * modules/sys_stat-tests: New file.
50832         * tests/test-sys_stat.c: New file.
50833
50834         * modules/sys_socket-tests: New file.
50835         * tests/test-sys_socket.c: New file.
50836
50837         * modules/sys_select-tests: New file.
50838         * tests/test-sys_select.c: New file.
50839
50840         * modules/string-tests: New file.
50841         * tests/test-string.c: New file.
50842
50843         * modules/stdbool-tests: New file.
50844         * tests/test-stdbool.c: New file.
50845
50846         * modules/netinet_in-tests: New file.
50847         * tests/test-netinet_in.c: New file.
50848
50849         * modules/inttypes-tests: New file.
50850         * tests/test-inttypes.c: New file.
50851
50852         * modules/fcntl-tests: New file.
50853         * tests/test-fcntl.c: New file.
50854
50855         * modules/byteswap-tests: New file.
50856         * tests/test-byteswap.c: New file.
50857
50858         * modules/arpa_inet-tests: New file.
50859         * tests/test-arpa_inet.c: New file.
50860
50861 2007-02-17  Bruno Haible  <bruno@clisp.org>
50862
50863         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
50864         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
50865         if the corresponding module is not enabled. Emit link warnings if
50866         the function is used nevertheless.
50867         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
50868         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
50869         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
50870         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
50871         * modules/inttypes (Depends-on): Add link-warning.
50872         (Makefile.am): Copy the contents of build-aux/link-warning.h into
50873         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
50874         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
50875         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
50876         * modules/imaxdiv (configure.ac): Likewise.
50877         * modules/strtoimax (configure.ac): Likewise.
50878         * modules/strtoumax (configure.ac): Likewise.
50879
50880 2007-02-17  Bruno Haible  <bruno@clisp.org>
50881
50882         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
50883         gl_STRING_MODULE_INDICATOR_DEFAULTS.
50884         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
50885         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
50886
50887 2007-02-17  Bruno Haible  <bruno@clisp.org>
50888
50889         * modules/link-warning: New file.
50890         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
50891         * lib/string_.h (GL_LINK_WARNING): Remove definition.
50892         * modules/string (Depends-on): Add link-warning.
50893         (Makefile.am): Copy the contents of build-aux/link-warning.h into
50894         string.h.
50895         * MODULES.html.sh (Support for building libraries and executables): Add
50896         link-warning.
50897
50898 2007-02-17  Bruno Haible  <bruno@clisp.org>
50899
50900         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
50901         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
50902         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
50903         long lines.
50904
50905 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
50906             Bruno Haible  <bruno@clisp.org>
50907
50908         * modules/tmpfile: New file.
50909         * lib/tmpfile.c: New file.
50910         * m4/tmpfile.m4: New file.
50911         * MODULES.html.sh (func_all_modules): New section "Input/output".
50912
50913 2007-02-15  Bruno Haible  <bruno@clisp.org>
50914
50915         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
50916         (supports_delete_on_close): New function.
50917         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
50918
50919 2007-02-14  Bruno Haible  <bruno@clisp.org>
50920
50921         * modules/mbspcasecmp-tests: New file.
50922         * tests/test-mbspcasecmp.sh: New file.
50923         * tests/test-mbspcasecmp.c: New file.
50924
50925         New module mbspcasecmp.
50926         * modules/mbspcasecmp: New file.
50927         * lib/mbspcasecmp.c: New file.
50928         * lib/string_.h (strncasecmp): Change warning message.
50929         (mbspcasecmp): New declaration.
50930         * m4/mbspcasecmp.m4: New file.
50931         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
50932         GNULIB_MBSPCASECMP.
50933         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
50934         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
50935
50936 2007-02-14  Bruno Haible  <bruno@clisp.org>
50937
50938         * modules/mbsncasecmp-tests: New file.
50939         * tests/test-mbsncasecmp.sh: New file.
50940         * tests/test-mbsncasecmp.c: New file.
50941
50942         New module mbsncasecmp.
50943         * modules/mbsncasecmp: New file.
50944         * lib/mbsncasecmp.c: New file.
50945         * lib/string_.h (mbsncasecmp): New declaration.
50946         * m4/mbsncasecmp.m4: New file.
50947         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
50948         GNULIB_MBSNCASECMP.
50949         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
50950         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
50951
50952 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
50953
50954         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
50955         Verify that it doesn't overlap with our flags.
50956         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
50957         do not have the desired effect in multibyte locales; instead, use
50958         mbscasecmp.
50959         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
50960         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
50961         we don't require GNU fnmatch ourselves (if our users require it, they
50962         should do so explicitly).
50963
50964         Fix regex code so it doesn't rely on strcasecmp.
50965         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
50966         Otherwise, include gnulib's langinfo.h.
50967         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
50968         undesirable behavior in non-C locales.  Instead, rely on localecharset.
50969         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
50970         * modules/regex (FILES): Remove m4/codeset.m4.
50971         (Depends-on): Add localcharset.  Remove strcase.
50972
50973 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50974
50975         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
50976         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
50977
50978 2007-02-13  Bruno Haible  <bruno@clisp.org>
50979
50980         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
50981         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50982
50983 2007-02-12  Bruno Haible  <bruno@clisp.org>
50984
50985         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
50986         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
50987         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
50988         time warning rather than a link error.
50989
50990 2007-02-12  Bruno Haible  <bruno@clisp.org>
50991
50992         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
50993         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
50994         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50995
50996 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
50997
50998         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
50999         args, not 2.
51000
51001 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
51002
51003         New module 'time', so that apps can include <time.h> as per
51004         POSIX and GNU instead of separate include files like time_r.h
51005         and timegm.h.  This implementation tries out a simpler approach
51006         for replacing decls in standard include files (as compared to
51007         the string module), somewhat as an experiment.
51008
51009         * config/srclist.txt: Comment out mktime.c for now.
51010         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
51011         since it doesn't apply any more.  Use generic wording instead.
51012         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
51013         'time'.
51014         * lib/time_.h, m4/time_h.m4, modules/time: New files.
51015         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
51016         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
51017         Don't include <sys/types.h>; no longer needed since we assume C89.
51018         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
51019         * lib/strftime.c: Likewise.
51020         * lib/time_r.c: Likewise.
51021         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
51022         * lib/nanosleep.c: Include <time.h> first, to check interface.
51023         * lib/strptime.c: Likewise.
51024         * lib/time_r.c: Likewise.
51025         * lib/timegm.c: Likewise.
51026         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
51027         needed.
51028         * lib/timegm.c: Don't include timegm.h; no longer needed.
51029         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
51030         time.h now handles any problems in that area.
51031         (struct timespec, nanosleep): Remove; time.h now arranges for these.
51032         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
51033         that time.h defines struct timespec.
51034         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
51035         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
51036         handles that.
51037         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
51038         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
51039         needed.  Set REPLACE_LOCALTIME.
51040         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
51041         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
51042         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
51043         nanosleep; time_h.m4 now does that.  Don't require
51044         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
51045         module handles this now.
51046         * modules/getdate (Depends-on): Remove timespec.  Add time.
51047         * modules/nanosleep (Depends-on): Likewise.
51048         * modules/stat-time (Depends-on): Likewise.
51049         * modules/nanosleep (Include): Include time.h, not timespec.h.
51050         * modules/strptime (Files): Remove lib/strptime.h.
51051         (Depends-on): Add extensions, time.
51052         (Include): Include time.h, not strptime.h.
51053         * modules/time_r (Files): Remove lib/time_r.h.
51054         (Depends-on): Add time.
51055         (Include): Include time.h, not time_r.h.
51056         * modules/timegm: Likewise.
51057         * modules/timespec (Description): Now does timespec-related decls
51058         of our own, instead of struct timespec itself.
51059         (Depends-on): Add time; remove extensions.
51060         (Maintainer): Add self.
51061         * modules/utimecmp (Depends-on): Add time; remove timespec.
51062         * modules/utimens (Depends-on): Likewise.
51063         * modules/xnanosleep (Depends-on): Likewise.
51064
51065 2007-02-11  Bruno Haible  <bruno@clisp.org>
51066
51067         * lib/c-strstr.c: Include allocsa.h.
51068         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
51069         * lib/c-strcasestr.c: Include allocsa.h.
51070         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
51071         * lib/strcasestr.c: Include allocsa.h.
51072         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
51073         * lib/mbsstr.c: Include allocsa.h.
51074         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
51075         allocsa/freesa instead of malloc/free.
51076         * lib/mbscasestr.c: Include allocsa.h.
51077         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
51078         allocsa/freesa instead of malloc/free.
51079         * modules/c-strstr (Depends-on): Add allocsa.
51080         * modules/c-strcasestr (Depends-on): Likewise.
51081         * modules/strcasestr (Depends-on): Likewise.
51082         * modules/mbsstr (Depends-on): Likewise.
51083         * modules/mbscasestr (Depends-on): Likewise.
51084
51085 2007-02-11  Bruno Haible  <bruno@clisp.org>
51086
51087         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
51088
51089         * modules/mbsspn-tests: New file.
51090         * tests/test-mbsspn.sh: New file.
51091         * tests/test-mbsspn.c: New file.
51092
51093 2007-02-11  Bruno Haible  <bruno@clisp.org>
51094
51095         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
51096
51097         * modules/mbspbrk-tests: New file.
51098         * tests/test-mbspbrk.sh: New file.
51099         * tests/test-mbspbrk.c: New file.
51100
51101 2007-02-11  Bruno Haible  <bruno@clisp.org>
51102
51103         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
51104         unneeded cast.
51105
51106         * modules/mbscspn-tests: New file.
51107         * tests/test-mbscspn.sh: New file.
51108         * tests/test-mbscspn.c: New file.
51109
51110 2007-02-11  Bruno Haible  <bruno@clisp.org>
51111
51112         * modules/mbscasecmp-tests: New file.
51113         * tests/test-mbscasecmp.sh: New file.
51114         * tests/test-mbscasecmp.c: New file.
51115
51116 2007-02-11  Bruno Haible  <bruno@clisp.org>
51117
51118         Ensure O(n) worst-case complexity of mbscasestr.
51119         * lib/mbscasestr.c: Include stdbool.h.
51120         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
51121         functions.
51122         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
51123         the bookkeeping indicates that it's worth it.
51124         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
51125
51126         * modules/mbscasestr-tests: New file.
51127         * tests/test-mbscasestr1.c: New file.
51128         * tests/test-mbscasestr2.sh: New file.
51129         * tests/test-mbscasestr2.c: New file.
51130         * tests/test-mbscasestr3.sh: New file.
51131         * tests/test-mbscasestr3.c: New file.
51132         * tests/test-mbscasestr4.sh: New file.
51133         * tests/test-mbscasestr4.c: New file.
51134         * m4/locale-tr.m4: New file.
51135
51136 2007-02-11  Bruno Haible  <bruno@clisp.org>
51137
51138         Ensure O(n) worst-case complexity of mbsstr.
51139         * lib/mbsstr.c: Include stdbool.h.
51140         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
51141         functions.
51142         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
51143         bookkeeping indicates that it's worth it.
51144         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
51145
51146         * modules/mbsstr-tests: New file.
51147         * tests/test-mbsstr1.c: New file.
51148         * tests/test-mbsstr2.sh: New file.
51149         * tests/test-mbsstr2.c: New file.
51150         * tests/test-mbsstr3.sh: New file.
51151         * tests/test-mbsstr3.c: New file.
51152         * m4/locale-fr.m4: New file.
51153
51154 2007-02-11  Bruno Haible  <bruno@clisp.org>
51155
51156         * lib/mbsrchr.c (mbsrchr): Fix bug.
51157
51158         * modules/mbsrchr-tests: New file.
51159         * tests/test-mbsrchr.sh: New file.
51160         * tests/test-mbsrchr.c: New file.
51161
51162 2007-02-11  Bruno Haible  <bruno@clisp.org>
51163
51164         * lib/mbschr.c (mbschr): Fix bug.
51165
51166         * modules/mbschr-tests: New file.
51167         * tests/test-mbschr.sh: New file.
51168         * tests/test-mbschr.c: New file.
51169         * m4/locale-zh.m4: New file.
51170
51171 2007-02-11  Bruno Haible  <bruno@clisp.org>
51172
51173         Support for copying multibyte string iterators.
51174         * lib/mbiter.h: Include <string.h>.
51175         (mbiter_multi_copy): New function.
51176         (mbi_copy): New macro.
51177         * lib/mbuiter.h: Include <string.h>.
51178         (mbuiter_multi_copy): New function.
51179         (mbui_copy): New macro.
51180
51181 2007-02-11  Bruno Haible  <bruno@clisp.org>
51182
51183         New module mbslen.
51184         * modules/mbslen: New file.
51185         * lib/mbslen.c: New file.
51186         * lib/string_.h (mbslen): New declaration.
51187         * m4/mbslen.m4: New file.
51188         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51189         GNULIB_MBSLEN.
51190         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
51191         * MODULES.html.sh (Internationalization functions): Add mbslen.
51192
51193 2007-02-11  Bruno Haible  <bruno@clisp.org>
51194
51195         Ensure O(n) worst-case complexity of strcasestr substitute.
51196         * lib/strcasestr.c: Include stdbool.h.
51197         (knuth_morris_pratt): New function.
51198         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
51199         bookkeeping indicates that it's worth it.
51200         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
51201
51202         * modules/strcasestr-tests: New file.
51203         * tests/test-strcasestr.c: New file.
51204
51205 2007-02-11  Bruno Haible  <bruno@clisp.org>
51206
51207         Ensure O(n) worst-case complexity of c_strcasestr.
51208         * lib/c-strcasestr.c: Include stdbool.h, string.h.
51209         (knuth_morris_pratt): New function.
51210         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
51211         the bookkeeping indicates that it's worth it.
51212         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
51213
51214         * modules/c-strcasestr-tests: New file.
51215         * tests/test-c-strcasestr.c: New file.
51216
51217 2007-02-11  Bruno Haible  <bruno@clisp.org>
51218
51219         Ensure O(n) worst-case complexity of c_strstr.
51220         * lib/c-strstr.c: Include stdbool.h, string.h.
51221         (knuth_morris_pratt): New function.
51222         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
51223         bookkeeping indicates that it's worth it.
51224         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
51225
51226         * lib/c-strstr.c: Complete rewrite for maintainability.
51227
51228         * modules/c-strstr-tests: New file.
51229         * tests/test-c-strstr.c: New file.
51230
51231 2007-02-11  Bruno Haible  <bruno@clisp.org>
51232
51233         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
51234         5.2.1 and earlier, whereby \055 was treated just like the range
51235         delimiter '-'.
51236         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
51237
51238 2007-02-08  Bruno Haible  <bruno@clisp.org>
51239
51240         * modules/regex (Depends-on): Add stdbool.
51241         Reported by Dalibor Topic <robilad@kaffe.org>.
51242
51243 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
51244
51245         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
51246         Prefer returning from main to exiting from it.
51247         Remove unnecessary parens after sizeof.
51248
51249 2007-02-05  Bruno Haible  <bruno@clisp.org>
51250
51251         New module mbssep.
51252         * modules/mbssep: New file.
51253         * lib/mbssep.c: New file.
51254         * lib/string_.h (strsep): Add a conditional link warning.
51255         (mbssep): New declaration.
51256         * m4/mbssep.m4: New file.
51257         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51258         GNULIB_MBSSEP.
51259         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
51260         * MODULES.html.sh (Internationalization functions): Add mbssep.
51261
51262 2007-02-05  Bruno Haible  <bruno@clisp.org>
51263
51264         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
51265         Optimize search in case of 1 delimiter.
51266
51267 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
51268
51269         * lib/acl.h: Include sys/types.h before sys/acl.h.
51270
51271 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
51272
51273         Merge upstream fix for glibc bugzilla #3957:
51274
51275         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
51276
51277         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
51278         bit for RE_HAT_LISTS_NOT_NEWLINE.
51279         (build_charclass_op): Remove bogus comment.
51280
51281 2007-02-05  Simon Josefsson  <simon@josefsson.org>
51282
51283         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
51284
51285 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
51286
51287         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
51288         * lib/memmem.c [!defined _LIBC]: Include config.h.
51289
51290 2007-02-04  Bruno Haible  <bruno@clisp.org>
51291
51292         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
51293         warning message.
51294
51295 2007-02-04  Bruno Haible  <bruno@clisp.org>
51296
51297         New module mbstok_r.
51298         * modules/mbstok_r: New file.
51299         * lib/mbstok_r.c: New file.
51300         * lib/string_.h (strtok_r): Change argument names to match the
51301         comments. Add a conditional link warning.
51302         (mbstok_r): New declaration.
51303         * m4/mbstok_r.m4: New file.
51304         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51305         GNULIB_MBSTOK_R.
51306         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
51307         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
51308
51309 2007-02-04  Bruno Haible  <bruno@clisp.org>
51310
51311         New module mbsspn.
51312         * modules/mbsspn: New file.
51313         * lib/mbsspn.c: New file.
51314         * lib/string_.h (strspn): Add a conditional link warning.
51315         (mbsspn): New declaration.
51316         * m4/mbsspn.m4: New file.
51317         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51318         GNULIB_MBSSPN.
51319         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
51320         * MODULES.html.sh (Internationalization functions): Add mbsspn.
51321
51322 2007-02-04  Bruno Haible  <bruno@clisp.org>
51323
51324         New module mbspbrk.
51325         * modules/mbspbrk: New file.
51326         * lib/mbspbrk.c: New file.
51327         * lib/string_.h (strpbrk): Add a conditional link warning.
51328         (mbspbrk): New declaration.
51329         * m4/mbspbrk.m4: New file.
51330         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51331         GNULIB_MBSPBRK.
51332         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
51333         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
51334
51335 2007-02-04  Bruno Haible  <bruno@clisp.org>
51336
51337         New module mbscspn.
51338         * modules/mbscspn: New file.
51339         * lib/mbscspn.c: New file.
51340         * lib/string_.h (strcspn): Add a conditional link warning.
51341         (mbscspn): New declaration.
51342         * m4/mbscspn.m4: New file.
51343         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51344         GNULIB_MBSCSPN.
51345         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
51346         * MODULES.html.sh (Internationalization functions): Add mbscspn.
51347
51348 2007-02-04  Bruno Haible  <bruno@clisp.org>
51349
51350         New module mbscasestr, reduced goal of strcasestr.
51351         * modules/mbscasestr: New file.
51352         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
51353         (mbscasestr): Renamed from strcasestr.
51354         * lib/strcasestr.c: Don't include mbuiter.h.
51355         (strcasestr): Remove support for multibyte locales.
51356         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
51357         Change the conditional link warning.
51358         (mbscasestr): New declaration.
51359         * m4/mbscasestr.m4: New file.
51360         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
51361         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
51362         REPLACE_STRCASESTR.
51363         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
51364         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
51365         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
51366         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
51367         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
51368         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
51369         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
51370         (Depends-on): Remove mbuiter.
51371         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
51372
51373 2007-02-04  Bruno Haible  <bruno@clisp.org>
51374
51375         Simplify handling of strncasecmp.
51376         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
51377         the conditional link warning.
51378         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
51379         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
51380         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
51381         * modules/strcase (configure.ac): Don't invoke
51382         gl_STRING_MODULE_INDICATOR.
51383         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
51384
51385 2007-02-04  Bruno Haible  <bruno@clisp.org>
51386
51387         New module mbscasecmp, reduced goal of strcasecmp.
51388         * modules/mbscasecmp: New file.
51389         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
51390         (mbscasecmp): Renamed from strcasecmp.
51391         * lib/strcasecmp.c: Don't include mbuiter.h.
51392         (strcasecmp): Remove support for multibyte locales.
51393         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
51394         Change the conditional link warning.
51395         (mbscasecmp): New declaration.
51396         * m4/mbscasecmp.m4: New file.
51397         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
51398         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
51399         REPLACE_STRCASECMP.
51400         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
51401         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51402         GNULIB_MBSCASECMP.
51403         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
51404         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
51405         * modules/strcase (Files): Remove m4/mbrtowc.m4.
51406         (Depends-on): Remove mbuiter.
51407         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
51408
51409 2007-02-04  Bruno Haible  <bruno@clisp.org>
51410
51411         New module mbsstr. Remove module strstr.
51412         * modules/mbsstr: New file.
51413         * modules/strstr: Remove file.
51414         * lib/mbsstr.c: Renamed from lib/strstr.c.
51415         (mbsstr): Renamed from strstr.
51416         * lib/string_.h (strstr): Remove declaration. Change the conditional
51417         link warning.
51418         (mbsstr): New declaration.
51419         * m4/mbsstr.m4: New file.
51420         * m4/strstr.m4: Remove file.
51421         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
51422         REPLACE_STRSTR.
51423         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
51424         Don't initialize GNULIB_STRSTR.
51425         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
51426         substitute GNULIB_STRSTR and REPLACE_STRSTR.
51427         * MODULES.html.sh (Internationalization functions): Add mbsstr.
51428         (Support for systems lacking ANSI C 89): Remove strstr.
51429
51430 2007-02-04  Bruno Haible  <bruno@clisp.org>
51431
51432         New module mbsrchr.
51433         * modules/mbsrchr: New file.
51434         * lib/mbsrchr.c: New file.
51435         * lib/string_.h (strrchr): Add a conditional link warning.
51436         (mbsrchr): New declaration.
51437         * m4/mbsrchr.m4: New file.
51438         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51439         GNULIB_MBSRCHR.
51440         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
51441         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
51442
51443 2007-02-04  Bruno Haible  <bruno@clisp.org>
51444
51445         New module mbschr.
51446         * modules/mbschr: New file.
51447         * lib/mbschr.c: New file.
51448         * lib/string_.h (strchr): Add a conditional link warning.
51449         (mbschr): New declaration.
51450         * m4/mbschr.m4: New file.
51451         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51452         GNULIB_MBSCHR.
51453         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
51454         * MODULES.html.sh (Internationalization functions): Add mbschr.
51455
51456 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
51457
51458         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
51459
51460         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
51461
51462 2007-02-04  Bruno Haible  <bruno@clisp.org>
51463
51464         New module description section 'configure.ac-early'.
51465         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
51466         (func_get_autoconf_early_snippet): New function.
51467         (func_import, func_create_testdir): Use it. Remove special cases for
51468         modules 'extensions' and 'lock'.
51469         * modules/extensions (configure.ac-early): Require
51470         gl_USE_SYSTEM_EXTENSIONS.
51471         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
51472
51473 2007-02-04  Bruno Haible  <bruno@clisp.org>
51474
51475         Make use of gcj-4.3's -fsource and -ftarget option.
51476         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
51477         and if so try the options -fsource and -ftarget.
51478         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
51479         source_version, ftarget_option, target_version arguments.
51480         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
51481         (is_envjavac_oldgcj_14_14_usable): Renamed from
51482         is_envjavac_gcj_14_14_usable.
51483         (is_envjavac_oldgcj_14_13_usable): Renamed from
51484         is_envjavac_gcj_14_13_usable.
51485         (is_gcj_present): Update.
51486         (is_gcj_43, is_gcj43_usable): New functions.
51487         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
51488         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
51489         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
51490         try the options -fsource and -ftarget.
51491
51492 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
51493
51494         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
51495         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
51496         larger value.
51497
51498 2007-02-03  Jim Meyering  <jim@meyering.net>
51499
51500         Give tools a better chance to allocate space for very large buffers.
51501         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
51502
51503         Make pwd and readlink work also when run with an unreadable parent dir
51504         on systems with openat support.
51505         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
51506         provided getcwd function, even when we have openat support.
51507         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
51508
51509 2007-02-02  Bruno Haible  <bruno@clisp.org>
51510
51511         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
51512         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
51513         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
51514         portability problems if one of these functions is only used on specific
51515         platforms.
51516         Reported by Paul Eggert.
51517
51518 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
51519
51520         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
51521         is causing more trouble than it's curing.
51522         * lib/regex_internal.h (__mempcpy): Remove.
51523         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
51524         (and make the code a tad smaller to boot).
51525         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
51526
51527 2007-02-02  Jim Meyering  <jim@meyering.net>
51528
51529         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
51530         section, not in the Makefile.am: one.
51531
51532 2007-02-02  Eric Blake  <ebb9@byu.net>
51533
51534         * lib/strchrnul.c: Always include config.h first.
51535
51536         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
51537         gnulib strstr is not necessary here.
51538
51539 2007-02-02  Simon Josefsson  <simon@josefsson.org>
51540
51541         * m4/socklen.m4: Fix typo.
51542
51543 2007-02-02  Eric Blake  <ebb9@byu.net>
51544
51545         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
51546         * modules/netinet_in (Makefile.am): Likewise.
51547
51548 2007-02-01  Bruno Haible  <bruno@clisp.org>
51549
51550         * lib/string_.h (GL_LINK_WARNING): New macro.
51551         (strcasecmp, strstr, strcasestr): If provided by the system,
51552         conditionally define as a macro that leads to a warning instead of to
51553         an error.
51554         (strncasecmp): Conditionally define as a macro that leads to a warning.
51555
51556 2007-02-01  Karl Berry  <karl@gnu.org>
51557
51558         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
51559
51560 2007-02-01  Bruno Haible  <bruno@clisp.org>
51561
51562         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
51563         renamings.
51564
51565 2007-02-01  Eric Blake  <ebb9@byu.net>
51566
51567         * modules/regex (Depends-on): Revert dependence on mempcpy.
51568         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
51569         module's definition of mempcpy.
51570         Reported by Paul Eggert.
51571
51572 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
51573
51574         * lib/string_.h: If the gnulib module XYZ is not present, undefine
51575         the symbol XYZ before redefining it.  This fixes a problem with
51576         programs that don't use XYZ, when compiled on systems that define
51577         XYZ to something else.
51578
51579 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
51580
51581         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
51582         occurs when "mkdir -m foo" creates a setgid directory that is (1)
51583         writeable to group or other and (2) is intended to have a special
51584         mode bit that is set or cleared.  In such a case, the directory
51585         should be neither group- nor other-writeable until the special
51586         mode bits are right.
51587
51588 2007-01-31  Eric Blake  <ebb9@byu.net>
51589
51590         * modules/mountlist (Depends-on): Add strstr.
51591
51592         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
51593         bug.
51594         * modules/string (Makefile.am): Remove redundant replacement.
51595         * modules/regex (Depends-on): Add mempcpy.
51596
51597 2007-01-31  Bruno Haible  <bruno@clisp.org>
51598
51599         New module description field 'Link'.
51600         * gnulib-tool (func_usage): Document --extract-link-directive.
51601         (sed_extract_prog): Recognize 'Link' directive.
51602         (func_get_link_directive): New function.
51603         (func_import): Show summary of link directives.
51604         Handle --extract-link-directive option.
51605         * modules/acl (Link): New section.
51606         * modules/clock-time (Link): New section.
51607         * modules/euidaccess (Link): New section.
51608         * modules/gettext (Link): New section.
51609         * modules/iconv (Link): New section.
51610         * modules/lock (Link): New section.
51611         * modules/nanosleep (Link): New section.
51612         * modules/readline (Link): New section.
51613
51614 2007-01-27  Bruno Haible  <bruno@clisp.org>
51615
51616         Enforce the use of gnulib modules for unportable <string.h> functions.
51617         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
51618         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
51619         (gl_HEADER_STRING_H_BODY): Require it.
51620         * lib/string_.h: If the gnulib module XYZ is not present, redefine
51621         the symbol XYZ to one that gives a link error.
51622         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
51623         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
51624         * modules/mempcpy (configure.ac): Likewise.
51625         * modules/memrchr (configure.ac): Likewise.
51626         * modules/stpcpy (configure.ac): Likewise.
51627         * modules/stpncpy (configure.ac): Likewise.
51628         * modules/strcase (configure.ac): Likewise.
51629         * modules/strcasestr (configure.ac): Likewise.
51630         * modules/strchrnul (configure.ac): Likewise.
51631         * modules/strdup (configure.ac): Likewise.
51632         * modules/strndup (configure.ac): Likewise.
51633         * modules/strnlen (configure.ac): Likewise.
51634         * modules/strpbrk (configure.ac): Likewise.
51635         * modules/strsep (configure.ac): Likewise.
51636         * modules/strstr (configure.ac): Likewise.
51637         * modules/strtok_r (configure.ac): Likewise.
51638
51639 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
51640
51641         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
51642
51643 2007-01-30  Jim Meyering  <jim@meyering.net>
51644
51645         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
51646
51647 2007-01-29  Bruno Haible  <bruno@clisp.org>
51648
51649         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
51650         * lib/execute.c: Likewise.
51651         * lib/pipe.c: Likewise.
51652         * lib/printf-args.h: Likewise.
51653         * lib/printf-args.c: Likewise.
51654         * lib/printf-parse.c: Likewise.
51655         * lib/vasnprintf.c: Likewise.
51656
51657 2007-01-29  Eric Blake  <ebb9@byu.net>
51658
51659         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
51660         declaration.
51661
51662 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
51663
51664         * lib/strptime.h (strptime): Use 'restrict' for args where
51665         POSIX requires this.
51666         * lib/strptime.c (strptime): Likewise.
51667         Change license notice from LGPL to GPL, since gnulib-tool will
51668         change this as needed.
51669         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
51670         defined.
51671         Include "strptime.h" first, to check interface.
51672         Do not #undef _LIBC and _NL_CURRENT.
51673         Do not include <stdlib.h>; no longer needed.
51674         Include "time_r.h" and declare ptime_locale_status
51675         only if _LIBC is not defined.
51676         (__P): Remove unused macro.
51677         (match_string): Bring back glibc version, but use it only if _LIBC
51678         is defined.
51679         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
51680         Remove unnecessary assertion and abort() call.
51681         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
51682         * m4/strptime.m4: Fix serial number comment.
51683         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
51684         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
51685         (Depends-on): Add time_r.
51686
51687 2007-01-29  Bruno Haible  <bruno@clisp.org>
51688
51689         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
51690         strptime.
51691         * modules/strptime (Depends-on): Add stdbool.
51692         * lib/strptime.h: Include <time.h> always. Add comments.
51693
51694 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
51695
51696         * modules/strptime: New file.
51697         * lib/strptime.h: New file.
51698         * lib/strptime.c: New file.
51699         * m4/strptime.m4: New file.
51700
51701 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
51702
51703         * MODULES.html.sh: New module mpsort.
51704         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
51705
51706         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
51707         a circularity problem with HP-UX ia64 reported by Bob Proulx in
51708         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
51709         All uses changed.
51710         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
51711         All uses changed.
51712         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
51713         to _Restrict_.
51714         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
51715         the parameter matches the prototype.
51716
51717 2007-01-28  Jim Meyering  <jim@meyering.net>
51718
51719         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
51720         sys/time.h here, reverting that part of the previous patch:
51721         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
51722
51723 2007-01-28  Bruno Haible  <bruno@clisp.org>
51724
51725         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
51726         value of $(SYS_TIME_H).
51727         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
51728         remove it conditionally, too. [added by Jim Meyering]
51729         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
51730         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
51731         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
51732         GETTIMEOFDAY_REPLACEMENT to 1.
51733
51734 2007-01-28  Bruno Haible  <bruno@clisp.org>
51735
51736         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
51737         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
51738         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
51739         Set UNISTD_H instead of UNISTD_H2.
51740         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
51741
51742 2007-01-28  Bruno Haible  <bruno@clisp.org>
51743
51744         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
51745         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
51746
51747 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51748
51749         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
51750         (func_create_testdir): Ensure C locale for `grep' and `tr'
51751         character ranges.
51752         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
51753         ACLOCAL_AMFLAGS parsing state machine.
51754
51755 2007-01-27  Bruno Haible  <bruno@clisp.org>
51756
51757         * modules/unistr/base: Update.
51758
51759 2007-01-27  Bruno Haible  <bruno@clisp.org>
51760
51761         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
51762         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
51763         * modules/unistr/u32-mbtouc-unsafe: Renamed from
51764         modules/unistr/u32-mbtouc.
51765         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
51766         * lib/unistr.h: Update.
51767         * lib/linebreak.c: Update.
51768         * modules/unistr/u32-mbtouc: Renamed from
51769         modules/unistr/u32-mbtouc-safe.
51770         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
51771         * lib/unistr.h: Update.
51772         * lib/unistr/u32-to-u8.c: Update.
51773         * lib/unistr/u32-to-u16.c: Update.
51774
51775 2007-01-27  Bruno Haible  <bruno@clisp.org>
51776
51777         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
51778         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
51779         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
51780         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
51781         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
51782         * modules/unistr/u16-mbtouc-unsafe: Renamed from
51783         modules/unistr/u16-mbtouc.
51784         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
51785         * lib/unistr.h: Update.
51786         * lib/linebreak.c: Update.
51787         * modules/linebreak: Update.
51788         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
51789         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
51790         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
51791         * modules/unistr/u16-mbtouc: Renamed from
51792         modules/unistr/u16-mbtouc-safe.
51793         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
51794         * lib/unistr.h: Update.
51795         * lib/unistr/u16-to-u8.c: Update.
51796         * modules/unistr/u16-to-u8: Update.
51797         * lib/unistr/u16-to-u32.c: Update.
51798         * modules/unistr/u16-to-u32: Update.
51799
51800 2007-01-27  Bruno Haible  <bruno@clisp.org>
51801
51802         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
51803         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
51804         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
51805         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
51806         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
51807         * modules/unistr/u8-mbtouc-unsafe: Renamed from
51808         modules/unistr/u8-mbtouc.
51809         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
51810         * lib/unistr.h: Update.
51811         * lib/striconveh.c: Update.
51812         * modules/striconveh: Update.
51813         * lib/linebreak.c: Update.
51814         * modules/linebreak: Update.
51815         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
51816         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
51817         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
51818         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
51819         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
51820         * lib/unistr.h: Update.
51821         * lib/striconveh.c: Update.
51822         * modules/striconveh: Update.
51823         * lib/unistr/u8-to-u16.c: Update.
51824         * modules/unistr/u8-to-u16: Update.
51825         * lib/unistr/u8-to-u32.c: Update.
51826         * modules/unistr/u8-to-u32: Update.
51827
51828 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51829
51830         Sync from Libtool.
51831         * lib/argz.c: Do not include strings.h nor memory.h, include
51832         string.h unconditionally.  Patch by Simon Josefsson.
51833
51834 2007-01-27  Bruno Haible  <bruno@clisp.org>
51835
51836         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
51837         from gl_HEADER_STRING_H_BODY.
51838         (gl_HEADER_STRING_H_BODY): Require it.
51839         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
51840         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
51841         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
51842         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
51843         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
51844         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
51845         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
51846         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
51847         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
51848         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
51849         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
51850         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
51851         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
51852         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
51853         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
51854
51855 2007-01-27  Bruno Haible  <bruno@clisp.org>
51856
51857         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
51858         check_PROGRAMS into noinst_PROGRAMS.
51859         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
51860         check_PROGRAMS in this case.
51861         (func_import): Set for_test to false.
51862         (func_create_testdir): Set for_test to true.
51863
51864 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
51865             Bruno Haible  <bruno@clisp.org>
51866
51867         * modules/strcasestr (Files): Remove lib/strcasestr.h.
51868         (Depends-on): Add string.
51869         (Includes): Use <string.h> instead of strcasestr.h.
51870         * modules/string (Makefile.am): Also substitute the value of
51871         REPLACE_STRCASESTR.
51872         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
51873         assume strcasestr is declared in <string.h> not <strings.h>. Also
51874         set REPLACE_STRCASESTR.
51875         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
51876         REPLACE_STRCASESTR.
51877         * lib/strcasestr.h: Remove file.
51878         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
51879         * lib/string_.h (strcasestr): New declaration.
51880
51881 2007-01-27  Bruno Haible  <bruno@clisp.org>
51882
51883         * lib/string_.h: Use 'extern'.
51884
51885 2007-01-27  Jim Meyering  <jim@meyering.net>
51886
51887         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
51888         of set-but-not-used local, "q".
51889
51890         * lib/mempcpy.c: Include <config.h> before <string.h>.
51891         This fixes a compilation error on HP-UX, due to the system's
51892         "restrict"-using mempcpy prototype.
51893
51894 2007-01-26  Bruno Haible  <bruno@clisp.org>
51895
51896         Small optimization.
51897         * lib/javacomp.c: Include c-strstr.h.
51898          (is_envjavac_gcj): Use c_strstr instead of strstr.
51899         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
51900
51901 2007-01-26  Bruno Haible  <bruno@clisp.org>
51902
51903         * MODULES.html.sh (Unicode string functions): Add the new modules.
51904
51905         * modules/uniconv/u32-strconv-to-locale: New file.
51906         * lib/uniconv/u32-strconv-to-locale.c: New file.
51907
51908         * modules/uniconv/u16-strconv-to-locale: New file.
51909         * lib/uniconv/u16-strconv-to-locale.c: New file.
51910
51911         * modules/uniconv/u8-strconv-to-locale: New file.
51912         * lib/uniconv/u8-strconv-to-locale.c: New file.
51913
51914         * modules/uniconv/u32-strconv-from-locale: New file.
51915         * lib/uniconv/u32-strconv-from-locale.c: New file.
51916
51917         * modules/uniconv/u16-strconv-from-locale: New file.
51918         * lib/uniconv/u16-strconv-from-locale.c: New file.
51919
51920         * modules/uniconv/u8-strconv-from-locale: New file.
51921         * lib/uniconv/u8-strconv-from-locale.c: New file.
51922
51923         * modules/uniconv/u32-strconv-to-enc: New file.
51924         * lib/uniconv/u32-strconv-to-enc.c: New file.
51925         * modules/uniconv/u32-strconv-to-enc-tests: New file.
51926         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
51927
51928         * modules/uniconv/u16-strconv-to-enc: New file.
51929         * lib/uniconv/u16-strconv-to-enc.c: New file.
51930         * lib/uniconv/u-strconv-to-enc.h: New file.
51931         * modules/uniconv/u16-strconv-to-enc-tests: New file.
51932         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
51933
51934         * modules/uniconv/u8-strconv-to-enc: New file.
51935         * lib/uniconv/u8-strconv-to-enc.c: New file.
51936         * modules/uniconv/u8-strconv-to-enc-tests: New file.
51937         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
51938
51939         * modules/uniconv/u32-strconv-from-enc: New file.
51940         * lib/uniconv/u32-strconv-from-enc.c: New file.
51941         * modules/uniconv/u32-strconv-from-enc-tests: New file.
51942         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
51943
51944         * modules/uniconv/u16-strconv-from-enc: New file.
51945         * lib/uniconv/u16-strconv-from-enc.c: New file.
51946         * modules/uniconv/u16-strconv-from-enc-tests: New file.
51947         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
51948
51949         * modules/uniconv/u8-strconv-from-enc: New file.
51950         * lib/uniconv/u8-strconv-from-enc.c: New file.
51951         * lib/uniconv/u-strconv-from-enc.h: New file.
51952         * modules/uniconv/u8-strconv-from-enc-tests: New file.
51953         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
51954
51955         * modules/uniconv/u32-conv-from-enc: New file.
51956         * lib/uniconv/u32-conv-from-enc.c: New file.
51957         * modules/uniconv/u32-conv-from-enc-tests: New file.
51958         * tests/uniconv/test-u32-conv-from-enc.c: New file.
51959
51960         * modules/uniconv/u16-conv-from-enc: New file.
51961         * lib/uniconv/u16-conv-from-enc.c: New file.
51962         * lib/uniconv/u-conv-from-enc.h: New file.
51963         * modules/uniconv/u16-conv-from-enc-tests: New file.
51964         * tests/uniconv/test-u16-conv-from-enc.c: New file.
51965
51966         * modules/uniconv/u8-conv-from-enc: New file.
51967         * lib/uniconv/u8-conv-from-enc.c: New file.
51968         * modules/uniconv/u8-conv-from-enc-tests: New file.
51969         * tests/uniconv/test-u8-conv-from-enc.c: New file.
51970
51971         * modules/uniconv/base: New file.
51972         * lib/uniconv.h: New file.
51973
51974 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
51975
51976         * doc/gnulib-tool.texi (Initial import): Update to match current
51977         behavior with strdup module.
51978         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
51979         * lib/memmem.h: Remove; all uses removed.  This is now done
51980         by <string.h>.
51981         * lib/mempcpy.h: Likewise.
51982         * lib/memrchr.h: Likewise.
51983         * lib/stpcpy.h: Likewise.
51984         * lib/stpncpy.h: Likewise.
51985         * lib/strcase.h: Likewise.
51986         * lib/strchrnul.h: Likewise.
51987         * lib/strdup.h: Likewise.
51988         * lib/strndup.h: Likewise.
51989         * lib/strnlen.h: Likewise.
51990         * lib/strpbrk.h: Likewise.
51991         * lib/strsep.h: Likewise.
51992         * lib/strstr.h: Likewise.
51993         * lib/strtok_r.h: Likewise.
51994         * lib/string_.h: New file.
51995         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
51996         Rely on <string.h> instead.
51997         * lib/canon-host.c: Likewise.
51998         * lib/chdir-long.c: Likewise.
51999         * lib/concatpath.c: Likewise.
52000         * lib/exclude.c: Likewise.
52001         * lib/fchdir.c: Likewise.
52002         * lib/getaddrinfo.c: Likewise.
52003         * lib/getcwd.c: Likewise.
52004         * lib/getsubopt.c: Likewise.
52005         * lib/glob.c: Likewise.
52006         * lib/hard-locale.c: Likewise.
52007         * lib/iconvme.c: Likewise.
52008         * lib/javacomp.c: Likewise.
52009         * lib/mempcpy.c: Likewise.
52010         * lib/memrchr.c: Likewise.
52011         * lib/regex_internal.h: Likewise.
52012         * lib/stpncpy.c: Likewise.
52013         * lib/strcasecmp.c: Likewise.
52014         * lib/strchrnul.c: Likewise.
52015         * lib/strdup.c: Likewise.
52016         * lib/striconv.c: Likewise.
52017         * lib/striconveh.c: Likewise.
52018         * lib/striconveha.c: Likewise.
52019         * lib/strncasecmp.c: Likewise.
52020         * lib/strndup.c: Likewise.
52021         * lib/strnlen.c: Likewise.
52022         * lib/strsep.c: Likewise.
52023         * lib/strstr.c: Likewise.
52024         * lib/strtok_r.c: Likewise.
52025         * lib/userspec.c: Likewise.
52026         * lib/w32spawn.h: Likewise.
52027         * lib/xstrndup.c: Likewise.
52028         * lib/mountlist.c (strstr): Remove decl.
52029         * m4/string_h.m4: New file.
52030         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
52031         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
52032         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
52033         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
52034         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
52035         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
52036         Set REPLACE_STRCASECMP if necessary.
52037         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
52038         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
52039         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
52040         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
52041         HAVE_DECL_STRDUP if necessary.
52042         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
52043         since gl_FUNC_STRNDUP does that now.
52044         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
52045         Check for decl here...
52046         (gl_PREREQ_STRNLEN): ... not here.
52047         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
52048         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
52049         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
52050         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
52051         necessary.
52052         * modules/string: New file.
52053         * modules/memmem (Files): Remove special-purpose include file.
52054         (Depends-on): Add string.
52055         (Include): Include <string.h>, not the removed file.
52056         * modules/mempcpy: Likewise.
52057         * modules/memrchr: Likewise.
52058         * modules/stpcpy: Likewise.
52059         * modules/stpncpy: Likewise.
52060         * modules/strcase: Likewise.
52061         * modules/strchrnul: Likewise.
52062         * modules/strdup: Likewise.
52063         * modules/strndup: Likewise.
52064         * modules/strnlen: Likewise.
52065         * modules/strpbrk: Likewise.
52066         * modules/strsep: Likewise.
52067         * modules/strstr: Likewise.
52068         * modules/strtok_r: Likewise.
52069         * tests/test-dirname.c: Don't include "strdup.h", since
52070         <string.h> now suffices.
52071         * tests/test-memmem.c: Don't include "memmem.h", since
52072         <string.h> now suffices.
52073
52074 2007-01-25  Bruno Haible  <bruno@clisp.org>
52075
52076         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
52077         *resultp is 0.
52078
52079         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
52080         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
52081         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
52082         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
52083
52084         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
52085         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
52086         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
52087         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
52088         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
52089         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
52090
52091 2007-01-24  Bruno Haible  <bruno@clisp.org>
52092
52093         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
52094         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
52095         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
52096         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
52097         gl_FUNC_FTS_CORE.
52098         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
52099         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
52100         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
52101         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
52102         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
52103         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
52104         gl_FUNC_FCHOWNAT.
52105         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
52106         gl_FUNC_STRFTIME.
52107         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
52108         Reported by Ralf Wildenhues.
52109
52110 2007-01-24  Bruno Haible  <bruno@clisp.org>
52111
52112         Drop AC_REQUIRE calls that are redundant with the module dependencies.
52113         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
52114         gl_GETADDRINFO.
52115         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
52116         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
52117         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
52118
52119 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
52120
52121         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
52122         Don't use 'exit'; just return from 'main'.
52123         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
52124
52125         * lib/fnmatch_.h: Readjust white space and comments to match
52126         glibc, to avoid spurious diffs.
52127
52128 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
52129
52130         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
52131         2004-12-01 change by Jakub Jelinek, since this code won't compile
52132         if !LIBC.  Problem reported by Bob Proulx.
52133
52134 2007-01-23  Bruno Haible  <bruno@clisp.org>
52135
52136         * lib/striconveh.c: Include c-strcaseeq.h.
52137         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
52138         * modules/striconveh (Depends-on): Add c-strcaseeq.
52139
52140 2007-01-23  Bruno Haible  <bruno@clisp.org>
52141
52142         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
52143
52144         * modules/c-strcaseeq: New file.
52145         * lib/c-strcaseeq.h: New file.
52146
52147         * modules/streq: New file.
52148         * lib/streq.h: New file.
52149
52150 2007-01-23  Bruno Haible  <bruno@clisp.org>
52151
52152         * modules/striconveha-tests: New file.
52153         * tests/test-striconveha.c: New file.
52154
52155         * lib/striconveha.h: Include <stdbool.h>.
52156         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
52157         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
52158         (mem_iconveha_notranslit): Renamed from mem_iconveha.
52159         (mem_iconveha): New function.
52160         (str_iconveha_notranslit): Renamed from str_iconveha.
52161         (str_iconveha): New function.
52162         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
52163         c-strcase.
52164
52165 2007-01-23  Bruno Haible  <bruno@clisp.org>
52166
52167         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
52168         encodings without forgiving before trying any encoding with handler.
52169         (str_iconveha): Try all encodings without forgiving before trying any
52170         encoding with handler.
52171
52172 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
52173
52174         Import the following changes from libc.
52175
52176         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
52177
52178         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
52179
52180         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
52181
52182         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
52183         normal_bracket label.
52184
52185         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
52186
52187         [BZ #361]
52188         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
52189         to normal_bracket after fetching the next character.
52190
52191 2007-01-22  Bruno Haible  <bruno@clisp.org>
52192
52193         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
52194         argument.
52195         * lib/striconveh.c (iconv_carefully_1): New function.
52196         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
52197         argument.
52198         (str_cd_iconveh): Update.
52199         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
52200         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
52201         * tests/test-striconveh.c (MAGIC): New macro.
52202         (new_offsets): New function.
52203         (main): Test call with and without offsets.
52204
52205 2007-01-22  Bruno Haible  <bruno@clisp.org>
52206
52207         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
52208         * modules/sys_select (Makefile.am): Likewise.
52209         * modules/sys_socket (Makefile.am): Likewise.
52210         * modules/sys_time (Makefile.am): Likewise.
52211
52212 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
52213
52214         * modules/gettimeofday (License): Change from GPL to LGPL, since
52215         gettimeofday is a library function.
52216
52217 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52218
52219         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
52220
52221 2007-01-21  Bruno Haible  <bruno@clisp.org>
52222
52223         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
52224
52225 2007-01-21  Bruno Haible  <bruno@clisp.org>
52226
52227         * modules/striconveha: New file.
52228         * lib/striconveha.h: New file.
52229         * lib/striconveha.c: New file.
52230         * MODULES.html.sh (Internationalization functions): Add striconveha.
52231         * lib/striconv.c (str_iconv): Optimize the case of an empty input
52232         string.
52233         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
52234
52235 2007-01-21  Bruno Haible  <bruno@clisp.org>
52236
52237         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
52238         * lib/striconveh.c (str_iconveh): Likewise.
52239
52240 2007-01-21  Bruno Haible  <bruno@clisp.org>
52241
52242         * lib/striconveh.h (mem_iconveh): New declaration.
52243         * lib/striconveh.c (mem_iconveh): New function.
52244         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
52245
52246 2007-01-21  Bruno Haible  <bruno@clisp.org>
52247
52248         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
52249
52250         * lib/striconveh.h (mem_cd_iconveh): Change specification.
52251         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
52252         original result buffer.
52253         (str_cd_iconveh): Update.
52254         * tests/test-striconveh.c (main): Update.
52255
52256         * lib/striconv.h (mem_cd_iconv): Change specification.
52257         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
52258         result buffer.
52259         (str_cd_iconv): Update.
52260         * tests/test-striconv.c (main): Update.
52261
52262 2007-01-21  Bruno Haible  <bruno@clisp.org>
52263
52264         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
52265
52266 2007-01-20  Jim Meyering  <jim@meyering.net>
52267
52268         * lib/userspec.c (parse_with_separator): If a user or group string
52269         starts with "+", skip the corresponding name-to-ID look-up, since
52270         such a look-up must fail: user and group names may not include "+".
52271
52272 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
52273
52274         * lib/poll.c: Include sys/time.h and time.h unconditionally,
52275         since we now assume the sys_time module.
52276         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
52277         check for sys/time.h; no longer needed.
52278         * modules/poll (Depends-on): Depend on sys_time.
52279
52280 2007-01-18  Bruno Haible  <bruno@clisp.org>
52281
52282         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
52283         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
52284
52285         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
52286         gettimeofday.
52287
52288         * tests/test-gettimeofday.c: Include <time.h>.
52289         (dummy): Remove variable.
52290
52291         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
52292         gl_HEADER_SYS_TIME_H.
52293         (gl_HEADER_SYS_TIME_H): New macro.
52294
52295         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
52296         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
52297         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
52298         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
52299         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
52300         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
52301         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
52302         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
52303         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
52304         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
52305         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
52306
52307         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
52308         last change; it caused a compilation error when cross-compiling to
52309         Cygwin.
52310
52311 2007-01-18  Jim Meyering  <jim@meyering.net>
52312
52313         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
52314         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
52315         than the race-prone "test -d sys || mkdir sys".
52316         (configure.ac): Use AC_PROG_MKDIR_P.
52317         * modules/sys_select: Likewise.
52318         * modules/sys_socket: Likewise.
52319         * modules/sys_time: Likewise.
52320
52321 2007-01-18  Eric Blake  <ebb9@byu.net>
52322
52323         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
52324         replace gettimeofday.
52325         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
52326         name, to avoid infinite recursion.
52327
52328 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
52329
52330         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
52331         module sys_time.
52332         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
52333         assume timespec.h defines struct timeval.
52334         * lib/settime.c: Likewise.
52335         * lib/utimens.c: Likewise.
52336         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
52337         since we now assume the gettimeofday module.
52338         * lib/tempname.c (__gen_tempname): Likewise.
52339         * lib/gettimeofday.h: Remove.
52340         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
52341         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
52342         Include <time.h>, for 'time()'.
52343         (localtime_buffer_addr): Also use this workaround if
52344         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
52345         to simplify the uses.  All uses changed.
52346         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
52347         that #undef is inside {}, and 'const' follows type name consistently.
52348         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
52349         (gettimeofday): Do not use the maximum possible value for
52350         tv->tv_usec, since that might break usages other than ls.c.
52351         Instead, we'll leave ls.c alone.  This undoes today's patch
52352         by Bruno.  Add a compile-time warning for 1s-clock resolution;
52353         we've never observed the problem but might as well keep the
52354         canary.
52355         * lib/nanosleep.c: Include timespec.h first, for interface check.
52356         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
52357         now assume the sys_time module.
52358         * lib/tempname.c: Likewise.
52359         * lib/timespec.h: Likewise.
52360         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
52361         needed.
52362         * lib/strftime.c: Likewise.
52363         * lib/timespec.h: Likewise.
52364         * lib/posixtm.c: Include posixtm.h first, for interface check.
52365         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
52366         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
52367         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
52368         * lib/sys_time_.h: New file.
52369         * lib/timespec.h (struct timespec): Use long int, not long.
52370         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
52371         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
52372         Remove obsolescent call to AC_HEADER_TIME.
52373         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
52374         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
52375         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
52376         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
52377         Likewise.
52378         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
52379         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
52380         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
52381         into the sys_time module.  Check for gettimeofday just once.
52382         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
52383         for gettimeofday signature to just check the signature.  Merely
52384         compile it, since linking doesn't test signature.  Improve test for
52385         whether gettimeofday.o is actually needed.
52386         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
52387         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
52388         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
52389         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
52390         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
52391         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
52392         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
52393         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
52394         than worrying about sys/time.h.
52395         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
52396         Don't bother worrying about TIME_WITH_SYS_TIME.
52397         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
52398         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
52399         * m4/sys_time_h.m4: New file.
52400         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
52401         Don't include sys/time.h.  Return from main rather than exiting.
52402         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
52403         all uses changed.
52404         * modules/gethrxtime (Depends-on): Add sys_time.
52405         * modules/gettime (Depends-on): Likewise.
52406         * modules/gettimeofday (Depends-on): Likewise.
52407         * modules/nanosleep (Depends-on): Likewise.
52408         * modules/settime (Depends-on): Likewise.
52409         * modules/tempname (Depends-on): Likewise.
52410         * modules/utimens (Depends-on): Likewise.
52411         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
52412         (Include:) Change back to <sys/time.h>.
52413         (Maintainer:) Add self.
52414         * modules/sys_time: New file.
52415         * modules/tempname (Depends-on): Add gettimeofday.
52416         * tests/test-gettimeofday.c: Include <sys/time.h>
52417         rather than gettimeofday.h.
52418
52419 2007-01-17  Bruno Haible  <bruno@clisp.org>
52420
52421         * gnulib-tool (func_get_license): Revert last patch. Instead, let
52422         the license default to GPL.
52423         (func_create_testdir): Don't complain if a module is LGPL and its
52424         tests module depends on GPLed modules.
52425
52426 2007-01-17  Bruno Haible  <bruno@clisp.org>
52427
52428         * lib/gettimeofday.c (gettimeofday): Add code for the case
52429         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
52430         maximum possible value for tv->tv_usec, rather than the minimum one.
52431
52432 2005-10-08  Martin Lambers  <marlam@marlam.de>
52433 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
52434 2007-01-16  Bruno Haible  <bruno@clisp.org>
52435
52436         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
52437         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
52438         gl_FUNC_GETTIMEOFDAY.
52439         (Include): Add gettimeofday.h.
52440         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
52441         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
52442         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
52443         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
52444         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
52445         * lib/gettimeofday.h: New file.
52446         * lib/gettimeofday.c: Include <sys/timeb.h>.
52447         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
52448         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
52449         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
52450         fall back on time().
52451
52452         * tests/test-gettimeofday.c: New file.
52453         * modules/gettimeofday-tests: New file.
52454
52455 2007-01-16  Eric Blake  <ebb9@byu.net>
52456
52457         * modules/fnmatch (Depends-on): Depend on wchar.
52458         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
52459         * m4/fnmatch.m4: Likewise.
52460         * modules/mbchar (Makefile.am): Assume <wchar.h>.
52461         * m4/mbchar.m4: Likewise.
52462         * modules/mbswidth (Depends-on): Depend on wchar.
52463         * lib/mbswidth.c: Assume <wchar.h>.
52464         * m4/mbswidth.m4: Likewise.
52465         * modules/quotearg (Depends-on): Depend on wchar.
52466         * lib/quotearg.c: Assume <wchar.h>.
52467         * m4/quotearg.m4: Likewise.
52468         * modules/regex (Depends-on): Depend on wchar.
52469         * lib/regex_internal.h: Assume <wchar.h>.
52470         * m4/regex.m4: Likewise.
52471         * modules/stdint (Depends-on): Depend on wchar.
52472         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
52473         * m4/stdint.m4: Likewise.
52474         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
52475         * modules/strftime (Depends-on): Depend on wchar.
52476         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
52477         * modules/strtol (Depends-on): Depend on wchar.
52478         * lib/strtol.c: Assume <wchar.h>.
52479         * modules/wcwidth (Depends-on): Depend on wchar.
52480         * lib/wcwidth.h: Assume <wchar.h>.
52481         * m4/wcwidth.m4: Likewise.
52482
52483 2007-01-16  Bruno Haible  <bruno@clisp.org>
52484
52485         * modules/csharpexec-script: New, created from...
52486         * modules/csharpexec: ... this.
52487
52488 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
52489
52490         * modules/javaexec-script: New, created from...
52491         * modules/javaexec: ... this.
52492
52493 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52494
52495         * modules/poll (Dependencies): Add sys_select.
52496
52497 2007-01-15  Jim Meyering  <jim@meyering.net>
52498
52499         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
52500         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
52501         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
52502         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
52503
52504 2007-01-15  Bruno Haible  <bruno@clisp.org>
52505
52506         * modules/striconveh: New file.
52507         * lib/striconveh.h: New file.
52508         * lib/striconveh.c: New file.
52509         * MODULES.html.sh (Internationalization functions): Add striconveh.
52510
52511         * modules/striconveh-tests: New file.
52512         * tests/test-striconveh.c: New file.
52513
52514 2007-01-15  Bruno Haible  <bruno@clisp.org>
52515
52516         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
52517         not from GNU libiconv or GNU libc.
52518
52519 2007-01-15  Bruno Haible  <bruno@clisp.org>
52520
52521         * doc/gnulib-intro.texi (Copyright): Explain the different license
52522         terms for module descriptions, autoconf macros, tests, documentation.
52523
52524 2007-01-14  Bruno Haible  <bruno@clisp.org>
52525
52526         * modules/striconv-tests: New file.
52527         * tests/test-striconv.c: New file.
52528
52529 2007-01-14  Bruno Haible  <bruno@clisp.org>
52530
52531         * modules/iconv-tests: New file.
52532         * tests/test-iconv.c: New file.
52533
52534 2007-01-14  Bruno Haible  <bruno@clisp.org>
52535
52536         * gnulib-tool (func_get_license): For test modules, use the license of
52537         the main module.
52538
52539 2007-01-14  Bruno Haible  <bruno@clisp.org>
52540
52541         * modules/iconv (Include): Clarify that <iconv.h> can only be included
52542         if iconv is found to exist.
52543
52544 2007-01-14  Bruno Haible  <bruno@clisp.org>
52545
52546         * modules/c-ctype-tests: New file.
52547         * tests/test-c-ctype.c: New file.
52548
52549 2007-01-14  Bruno Haible  <bruno@clisp.org>
52550
52551         * modules/binary-io-tests: New file.
52552         * tests/test-binary-io.sh: New file.
52553         * tests/test-binary-io.c: New file.
52554
52555 2007-01-14  Bruno Haible  <bruno@clisp.org>
52556
52557         * modules/array-oset-tests: New file.
52558         * tests/test-array_oset.c: New file.
52559
52560 2007-01-14  Bruno Haible  <bruno@clisp.org>
52561
52562         * modules/array-list-tests: New file.
52563         * tests/test-array_list.c: New file.
52564
52565 2007-01-14  Bruno Haible  <bruno@clisp.org>
52566
52567         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
52568         and make.
52569         Reported by Simon Josefsson in
52570         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
52571
52572 2007-01-14  Bruno Haible  <bruno@clisp.org>
52573
52574         * modules/allocsa-tests: New file.
52575         * tests/test-allocsa.c: New file.
52576
52577 2007-01-14  Bruno Haible  <bruno@clisp.org>
52578
52579         * modules/fchdir (Depends-on): Add absolute-header.
52580         * modules/unistd (Depends-on): Likewise.
52581
52582 2006-12-30  Bruno Haible  <bruno@clisp.org>
52583
52584         * modules/fchdir: New file.
52585         * modules/unistd (Files): Add lib/unistd_.h.
52586         (Makefile.am): Generate unistd.h from unistd_.h.
52587         * lib/fchdir.c: New file.
52588         * lib/dirent_.h: New file.
52589         * lib/unistd_.h: New file.
52590         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
52591         * m4/fchdir.m4: New file.
52592         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
52593         (gl_HEADER_UNISTD): Invoke it.
52594         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
52595         function.
52596         * lib/backupfile.c (opendir, closedir): Undefine.
52597         * lib/chown.c (open, close): Undefine.
52598         * lib/clean-temp.c (open, close): Undefine.
52599         * lib/copy-file.c (open, close): Undefine.
52600         * lib/execute.c (open, close): Undefine.
52601         * lib/fsusage.c (open, close): Undefine.
52602         * lib/gc-gnulib.c (open, close): Undefine.
52603         * lib/getcwd.c (opendir, closedir): Undefine.
52604         * lib/glob.c (opendir, closedir): Undefine.
52605         * lib/javacomp.c (open, close): Undefine.
52606         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
52607         * lib/openat-proc.c (open, close): Undefine.
52608         * lib/pagealign_alloc.c (open, close): Undefine.
52609         * lib/pipe.c (open, close): Undefine.
52610         * lib/progreloc.c (open, close): Undefine.
52611         * lib/savedir.c (opendir, closedir): Undefine.
52612         * lib/utime.c (open, close): Undefine.
52613         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
52614
52615 2007-01-10  Bruno Haible  <bruno@clisp.org>
52616
52617         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
52618
52619 2007-01-12  Eric Blake  <ebb9@byu.net>
52620
52621         Provide a robust <wchar.h>.  Further simplifications are now
52622         possible in other modules, but not included here.
52623         * modules/wchar: New module.
52624         * m4/wchar.m4: New file.
52625         * lib/wchar_.h: Likewise.
52626         * modules/mbchar (Depends-on): Depend on wchar, as the first use
52627         of the new module.
52628         * MODULES.html.sh (Extended multibyte and wide character utilities):
52629         New section.
52630
52631 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
52632
52633         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
52634         to a reasonable default for memory allocation.
52635         (xreadlink): Don't allocate a huge buffer, to work around a buggy
52636         file system that reports garbage st_size values for symlinks.
52637         Problem reported by Liyang Hu.
52638
52639 2007-01-11  Simon Josefsson  <simon@josefsson.org>
52640
52641         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
52642         Emacs .#* auto-save files).
52643
52644 2007-01-11  Bruno Haible  <bruno@clisp.org>
52645
52646         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
52647         directory.
52648
52649 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
52650
52651         Use @...@ consistently in lib/wctype_.h.
52652         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
52653         on it being set to 1 or 0.
52654         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
52655         go back to AC_SUBSTing it.
52656         * modules/wctype (Makefile.am): Undo previous change.
52657
52658 2007-01-10  Eric Blake  <ebb9@byu.net>
52659
52660         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
52661         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
52662         * modules/wctype (Makefile.am): Likewise.
52663         Reported by Chris McGuire.
52664
52665 2007-01-10  Jim Meyering  <jim@meyering.net>
52666
52667         fts.c: a small readability/maintainability improvement
52668         * lib/fts.c (fts_read): Make this code slightly more readable and
52669         maintainable by hoisting the "sp->fts_cur = p" assignments to
52670         immediately follow the statements that set P.  Derived from
52671         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
52672
52673 2007-01-10  Eric Blake  <ebb9@byu.net>
52674
52675         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
52676         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
52677         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
52678         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
52679         Reported by Chris McGuire.
52680
52681 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52682
52683         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
52684         in sed script.
52685
52686 2007-01-09  Bruno Haible  <bruno@clisp.org>
52687
52688         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
52689         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
52690         variables.
52691         (func_module): Use them.
52692
52693 2007-01-09  Bruno Haible  <bruno@clisp.org>
52694
52695         * modules/unistr/base: New file.
52696         * lib/unistr.h: New file.
52697
52698         * modules/unistr/u8-to-u16: New file.
52699         * lib/unistr/u8-to-u16.c: New file.
52700
52701         * modules/unistr/u8-to-u32: New file.
52702         * lib/unistr/u8-to-u32.c: New file.
52703
52704         * modules/unistr/u16-to-u8: New file.
52705         * lib/unistr/u16-to-u8.c: New file.
52706
52707         * modules/unistr/u16-to-u32: New file.
52708         * lib/unistr/u16-to-u32.c: New file.
52709
52710         * modules/unistr/u32-to-u8: New file.
52711         * lib/unistr/u32-to-u8.c: New file.
52712
52713         * modules/unistr/u32-to-u16: New file.
52714         * lib/unistr/u32-to-u16.c: New file.
52715
52716         * modules/unistr/u8-check: New file.
52717         * modules/unistr/u16-check: New file.
52718         * modules/unistr/u32-check: New file.
52719         * lib/unistr/u8-check.c: New file.
52720         * lib/unistr/u16-check.c: New file.
52721         * lib/unistr/u32-check.c: New file.
52722
52723         * modules/unistr/u8-chr: New file.
52724         * modules/unistr/u16-chr: New file.
52725         * modules/unistr/u32-chr: New file.
52726         * lib/unistr/u8-chr.c: New file.
52727         * lib/unistr/u16-chr.c: New file.
52728         * lib/unistr/u32-chr.c: New file.
52729
52730         * modules/unistr/u8-cmp: New file.
52731         * modules/unistr/u16-cmp: New file.
52732         * modules/unistr/u32-cmp: New file.
52733         * lib/unistr/u8-cmp.c: New file.
52734         * lib/unistr/u16-cmp.c: New file.
52735         * lib/unistr/u32-cmp.c: New file.
52736
52737         * modules/unistr/u8-cpy: New file.
52738         * modules/unistr/u16-cpy: New file.
52739         * modules/unistr/u32-cpy: New file.
52740         * lib/unistr/u8-cpy.c: New file.
52741         * lib/unistr/u16-cpy.c: New file.
52742         * lib/unistr/u32-cpy.c: New file.
52743         * lib/unistr/u-cpy.h: New file.
52744
52745         * modules/unistr/u8-cpy-alloc: New file.
52746         * modules/unistr/u16-cpy-alloc: New file.
52747         * modules/unistr/u32-cpy-alloc: New file.
52748         * lib/unistr/u8-cpy-alloc.c: New file.
52749         * lib/unistr/u16-cpy-alloc.c: New file.
52750         * lib/unistr/u32-cpy-alloc.c: New file.
52751         * lib/unistr/u-cpy-alloc.h: New file.
52752
52753         * modules/unistr/u8-endswith: New file.
52754         * modules/unistr/u16-endswith: New file.
52755         * modules/unistr/u32-endswith: New file.
52756         * lib/unistr/u8-endswith.c: New file.
52757         * lib/unistr/u16-endswith.c: New file.
52758         * lib/unistr/u32-endswith.c: New file.
52759         * lib/unistr/u-endswith.h: New file.
52760
52761         * modules/unistr/u8-mblen: New file.
52762         * modules/unistr/u16-mblen: New file.
52763         * modules/unistr/u32-mblen: New file.
52764         * lib/unistr/u8-mblen.c: New file.
52765         * lib/unistr/u16-mblen.c: New file.
52766         * lib/unistr/u32-mblen.c: New file.
52767
52768         * modules/unistr/u8-mbtouc: New file.
52769         * modules/unistr/u16-mbtouc: New file.
52770         * modules/unistr/u32-mbtouc: New file.
52771         * lib/unistr/u8-mbtouc.c: New file.
52772         * lib/unistr/u16-mbtouc.c: New file.
52773         * lib/unistr/u32-mbtouc.c: New file.
52774
52775         * modules/unistr/u8-mbtouc-safe: New file.
52776         * modules/unistr/u16-mbtouc-safe: New file.
52777         * modules/unistr/u32-mbtouc-safe: New file.
52778         * lib/unistr/u8-mbtouc-safe.c: New file.
52779         * lib/unistr/u16-mbtouc-safe.c: New file.
52780         * lib/unistr/u32-mbtouc-safe.c: New file.
52781
52782         * modules/unistr/u8-move: New file.
52783         * modules/unistr/u16-move: New file.
52784         * modules/unistr/u32-move: New file.
52785         * lib/unistr/u8-move.c: New file.
52786         * lib/unistr/u16-move.c: New file.
52787         * lib/unistr/u32-move.c: New file.
52788         * lib/unistr/u-move.h: New file.
52789
52790         * modules/unistr/u8-next: New file.
52791         * modules/unistr/u16-next: New file.
52792         * modules/unistr/u32-next: New file.
52793         * lib/unistr/u8-next.c: New file.
52794         * lib/unistr/u16-next.c: New file.
52795         * lib/unistr/u32-next.c: New file.
52796
52797         * modules/unistr/u8-prev: New file.
52798         * modules/unistr/u16-prev: New file.
52799         * modules/unistr/u32-prev: New file.
52800         * lib/unistr/u8-prev.c: New file.
52801         * lib/unistr/u16-prev.c: New file.
52802         * lib/unistr/u32-prev.c: New file.
52803
52804         * modules/unistr/u8-set: New file.
52805         * modules/unistr/u16-set: New file.
52806         * modules/unistr/u32-set: New file.
52807         * lib/unistr/u8-set.c: New file.
52808         * lib/unistr/u16-set.c: New file.
52809         * lib/unistr/u32-set.c: New file.
52810         * lib/unistr/u-set.h: New file.
52811
52812         * modules/unistr/u8-startswith: New file.
52813         * modules/unistr/u16-startswith: New file.
52814         * modules/unistr/u32-startswith: New file.
52815         * lib/unistr/u8-startswith.c: New file.
52816         * lib/unistr/u16-startswith.c: New file.
52817         * lib/unistr/u32-startswith.c: New file.
52818         * lib/unistr/u-startswith.h: New file.
52819
52820         * modules/unistr/u8-stpcpy: New file.
52821         * modules/unistr/u16-stpcpy: New file.
52822         * modules/unistr/u32-stpcpy: New file.
52823         * lib/unistr/u8-stpcpy.c: New file.
52824         * lib/unistr/u16-stpcpy.c: New file.
52825         * lib/unistr/u32-stpcpy.c: New file.
52826         * lib/unistr/u-stpcpy.h: New file.
52827
52828         * modules/unistr/u8-stpncpy: New file.
52829         * modules/unistr/u16-stpncpy: New file.
52830         * modules/unistr/u32-stpncpy: New file.
52831         * lib/unistr/u8-stpncpy.c: New file.
52832         * lib/unistr/u16-stpncpy.c: New file.
52833         * lib/unistr/u32-stpncpy.c: New file.
52834         * lib/unistr/u-stpncpy.h: New file.
52835
52836         * modules/unistr/u8-strcat: New file.
52837         * modules/unistr/u16-strcat: New file.
52838         * modules/unistr/u32-strcat: New file.
52839         * lib/unistr/u8-strcat.c: New file.
52840         * lib/unistr/u16-strcat.c: New file.
52841         * lib/unistr/u32-strcat.c: New file.
52842         * lib/unistr/u-strcat.h: New file.
52843
52844         * modules/unistr/u8-strchr: New file.
52845         * modules/unistr/u16-strchr: New file.
52846         * modules/unistr/u32-strchr: New file.
52847         * lib/unistr/u8-strchr.c: New file.
52848         * lib/unistr/u16-strchr.c: New file.
52849         * lib/unistr/u32-strchr.c: New file.
52850
52851         * modules/unistr/u8-strcmp: New file.
52852         * modules/unistr/u16-strcmp: New file.
52853         * modules/unistr/u32-strcmp: New file.
52854         * lib/unistr/u8-strcmp.c: New file.
52855         * lib/unistr/u16-strcmp.c: New file.
52856         * lib/unistr/u32-strcmp.c: New file.
52857
52858         * modules/unistr/u8-strcpy: New file.
52859         * modules/unistr/u16-strcpy: New file.
52860         * modules/unistr/u32-strcpy: New file.
52861         * lib/unistr/u8-strcpy.c: New file.
52862         * lib/unistr/u16-strcpy.c: New file.
52863         * lib/unistr/u32-strcpy.c: New file.
52864         * lib/unistr/u-strcpy.h: New file.
52865
52866         * modules/unistr/u8-strcspn: New file.
52867         * modules/unistr/u16-strcspn: New file.
52868         * modules/unistr/u32-strcspn: New file.
52869         * lib/unistr/u8-strcspn.c: New file.
52870         * lib/unistr/u16-strcspn.c: New file.
52871         * lib/unistr/u32-strcspn.c: New file.
52872         * lib/unistr/u-strcspn.h: New file.
52873
52874         * modules/unistr/u8-strdup: New file.
52875         * modules/unistr/u16-strdup: New file.
52876         * modules/unistr/u32-strdup: New file.
52877         * lib/unistr/u8-strdup.c: New file.
52878         * lib/unistr/u16-strdup.c: New file.
52879         * lib/unistr/u32-strdup.c: New file.
52880         * lib/unistr/u-strdup.h: New file.
52881
52882         * modules/unistr/u8-strlen: New file.
52883         * modules/unistr/u16-strlen: New file.
52884         * modules/unistr/u32-strlen: New file.
52885         * lib/unistr/u8-strlen.c: New file.
52886         * lib/unistr/u16-strlen.c: New file.
52887         * lib/unistr/u32-strlen.c: New file.
52888         * lib/unistr/u-strlen.h: New file.
52889
52890         * modules/unistr/u8-strmblen: New file.
52891         * modules/unistr/u16-strmblen: New file.
52892         * modules/unistr/u32-strmblen: New file.
52893         * lib/unistr/u8-strmblen.c: New file.
52894         * lib/unistr/u16-strmblen.c: New file.
52895         * lib/unistr/u32-strmblen.c: New file.
52896
52897         * modules/unistr/u8-strmbtouc: New file.
52898         * modules/unistr/u16-strmbtouc: New file.
52899         * modules/unistr/u32-strmbtouc: New file.
52900         * lib/unistr/u8-strmbtouc.c: New file.
52901         * lib/unistr/u16-strmbtouc.c: New file.
52902         * lib/unistr/u32-strmbtouc.c: New file.
52903
52904         * modules/unistr/u8-strncat: New file.
52905         * modules/unistr/u16-strncat: New file.
52906         * modules/unistr/u32-strncat: New file.
52907         * lib/unistr/u8-strncat.c: New file.
52908         * lib/unistr/u16-strncat.c: New file.
52909         * lib/unistr/u32-strncat.c: New file.
52910         * lib/unistr/u-strncat.h: New file.
52911
52912         * modules/unistr/u8-strncmp: New file.
52913         * modules/unistr/u16-strncmp: New file.
52914         * modules/unistr/u32-strncmp: New file.
52915         * lib/unistr/u8-strncmp.c: New file.
52916         * lib/unistr/u16-strncmp.c: New file.
52917         * lib/unistr/u32-strncmp.c: New file.
52918
52919         * modules/unistr/u8-strncpy: New file.
52920         * modules/unistr/u16-strncpy: New file.
52921         * modules/unistr/u32-strncpy: New file.
52922         * lib/unistr/u8-strncpy.c: New file.
52923         * lib/unistr/u16-strncpy.c: New file.
52924         * lib/unistr/u32-strncpy.c: New file.
52925         * lib/unistr/u-strncpy.h: New file.
52926
52927         * modules/unistr/u8-strnlen: New file.
52928         * modules/unistr/u16-strnlen: New file.
52929         * modules/unistr/u32-strnlen: New file.
52930         * lib/unistr/u8-strnlen.c: New file.
52931         * lib/unistr/u16-strnlen.c: New file.
52932         * lib/unistr/u32-strnlen.c: New file.
52933         * lib/unistr/u-strnlen.h: New file.
52934
52935         * modules/unistr/u8-strpbrk: New file.
52936         * modules/unistr/u16-strpbrk: New file.
52937         * modules/unistr/u32-strpbrk: New file.
52938         * lib/unistr/u8-strpbrk.c: New file.
52939         * lib/unistr/u16-strpbrk.c: New file.
52940         * lib/unistr/u32-strpbrk.c: New file.
52941         * lib/unistr/u-strpbrk.h: New file.
52942
52943         * modules/unistr/u8-strrchr: New file.
52944         * modules/unistr/u16-strrchr: New file.
52945         * modules/unistr/u32-strrchr: New file.
52946         * lib/unistr/u8-strrchr.c: New file.
52947         * lib/unistr/u16-strrchr.c: New file.
52948         * lib/unistr/u32-strrchr.c: New file.
52949
52950         * modules/unistr/u8-strspn: New file.
52951         * modules/unistr/u16-strspn: New file.
52952         * modules/unistr/u32-strspn: New file.
52953         * lib/unistr/u8-strspn.c: New file.
52954         * lib/unistr/u16-strspn.c: New file.
52955         * lib/unistr/u32-strspn.c: New file.
52956         * lib/unistr/u-strspn.h: New file.
52957
52958         * modules/unistr/u8-strstr: New file.
52959         * modules/unistr/u16-strstr: New file.
52960         * modules/unistr/u32-strstr: New file.
52961         * lib/unistr/u8-strstr.c: New file.
52962         * lib/unistr/u16-strstr.c: New file.
52963         * lib/unistr/u32-strstr.c: New file.
52964         * lib/unistr/u-strstr.h: New file.
52965
52966         * modules/unistr/u8-strtok: New file.
52967         * modules/unistr/u16-strtok: New file.
52968         * modules/unistr/u32-strtok: New file.
52969         * lib/unistr/u8-strtok.c: New file.
52970         * lib/unistr/u16-strtok.c: New file.
52971         * lib/unistr/u32-strtok.c: New file.
52972         * lib/unistr/u-strtok.h: New file.
52973
52974         * modules/unistr/u8-uctomb: New file.
52975         * modules/unistr/u16-uctomb: New file.
52976         * modules/unistr/u32-uctomb: New file.
52977         * lib/unistr/u8-uctomb.c: New file.
52978         * lib/unistr/u16-uctomb.c: New file.
52979         * lib/unistr/u32-uctomb.c: New file.
52980
52981         * MODULES.html.sh (Unicode string functions): Add the new modules.
52982
52983 2007-01-08  Bruno Haible  <bruno@clisp.org>
52984
52985         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
52986         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
52987         subdirectories.
52988
52989 2007-01-08  Karl Berry  <karl@gnu.org>
52990
52991         * doc/error.texi: mention that main() fns must set program_name
52992         when progname is used.
52993
52994 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
52995
52996         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
52997         WCTYPE_H is empty, for the benefit of builds from non-distclean
52998         directories.  Problem reported by Eric Blake in
52999         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
53000
53001 2007-01-08  Bruno Haible  <bruno@clisp.org>
53002
53003         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
53004         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
53005         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
53006         PROVIDE_CANONICALIZE_FILENAME_MODE.
53007         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
53008
53009 2007-01-08  Bruno Haible  <bruno@clisp.org>
53010
53011         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
53012         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
53013         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
53014         * lib/fts.c: Likewise.
53015         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
53016
53017 2006-12-25  Bruno Haible  <bruno@clisp.org>
53018
53019         * modules/utf8-ucs4-safe: New file.
53020         * lib/utf8-ucs4-safe.h: New file.
53021         * lib/unistr/utf8-ucs4-safe.c: New file.
53022
53023         * modules/utf16-ucs4-safe: New file.
53024         * lib/utf16-ucs4-safe.h: New file.
53025         * lib/unistr/utf16-ucs4-safe.c: New file.
53026
53027         * MODULES.html.sh (Unicode string functions): Add the new modules.
53028
53029 2007-01-08  Bruno Haible  <bruno@clisp.org>
53030
53031         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
53032         (Depends-on): Add unitypes.
53033         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
53034         (u8_mbtouc_aux): Move out to separate file.
53035         (u8_mbtouc): Use ucs4_t, uint8_t types.
53036         * lib/unistr/utf8-ucs4.c: New file.
53037
53038         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
53039         (Depends-on): Add unitypes.
53040         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
53041         (u16_mbtouc_aux): Move out to separate file.
53042         (u16_mbtouc): Use ucs4_t, uint16_t types.
53043         * lib/unistr/utf16-ucs4.c: New file.
53044
53045         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
53046         (Depends-on): Add unitypes.
53047         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
53048         (u8_uctomb_aux): Move out to separate file.
53049         (u8_uctomb): Use ucs4_t, uint8_t types.
53050         * lib/unistr/ucs4-utf8.c: New file.
53051
53052         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
53053         (Depends-on): Add unitypes.
53054         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
53055         (u16_uctomb_aux): Move out to separate file.
53056         (u16_uctomb): Use ucs4_t, uint16_t types.
53057         * lib/unistr/ucs4-utf16.c: New file.
53058
53059 2006-12-25  Bruno Haible  <bruno@clisp.org>
53060
53061         * modules/unitypes: New file.
53062         * lib/unitypes.h: New file.
53063         * MODULES.html.sh (func_all_modules): New section "Unicode string
53064         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
53065         this section. Add unitypes.
53066
53067 2007-01-08  Bruno Haible  <bruno@clisp.org>
53068
53069         Avoid variable names that conflict with those from libtool.
53070         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
53071         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
53072         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
53073         library_names_spec to acl_library_names_spec, hardcode_* to
53074         acl_hardcode_*.
53075         Reported by Ralf Wildenhues.
53076
53077 2007-01-08  Bruno Haible  <bruno@clisp.org>
53078
53079         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
53080         definition.
53081         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
53082         definition.
53083         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
53084         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
53085         definition.
53086         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
53087         definition.
53088         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
53089         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
53090         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
53091         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
53092         definition.
53093         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
53094         definition.
53095         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
53096         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
53097         GC_USE_<algorithm>.
53098         * lib/gc-libgcrypt.c: Likewise.
53099         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
53100         * modules/gc-arctwo (configure.ac): Likewise.
53101         * modules/gc-des (configure.ac): Likewise.
53102         * modules/gc-hmac-md5 (configure.ac): Likewise.
53103         * modules/gc-hmac-sha1 (configure.ac): Likewise.
53104         * modules/gc-md2 (configure.ac): Likewise.
53105         * modules/gc-md4 (configure.ac): Likewise.
53106         * modules/gc-md5 (configure.ac): Likewise.
53107         * modules/gc-random (configure.ac): Likewise.
53108         * modules/gc-rijndael (configure.ac): Likewise.
53109         * modules/gc-sha1 (configure.ac): Likewise.
53110
53111 2007-01-08  Bruno Haible  <bruno@clisp.org>
53112
53113         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
53114         macro definition.
53115         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
53116         definition.
53117         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
53118         definition.
53119         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
53120         * modules/fcntl-safer (configure.ac): Likewise.
53121         * modules/fopen-safer (configure.ac): Likewise.
53122         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
53123         GNULIB_FWRITEERROR macro definition.
53124
53125 2007-01-08  Bruno Haible  <bruno@clisp.org>
53126
53127         * m4/gnulib-common.m4: New file.
53128         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
53129         (func_get_filelist): Add m4/gnulib-common.m4.
53130
53131 2007-01-08  Bruno Haible  <bruno@clisp.org>
53132
53133         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
53134         command.
53135
53136 2007-01-08  Jim Meyering  <jim@meyering.net>
53137
53138         Use a more robust test for a "can't happen" condition.
53139         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
53140         narrowed the st_size value.  Presuming the "can't happen" condition
53141         is true, that narrowing could conceivably convert an invalid st_size
53142         value into a valid one.  Instead, use a change based on Matthew
53143         Woehlke's original patch.
53144
53145         Slight readability improvement: use an assert-like macro
53146         in place of literal "abort ()" uses.
53147         * lib/fts.c (fts_assert): Define.
53148         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
53149         Use this macro instead of a bare 'abort'.
53150
53151 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
53152
53153         Don't worry about using IRIX 5.3's wctype.h broken definitions;
53154         simply work around them.
53155         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
53156         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
53157         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
53158         declaring.
53159         Don't bother to define as macros, since the standard doesn't require it.
53160         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
53161         longer worry about IRIX 5.3.
53162         (HAVE_WCTYPE_CTMP_BUG): Remove.
53163
53164 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
53165
53166         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
53167         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
53168         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
53169         Problems reported by Georg Schwarz for IRIX 5.3.
53170
53171         * gnulib-tool (autoconf_minversion): Take the maximum version number
53172         found, not the minimum.  Problem reported by James Youngman.
53173
53174 2007-01-03  Karl Berry  <karl@gnu.org>
53175
53176         * doc/error.texi: new file, explaining interaction with progname.
53177         * doc/gnulib.texi: include it.  Update copyright.
53178
53179 2007-01-03  Simon Josefsson  <simon@josefsson.org>
53180
53181         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
53182         AC_CANONICAL_HOST, to improve autobuild outputs.
53183
53184 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
53185             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
53186
53187         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
53188         sockets, server sockets, and other file descriptors.  Count errors
53189         to compute the return value.  Reorder the code a bit to be easier
53190         to follow.  Don't set event bits that were not requested (except
53191         POLLERR and POLLHUP).
53192
53193 2007-01-01  Bruno Haible  <bruno@clisp.org>
53194
53195         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
53196
53197 2007-01-03  Jim Meyering  <jim@meyering.net>
53198
53199         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
53200
53201 2007-01-02  Bruno Haible  <bruno@clisp.org>
53202
53203         * modules/settime (Include): Require timespec.h.
53204         * modules/nanosleep (Include): Likewise.
53205
53206 2007-01-01  Bruno Haible  <bruno@clisp.org>
53207
53208         * gnulib-tool (func_emit_copyright_notice): Bump year.
53209         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
53210
53211 2007-01-01  Bruno Haible  <bruno@clisp.org>
53212
53213         Improve support for OpenBSD.
53214         * build-aux/config.rpath (libname_spec): Export.
53215         (library_names_spec): New variable. Export.
53216         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
53217         library_names_spec from the config.rpath output. Locate shared library
53218         through the name pattern in library_names_spec.
53219
53220 2007-01-01  Eric Blake  <ebb9@byu.net>
53221
53222         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
53223
53224 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
53225
53226         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
53227         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
53228         assume the C locale, and avoid an "eval" that could cause trouble.
53229         Problem with SORT reported by Bob Proulx.
53230
53231         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
53232         Define.  Trivial patch from Henning Nielsen Lund, originally
53233         sent to bug-grep@gnu.org today.
53234
53235 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
53236
53237         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
53238         struct stat.  Problem reported by Henning Nielsen Lund.
53239         * lib/acl.c: Include acl.h first, to check interface.  Don't
53240         bother to include sys/types.h and sys/stat.h again.
53241
53242 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
53243
53244         Import the following change from libc; problem reported by
53245         Sven Verdoolaege.
53246
53247         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
53248
53249         [BZ #1373]
53250         * lib/argp.h: Remove __NTH for __argp_usage inline function.
53251
53252 2006-12-28  Jim Meyering  <jim@meyering.net>
53253
53254         * build-aux/announce-gen: Do not assume that the package
53255         builds any of tar.gz, tar.bz2, and .xdelta files.
53256         Suggestion from Simon Josefsson.
53257
53258 2006-12-28  Simon Josefsson  <simon@josefsson.org>
53259
53260         * modules/announce-gen: New file.
53261
53262 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
53263
53264         * lib/mbchar.h: Just include <wctype.h>; the wctype module
53265         handles its gotchas now.
53266         * lib/mbswidth.c: Likewise.
53267         * lib/wcwidth.h: Likewise.
53268         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
53269         and iswcntrl; the wctype module does this stuff now.
53270         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
53271         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
53272         * modules/mbchar (Depends-on): Add wctype.
53273         * modules/mbswidth (Depends-on): Likewise.
53274         * modules/wcwidth (Depends-on): Likewise.
53275
53276 2006-12-27  Eric Blake  <ebb9@byu.net>
53277
53278         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
53279         module uses more than what <wctype.h> is required to provide.
53280
53281 2006-12-26  Eric Blake  <ebb9@byu.net>
53282
53283         * gnulib-tool (sed_extract_prog): Avoid space-tab.
53284
53285 2006-12-26  Eric Blake  <ebb9@byu.net>
53286
53287         * modules/absolute-header: New module.
53288         * modules/fcntl (Depends-on): Depend on it.
53289         * modules/inttypes (Depends-on): Likewise.
53290         * modules/stdint (Depends-on): Likewise.
53291         * modules/sys_stat (Depends-on): Likewise.
53292         * modules/wctype (Depends-on): Likewise.
53293         * MODULES.html.sh (Support for building libraries and
53294         executables): Document it.
53295
53296 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
53297
53298         * gnulib-tool (SED): Remove, undoing previous change.
53299         The problem was that it broke coreutils on Solaris, because
53300         "sed --posix" leaked into a makefile.
53301         (sed): New alias, if 'alias' and GNU sed.
53302
53303 2006-12-24  Jim Meyering  <jim@meyering.net>
53304
53305         Work around an fchownat bug in glibc-2.4:
53306         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
53307         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
53308         in spite of the -P option.
53309         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
53310         New macros.
53311         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
53312         * modules/openat (Files): Add lib/fchownat.c.
53313         * lib/openat.c (fchownat): Don't define here.  Move to...
53314         * lib/fchownat.c: ...this new file.
53315
53316 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
53317
53318         Fix bug reported by Bruno Haible in
53319         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
53320         where quotearg.c didn't compile on Mac OS X 10.2 because it
53321         lacks <wchar.h> and wint_t.
53322         * lib/wctype_.h (__wctype_wint_t): New type.
53323         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
53324         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
53325         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
53326         Arg is now of type __wctype_wint_t, not wint_t.
53327         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
53328         substitute HAVE_WINT_T.
53329         * modules/wctype (Files): Add m4/wint_t.m4.
53330         (wctype.h): Substitute HAVE_WINT_T.
53331
53332 2006-12-23  Bruno Haible  <bruno@clisp.org>
53333
53334         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
53335
53336 2006-12-23  Bruno Haible  <bruno@clisp.org>
53337
53338         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
53339         S_ISLNK.
53340         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
53341         mingw.
53342
53343 2006-12-22  Bruno Haible  <bruno@clisp.org>
53344
53345         * lib/copy-file.c: Include acl.h.
53346         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
53347         Close the file descriptors only after being done with copy_acl.
53348         * modules/copy-file (Depends-on): Add acl.
53349
53350 2006-12-22  Bruno Haible  <bruno@clisp.org>
53351
53352         * gnulib-tool (SED): New variable.
53353         Use $SED instead of sed everywhere.
53354
53355 2006-12-22  Bruno Haible  <bruno@clisp.org>
53356
53357         * modules/no-c++: New file.
53358         * m4/no-c++.m4: New file.
53359         * MODULES.html.sh (Support for building libraries and executables):
53360         Add no-c++.
53361
53362 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
53363
53364         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
53365         Include <limits.h>, and use its INT_MAX to rewrite the
53366         j loop so that it does not overflow 'int'.  Problem reported by
53367         Ralf Wildenhues in
53368         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
53369         Play it safe by shifting left by 1 rather than multiplying by 2,
53370         as GCC is less likely to optimize this away when the value
53371         is signed (when it assumes overflow leads to undefined behavior).
53372         Also, don't assume time_t uses two's complement.
53373
53374 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
53375
53376         * MODULES.html.sh: New module wctype.
53377         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
53378         * lib/fnmatch.c: Don't bother to include <wchar.h> before
53379         <wctype.h>, since the new wctype module should fix this.
53380         * lib/quotearg.c: Include <wctype.h> unconditionally, since
53381         the wctype module should arrange for it.
53382         * lib/regex_internal.h: Likewise.
53383         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
53384         since the wctype module should handle this now.
53385         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
53386         * modules/fnmatch (Depends-on): Add wctype.
53387         * modules/quotearg (Depends-on): Likewise.
53388         * modules/regex (Depends-on): Likewise.
53389
53390 2006-12-19  Bruno Haible  <bruno@clisp.org>
53391
53392         * lib/strdup.h [C++]: Wrap definitions in extern "C".
53393         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
53394
53395 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53396
53397         * modules/savewd (Depends-on): Fix dependency on fcntl.
53398
53399 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
53400
53401         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
53402         conforms to C99, rather than relying on the user's environment
53403         setting of STDINT_H.
53404
53405 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
53406         and Eric Blake  <ebb9@byu.net>
53407
53408         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
53409         This is more consistent with the other defines here.
53410         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
53411         Port to z/OS.  Problem reported by Paul Gilmartin.
53412         Change local vars to use gl_ prefix rather than ac_.
53413         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
53414         with other defines.
53415         * modules/double-slash-root: New module.
53416         * modules/dirname (Files): Remove m4/double-slash-root.m4.
53417         (Depends-on): Add double-slash-root.
53418         * MODULES.html.sh (File system functions): Mention new module.
53419
53420 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
53421
53422         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
53423         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
53424         This is for the benefit of gzip, which doesn't do i18n.
53425
53426 2006-12-12  Jim Meyering  <jim@meyering.net>
53427
53428         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
53429         Reported by Andreas Schwab <schwab@suse.de>.
53430
53431 2006-12-12  Bruno Haible  <bruno@clisp.org>
53432
53433         Merge these changes.
53434         2006-09-05  Bruno Haible  <bruno@clisp.org>
53435         * lib/iconvme.c (iconv_string): No need to save and restore errno when
53436         iconv_alloc succeeded.
53437         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
53438         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
53439         test for " && dest " at the end - dest is always != NULL there. Call
53440         iconv with 4xNULL arguments initially, to reset the state. Call iconv
53441         with 2xNULL arguments, also to flush the state storage. Handle the
53442         IRIX iconv behaviour. Realloc the final result, to throw away unused
53443         memory.
53444
53445 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
53446
53447         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
53448         and fchmodat unconditionally, since glibc 2.4 has them.
53449         Problem reported by Arkadiusz Miskiewicz.
53450
53451 2006-12-10  Bruno Haible  <bruno@clisp.org>
53452
53453         * gnulib-tool (func_import): Show the include files only for those
53454         modules that are copied and specified.
53455         Reported by Karl Berry.
53456
53457 2006-12-08  Jim Meyering  <jim@meyering.net>
53458
53459         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
53460         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
53461
53462         * build-aux/announce-gen: Add two new options, both optional:
53463         --bootstrap-tools=TOOL_LIST
53464               a comma-separated list of tools, e.g.,
53465               autoconf,automake,bison,gnulib
53466         --gnulib-snapshot-date=DATE
53467               if gnulib is in the bootstrap tool list,
53468               then report this as the snapshot date.
53469               If not specified, use the current date/time.
53470               If you specify a date here, be sure it's UTC.
53471
53472 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53473
53474         * tests/test-argp-2.sh: Fix test to match actual output.
53475         (func_compare): Fix sed script to be portable.
53476
53477 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
53478
53479         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
53480         workaround for this case.  It is not autoconfigured now; offhand
53481         it's hard to see how to autoconfigure it.
53482
53483 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
53484
53485         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
53486         a directory that is about to be chowned.  Such a directory's
53487         initial file permissions should permit the owner only and this
53488         should not be changed until after the chown, since the group and
53489         other bits would be incorrect if they granted permission before
53490         the chown.
53491
53492         Fix porting problem for iswctype reported by Georg Schwarz in:
53493         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
53494         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
53495         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
53496         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
53497         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
53498
53499 2006-12-03  Jim Meyering  <jim@meyering.net>
53500
53501         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
53502         p->fts_statp may not yet be defined.
53503         (fts_read): Instead, set it in the caller, once p->fts_statp is
53504         sure to be defined, and corresponds to a top-level directory.
53505         This bug made du -x fail.  Here's the coreutils test case:
53506         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
53507         Reported by Mike Frysinger.
53508
53509 2006-12-01  Jim Meyering  <jim@meyering.net>
53510
53511         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
53512         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
53513         Reported by Simon Josefsson.
53514
53515 2006-11-30  Jim Meyering  <jim@meyering.net>
53516
53517         * m4/warning.m4: Use the all-permissive copyright notice
53518         recommended by RMS (rather than LGPL).
53519         * m4/vararrays.m4: Likewise.
53520         * m4/flexmember.m4: Likewise.
53521
53522 2006-11-29  Bruno Haible  <bruno@clisp.org>
53523
53524         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
53525         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
53526         using +=.
53527         Reported by Simon Josefsson <simon@josefsson.org>.
53528
53529 2006-11-28  James Youngman <jay@gnu.org>
53530
53531         * README: Advise users that they might find the bug-gnulib@gnu.org
53532         and autotools-announce@gnu.org mailing lists useful.
53533
53534 2006-11-28  Bruno Haible  <bruno@clisp.org>
53535
53536         * m4/ptrdiff_max.m4: Remove file.
53537
53538 2006-11-21  Bruno Haible  <bruno@clisp.org>
53539
53540         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
53541         _AC_COMPUTE_INT.
53542         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
53543         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
53544         _AC_COMPUTE_INT.
53545         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
53546         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
53547         _AC_COMPUTE_INT.
53548         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
53549
53550 2006-11-28  Jim Meyering  <jim@meyering.net>
53551
53552         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
53553         warning from "gcc -Wshadow" about shadowing the builtin.
53554
53555 2006-11-27  Bruno Haible  <bruno@clisp.org>
53556
53557         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
53558         _AC_COMPUTE_INT.
53559         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
53560
53561 2006-11-27  Bruno Haible  <bruno@clisp.org>
53562             Paul Eggert  <eggert@cs.ucla.edu>
53563
53564         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
53565
53566 2006-11-26  Bruno Haible  <bruno@clisp.org>
53567
53568         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
53569         noinst_LTLIBRARIES.
53570
53571 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
53572             Bruno Haible  <bruno@clisp.org>
53573
53574         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
53575         if compiling with "gcc -ansi".
53576
53577 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
53578
53579         Fix some incompatibilities with gcc -ansi -pedantic.
53580         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
53581         if compiling pedantically with GCC, unless it's C99 or later.
53582         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
53583         it mishandles gcc -ansi -pedantic as well.
53584         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
53585         if gcc -pedantic.
53586         * lib/regexec.c (check_node_accept_bytes): Don't use auto
53587         initializers for struct if -pedantic, unless it's C99 or later.
53588
53589 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
53590
53591         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
53592         Don't close an fd more than once. Identical atimes indicate
53593         success, not failure.
53594
53595 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
53596
53597         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
53598
53599 2006-11-23  Jim Meyering  <jim@meyering.net>
53600
53601         * build-aux/announce-gen: New file.  From coreutils.
53602
53603 2006-11-22  Jim Meyering  <jim@meyering.net>
53604
53605         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
53606         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
53607         (fts_read): Use a temporary to narrow the overused st_size member
53608         before using it in a switch statement.  Reported by Matthew Woehlke.
53609
53610         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
53611         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
53612
53613 2006-11-20  Bruno Haible  <bruno@clisp.org>
53614
53615         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
53616         changequote instead of pairs of brackets.
53617         Reported by Andreas Schwab <schwab@suse.de>.
53618
53619 2006-11-21  Jim Meyering  <jim@meyering.net>
53620
53621         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
53622         so as to remain compatible with older compilers.
53623         Patch from Michael Deutschmann.
53624
53625 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
53626
53627         * MODULES.html.sh (File system functions): Add openat.
53628
53629         * lib/openat.h (rpl_fstatat): New macro, if
53630         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
53631         (fstatat): Define to rpl_fstatat under the same conditions,
53632         unless COMPILING_FSTATAT.
53633         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
53634         seems to have the bug.
53635         * lib/fstatat.c: New file.
53636         * modules/openat (Files): Add it.
53637
53638 2006-11-20  Bruno Haible  <bruno@clisp.org>
53639
53640         * Makefile: New file.
53641
53642 2006-11-20  Jim Meyering  <jim@meyering.net>
53643
53644         The beginnings of syntax-related checks for gnulib.
53645         * lib/Makefile: New file.
53646         * lib/t-idcache: New script.  Ensure that the two halves of
53647         idcache.c stay in sync.
53648
53649         * lib/idcache.c: Adjust comments in user- and group- portions to
53650         be more accurate, and to be consistent with one another.
53651
53652 2006-11-20  Jim Meyering  <jim@meyering.net>
53653
53654         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
53655         continue using the flexible array member (thus, this module performs
53656         half as many malloc calls), with the addition that...
53657         (getgroup, getuser): Consistently record a non-match via an empty
53658         "name" string, and map an empty string match to a NULL return value.
53659         * modules/idcache (Depends-on): Re-add flexmember.
53660
53661         * lib/idcache.c (getuser): Remove all uses of the register keyword.
53662         (getuidbyname, getgroup, getgidbyname): Likewise.
53663
53664         Use cleaner syntax: NULL rather than 0.
53665         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
53666
53667 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
53668
53669         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
53670         It mishandled the case where the group was missing.
53671         Problem reported by Greg Schafer.
53672         * modules/idcache: Likewise.
53673
53674 2006-11-18  Jim Meyering  <jim@meyering.net>
53675
53676         * check-module (%exempt_header): Add exception for some
53677         conditionally-included headers.
53678
53679         * modules/i-ring (Depends-on): Add verify.
53680         (License): Change to LGPL.
53681
53682 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
53683
53684         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
53685         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
53686         and inttostr.h.  Use snprintf rather than uinttostr, so that
53687         LGPLed code doesn't depend on GPLed.
53688
53689 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
53690
53691         * modules/inline (License): Change from GPL to LGPL.
53692
53693 2006-11-17  Jim Meyering  <jim@meyering.net>
53694
53695         * modules/d-type (License): Switch to LGPL.
53696
53697 2006-11-15  Bruno Haible  <bruno@clisp.org>
53698
53699         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
53700
53701 2006-11-15  Eric Blake  <ebb9@byu.net>
53702
53703         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
53704         the module dependency.
53705
53706 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53707             Bruno Haible  <bruno@clisp.org>
53708
53709         * gnulib-tool (func_create_testdir): Add license consistency check.
53710
53711 2006-11-15  Eric Blake  <ebb9@byu.net>
53712
53713         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
53714         random "(cached)" in configure output.
53715
53716 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53717
53718         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
53719         test for conforming inttypes.h is both announced and cached.
53720
53721         * MODULES.html.sh (seen_modules, seen_files): New variables.
53722         (func_module): Rewrite to use a few less gnulib-tool and sed
53723         invocations.  Avoid a couple of quadratic algorithms for ...
53724         (missed_modules, missed_files): ... these, with ...
53725         (func_append, func_tmpdir): ... these new functions, from
53726         gnulib-tool.  Analogously, install traps for cleanup.
53727
53728         * tests/test-gc.c (main): Remove unused variables.
53729         * tests/test-read-file.c: Include stdlib.h, for 'free'.
53730
53731 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
53732
53733         * modules/inttostr (License): Change to LGPL.
53734
53735 2006-11-14  Eric Blake  <ebb9@byu.net>
53736
53737         * modules/tempname (License): Change to LGPL.
53738
53739 2006-11-14  Eric Blake  <ebb9@byu.net>
53740
53741         * doc/functions.texi (Function Portability): *printf functions on
53742         Cygwin now understand all POSIX size specifiers.
53743
53744 2006-11-14  Bruno Haible  <bruno@clisp.org>
53745
53746         * modules/c-ctype (License): Change to LGPL.
53747
53748 2006-11-12  Bruno Haible  <bruno@clisp.org>
53749
53750         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
53751         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
53752         for GNOME libraries, for which the include files are installed in
53753         subdirectories of $prefix/include.
53754
53755 2006-11-12  Bruno Haible  <bruno@clisp.org>
53756
53757         * m4/lib-link.m4: Require at least autoconf-2.54.
53758         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
53759         name to underscores for the --with option.
53760
53761 2006-11-13  Bruno Haible  <bruno@clisp.org>
53762
53763         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
53764         the tests directory.
53765         Reported by Ralf Wildenhues.
53766
53767 2006-11-13  Bruno Haible  <bruno@clisp.org>
53768
53769         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
53770         (func_emit_initmacro_end): Undo the override here.
53771         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
53772         Works around the famous automake error in coreutils.
53773
53774 2006-11-13  Eric Blake  <ebb9@byu.net>
53775
53776         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
53777         element, not its node.
53778
53779 2006-11-12  Bruno Haible  <bruno@clisp.org>
53780
53781         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
53782         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
53783
53784 2006-11-12  Bruno Haible  <bruno@clisp.org>
53785
53786         * gnulib-tool: New option --local-symlink.
53787         (func_usage): Document it.
53788         (lsymbolic): New variable.
53789         (func_import, func_create_testdir): If --symlink was not specified,
53790         test whether --local-symlink was specified and the file comes from
53791         the local_gnulib_dir.
53792
53793 2006-11-12  Bruno Haible  <bruno@clisp.org>
53794
53795         * gnulib-tool (func_ln): New function.
53796         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
53797
53798 2006-11-12  Bruno Haible  <bruno@clisp.org>
53799
53800         Finish support for source files in subdirectories.
53801         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
53802         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
53803         AUTOMAKE_OPTIONS.
53804         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
53805
53806 2006-11-12  Bruno Haible  <bruno@clisp.org>
53807
53808         * gnulib-tool (func_get_automake_snippet): Synthesize also an
53809         EXTRA_lib_SOURCES augmentation.
53810         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
53811
53812 2006-11-12  Jim Meyering  <jim@meyering.net>
53813
53814         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
53815         file descriptors.  This also averts a failure on systems with
53816         native openat support when a traversed directory lacks "x" access.
53817         * lib/fts_.h: Include "i-ring.h"
53818         (struct FTS) [fts_fd_ring]: New member.
53819         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
53820         (FCHDIR): Add parentheses.
53821         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
53822         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
53823         When descending, rather than simply closing the previous
53824         fts_cwd_fd value, push that file descriptor onto the ring.
53825         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
53826         (fts_open): Initialize the new fd_ring member.
53827         (fts_close): Clear the ring.
53828         (fts_safe_changedir): When possible, use our new fd_ring to skip
53829         the diropen and fstat and dev/ino comparison that would normally
53830         accompany a virtual `chdir ("..")'.
53831
53832         * modules/fts (Depends-on): Add i-ring.
53833         * modules/i-ring: New module.
53834         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
53835         * m4/i-ring.m4: New file.
53836
53837 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53838
53839         * gnulib-tool (func_create_testdir): Fix replacement of
53840         `build-aux' in configure.ac.  Run autotools in gltests
53841         subdirectory.
53842         (func_create_testdir, func_create_megatestdir, test): There is
53843         no need for '--force' in most autotool invocations in a new
53844         tree.  Actually fail the whole test if any of the tools, or the
53845         configure or make stages fail.
53846
53847         Sync from Automake.
53848         * build-aux/gnupload: Revert last change.  Add pointer to upload
53849         instructions of the GNU Maintenance Instructions.
53850         Suggestion by Karl Berry.
53851
53852 2006-11-10  Jim Meyering  <jim@meyering.net>
53853
53854         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
53855
53856 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
53857
53858         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
53859         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
53860         (bind_textdomain_codeset) [! ENABLE_NLS]:
53861         Evaluate all the arguments.  That way, callers get compatible behavior
53862         if the arguments have side effects.  Also, it avoids some GCC
53863         diagnostics in some cases; Joel E. Denny reported problems when Bison
53864         was configured with --enable-gcc-warnigs.
53865
53866 2006-11-10  Jim Meyering  <jim@meyering.net>
53867
53868         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
53869         relevant options in CFLAGS (like -O, -fno-inline) are taken into
53870         account.
53871
53872 2006-11-10  Jim Meyering  <jim@meyering.net>
53873
53874         * modules/inline: New file/module.
53875         * modules/xalloc (Files): Remove m4/inline.m4.
53876         (Depends-on): Add inline, instead.
53877         * modules/oset: Likewise.
53878         * modules/list: Likewise.
53879
53880 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
53881
53882         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
53883         Problem reported by Matthew Woehlke.
53884
53885 2006-11-09  Bruno Haible  <bruno@clisp.org>
53886
53887         * lib/tempname.c (gen_tempname): Remove variant that invokes
53888         __gen_tempname.
53889         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
53890         __gen_tempname.
53891
53892 2006-11-08  Bruno Haible  <bruno@clisp.org>
53893
53894         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
53895         to 'yes' instead of 'cross-compiling'.
53896
53897 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
53898
53899         * lib/quotearg.h (quotearg_free): New decl.
53900         * lib/quotearg.c (quotearg_free): New function.
53901         (slot0, nslots, slotvec0, slotvec):
53902         Now file-scope so that quotearg_free can get at them.
53903
53904 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53905
53906         Sync from Automake.
53907         * build-aux/gnupload: Add missing 'gnu' to example URL.
53908         Report by Karl Berry.
53909
53910 2006-11-08  Bruno Haible  <bruno@clisp.org>
53911
53912         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
53913         Suggested by Paul Eggert.
53914
53915 2006-11-08  Jim Meyering  <jim@meyering.net>
53916
53917         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
53918         It's already included if !_LIBC.
53919         (fts_safe_changedir): Add a comment.
53920
53921 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
53922
53923         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
53924         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
53925         Matthew Woehlke.
53926
53927         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
53928         definitions up, to avoid colliding with change below.
53929         (static_inline) [HAVE_INLINE]: New macro.
53930         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
53931         Provide extern decls when !HAVE_INLINE.  Do not define unless
53932         static_inline is defined, either by us or by xmalloc.c.  Use
53933         static_inline rather than static inline.
53934         (XCALLOC): Optimize sizeof(T) = 1 case.
53935         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
53936
53937 2006-11-07  Bruno Haible  <bruno@clisp.org>
53938
53939         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
53940         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
53941         AC_C_INLINE.
53942         * modules/xalloc (Files): Add m4/inline.m4.
53943
53944 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53945
53946         * README: Fix typo.
53947         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
53948         (Miscellanous Notes): ...from this.
53949
53950 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
53951
53952         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
53953         Mention that offsetof should be used instead of sizeof.
53954         From Bruno Haible.
53955
53956 2006-11-07  Bruno Haible  <bruno@clisp.org>
53957
53958         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
53959
53960 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
53961
53962         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
53963         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
53964         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
53965         (gl_tree_add_before, gl_tree_add_after):
53966         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
53967         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
53968         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
53969         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
53970         (gl_linked_add_after, gl_linked_add_at): Likewise.
53971         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
53972         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
53973         (gl_tree_add_before, gl_tree_add_after): Likewise.
53974         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
53975         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
53976         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
53977
53978 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53979
53980         * lib/gl_oset.h: Use C comment style, not C++ comment style.
53981
53982 2006-11-06  Bruno Haible  <bruno@clisp.org>
53983
53984         * m4/inline.m4: New file.
53985         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
53986         * modules/list (Files): Add m4/inline.m4.
53987         * modules/oset (Files): Likewise.
53988
53989 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
53990
53991         * lib/idcache.c: Include <stddef.h>, for offsetof.
53992         (struct userid.name): Change from char * to a flexible array member.
53993         All uses changed.
53994         * modules/idcache (Depends-on): Add flexmember.
53995
53996         * MODULES.html.sh (Core language properties): New module flexmember.
53997         * modules/flexmember, m4/flexmember.m4: New files.
53998
53999         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
54000         inline functions that are identical with the old xnmalloc_inline,
54001         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
54002         that we can avoid some unnecessary integer multiplications and
54003         divisions in the common case where the element size is known at
54004         compile time.
54005         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
54006         needed.
54007         (xnboundedmalloc): Remove.
54008         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
54009         arguments, for consistency with rest of this header.
54010         (xcharalloc): Rewrite using XNMALLOC.
54011         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
54012         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
54013         versions have been moved to lib/xalloc.h and renamed to be the
54014         non-*_inline versions.
54015         (xmalloc, xrealloc): Implement without reference to the xnmalloc
54016         and xnrealloc functions, since those functions are now inline and
54017         now call us.
54018         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
54019         renaming described above.
54020         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
54021         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
54022         captures the dependency in AC_C_INLINE.
54023
54024         New module canonicalize-lgpl, proposed by Charles Wilson in
54025         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
54026         with a few small changes afterwards.
54027         * MODULES.html.sh (File system functions): New module
54028         canonicalize-lgpl.
54029         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
54030         and canonicalize_file_name.
54031         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
54032         * modules/canonicalize-lgpl: New files.
54033
54034 2006-11-05  Bruno Haible  <bruno@clisp.org>
54035
54036         * gnulib-tool (func_import, func_create_testdir): Create directories
54037         also for files in subdirectories of lib/.
54038
54039 2006-11-05  Bruno Haible  <bruno@clisp.org>
54040
54041         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
54042         ANSI C compliant.
54043
54044 2006-11-03  Bruno Haible  <bruno@clisp.org>
54045
54046         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
54047         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
54048         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
54049         (xnboundedmalloc): New inline function.
54050         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
54051         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
54052         xmalloc.
54053         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
54054         xmalloc.
54055         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
54056         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
54057         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
54058         xmalloc.
54059         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
54060         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
54061         xmalloc.
54062         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
54063         gl_tree_add_after): Use XMALLOC instead of xmalloc.
54064         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
54065         xmalloc.
54066         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
54067         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
54068         gl_tree_add_after): Use XMALLOC instead of xmalloc.
54069         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
54070         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
54071         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
54072         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
54073
54074 2006-11-03  Bruno Haible  <bruno@clisp.org>
54075
54076         * lib/c-ctype.h [C++]: Define functions without name mangling.
54077         * lib/fwriteerror.h [C++]: Likewise.
54078         * lib/gcd.h [C++]: Likewise.
54079         * lib/linebreak.h [C++]: Likewise.
54080
54081 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
54082
54083         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
54084         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
54085         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
54086         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
54087         Check for functions and headers just once.
54088         Check for declaration of canonicalize_file_name.
54089         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
54090
54091 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
54092
54093         * gnulib-tool (func_import): Fix typo in actioncmd.
54094
54095 2006-11-02  Bruno Haible  <bruno@clisp.org>
54096
54097         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
54098         newline sequence in the Makefile.am snippet as a space, like "make"
54099         does.
54100         Reported by Roger Persson <perrog@gmail.com>.
54101
54102 2006-11-01  Bruno Haible  <bruno@clisp.org>
54103
54104         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
54105         already declared in <string.h>.
54106         * lib/strcase.h (strncasecmp): Don't declare it if yes.
54107
54108 2006-11-01  Bruno Haible  <bruno@clisp.org>
54109
54110         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
54111         * lib/strcase.h: Include <string.h>.
54112         (strcasecmp): Define to rpl_strcasecmp here.
54113
54114 2006-11-01  Bruno Haible  <bruno@clisp.org>
54115
54116         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
54117
54118 2006-11-01  Eric Blake  <ebb9@byu.net>
54119
54120         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
54121
54122         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
54123
54124 2006-10-29  Bruno Haible  <bruno@clisp.org>
54125
54126         Make it compile in C++ mode.
54127         * lib/full-write.c (full_rw): Add a cast.
54128
54129 2006-11-01  Bruno Haible  <bruno@clisp.org>
54130
54131         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
54132         be POSIX compliant.
54133         Reported by Roger Persson <perrog@gmail.com>.
54134
54135 2006-11-01  Eric Blake  <ebb9@byu.net>
54136
54137         * lib/getopt_.h: Fix comments.
54138
54139 2006-10-31  Eric Blake  <ebb9@byu.net>
54140
54141         * modules/tmpdir (Depends-on): Add sys_stat.
54142         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
54143         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
54144         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
54145         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
54146         tempname.
54147
54148 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
54149
54150         Avoid some C++ diagnostics reported by Bruno Haible.
54151         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
54152         xmalloc.
54153         (quotearg_alloc): Use xcharalloc rather than xmalloc.
54154         (struct slotvec): Move to top level.
54155         (quotearg_n_options): Rewrite to avoid xmalloc.
54156         * lib/xalloc.h (xcharalloc): New function.
54157         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
54158         [defined __cplusplus]: Add function template that provides result
54159         type propagation.  This part of the change is from Bruno Haible.
54160
54161 2006-10-29  Bruno Haible  <bruno@clisp.org>
54162
54163         Make it compile in C++ mode.
54164         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
54165         * lib/strnlen1.c (strnlen1): Cast memchr result.
54166         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
54167         * lib/clean-temp.c (string_equals, string_hash): Add casts.
54168         (create_temp_dir): Rename local variable 'template'.
54169         (compile_csharp_using_sscli): Add cast.
54170         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
54171         * lib/findprog.c (find_in_path): Likewise.
54172         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
54173         * lib/wait-process.c (register_slave_subprocess): Likewise.
54174
54175 2006-10-22  Bruno Haible  <bruno@clisp.org>
54176
54177         * modules/tsearch: New file.
54178         * lib/tsearch.h: New file.
54179         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
54180         * m4/tsearch.m4: New file.
54181         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
54182
54183 2006-10-29  Eric Blake  <ebb9@byu.net>
54184
54185         * lib/arcfour.c: Assume config.h.
54186         * lib/arctwo.c: Likewise.
54187         * lib/base64.c: Likewise.
54188         * lib/check-version.c: Likewise.
54189         * lib/crc.c: Likewise.
54190         * lib/des.c: Likewise.
54191         * lib/gc-gnulib.c: Likewise.
54192         * lib/gc-libgcrypt.c: Likewise.
54193         * lib/gc-pbkdf2-sha1.c: Likewise.
54194         * lib/getaddrinfo.c: Likewise.
54195         * lib/getdelim.c: Likewise.
54196         * lib/getline.c: Likewise.
54197         * lib/hmac-md5.c: Likewise.
54198         * lib/hmac-sha1.c: Likewise.
54199         * lib/iconvme.c: Likewise.
54200         * lib/md2.c: Likewise.
54201         * lib/md4.c: Likewise.
54202         * lib/memxor.c: Likewise.
54203         * lib/read-file.c: Likewise.
54204         * lib/readline.c: Likewise.
54205         * lib/rijndael-alg-fst.c: Likewise.
54206         * lib/rijndael-api-fst.c: Likewise.
54207         * lib/xgetdomainname.c: Likewise.
54208
54209 2006-10-28  Eric Blake  <ebb9@byu.net>
54210
54211         * lib/xstrndup.c: Assume config.h.
54212
54213 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
54214
54215         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
54216         stat-macros.h is now for our own macros, whereas stat_h is for
54217         macros in the <sys/stat.h> name space.
54218         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
54219         (STAT_MACROS_H): Remove.
54220         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
54221         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
54222         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
54223         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
54224         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
54225         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
54226         Move these macros to ...
54227         * lib/stat_.h: here.  Don't include stat-macros.h.
54228         * lib/canonicalize.c: Don't include stat-macros.h.
54229         * lib/chown.c: Likewise.
54230         * lib/euidaccess.c: Likewise.
54231         * lib/file-type.c: Likewise.
54232         * lib/filemode.c: Likewise.
54233         * lib/glob.c: Likewise.
54234         * lib/isapipe.c: Likewise.
54235         * lib/lchown.c: Likewise.
54236         * lib/lstat.c: Likewise.
54237         * lib/mkdir-p.c: Likewise.
54238         * lib/rmdir.c: Likewise.
54239         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
54240         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
54241         unless mkdir isn't declared, to speed up 'configure'.
54242         Always create sys/stat.h, since it's unlikely any real sys/stat.h
54243         would define all the S_* symbols.
54244         * modules/canonicalize (Depends-on):
54245         Depend on sys_stat, not stat-macros.
54246         * modules/chown: Likewise.
54247         * modules/euidaccess: Likewise.
54248         * modules/filemode: Likewise.
54249         * modules/file-type: Likewise.
54250         * modules/glob: Likewise.
54251         * modules/isapipe: Likewise.
54252         * modules/lchown: Likewise.
54253         * modules/lstat: Likewise.
54254         * modules/mkancesdirs: Likewise.
54255         * modules/rmdir: Likewise.
54256         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
54257         * modules/modechange: Likewise.
54258         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
54259         (configure.ac): Remove gl_STAT_MACROS.
54260         * modules/sys_stat (Depends-on): Remove stat-macros.
54261
54262 2006-10-27  Bruno Haible  <bruno@clisp.org>
54263
54264         * m4/signed.m4: Remove file.
54265         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
54266         invocation.
54267         * modules/vasnprintf (Files): Remove m4/signed.m4.
54268
54269 2006-10-27  Bruno Haible  <bruno@clisp.org>
54270
54271         Update to GNU gettext 0.16.
54272         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
54273         m4/inttypes-h.m4, m4/signed.m4.
54274         * m4/gettext.m4: Update to GNU gettext 0.16.
54275         * m4/intl.m4: New file, from GNU gettext.
54276         * m4/intldir.m4: New file, from GNU gettext.
54277         * config/srclist.txt: Update
54278
54279 2006-10-27  Eric Blake  <ebb9@byu.net>
54280
54281         * MODULES.html.sh: Document tempname.
54282         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
54283         dependencies.
54284         (Files): Move lib/tempname.c...
54285         * modules/tempname: ...to this new module.
54286         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
54287         (gl_PREREQ_TEMPNAME): Move...
54288         * m4/tempname.m4: ...to this new file.
54289         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
54290         * modules/sys_stat (Depends-on): Add stat-macros.
54291         * lib/stat_.h (includes): Pick up stat macros.
54292         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
54293         if stat macros are broken.
54294         * lib/tempname.c (includes): No need to include "stat-macros.h".
54295         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
54296         (direxists, __path_search) [!_LIBC]: Don't compile these in
54297         gnulib; the tmpdir module covers that.
54298         * lib/tempname.h: New file.
54299
54300 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
54301
54302         * COPYING: Explain how gnulib-tool converts licence headers.
54303         Almost all wording by Eric Blake.
54304
54305 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
54306
54307         * lib/mbchar.h (is_basic_table): Make read-only.
54308         * lib/mbchar.c (is_basic_table): Likewise.
54309         Reported by John Darrington.
54310
54311 2006-10-25  Bruno Haible  <bruno@clisp.org>
54312
54313         * lib/progname.h (set_program_name): Undefine before defining.
54314
54315 2006-10-25  Bruno Haible  <bruno@clisp.org>
54316
54317         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
54318         false for non-gcc C++ compilers.
54319         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
54320
54321 2006-10-24  Bruno Haible  <bruno@clisp.org>
54322
54323         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
54324         iconv implementations like Irix iconv.
54325
54326 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
54327
54328         * modules/vararrays: New file.
54329         * m4/vararrays.m4: New file, taken from diffutils.
54330         * MODULES.html.sh: New module vararrays.
54331
54332 2006-10-24  Karl Berry  <karl@gnu.org>
54333
54334         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
54335         Don't call GNU Unix.
54336
54337 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54338
54339         * users.txt: Add Libtool.
54340
54341         Sync from Libtool:
54342
54343         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
54344
54345         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
54346         to gnulib's policy of including config.h unconditionally.
54347
54348 2006-10-24  Bruno Haible  <bruno@clisp.org>
54349
54350         * modules/wcwidth (Files): Add m4/wint_t.m4.
54351         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
54352         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
54353
54354 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
54355
54356         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
54357         to pacify GCC with some -W flags enabled.  Problem reported by
54358         Bruno Haible.
54359
54360 2006-10-24  Jim Meyering  <jim@meyering.net>
54361
54362         * MODULES.html.sh: Remove uinttostr.  It's not a module.
54363         Reported by Karl Berry.
54364
54365 2006-10-23  Bruno Haible  <bruno@clisp.org>
54366
54367         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
54368
54369 2006-10-24  Bruno Haible  <bruno@clisp.org>
54370
54371         * lib/gl_list.h: Use C comment style, not C++ comment style.
54372
54373 2006-10-23  Eric Blake  <ebb9@byu.net>
54374
54375         * lib/getaddrinfo.c (includes): Add missing include.
54376
54377 2006-10-23  Bruno Haible  <bruno@clisp.org>
54378             Paul Eggert  <eggert@cs.ucla.edu>
54379
54380         Ability to rename obstack_free.
54381         * lib/obstack.h (__obstack_free): New macro. Declare instead of
54382         obstack_free.
54383         (obstack_free): Invoke the __obstack_free macro.
54384         * lib/obstack.c (obstack_free): Use __obstack_free macro.
54385
54386 2006-10-23  Bruno Haible  <bruno@clisp.org>
54387             Paul Eggert  <eggert@cs.ucla.edu>
54388
54389         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
54390         __argc, __argv from the declaration. (They are defined as macros on
54391         mingw.)
54392
54393 2006-10-22  Bruno Haible  <bruno@clisp.org>
54394
54395         * doc/gnulib-intro.texi: New file.
54396         * doc/gnulib.texi: Include it.
54397
54398 2006-10-21  Bruno Haible  <bruno@clisp.org>
54399
54400         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
54401         "Introduction", "Miscellanous Notes", "Particular Modules".
54402
54403 2006-10-21  Bruno Haible  <bruno@clisp.org>
54404
54405         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
54406         Change mostlyclean-local rule to avoid sh syntax error from bash
54407         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
54408
54409 2006-10-23  Jim Meyering  <jim@meyering.net>
54410
54411         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
54412         in place of snprintf.
54413
54414         * modules/inttostr (Files): Add lib/uinttostr.c.
54415         * lib/uinttostr.c (inttostr): New file/function.
54416         * lib/inttostr.h (uinttostr): Declare.
54417         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
54418         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
54419         Add uinttostr.
54420         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
54421
54422 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
54423
54424         * lib/canonicalize.c (ELOOP): Define if not already defined.
54425         Problem reported by Bruno Haible in
54426         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
54427
54428 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
54429
54430         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
54431         Problem reported by Perry Smith and Ville Laurikari.
54432
54433         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
54434         uses.
54435
54436 2006-10-19  Bruno Haible  <bruno@clisp.org>
54437
54438         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
54439         for mingw.
54440
54441 2006-10-19  Bruno Haible  <bruno@clisp.org>
54442
54443         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
54444         Needed for mingw.
54445
54446 2006-10-19  Bruno Haible  <bruno@clisp.org>
54447
54448         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
54449
54450 2006-10-19  Bruno Haible  <bruno@clisp.org>
54451
54452         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
54453         it.
54454
54455 2006-10-19  Bruno Haible  <bruno@clisp.org>
54456
54457         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
54458         invocation.
54459
54460 2006-10-19  Bruno Haible  <bruno@clisp.org>
54461
54462         * gnulib-tool (func_create_testdir): Don't include ftruncate and
54463         mountlist by default.
54464
54465 2006-10-16  Bruno Haible  <bruno@clisp.org>
54466
54467         * lib/c-strstr.c: Include c-strstr.h.
54468
54469 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
54470
54471         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
54472         in a slash.
54473
54474 2006-10-18  Bruno Haible  <bruno@clisp.org>
54475
54476         * lib/lock.h [C++]: Wrap definitions in extern "C".
54477
54478 2006-10-18  Bruno Haible  <bruno@clisp.org>
54479
54480         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
54481         gl_LIBOBJS list.
54482
54483 2006-10-18  Bruno Haible  <bruno@clisp.org>
54484
54485         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
54486
54487 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
54488
54489         * lib/xstrtol.h: Include gettext.h.
54490         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
54491         Problem reported by Eric Blake.
54492         * modules/xstrtol (Depends-on): Add gettext-h.
54493
54494 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
54495
54496         * lib/strftime.c (advance): New macro.
54497         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
54498         incomplete type, so you can't add 0 to it.  Problem and patch
54499         reported by Eelco Dolstra for dietlibc.
54500
54501 2006-10-18  Jim Meyering  <jim@meyering.net>
54502
54503         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
54504         type for a local, and rename it: s/up/user_proc/.
54505
54506 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
54507
54508         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
54509         READ_UTMP_USER_PROCESS.
54510         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
54511
54512 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
54513
54514         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
54515         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
54516
54517 2006-10-17  Eric Blake  <ebb9@byu.net>
54518
54519         * lib/sigprocmask.c (sigprocmask): Fix typo.
54520
54521         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
54522
54523         * modules/clean-temp (Makefile.am): Don't add to make output...
54524         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
54525         config.h.
54526
54527 2006-10-17  Bruno Haible  <bruno@clisp.org>
54528
54529         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
54530         differently if DEFAULT_TEXT_DOMAIN is set.
54531
54532 2006-10-16  Bruno Haible  <bruno@clisp.org>
54533
54534         * lib/clean-temp.c: Include fwriteerror.h.
54535
54536 2006-10-16  Bruno Haible  <bruno@clisp.org>
54537
54538         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
54539
54540 2006-10-16  Bruno Haible  <bruno@clisp.org>
54541
54542         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
54543         * lib/sigprocmask.h: Include <sys/types.h>.
54544         (sigset_t): Use the system's definition if present.
54545
54546 2006-10-17  Eric Blake  <ebb9@byu.net>
54547
54548         * lib/xvasprintf.c (includes): Assume config.h.
54549         * lib/xasprintf.c (includes): Likewise.
54550
54551 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
54552
54553         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
54554         at least as wide as intmax_t.
54555
54556 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
54557
54558         (Imported from Automake.)
54559         * build-aux/gnupload: Update to version 1.1 of directive file.
54560
54561 2006-10-16  Eric Blake  <ebb9@byu.net>
54562
54563         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
54564         match Automake 1.10a.
54565
54566 2006-10-14  Bruno Haible  <bruno@clisp.org>
54567
54568         * modules/sigprocmask: New file.
54569         * lib/sigprocmask.h: New file.
54570         * lib/sigprocmask.c: New file.
54571         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
54572         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
54573         request sigprocmask.o.
54574         (gl_PREREQ_SIGPROCMASK): New macro.
54575         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
54576         (Depends-on): Add sigprocmask.
54577         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
54578         gt_SIGNALBLOCKING. Test for 'raise' only once.
54579         * lib/fatal-signal.c: Include sigprocmask.h.
54580         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
54581         unblock_fatal_signals): Define always.
54582         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
54583         sigprocmask.
54584
54585 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
54586
54587         Sync from Automake.
54588         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
54589         which incorrectly sets the mode of an existing destination
54590         directory.  In some cases the unpatched install-sh could do the
54591         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
54592         system.  We hope this is rare in practice, but it's clearly worth
54593         fixing.  Problem reported by Alex Unleashed in
54594         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
54595         Also, don't bother to check for -m bugs unless we're using -m;
54596         suggested by Stepan Kasal.
54597
54598 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54599
54600         Sync from Automake.
54601         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
54602         `-c' flag, so they appear at the same position as in %FASTDEP%
54603         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
54604         which ignores unknown options only after the first non-option.
54605         Bug report against M4 by Nelson H. F. Beebe.
54606
54607 2006-10-13  Jim Meyering  <jim@meyering.net>
54608
54609         Fix a bug in yesterday's change.
54610         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
54611         p->fts_statp->st_dev would be used uninitialized.
54612         Ensures that we always call fts_stat on the very first entry.
54613         Miklos Szeredi reported that find -xdev stopped working.
54614
54615 2006-10-12  Bruno Haible  <bruno@clisp.org>
54616
54617         * gnulib-tool (func_get_automake_snippet): Append an automatically
54618         computed EXTRA_DIST augmentation.
54619         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
54620         * modules/alloca-opt (Makefile.am): Likewise.
54621         * modules/allocsa (Makefile.am): Likewise.
54622         * modules/arcfour (Makefile.am): Likewise.
54623         * modules/arctwo (Makefile.am): Likewise.
54624         * modules/argmatch (Makefile.am): Likewise.
54625         * modules/argz (Makefile.am): Likewise.
54626         * modules/atexit (Makefile.am): Likewise.
54627         * modules/backupfile (Makefile.am): Likewise.
54628         * modules/byteswap (Makefile.am): Likewise.
54629         * modules/c-strtod (Makefile.am): Likewise.
54630         * modules/c-strtold (Makefile.am): Likewise.
54631         * modules/calloc (Makefile.am): Likewise.
54632         * modules/canon-host (Makefile.am): Likewise.
54633         * modules/canonicalize (Makefile.am): Likewise.
54634         * modules/chdir-long (Makefile.am): Likewise.
54635         * modules/chdir-safer (Makefile.am): Likewise.
54636         * modules/check-version (Makefile.am): Likewise.
54637         * modules/chown (Makefile.am): Likewise.
54638         * modules/cloexec (Makefile.am): Likewise.
54639         * modules/close-stream (Makefile.am): Likewise.
54640         * modules/closeout (Makefile.am): Likewise.
54641         * modules/crc (Makefile.am): Likewise.
54642         * modules/csharpexec (Makefile.am): Likewise.
54643         * modules/cycle-check (Makefile.am): Likewise.
54644         * modules/des (Makefile.am): Likewise.
54645         * modules/dev-ino (Makefile.am): Likewise.
54646         * modules/dirfd (Makefile.am): Likewise.
54647         * modules/dirname (Makefile.am): Likewise.
54648         * modules/dup2 (Makefile.am): Likewise.
54649         * modules/eealloc (Makefile.am): Likewise.
54650         * modules/error (Makefile.am): Likewise.
54651         * modules/euidaccess (Makefile.am): Likewise.
54652         * modules/exclude (Makefile.am): Likewise.
54653         * modules/exitfail (Makefile.am): Likewise.
54654         * modules/fcntl-safer (Makefile.am): Likewise.
54655         * modules/fcntl (Makefile.am): Likewise.
54656         * modules/file-type (Makefile.am): Likewise.
54657         * modules/fileblocks (Makefile.am): Likewise.
54658         * modules/filemode (Makefile.am): Likewise.
54659         * modules/filenamecat (Makefile.am): Likewise.
54660         * modules/fnmatch (Makefile.am): Likewise.
54661         * modules/fopen-safer (Makefile.am): Likewise.
54662         * modules/fpending (Makefile.am): Likewise.
54663         * modules/fprintftime (Makefile.am): Likewise.
54664         * modules/free (Makefile.am): Likewise.
54665         * modules/fsusage (Makefile.am): Likewise.
54666         * modules/ftruncate (Makefile.am): Likewise.
54667         * modules/fts (Makefile.am): Likewise.
54668         * modules/gc-arcfour (Makefile.am): Likewise.
54669         * modules/gc-des (Makefile.am): Likewise.
54670         * modules/gc-hmac-md5 (Makefile.am): Likewise.
54671         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
54672         * modules/gc-md4 (Makefile.am): Likewise.
54673         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
54674         * modules/gc-sha1 (Makefile.am): Likewise.
54675         * modules/gc (Makefile.am): Likewise.
54676         * modules/getaddrinfo (Makefile.am): Likewise.
54677         * modules/getcwd (Makefile.am): Likewise.
54678         * modules/getdelim (Makefile.am): Likewise.
54679         * modules/getdomainname (Makefile.am): Likewise.
54680         * modules/getgroups (Makefile.am): Likewise.
54681         * modules/gethostname (Makefile.am): Likewise.
54682         * modules/gethrxtime (Makefile.am): Likewise.
54683         * modules/getline (Makefile.am): Likewise.
54684         * modules/getloadavg (Makefile.am): Likewise.
54685         * modules/getlogin_r (Makefile.am): Likewise.
54686         * modules/getndelim2 (Makefile.am): Likewise.
54687         * modules/getopt (Makefile.am): Likewise.
54688         * modules/getpagesize (Makefile.am): Likewise.
54689         * modules/getpass-gnu (Makefile.am): Likewise.
54690         * modules/getpass (Makefile.am): Likewise.
54691         * modules/getsubopt (Makefile.am): Likewise.
54692         * modules/gettime (Makefile.am): Likewise.
54693         * modules/gettimeofday (Makefile.am): Likewise.
54694         * modules/getugroups (Makefile.am): Likewise.
54695         * modules/getusershell (Makefile.am): Likewise.
54696         * modules/glob (Makefile.am): Likewise.
54697         * modules/group-member (Makefile.am): Likewise.
54698         * modules/hard-locale (Makefile.am): Likewise.
54699         * modules/hash (Makefile.am): Likewise.
54700         * modules/hmac-md5 (Makefile.am): Likewise.
54701         * modules/hmac-sha1 (Makefile.am): Likewise.
54702         * modules/human (Makefile.am): Likewise.
54703         * modules/idcache (Makefile.am): Likewise.
54704         * modules/imaxabs (Makefile.am): Likewise.
54705         * modules/imaxdiv (Makefile.am): Likewise.
54706         * modules/inet_ntop (Makefile.am): Likewise.
54707         * modules/inet_pton (Makefile.am): Likewise.
54708         * modules/intprops (Makefile.am): Likewise.
54709         * modules/inttostr (Makefile.am): Likewise.
54710         * modules/inttypes (Makefile.am): Likewise.
54711         * modules/isapipe (Makefile.am): Likewise.
54712         * modules/javaversion (Makefile.am): Likewise.
54713         * modules/lchmod (Makefile.am): Likewise.
54714         * modules/lchown (Makefile.am): Likewise.
54715         * modules/localcharset (Makefile.am): Likewise.
54716         * modules/long-options (Makefile.am): Likewise.
54717         * modules/lstat (Makefile.am): Likewise.
54718         * modules/malloc (Makefile.am): Likewise.
54719         * modules/mathl (Makefile.am): Likewise.
54720         * modules/mbchar (Makefile.am): Likewise.
54721         * modules/md2 (Makefile.am): Likewise.
54722         * modules/md4 (Makefile.am): Likewise.
54723         * modules/md5 (Makefile.am): Likewise.
54724         * modules/memcasecmp (Makefile.am): Likewise.
54725         * modules/memchr (Makefile.am): Likewise.
54726         * modules/memcmp (Makefile.am): Likewise.
54727         * modules/memcoll (Makefile.am): Likewise.
54728         * modules/memcpy (Makefile.am): Likewise.
54729         * modules/memmem (Makefile.am): Likewise.
54730         * modules/memmove (Makefile.am): Likewise.
54731         * modules/mempcpy (Makefile.am): Likewise.
54732         * modules/memrchr (Makefile.am): Likewise.
54733         * modules/memset (Makefile.am): Likewise.
54734         * modules/memxor (Makefile.am): Likewise.
54735         * modules/mkancesdirs (Makefile.am): Likewise.
54736         * modules/mkdir-p (Makefile.am): Likewise.
54737         * modules/mkdir (Makefile.am): Likewise.
54738         * modules/mkdtemp (Makefile.am): Likewise.
54739         * modules/mkstemp (Makefile.am): Likewise.
54740         * modules/mktime (Makefile.am): Likewise.
54741         * modules/modechange (Makefile.am): Likewise.
54742         * modules/mountlist (Makefile.am): Likewise.
54743         * modules/nanosleep (Makefile.am): Likewise.
54744         * modules/obstack (Makefile.am): Likewise.
54745         * modules/openat (Makefile.am): Likewise.
54746         * modules/pagealign_alloc (Makefile.am): Likewise.
54747         * modules/pathmax (Makefile.am): Likewise.
54748         * modules/physmem (Makefile.am): Likewise.
54749         * modules/poll (Makefile.am): Likewise.
54750         * modules/posixtm (Makefile.am): Likewise.
54751         * modules/posixver (Makefile.am): Likewise.
54752         * modules/putenv (Makefile.am): Likewise.
54753         * modules/quote (Makefile.am): Likewise.
54754         * modules/quotearg (Makefile.am): Likewise.
54755         * modules/raise (Makefile.am): Likewise.
54756         * modules/read-file (Makefile.am): Likewise.
54757         * modules/readline (Makefile.am): Likewise.
54758         * modules/readlink (Makefile.am): Likewise.
54759         * modules/readtokens (Makefile.am): Likewise.
54760         * modules/readutmp (Makefile.am): Likewise.
54761         * modules/realloc (Makefile.am): Likewise.
54762         * modules/regex (Makefile.am): Likewise.
54763         * modules/rename-dest-slash (Makefile.am): Likewise.
54764         * modules/rename (Makefile.am): Likewise.
54765         * modules/rijndael (Makefile.am): Likewise.
54766         * modules/rmdir (Makefile.am): Likewise.
54767         * modules/rpmatch (Makefile.am): Likewise.
54768         * modules/safe-read (Makefile.am): Likewise.
54769         * modules/safe-write (Makefile.am): Likewise.
54770         * modules/same-inode (Makefile.am): Likewise.
54771         * modules/same (Makefile.am): Likewise.
54772         * modules/save-cwd (Makefile.am): Likewise.
54773         * modules/savedir (Makefile.am): Likewise.
54774         * modules/setenv (Makefile.am): Likewise.
54775         * modules/settime (Makefile.am): Likewise.
54776         * modules/sha1 (Makefile.am): Likewise.
54777         * modules/sig2str (Makefile.am): Likewise.
54778         * modules/snprintf (Makefile.am): Likewise.
54779         * modules/stat-macros (Makefile.am): Likewise.
54780         * modules/stat-time (Makefile.am): Likewise.
54781         * modules/stdbool (Makefile.am): Likewise.
54782         * modules/stdint (Makefile.am): Likewise.
54783         * modules/stdlib-safer (Makefile.am): Likewise.
54784         * modules/stpcpy (Makefile.am): Likewise.
54785         * modules/stpncpy (Makefile.am): Likewise.
54786         * modules/strcase (Makefile.am): Likewise.
54787         * modules/strcasestr (Makefile.am): Likewise.
54788         * modules/strchrnul (Makefile.am): Likewise.
54789         * modules/strcspn (Makefile.am): Likewise.
54790         * modules/strdup (Makefile.am): Likewise.
54791         * modules/strerror (Makefile.am): Likewise.
54792         * modules/strftime (Makefile.am): Likewise.
54793         * modules/strndup (Makefile.am): Likewise.
54794         * modules/strnlen (Makefile.am): Likewise.
54795         * modules/strpbrk (Makefile.am): Likewise.
54796         * modules/strsep (Makefile.am): Likewise.
54797         * modules/strstr (Makefile.am): Likewise.
54798         * modules/strtod (Makefile.am): Likewise.
54799         * modules/strtoimax (Makefile.am): Likewise.
54800         * modules/strtok_r (Makefile.am): Likewise.
54801         * modules/strtol (Makefile.am): Likewise.
54802         * modules/strtoll (Makefile.am): Likewise.
54803         * modules/strtoul (Makefile.am): Likewise.
54804         * modules/strtoull (Makefile.am): Likewise.
54805         * modules/strtoumax (Makefile.am): Likewise.
54806         * modules/strverscmp (Makefile.am): Likewise.
54807         * modules/sys_socket (Makefile.am): Likewise.
54808         * modules/sys_stat (Makefile.am): Likewise.
54809         * modules/sysexits (Makefile.am): Likewise.
54810         * modules/time_r (Makefile.am): Likewise.
54811         * modules/timegm (Makefile.am): Likewise.
54812         * modules/timespec (Makefile.am): Likewise.
54813         * modules/tmpfile-safer (Makefile.am): Likewise.
54814         * modules/trim (Makefile.am): Likewise.
54815         * modules/unistd-safer (Makefile.am): Likewise.
54816         * modules/unlinkdir (Makefile.am): Likewise.
54817         * modules/unlocked-io (Makefile.am): Likewise.
54818         * modules/userspec (Makefile.am): Likewise.
54819         * modules/utime (Makefile.am): Likewise.
54820         * modules/utimecmp (Makefile.am): Likewise.
54821         * modules/utimens (Makefile.am): Likewise.
54822         * modules/vasnprintf (Makefile.am): Likewise.
54823         * modules/vasprintf (Makefile.am): Likewise.
54824         * modules/vsnprintf (Makefile.am): Likewise.
54825         * modules/xalloc (Makefile.am): Likewise.
54826         * modules/xgetcwd (Makefile.am): Likewise.
54827         * modules/xnanosleep (Makefile.am): Likewise.
54828         * modules/xreadlink (Makefile.am): Likewise.
54829         * modules/xstrtod (Makefile.am): Likewise.
54830         * modules/xstrtol (Makefile.am): Likewise.
54831         * modules/xstrtold (Makefile.am): Likewise.
54832         * modules/yesno (Makefile.am): Likewise.
54833         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
54834
54835 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
54836
54837         * modules/error (Makefile.am): Distribute files through
54838         EXTRA_DIST, not lib_SOURCES.
54839
54840 2006-10-12  Eric Blake  <ebb9@byu.net>
54841
54842         * modules/error (Makefile.am): Distribute files in /lib.
54843         * modules/obstack (Makefile.am): Likewise.
54844
54845 2006-10-12  Bruno Haible  <bruno@clisp.org>
54846
54847         * modules/acl (Makefile.am): Distribute all files in lib/ through
54848         EXTRA_DIST.
54849         * modules/arcfour (Makefile.am): Likewise.
54850         * modules/arctwo (Makefile.am): Likewise.
54851         * modules/argmatch (Makefile.am): Likewise.
54852         * modules/argz (Makefile.am): Likewise.
54853         * modules/atexit (Makefile.am): Likewise.
54854         * modules/backupfile (Makefile.am): Likewise.
54855         * modules/c-strtod (Makefile.am): Likewise.
54856         * modules/c-strtold (Makefile.am): Likewise.
54857         * modules/calloc (Makefile.am): Likewise.
54858         * modules/canon-host (Makefile.am): Likewise.
54859         * modules/canonicalize (Makefile.am): Likewise.
54860         * modules/chdir-long (Makefile.am): Likewise.
54861         * modules/chdir-safer (Makefile.am): Likewise.
54862         * modules/check-version (Makefile.am): Likewise.
54863         * modules/chown (Makefile.am): Likewise.
54864         * modules/cloexec (Makefile.am): Likewise.
54865         * modules/close-stream (Makefile.am): Likewise.
54866         * modules/closeout (Makefile.am): Likewise.
54867         * modules/crc (Makefile.am): Likewise.
54868         * modules/cycle-check (Makefile.am): Likewise.
54869         * modules/des (Makefile.am): Likewise.
54870         * modules/dirfd (Makefile.am): Likewise.
54871         * modules/dirname (Makefile.am): Likewise.
54872         * modules/dup2 (Makefile.am): Likewise.
54873         * modules/euidaccess (Makefile.am): Likewise.
54874         * modules/exclude (Makefile.am): Likewise.
54875         * modules/exitfail (Makefile.am): Likewise.
54876         * modules/fcntl-safer (Makefile.am): Likewise.
54877         * modules/file-type (Makefile.am): Likewise.
54878         * modules/fileblocks (Makefile.am): Likewise.
54879         * modules/filemode (Makefile.am): Likewise.
54880         * modules/filenamecat (Makefile.am): Likewise.
54881         * modules/fnmatch (Makefile.am): Likewise.
54882         * modules/fopen-safer (Makefile.am): Likewise.
54883         * modules/fpending (Makefile.am): Likewise.
54884         * modules/fprintftime (Makefile.am): Likewise.
54885         * modules/free (Makefile.am): Likewise.
54886         * modules/fsusage (Makefile.am): Likewise.
54887         * modules/ftruncate (Makefile.am): Likewise.
54888         * modules/fts (Makefile.am): Likewise.
54889         * modules/gc (Makefile.am): Likewise.
54890         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
54891         * modules/getaddrinfo (Makefile.am): Likewise.
54892         * modules/getcwd (Makefile.am): Likewise.
54893         * modules/getdelim (Makefile.am): Likewise.
54894         * modules/getdomainname (Makefile.am): Likewise.
54895         * modules/getgroups (Makefile.am): Likewise.
54896         * modules/gethostname (Makefile.am): Likewise.
54897         * modules/gethrxtime (Makefile.am): Likewise.
54898         * modules/getline (Makefile.am): Likewise.
54899         * modules/getloadavg (Makefile.am): Likewise.
54900         * modules/getlogin_r (Makefile.am): Likewise.
54901         * modules/getopt (Makefile.am): Likewise.
54902         * modules/getpass (Makefile.am): Likewise.
54903         * modules/getpass-gnu (Makefile.am): Likewise.
54904         * modules/getsubopt (Makefile.am): Likewise.
54905         * modules/gettime (Makefile.am): Likewise.
54906         * modules/gettimeofday (Makefile.am): Likewise.
54907         * modules/getugroups (Makefile.am): Likewise.
54908         * modules/getusershell (Makefile.am): Likewise.
54909         * modules/glob (Makefile.am): Likewise.
54910         * modules/group-member (Makefile.am): Likewise.
54911         * modules/hard-locale (Makefile.am): Likewise.
54912         * modules/hash (Makefile.am): Likewise.
54913         * modules/hmac-md5 (Makefile.am): Likewise.
54914         * modules/hmac-sha1 (Makefile.am): Likewise.
54915         * modules/human (Makefile.am): Likewise.
54916         * modules/idcache (Makefile.am): Likewise.
54917         * modules/imaxabs (Makefile.am): Likewise.
54918         * modules/imaxdiv (Makefile.am): Likewise.
54919         * modules/inet_ntop (Makefile.am): Likewise.
54920         * modules/inet_pton (Makefile.am): Likewise.
54921         * modules/inttostr (Makefile.am): Likewise.
54922         * modules/isapipe (Makefile.am): Likewise.
54923         * modules/lchown (Makefile.am): Likewise.
54924         * modules/long-options (Makefile.am): Likewise.
54925         * modules/lstat (Makefile.am): Likewise.
54926         * modules/malloc (Makefile.am): Likewise.
54927         * modules/mathl (Makefile.am): Likewise.
54928         * modules/mbchar (Makefile.am): Likewise.
54929         * modules/md2 (Makefile.am): Likewise.
54930         * modules/md4 (Makefile.am): Likewise.
54931         * modules/md5 (Makefile.am): Likewise.
54932         * modules/memcasecmp (Makefile.am): Likewise.
54933         * modules/memchr (Makefile.am): Likewise.
54934         * modules/memcmp (Makefile.am): Likewise.
54935         * modules/memcoll (Makefile.am): Likewise.
54936         * modules/memcpy (Makefile.am): Likewise.
54937         * modules/memmem (Makefile.am): Likewise.
54938         * modules/memmove (Makefile.am): Likewise.
54939         * modules/mempcpy (Makefile.am): Likewise.
54940         * modules/memrchr (Makefile.am): Likewise.
54941         * modules/memset (Makefile.am): Likewise.
54942         * modules/memxor (Makefile.am): Likewise.
54943         * modules/mkancesdirs (Makefile.am): Likewise.
54944         * modules/mkdir (Makefile.am): Likewise.
54945         * modules/mkdir-p (Makefile.am): Likewise.
54946         * modules/mkdtemp (Makefile.am): Likewise.
54947         * modules/mkstemp (Makefile.am): Likewise.
54948         * modules/mktime (Makefile.am): Likewise.
54949         * modules/modechange (Makefile.am): Likewise.
54950         * modules/mountlist (Makefile.am): Likewise.
54951         * modules/nanosleep (Makefile.am): Likewise.
54952         * modules/openat (Makefile.am): Likewise.
54953         * modules/pagealign_alloc (Makefile.am): Likewise.
54954         * modules/physmem (Makefile.am): Likewise.
54955         * modules/poll (Makefile.am): Likewise.
54956         * modules/posixtm (Makefile.am): Likewise.
54957         * modules/posixver (Makefile.am): Likewise.
54958         * modules/putenv (Makefile.am): Likewise.
54959         * modules/quote (Makefile.am): Likewise.
54960         * modules/quotearg (Makefile.am): Likewise.
54961         * modules/raise (Makefile.am): Likewise.
54962         * modules/read-file (Makefile.am): Likewise.
54963         * modules/readline (Makefile.am): Likewise.
54964         * modules/readlink (Makefile.am): Likewise.
54965         * modules/readtokens (Makefile.am): Likewise.
54966         * modules/readutmp (Makefile.am): Likewise.
54967         * modules/realloc (Makefile.am): Likewise.
54968         * modules/regex (Makefile.am): Likewise.
54969         * modules/rename (Makefile.am): Likewise.
54970         * modules/rename-dest-slash (Makefile.am): Likewise.
54971         * modules/rijndael (Makefile.am): Likewise.
54972         * modules/rmdir (Makefile.am): Likewise.
54973         * modules/rpmatch (Makefile.am): Likewise.
54974         * modules/safe-read (Makefile.am): Likewise.
54975         * modules/safe-write (Makefile.am): Likewise.
54976         * modules/same (Makefile.am): Likewise.
54977         * modules/save-cwd (Makefile.am): Likewise.
54978         * modules/savedir (Makefile.am): Likewise.
54979         * modules/setenv (Makefile.am): Likewise.
54980         * modules/settime (Makefile.am): Likewise.
54981         * modules/sha1 (Makefile.am): Likewise.
54982         * modules/sig2str (Makefile.am): Likewise.
54983         * modules/snprintf (Makefile.am): Likewise.
54984         * modules/stdlib-safer (Makefile.am): Likewise.
54985         * modules/stpcpy (Makefile.am): Likewise.
54986         * modules/stpncpy (Makefile.am): Likewise.
54987         * modules/strcase (Makefile.am): Likewise.
54988         * modules/strcasestr (Makefile.am): Likewise.
54989         * modules/strchrnul (Makefile.am): Likewise.
54990         * modules/strcspn (Makefile.am): Likewise.
54991         * modules/strdup (Makefile.am): Likewise.
54992         * modules/strerror (Makefile.am): Likewise.
54993         * modules/strftime (Makefile.am): Likewise.
54994         * modules/strndup (Makefile.am): Likewise.
54995         * modules/strnlen (Makefile.am): Likewise.
54996         * modules/strpbrk (Makefile.am): Likewise.
54997         * modules/strsep (Makefile.am): Likewise.
54998         * modules/strstr (Makefile.am): Likewise.
54999         * modules/strtod (Makefile.am): Likewise.
55000         * modules/strtoimax (Makefile.am): Likewise.
55001         * modules/strtok_r (Makefile.am): Likewise.
55002         * modules/strtol (Makefile.am): Likewise.
55003         * modules/strtoll (Makefile.am): Likewise.
55004         * modules/strtoul (Makefile.am): Likewise.
55005         * modules/strtoull (Makefile.am): Likewise.
55006         * modules/strtoumax (Makefile.am): Likewise.
55007         * modules/strverscmp (Makefile.am): Likewise.
55008         * modules/time_r (Makefile.am): Likewise.
55009         * modules/timegm (Makefile.am): Likewise.
55010         * modules/tmpfile-safer (Makefile.am): Likewise.
55011         * modules/unistd-safer (Makefile.am): Likewise.
55012         * modules/unlinkdir (Makefile.am): Likewise.
55013         * modules/userspec (Makefile.am): Likewise.
55014         * modules/utime (Makefile.am): Likewise.
55015         * modules/utimecmp (Makefile.am): Likewise.
55016         * modules/utimens (Makefile.am): Likewise.
55017         * modules/vasnprintf (Makefile.am): Likewise.
55018         * modules/vasprintf (Makefile.am): Likewise.
55019         * modules/vsnprintf (Makefile.am): Likewise.
55020         * modules/xalloc (Makefile.am): Likewise.
55021         * modules/xgetcwd (Makefile.am): Likewise.
55022         * modules/xnanosleep (Makefile.am): Likewise.
55023         * modules/xreadlink (Makefile.am): Likewise.
55024         * modules/xstrtod (Makefile.am): Likewise.
55025         * modules/xstrtol (Makefile.am): Likewise.
55026         * modules/xstrtold (Makefile.am): Likewise.
55027         * modules/yesno (Makefile.am): Likewise.
55028
55029 2006-10-12  Jim Meyering  <jim@meyering.net>
55030
55031         * m4/getloadavg.m4: Revert the change below.
55032
55033         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
55034         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
55035         fail with a symlink, which is what coreutils' ./bootstrap now
55036         creates by default.
55037
55038 2006-10-12  Bruno Haible  <bruno@clisp.org>
55039
55040         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
55041         mingw.
55042         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
55043         MSVC and mingw explicitly.
55044
55045 2006-10-11  Simon Josefsson  <jas@extundo.com>
55046             Bruno Haible  <bruno@clisp.org>
55047
55048         Add support for multiple gnulib-tool invocations in the scope of a
55049         single configure.ac file.
55050         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
55051         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
55052         with the same contents as the _LIBADD variable.
55053         (func_emit_initmacro_start, func_emit_initmacro_end,
55054         func_emit_initmacro_done): New functions.
55055         (func_import, func_create_testdir): Invoke them. Allow the identifiers
55056         gl_LIBOBJS and gl_LTLIBOBJS.
55057
55058 2006-10-11  Bruno Haible  <bruno@clisp.org>
55059
55060         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
55061         (func_create_testdir): Don't create po/Makefile.am, don't invoke
55062         autoreconf. Instead, invoke autopoint explicitly but move back the
55063         *.m4 files from gnulib.
55064
55065 2006-10-11  Bruno Haible  <bruno@clisp.org>
55066
55067         * gnulib-tool (func_usage): Make module names after --create-testdir
55068         optional.
55069         (func_create_testdir): If no module was specified, use nearly all
55070         modules.
55071
55072 2006-10-12  Jim Meyering  <jim@meyering.net>
55073
55074         Big performance improvement for fts-based tools that use FTS_NOSTAT.
55075         Avoid spurious inode-mismatch problems on non-POSIX file systems.
55076         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
55077         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
55078         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
55079         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
55080         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
55081         (fts_set_stat_required): New function.
55082         (fts_open): Defer the calls to fts_stat, if possible or requested.
55083         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
55084         into fts_stat itself.
55085         (fts_read): Perform any required (deferred) fts_stat call.
55086         (fts_build): Likewise, for the directory we're about to open and read.
55087         In the readdir loop, carefully decide whether each entry will require
55088         an eventual call to fts_stat, using dirent.d_type info if available.
55089         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
55090         a command line argument into this function.  Update all callers.
55091         Map a return value of FTS_DOT to FTS_D for a command line argument.
55092         * modules/fts (Depends-on): Add d-type.  Alphabetize.
55093         Thanks to Miklos Szeredi for his tenacity and for the initial
55094         bug report about "find" failing on a FUSE-based file system.
55095
55096         * lib/fts.c (fts_open): Use consistent indentation.
55097
55098 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
55099
55100         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
55101         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
55102         reported by Jim Meyering.  All uses of cache variables renamed
55103         to match Autoconf's.
55104         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
55105         the other one.
55106
55107         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
55108         Fix misspelling in diagnostic.
55109
55110 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
55111
55112         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
55113         defined.  Problem reported by Matthew Woehlke.
55114
55115         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
55116         Add support for Tandem NonStop R series.
55117         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
55118         Use new macro.
55119
55120         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
55121         (has_trailing_slash): Omit size arg; all callers changed.
55122         Omit 'inline', since it doesn't help performance and we'd
55123         need to configure it.
55124         Don't count //, ///, etc. as having a trailing slash.
55125         As a side effect, this removes a C99ism reported by Matthew Woehlke.
55126         (rpl_rename_dest_slash): On failure, use rename's errno rather
55127         than (in some cases) an incorrect or junk errno.
55128         Simplify code by removing need to compute length; this does
55129         cause it to make two passes instead of one over the file name,
55130         but it's worth it.
55131
55132         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
55133         change, since Autoconf's version may no longer be appropriate now
55134         that we are using CVS Autoconf's version.  Add support for Tandem.
55135
55136 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
55137             Bruno Haible  <bruno@clisp.org>
55138
55139         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
55140         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
55141         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
55142         gl_AC_TYPE_LONG_LONG.
55143
55144         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
55145         instead of HAVE_LONG_LONG.
55146         * lib/printf-args.c (printf_fetchargs): Likewise.
55147         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
55148         * lib/vasnprintf.c (VASNPRINTF): Likewise.
55149         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
55150         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
55151         gl_AC_TYPE_LONG_LONG.
55152
55153 2006-10-11  Bruno Haible  <bruno@clisp.org>
55154
55155         * m4/longlong.m4: Add comments.
55156         * m4/ulonglong.m4: Likewise.
55157
55158 2006-10-10  Bruno Haible  <bruno@clisp.org>
55159
55160         Make it possible to #define stpcpy, strdup to aliases.
55161         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
55162         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
55163
55164 2006-10-10  Bruno Haible  <bruno@clisp.org>
55165
55166         Make it possible to #define gcd to an alias.
55167         * lib/gcd.c: Include config.h.
55168
55169 2006-10-10  Bruno Haible  <bruno@clisp.org>
55170
55171         Make it possible to #define c_isascii to an alias.
55172         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
55173         defined. Undefine the macros before defining them, to avoid gcc
55174         warnings.
55175         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
55176         define NO_C_CTYPE_MACROS early.
55177
55178 2006-10-10  Bruno Haible  <bruno@clisp.org>
55179
55180         Make it possible to #define set_program_name to an alias.
55181         * lib/progname.c: Don't undefine set_program_name; instead, undefine
55182         ENABLE_RELOCATABLE early.
55183
55184 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
55185
55186         Port to Tandem NSK OSS, which has 64-bit signed int but at most
55187         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
55188         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
55189         More generally, don't assume that 64-bit signed int is available
55190         if unsigned int is, and vice versa.
55191         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
55192         unsigned symbols, not on their signed counterparts.
55193         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
55194         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
55195         (UINT64_C, UINTMAX_C):
55196         Likewise.
55197         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
55198         unsigned counterparts.
55199         (Have_long_long, Unsigned): New macros.
55200         (Int): Renamed from INT.
55201         (strtoimax): Use the new macros.
55202         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
55203         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
55204         * modules/inttypes (inttypes.h): Substitute
55205         HAVE_UNSIGNED_LONG_LONG_INT.
55206         * modules/stdint (stdint.h): Likewise.
55207         (Files): Add m4/ulonglong.m4.
55208
55209 2006-10-10  Bruno Haible  <bruno@clisp.org>
55210
55211         Fix a gcc -Wshadow warning.
55212         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
55213         to 'bucket'.
55214         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
55215         gl_linked_indexof_from_to): Likewise.
55216         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
55217         Likewise.
55218         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
55219         Likewise.
55220         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
55221         Reported by Eric Blake.
55222
55223 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
55224
55225         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
55226         for NetBSD.  Problem reported by Bruno Haible.
55227
55228 2006-10-09  Jim Meyering  <jim@meyering.net>
55229
55230         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
55231         Patch from Bruno Haible.
55232
55233 2006-10-09  Jim Meyering  <jim@meyering.net>
55234
55235         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
55236         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
55237         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
55238
55239 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
55240
55241         Don't include <config.h> twice; this doesn't work in some cases,
55242         e.g., when config.h has "#define intmax_t long long int" and
55243         we include <config.h>, <inttypes.h>, <config.h> in that order.
55244         Problem reported by Matthew Woehlke in:
55245         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
55246         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
55247         * lib/fts-cycle.c: Don't include config.h.
55248         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
55249         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
55250         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
55251         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
55252         inttypes.h.
55253         * lib/xstrtoumax.c: Likewise.
55254         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
55255         __strtol and the like, so that this module is more like its siblings.
55256         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
55257         Remove; no longer needed now that we assume gnulib inttypes.h.
55258
55259 2006-10-08  Bruno Haible  <bruno@clisp.org>
55260
55261         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
55262         option.
55263
55264 2006-10-07  Jim Meyering  <jim@meyering.net>
55265
55266         * modules/inttypes (inttypes.h): Revert what seems to have been
55267         an inadvertent part of today's change: use "|", not "/" in the
55268         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
55269
55270 2006-10-07  Bruno Haible  <bruno@clisp.org>
55271
55272         * modules/sublist: New file.
55273
55274 2006-10-07  Bruno Haible  <bruno@clisp.org>
55275
55276         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
55277         * modules/argz (argz.h): Likewise.
55278         * modules/arpa_inet (arpa/inet.h): Likewise.
55279         * modules/byteswap (byteswap.h): Likewise.
55280         * modules/configmake (configmake.h): Likewise.
55281         * modules/fcntl (fcntl.h): Likewise.
55282         * modules/fnmatch (fnmatch.h): Likewise.
55283         * modules/getopt (getopt.h): Likewise.
55284         * modules/glob (glob.h): Likewise.
55285         * modules/inttypes (inttypes.h): Likewise.
55286         * modules/netinet_in (netinet/in.h): Likewise.
55287         * modules/poll (poll.h): Likewise.
55288         * modules/stdbool (stdbool.h): Likewise.
55289         * modules/stdint (stdint.h): Likewise.
55290         * modules/sys_select (sys/select.h): Likewise.
55291         * modules/sys_socket (sys/socket.h): Likewise.
55292         * modules/sys_stat (sys/stat.h): Likewise.
55293         * modules/sysexits (sysexits.h): Likewise.
55294         * modules/unistd (unistd.h): Likewise.
55295         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
55296         Add a "DO NOT EDIT" comment to the generated file.
55297         (func_import): Likewise for gnulib-comp.m4.
55298
55299 2006-10-07  Bruno Haible  <bruno@clisp.org>
55300
55301         * lib/gl_sublist.h: New file.
55302         * lib/gl_sublist.c: New file.
55303
55304 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
55305
55306         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
55307         name (relative to the original working directory) and the file
55308         name component (relative to the temporary working directory).  All
55309         callers changed.
55310         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
55311         * lib/mkdir-p.c (make_dir_parents): Likewise.
55312         * lib/mkdir-p.h (make_dir_parents): Likewise.
55313
55314 2006-10-06  Eric Blake  <ebb9@byu.net>
55315
55316         Define several macros for use by the clean-temp module.
55317         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
55318         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
55319         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
55320
55321         * lib/clean-temp.h (close_stream_temp): New declaration.
55322         * lib/clean-temp.c (includes): Pull in headers according to what
55323         other modules are in use.
55324         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
55325
55326 2006-10-06  Bruno Haible  <bruno@clisp.org>
55327
55328         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
55329         instead of fopen, fwriteerror.
55330
55331 2006-10-06  Bruno Haible  <bruno@clisp.org>
55332
55333         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
55334         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
55335         int.
55336         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
55337         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
55338         Return an error indicator.
55339         Suggested by Eric Blake.
55340
55341 2006-10-06  Bruno Haible  <bruno@clisp.org>
55342
55343         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
55344         Reported by Eric Blake.
55345
55346 2006-10-06  Bruno Haible  <bruno@clisp.org>
55347
55348         * modules/closeout (Description): Mention stderr too.
55349
55350 2006-10-06  Bruno Haible  <bruno@clisp.org>
55351         and Paul Eggert  <eggert@cs.ucla.edu>
55352
55353         * lib/closeout.c (close_stdout): Also close stderr.
55354         * lib/closeout.h: Update comment.
55355
55356 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
55357
55358         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
55359         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
55360         * lib/dirchownmod.c: Include lchown.h.
55361         * lib/lchown.c: Don't include files that lchown.h now includes.
55362         Don't declare chown, since lchown.h now does that.
55363         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
55364         (lchown): Define to rpl_chown if lchown is declared but
55365         does not exist.  Declare using a prototype if lchown is not
55366         declared.  Add a copyright notice.
55367         * lib/mkstemp.h: Include <unistd.h>.
55368         * lib/openat.c: Include lchown.h.
55369
55370         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
55371         we now test for that separately.
55372         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
55373         rather than O_NOFOLLOW, when testing whether it's possible to
55374         avoid a race condition reliably.
55375         * lib/savewd.c (savewd_chdir): Likewise.
55376
55377         Remove macros that are no longer needed now that stdint.h is
55378         reliable.
55379         * lib/fsusage.c (UINTMAX_MAX): Remove.
55380         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
55381         * lib/utimecmp.c (SIZE_MAX): Remove.
55382
55383         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
55384
55385         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
55386         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
55387         O_NOATIME works.
55388
55389 2006-10-05  Bruno Haible  <bruno@clisp.org>
55390
55391         * lib/gl_list.h (gl_sortedlist_search_from_to,
55392         gl_sortedlist_indexof_from_to): New declarations.
55393         (gl_list_implementation): New fields sortedlist_search_from_to,
55394         sortedlist_indexof_from_to.
55395         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
55396         inline functions.
55397         * lib/gl_list.c (gl_sortedlist_search_from_to,
55398         gl_sortedlist_indexof_from_to): New functions.
55399         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
55400         function.
55401         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
55402         (gl_array_sortedlist_search_from_to): New function.
55403         (gl_array_list_implementation): Update.
55404         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
55405         function.
55406         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
55407         (gl_carray_sortedlist_search_from_to): New function.
55408         (gl_carray_list_implementation): Update.
55409         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
55410         gl_linked_sortedlist_indexof_from_to): New functions.
55411         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
55412         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
55413         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
55414         gl_tree_sortedlist_indexof_from_to): New functions.
55415         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
55416         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
55417         Update.
55418         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
55419         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
55420         Update.
55421
55422 2006-10-05  Bruno Haible  <bruno@clisp.org>
55423
55424         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
55425         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
55426         (struct gl_list_implementation): Add fields search_from_to,
55427         indexof_from_to. Remove fields search, indexof.
55428         (gl_list_search): Use the search_from_to method.
55429         (gl_list_search_from, gl_list_search_from_to): New functions.
55430         (gl_list_indexof): Use the indexof_from_to method.
55431         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
55432         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
55433         (gl_list_search_from, gl_list_search_from_to): New functions.
55434         (gl_list_indexof): Use the indexof_from_to method.
55435         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
55436         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
55437         gl_array_indexof. Add start_index, end_index arguments.
55438         (gl_array_search_from_to): Renamed from gl_array_search. Add
55439         start_index, end_index arguments.
55440         (gl_array_remove, gl_array_list_implementation): Update.
55441         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
55442         gl_carray_indexof. Add start_index, end_index arguments.
55443         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
55444         start_index, end_index arguments.
55445         (gl_carray_remove, gl_carray_list_implementation): Update.
55446         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
55447         gl_linked_search. Add start_index, end_index arguments.
55448         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
55449         start_index, end_index arguments.
55450         (gl_linked_remove): Update.
55451         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
55452         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
55453         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
55454         field to 'size_t'.
55455         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
55456         gl_tree_search. Add start_index, end_index arguments.
55457         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
55458         start_index, end_index arguments.
55459         (gl_tree_remove): Update.
55460         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
55461         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
55462         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
55463         function.
55464         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
55465         gl_tree_search. Add start_index, end_index arguments.
55466         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
55467         start_index, end_index arguments.
55468         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
55469         Update.
55470         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
55471
55472 2006-10-05  Bruno Haible  <bruno@clisp.org>
55473
55474         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
55475
55476         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
55477         fwriteerror_temp): New declarations.
55478         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
55479         (descriptors): New variable.
55480         (cleanup): First, close the descriptors.
55481         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
55482         fclose_temp, fwriteerror_temp): New functions.
55483
55484 2006-10-04  Jim Meyering  <jim@meyering.net>
55485
55486         * lib/fts.c (fts_open): Tiny comment change.
55487
55488 2006-10-04  Bruno Haible  <bruno@clisp.org>
55489
55490         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
55491         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
55492         gl_LOCK_BODY.
55493         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
55494         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
55495         gl_LOCK_EARLY_BODY.
55496         (gl_LOCK): Require gl_LOCK_BODY.
55497
55498 2006-10-04  Bruno Haible  <bruno@clisp.org>
55499
55500         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
55501         (gl_oset_search_atleast): New declaration.
55502         (struct gl_oset_implementation): Add field 'search_atleast'.
55503         (gl_oset_search_atleast): New inline function.
55504         * lib/gl_oset.c (gl_oset_search_atleast): New function.
55505         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
55506         (gl_array_oset_implementation): Update.
55507         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
55508         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
55509         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
55510
55511 2006-10-04  Bruno Haible  <bruno@clisp.org>
55512
55513         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
55514
55515 2006-10-03  Bruno Haible  <bruno@clisp.org>
55516
55517         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
55518         from gl_avltreehash_list_implementation.
55519
55520 2006-10-03  Bruno Haible  <bruno@clisp.org>
55521
55522         * lib/gl_oset.c (gl_oset_add): Fix return type.
55523
55524 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
55525
55526         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
55527
55528 2006-10-02  Eric Blake  <ebb9@byu.net>
55529
55530         * modules/strnlen (Depends-on): Add extensions.
55531
55532 2006-10-02  Eric Blake  <ebb9@byu.net>
55533
55534         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
55535         definition in 2.60+.
55536
55537 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
55538
55539         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
55540         checks.
55541
55542 2006-10-02  Bruno Haible  <bruno@clisp.org>
55543
55544         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
55545         to the AUTOMAKE_OPTIONS.
55546         Reported by Jim Meyering.
55547
55548 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
55549
55550         Work around bug in Solaris 10 /proc file system:
55551         /proc/self/fd/NNN/.. isn't the parent directory of
55552         the directory whose file descriptor is NNN.  This needs to
55553         be worked around at run time, not compile time, since a
55554         program might be built on Solaris 8, where things work, and
55555         run on Solaris 10.
55556         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
55557         to use the following interface instead:
55558         (OPENAT_BUFFER_SIZE): New macro.
55559         (openat_proc_name): New function.
55560         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
55561         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
55562         Likewise.
55563         * lib/openat-proc.c: New file.
55564         * modules/openat (Files): Add lib/openat-proc.c.
55565         (Depends-on): Add same-inode, stdbool.
55566         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
55567
55568 2006-09-29  Bruno Haible  <bruno@clisp.org>
55569
55570         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
55571         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
55572         argument. Set stdout_closed before testing for ferror, not after.
55573         (fwriteerror, fwriteerror_no_ebadf): New functions.
55574
55575 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55576
55577         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
55578
55579 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
55580
55581         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
55582         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
55583
55584 2006-09-28  Jim Meyering  <jim@meyering.net>
55585
55586         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
55587         Include <unistd.h>.
55588
55589 2006-09-28  Bruno Haible  <bruno@clisp.org>
55590
55591         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
55592         * modules/linkedhash-list (Depends-on): Likewise.
55593         * modules/rbtreehash-list (Depends-on): Likewise.
55594
55595 2006-09-28  Bruno Haible  <bruno@clisp.org>
55596
55597         * lib/strndup.h: Simplify the redefinition of strndup.
55598         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
55599         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
55600
55601 2006-09-28  Bruno Haible  <bruno@clisp.org>
55602
55603         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
55604         * lib/gl_linkedhash_list.c: Likewise.
55605         * lib/gl_rbtreehash_list.c: Likewise.
55606
55607 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
55608
55609         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
55610         getaddrinfo.
55611
55612         * lib/__fpending.h: Don't include <stdio_ext.h> unless
55613         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
55614         it causes <stdio_ext.h> to cause a compile-time error.
55615         Problem reported by Nelson H. F. Beebe.
55616         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
55617         of HAVE_DECL___PENDING.
55618
55619         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
55620         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
55621         declaration.
55622
55623 2006-09-27  Jim Meyering  <jim@meyering.net>
55624
55625         This file could end up with a definition for a function
55626         named __strndup, rather than rpl_strndup on a system with
55627         incomplete weak_alias support.
55628         * lib/strndup.c (strndup): Rename from __strndup.
55629         Remove #defines that used to map __strndup to strndup.
55630         Don't use K&R prototypes.
55631         Remove LIBC-related code, since this file is not sync'd with glibc.
55632         * lib/strndup.h: Revamp, accordingly.
55633         * m4/strndup.m4: Modernize.
55634
55635 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
55636
55637         * modules/savewd (Depends-on): Add 'raise'.
55638         * lib/savewd.c: Include <signal.h>, for 'raise'.
55639
55640 2006-09-26  Jim Meyering  <jim@meyering.net>
55641
55642         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
55643         when we detect Darwin 8.7.0's acl_get_file bug.
55644         Rearrange to perform the new (below) run-test while $LIBS
55645         contains any acl-related library.  Set USE_ACL at the end.
55646         (gl_ACL_GET_FILE): New function.
55647
55648 2006-09-26  Eric Blake  <ebb9@byu.net>
55649
55650         * lib/verror.c: Include <config.h> unconditionally.
55651
55652 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
55653
55654         * modules/clock-time (Maintainer): Add self.
55655         * modules/getlogin_r (Depends-on): Add extensions.
55656
55657 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55658
55659         * modules/clock-time: New module.
55660         * modules/nanosleep (Depends-on): Add clock-time.
55661         * modules/gethrxtime (Depends-on): Likewise.
55662         * modules/gettime (Depends-on): Likewise.
55663         * modules/settime (Depends-on): Likewise.
55664
55665         * modules/fts-lgpl: Depend on openat.
55666         * modules/mkancesdirs: Depend on savewd.
55667         * modules/mkdir-p: Likewise.
55668
55669 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55670
55671         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
55672
55673         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
55674         `gl_have_arbitrary_file_name_length_limit' to
55675         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
55676         actually works between configure runs.
55677
55678 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55679             Bruno Haible  <bruno@clisp.org>
55680
55681         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
55682
55683 2006-09-25  Jim Meyering  <jim@meyering.net>
55684
55685         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
55686         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
55687
55688 2006-09-25  Eric Blake  <ebb9@byu.net>
55689
55690         * gnulib-tool (func_import, func_create_testdir): Fix typos in
55691         exec's in 2006-09-18 patch when shuffling fds.
55692
55693 2006-09-25  Bruno Haible  <bruno@clisp.org>
55694
55695         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
55696         Reported by Jim Meyering.
55697
55698 2006-09-24  Jim Meyering  <jim@meyering.net>
55699
55700         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
55701         compare a pointer against a literal "0".  That caused failures with
55702         at least HP-UX's hpcc.
55703
55704 2006-09-22  Simon Josefsson  <jas@extundo.com>
55705
55706         * modules/gc-sha1:
55707         * modules/gc-md4:
55708         * modules/gc-hmac-sha1:
55709         * modules/gc-hmac-md5:
55710         * modules/gc-des:
55711         * modules/gc-arcfour: Distribute more files.
55712
55713 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55714
55715         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
55716         (gl_linked_iterator_from_to): Initialize struct completely.
55717         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
55718         (gl_tree_iterator_from_to): Likewise
55719         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
55720         * lib/gl_array_list.c [lint] (gl_array_iterator)
55721         (gl_array_iterator_from_to): Likewise.
55722         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
55723         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
55724         (gl_carray_iterator_from_to): Likewise.
55725
55726         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
55727         * lib/md4.c (md4_process_block): Remove unused variable.
55728         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
55729         parentheses for clarity.
55730
55731 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55732
55733         * modules/bison-i18n (Depends-on): Add gettext.
55734
55735 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55736
55737         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
55738         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
55739         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
55740         also add missing comma that caused broken test.
55741         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
55742         stdlib.h, for `abort'.
55743         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
55744         variables.
55745         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
55746         include unistd.h if present, for `rmdir'.
55747         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
55748         variables.
55749         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
55750         in the process include standard headers for prototypes.
55751         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
55752         gets declared on GNU/Linux.
55753         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
55754         unistd.h, for `rmdir'.
55755         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
55756
55757         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
55758         always true.
55759         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
55760
55761         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
55762
55763 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55764
55765         * gnulib-tool (func_version): Create output all at once.  This
55766         may help avoid triggering unnecessary SIGPIPEs, and at any
55767         rate it doesn't hurt.
55768
55769 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55770             Bruno Haible  <bruno@clisp.org>
55771
55772         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
55773         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
55774         * m4/signed.m4 (bh_C_SIGNED): Likewise.
55775
55776         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
55777         (gl_FUNC_VASPRINTF): Invoke it.
55778
55779 2006-09-22  Bruno Haible  <bruno@clisp.org>
55780
55781         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
55782         getloadavg.c as first argument.
55783
55784 2006-09-22  Bruno Haible  <bruno@clisp.org>
55785
55786         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
55787         at the beginning of the gl_INIT macro.
55788         * modules/getloadavg (configure.ac): Pass $gl_source_base to
55789         gl_GETLOADAVG.
55790
55791 2006-09-22  Bruno Haible  <bruno@clisp.org>
55792
55793         * gnulib-tool (func_create_megatestdir): Don't include the config-h
55794         module.
55795         Suggested by Ralf Wildenhues.
55796
55797 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
55798
55799         Import this patch from libc:
55800
55801         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
55802
55803         * lib/regex_internal.c (re_string_reconstruct): Handle
55804         offset < pstr->valid_raw_len && pstr->offsets_needed case.
55805         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
55806         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
55807         re_string_context_at.
55808
55809         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
55810         now requires it.
55811         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
55812         gl_REGEX now does it for us.
55813         (gl_REGEX): Add test taken from
55814         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
55815
55816         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
55817         Check that large offsets work.  Modernize Autoconf usages.
55818         Prefer "yes" to mean a good thing rather than a bad.
55819         Don't put "#define mkstemp" in config.h, as this might interfere
55820         with standard system headers that "#define mkstemp mkstemp64".
55821
55822         * modules/mkstemp (Depends-on): Add extensions, so that
55823         mkstemp is visible on some platforms.
55824         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
55825         (Include): Change to "mkstemp.h" from <stdlib.h>.
55826         (Files): Add mkstemp.h.
55827
55828         * lib/mkstemp.h: New file, since some standard headers
55829         #define mkstemp.
55830         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
55831         Include "mkstemp.h".
55832         Make the _LIBC code resemble glibc original more,
55833         e.g., use K&R style.
55834         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
55835         (mkstemp): Remove, since mkstemp.h does this for us.
55836         * lib/stdlib--.h: Include mkstemp.h.
55837
55838         Import this patch from libc:
55839
55840         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
55841
55842         * lib/tempname.c (__gen_tempname): Change attempts_min
55843         into a macro.  Use preprocessor to decide how to initialize
55844         attempts [Coverity CID 67].
55845
55846 2006-09-20  Bruno Haible  <bruno@clisp.org>
55847
55848         * lib/mkdtemp.c: Import from libc.
55849         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
55850                 * sysdeps/posix/tempname.c (__gen_tempname): Change
55851                 attempts_min into a macro.  Use preprocessor to decide how to
55852                 initialize attempts [Coverity CID 67].
55853         2001-11-27  Paul Eggert  <eggert@twinsun.com>
55854                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
55855                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
55856
55857 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55858
55859         * gnulib-tool (func_exit): New function, to allow to pass the
55860         exit status portably through the trap.  Use everywhere.
55861         (--help, --version): Signal a write error.
55862         (trap): catch SIGPIPE, for write errors.
55863         Exit at the end of the trap, with the correct exit status.
55864
55865 2006-09-19  Karl Berry  <karl@gnu.org>
55866
55867         * doc/gnulib.texi: note about the license texinfo files.
55868
55869 2006-09-19  Eric Blake  <ebb9@byu.net>
55870
55871         * gnulib-tool: Avoid space-tab.
55872
55873 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
55874
55875         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
55876         that prevented coreutils 6.1 from building.  Problem reported
55877         by Petter Reinholdtsen.
55878
55879 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
55880
55881         * gnulib-tool (avoidlist): Fix typo that broke options like
55882         --avoid=lock that are used by coreutils bootstrap.
55883
55884 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
55885
55886         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
55887         more systematically.
55888
55889 2006-09-18  Jim Meyering  <jim@meyering.net>
55890
55891         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
55892
55893 2006-09-18  Bruno Haible  <bruno@clisp.org>
55894
55895         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
55896
55897 2006-09-18  Bruno Haible  <bruno@clisp.org>
55898
55899         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
55900         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
55901         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
55902         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
55903         * m4/gettext.m4: Require autoconf >= 2.52.
55904         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
55905         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
55906         of gl_cv_header_inttypes_h.
55907
55908 2006-09-18  Bruno Haible  <bruno@clisp.org>
55909
55910         * lib/javaversion.c: Include configmake.h.
55911
55912 2006-09-18  Bruno Haible  <bruno@clisp.org>
55913
55914         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
55915         avoid that the while loops be executed in a subshell.
55916
55917 2006-09-18  Bruno Haible  <bruno@clisp.org>
55918
55919         * MODULES.html.sh (func_module): Break long lines.
55920         Suggested by Bruce Korb <bkorb@gnu.org>.
55921
55922 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55923
55924         Speed up by a factor of 1.12.
55925         * gnulib-tool (nl): New variable.
55926         (func_import): Rewrite include directive extraction to only read each
55927         directive once.
55928
55929 2006-09-17  Bruno Haible  <bruno@clisp.org>
55930
55931         * modules/javaversion (Makefile.am): Remove DEFS setting.
55932         (Depends-on): Add configmake, for PKGDATADIR definition.
55933
55934 2006-09-17  Bruno Haible  <bruno@clisp.org>
55935
55936         * gnulib-tool (func_create_testdir): Rewrite all files at once.
55937
55938 2006-09-17  Bruno Haible  <bruno@clisp.org>
55939
55940         * gnulib-tool (func_append): New function, stolen from libtool.m4.
55941         (func_modules_transitive_closure, func_modules_add_dummy,
55942         func_modules_to_filelist, func_import, func_create_testdir,
55943         func_create_megatestdir, ...): Use it wherever possible.
55944         Suggested by Ralf Wildenhues.
55945
55946 2006-09-16  Karl Berry  <karl@gnu.org>
55947
55948         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
55949         to avoid sectioning errors.
55950         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
55951         [ifinfo]: blank line after @center-ed titles.
55952         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
55953         Spell FSF address consistently with others.
55954         (These changes approved by rms.)
55955
55956 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55957
55958         Speed up by a factor of 1.61.
55959         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
55960         already checked module names again.
55961
55962 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55963
55964         Speed up by a factor of 1.13.
55965         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
55966         for new_files, and the input to func_add_or_update.
55967
55968 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55969
55970         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
55971         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
55972
55973 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
55974
55975         * modules/mkancesdirs (Depends-on): Add fcntl.
55976         * modules/savewd: New file.
55977         * MODULES.html.sh (File system functions): Add savewd.
55978
55979         * modules/configmake (Makefile.am): Add support for the
55980         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
55981
55982 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
55983
55984         * m4/savewd.m4: New file.
55985
55986 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
55987
55988         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
55989         (dirchownmod): New arg FD.  All callers changed.
55990         Use FD rather than opening the directory ourself, as opening is
55991         now the caller's responsibility.
55992         * lib/dirchownmod.h: Likewise.
55993         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
55994         hosts that require <sys/types.h> before <sys/stat.h>.  Include
55995         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
55996         (test_dir): Remove.
55997         (mkancesdirs): Return length of prefix of FILE that has already
55998         been made, or -2 if there is a child doing the work.  Redo
55999         algorithm so that it is O(N) rather than O(N**2).  Optimize away
56000         ".", and treat ".." specially since it might stray back into
56001         already-created areas.  Use a subprocess if necessary.  New arg
56002         WD; all users changed.  MAKE_DIR function should now return 1
56003         if it creates a directory that is not readable.  Return -2 if
56004         a child process is spun off.
56005         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
56006         Adjust signature to match code.
56007         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
56008         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
56009         all users changed.
56010         * lib/savewd.c, lib/savewd.h: New files.
56011
56012 2006-09-15  Jim Meyering  <jim@meyering.net>
56013
56014         * modules/rename-dest-slash: New module.
56015         * MODULES.html.sh (posix_compat): Add it here.
56016
56017         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
56018
56019 2006-09-15  Jim Meyering  <jim@meyering.net>
56020
56021         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
56022         file.
56023
56024         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
56025
56026 2006-09-15  Jim Meyering  <jim@meyering.net>
56027
56028         * lib/rename-dest-slash.c (has_trailing_slash): Use
56029         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
56030         (rpl_rename_dest_slash): Perform the cheaper trailing slash
56031         test before testing whether SRC is a directory.
56032         Suggestions from Bruno Haible.
56033
56034         Avoid a warning about an unused variable.
56035         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
56036         into the #ifdef block where it's used.
56037
56038         * lib/rename-dest-slash.c: New file.
56039
56040 2006-09-14  Bruno Haible  <bruno@clisp.org>
56041
56042         * lib/allocsa.c: Include <config.h> unconditionally.
56043         * lib/asnprintf.c: Likewise.
56044         * lib/asprintf.c: Likewise.
56045         * lib/c-strcasecmp.c: Likewise.
56046         * lib/c-strcasestr.c: Likewise.
56047         * lib/c-strncasecmp.c: Likewise.
56048         * lib/c-strstr.c: Likewise.
56049         * lib/classpath.c: Likewise.
56050         * lib/clean-temp.c: Likewise.
56051         * lib/concatpath.c: Likewise.
56052         * lib/copy-file.c: Likewise.
56053         * lib/csharpcomp.c: Likewise.
56054         * lib/csharpexec.c: Likewise.
56055         * lib/execute.c: Likewise.
56056         * lib/fatal-signal.c: Likewise.
56057         * lib/findprog.c: Likewise.
56058         * lib/fwriteerror.c: Likewise.
56059         * lib/gl_array_list.c: Likewise.
56060         * lib/gl_array_oset.c: Likewise.
56061         * lib/gl_avltree_list.c: Likewise.
56062         * lib/gl_avltree_oset.c: Likewise.
56063         * lib/gl_avltreehash_list.c: Likewise.
56064         * lib/gl_carray_list.c: Likewise.
56065         * lib/gl_linked_list.c: Likewise.
56066         * lib/gl_linkedhash_list.c: Likewise.
56067         * lib/gl_list.c: Likewise.
56068         * lib/gl_oset.c: Likewise.
56069         * lib/gl_rbtree_list.c: Likewise.
56070         * lib/gl_rbtree_oset.c: Likewise.
56071         * lib/gl_rbtreehash_list.c: Likewise.
56072         * lib/imaxabs.c: Likewise.
56073         * lib/imaxdiv.c: Likewise.
56074         * lib/javacomp.c: Likewise.
56075         * lib/javaexec.c: Likewise.
56076         * lib/javaversion.c: Likewise.
56077         * lib/linebreak.c: Likewise.
56078         * lib/localcharset.c: Likewise.
56079         * lib/lock.c: Likewise.
56080         * lib/mbchar.c: Likewise.
56081         * lib/mbswidth.c: Likewise.
56082         * lib/mkdtemp.c: Likewise.
56083         * lib/pipe.c: Likewise.
56084         * lib/printf-args.c: Likewise.
56085         * lib/printf-parse.c: Likewise.
56086         * lib/progname.c: Likewise.
56087         * lib/progreloc.c: Likewise.
56088         * lib/readlink.c: Likewise.
56089         * lib/sh-quote.c: Likewise.
56090         * lib/stpcpy.c: Likewise.
56091         * lib/stpncpy.c: Likewise.
56092         * lib/strcasecmp.c: Likewise.
56093         * lib/strcasestr.c: Likewise.
56094         * lib/strcspn.c: Likewise.
56095         * lib/striconv.c: Likewise.
56096         * lib/strncasecmp.c: Likewise.
56097         * lib/strnlen1.c: Likewise.
56098         * lib/strstr.c: Likewise.
56099         * lib/strtok_r.c: Likewise.
56100         * lib/tls.c: Likewise.
56101         * lib/tmpdir.c: Likewise.
56102         * lib/unicodeio.c: Likewise.
56103         * lib/unsetenv.c: Likewise.
56104         * lib/vasnprintf.c: Likewise.
56105         * lib/vasprintf.c: Likewise.
56106         * lib/wait-process.c: Likewise.
56107         * lib/xallocsa.c: Likewise.
56108         * lib/xsetenv.c: Likewise.
56109         * lib/xstriconv.c: Likewise.
56110
56111 2006-09-13  Simon Josefsson  <jas@extundo.com>
56112
56113         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
56114         that internally, suggested by Ralf Wildenhues
56115         <Ralf.Wildenhues@gmx.de>.
56116
56117 2006-09-13  Simon Josefsson  <jas@extundo.com>
56118
56119         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
56120         @LIBOBJS@.
56121         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56122
56123 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
56124
56125         * lib/_fpending.c: Include <config.h> unconditionally, since we no
56126         longer worry about uses that don't define HAVE_CONFIG_H.
56127         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
56128         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
56129         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
56130         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
56131         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
56132         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
56133         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
56134         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
56135         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
56136         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
56137         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
56138         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
56139         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
56140         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
56141         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
56142         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
56143         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
56144         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
56145         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
56146         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
56147         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
56148         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
56149         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
56150         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
56151         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
56152         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
56153         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
56154         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
56155         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
56156         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
56157         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
56158         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
56159         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
56160         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
56161         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
56162         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
56163         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
56164         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
56165         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
56166         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
56167         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
56168         Likewise.
56169
56170 2006-09-13  Eric Blake  <ebb9@byu.net>
56171
56172         * lib/getopt.c: Fix typo in last commit.
56173
56174 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
56175
56176         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
56177         dgettext.
56178
56179 2006-09-12  Jim Meyering  <jim@meyering.net>
56180
56181         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
56182         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
56183         Reported by Nelson H. F. Beebe.
56184
56185 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
56186
56187         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
56188         program_invocation_name and program_invocation_short_name are
56189         initialized.
56190         * lib/argp-namefrob.h: Move declarations of program_invocation_name
56191         and program_invocation_short_name to argp.h, so they are visible
56192         to user programs.
56193         * lib/argp.h: Likewise
56194
56195 2006-09-10  Bruno Haible  <bruno@clisp.org>
56196
56197         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
56198         m4/inttypes_h.m4, m4/uintmax_t.m4.
56199
56200 2006-09-10  Bruno Haible  <bruno@clisp.org>
56201
56202         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
56203         gl_AC_TYPE_UINTMAX_T.
56204
56205 2006-09-10  Bruno Haible  <bruno@clisp.org>
56206
56207         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
56208
56209 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
56210
56211         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
56212         convention.  Text proposed by Bruno Haible.
56213         (struct argp_option): Document the use of N_() wrappers.
56214
56215         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
56216         '\v', and translate the two parts separately, instead of feeding
56217         the whole string to gettext.  This allows to exclude
56218         '\v' from the strings visible to the translator by writing doc
56219         strings as N_("..") "\v" N_("..").
56220
56221 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
56222
56223         * config/srclist.txt: Undo latest change; the bug was fixed.
56224
56225 2006-09-09  Bruno Haible  <bruno@clisp.org>
56226
56227         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
56228         assignments if building a library without libtool.
56229         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
56230         in func_emit_lib_Makefile_am.
56231         (func_import): When building a static library libfoo.a, arrange to
56232         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
56233         (func_create_testdir): Likewise.
56234         * modules/gc (configure.ac, Makefile.am): If building statically,
56235         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
56236         * modules/iconvme (configure.ac, Makefile.am): Likewise.
56237         * modules/striconv (configure.ac, Makefile.am): Likewise.
56238         Based on a suggestion by Ralf Wildenhues.
56239
56240 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
56241
56242         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
56243         Check for unistd.h too, since Autoconf doesn't assume POSIX.
56244         Also:
56245
56246         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
56247         Add year_2050_test to catch glibc bug 2821
56248         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
56249
56250         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
56251         Prefer #ifdef to #if.
56252
56253         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
56254         Return from 'main' instead of calling 'exit'.
56255
56256 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
56257
56258         * lib/mktime.c (guess_time_tm): Fix bug where mktime
56259         returned the maximum time_t value rather than (time_t) -1.
56260         Problem originally reported by William Bardwell
56261         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
56262
56263         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
56264         Moved to here ...
56265         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
56266         ... from here.
56267
56268 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
56269
56270         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
56271         2821 is fixed.
56272
56273 2006-09-08  Jim Meyering  <jim@meyering.net>
56274
56275         Don't make generated files read-only.  That would bother too many
56276         people.  However, do retain the ability to work when targets are
56277         read-only: remove the destination and temporary files before writing
56278         them (when generated via sed or echo), or by using the -f option for
56279         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
56280         * modules/alloca-opt, modules/argz, modules/arpa_inet:
56281         * modules/byteswap, modules/configmake, modules/fcntl:
56282         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
56283         * modules/localcharset, modules/netinet_in, modules/poll:
56284         * modules/stdbool, modules/stdint, modules/sys_select:
56285         * modules/sys_socket, modules/sys_stat, modules/sysexits:
56286
56287 2006-09-08  Jim Meyering  <jim@meyering.net>
56288
56289         Avoid new build failure on FreeBSD 6.0.
56290         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
56291         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
56292         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
56293
56294 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56295
56296         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
56297
56298 2006-09-07  Jim Meyering  <jim@meyering.net>
56299
56300         Fix global typo in last change: use chmod u-w, not chmod u-x.
56301         Spotted by Paul Eggert and Bruce Korb.
56302         * modules/alloca-opt, modules/argz, modules/arpa_inet:
56303         * modules/byteswap, modules/configmake, modules/fcntl:
56304         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
56305         * modules/localcharset, modules/netinet_in, modules/poll:
56306         * modules/stdbool, modules/stdint, modules/sys_select:
56307         * modules/sys_socket, modules/sys_stat, modules/sysexits:
56308
56309 2006-09-06  Jim Meyering  <jim@meyering.net>
56310
56311         Make generated files be read-only.
56312         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
56313         Ensure that each generated file is now read-only.
56314         * modules/argz: Likewise.
56315         * modules/arpa_inet: Likewise.
56316         * modules/byteswap: Likewise.
56317         * modules/configmake: Likewise.
56318         * modules/fcntl: Likewise.
56319         * modules/fnmatch: Likewise.
56320         * modules/getopt: Likewise.
56321         * modules/glob: Likewise.
56322         * modules/inttypes: Likewise.
56323         * modules/netinet_in: Likewise.
56324         * modules/poll: Likewise.
56325         * modules/stdbool: Likewise.
56326         * modules/stdint: Likewise.
56327         * modules/sys_select: Likewise.
56328         * modules/sys_socket: Likewise.
56329         * modules/sys_stat: Likewise.
56330         * modules/sysexits: Likewise.
56331         * modules/localcharset: Same as above, but continue using temporary
56332         file named "t-$@" (why different?) rather than the "$@-t" used
56333         everywhere else.
56334
56335         * modules/sysexits (Makefile.am): Replace literal occurrences
56336         of "sysexit.h" more readable, and more consistent, "$@".
56337
56338 2006-09-06  Bruno Haible  <bruno@clisp.org>
56339
56340         * modules/striconv: New file.
56341         * modules/xstriconv: New file.
56342         * MODULES.html.sh (Internationalization functions): Add striconv,
56343         xstriconv.
56344
56345 2006-09-06  Bruno Haible  <bruno@clisp.org>
56346
56347         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
56348         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
56349         not using libtool correctly.
56350
56351 2006-09-06  Bruno Haible  <bruno@clisp.org>
56352
56353         * lib/striconv.h: New file.
56354         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
56355         iconvstring.c.
56356         * lib/xstriconv.h: New file.
56357         * lib/xstriconv.c: New file.
56358
56359 2006-09-06  Bruno Haible  <bruno@clisp.org>
56360
56361         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
56362         lib_..._LDFLAGS.
56363
56364 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56365
56366         * lib/argz_.h: Sync from Libtool.
56367
56368         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
56369                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
56370
56371         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
56372
56373 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
56374
56375         * modules/trim: New file.
56376
56377 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
56378
56379         * lib/trim.h: New file.
56380         * lib/trim.c: New file.
56381
56382 2006-09-05  Bruno Haible  <bruno@clisp.org>
56383
56384         * MODULES.html.sh (String handling): Add trim.
56385
56386 2006-09-04  Karl Berry  <karl@gnu.org>
56387
56388         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
56389         until next release.
56390
56391 2006-09-03  Bruno Haible  <bruno@clisp.org>
56392
56393         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
56394         correctly.
56395
56396 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
56397
56398         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
56399         not gl_GETLOADAVG.  Omit unneeded semicolons.
56400         Problems reported by Ralf Wildenhues in
56401         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
56402         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
56403         at the end, which is the usual gnulib style.
56404
56405         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
56406         of doing all the work ourselves.
56407         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
56408         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
56409
56410 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
56411
56412         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
56413         Problem reported by Ralf Wildenhues in
56414         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
56415
56416         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
56417         HAVE_STRUCT_STATFS_F_FSTYPENAME.
56418
56419 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
56420
56421         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
56422         yesterday's patch by changing test -n to test -z.
56423
56424 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
56425
56426         * modules/getloadavg (Files): Add m4/getloadavg.m4.
56427         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
56428         the former is now obsolescent.
56429
56430         * modules/chdir-long (Depends-on): Add fcntl.
56431
56432 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
56433
56434         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
56435         obsolescent, and programs should use gnulib instead.
56436         * m4/getloadavg.m4: New file, with contents taken from Autoconf
56437         but with prefixes changed.
56438
56439 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
56440
56441         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
56442         or stdbool.h, because they might not exist while configuring.
56443
56444         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
56445         Don't include unistd.h or limits.h; not needed, since chdir-long.h
56446         does that for us.
56447         (O_DIRECTORY): Remove.
56448
56449 2006-08-31  Eric Blake  <ebb9@byu.net>
56450
56451         * gnulib-tool: Don't let emacs change spaces to TAB.
56452
56453 2006-08-31  Bruno Haible  <bruno@clisp.org>
56454
56455         * gnulib-tool: When calling func_import more than once, do it in a
56456         subshell.
56457         Reported by Eric Blake <ebb9@byu.net>.
56458
56459 2006-08-31  Bruno Haible  <bruno@clisp.org>
56460
56461         * gnulib-tool (nl): Remove variable.
56462         (sed_transform_lib_file): Use more robust test for config-h module.
56463         (func_import): Fix typo in 2006-08-25 patch.
56464
56465 2006-08-31  Bruno Haible  <bruno@clisp.org>
56466
56467         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
56468         specified, augment Makefile.am variables instead of assigning them.
56469
56470 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
56471
56472         Work around a bug in both the Linux and SunOS 64-bit kernels:
56473         nanosleep mishandles sleeps for longer than 2**31 seconds.
56474         Problem reported by Frank v Waveren in
56475         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
56476         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
56477         Check for nanosleep bug.
56478         (LIB_NANOSLEEP): Append clock_gettime library if needed.
56479
56480 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
56481
56482         Work around a bug in both the Linux and SunOS 64-bit kernels:
56483         nanosleep mishandles sleeps for longer than 2**31 seconds.
56484         Problem reported by Frank v Waveren in
56485         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
56486         * lib/nanosleep.c (BILLION): New constant.
56487         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
56488         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
56489         implementation.
56490
56491 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
56492
56493         * modules/nanosleep (Depends-on): Add gettime.
56494
56495 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
56496         and Simon Josefsson  <jas@extundo.com>
56497         and Oskar Liljeblad  <oskar@osk.mine.nu>
56498
56499         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
56500         * gnulib-tool (func_import): New license type 'unmodifiable license
56501         text'.
56502         * modules/fdl: Use it.  Longer description.
56503         * module/gpl, module/lgpl: New files.
56504
56505 2006-08-30  Jim Meyering  <jim@meyering.net>
56506
56507         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
56508         shadowing the parameter.
56509
56510 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56511
56512         Sync from Libtool:
56513
56514         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56515
56516         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
56517         sharing with gnulib.  Report by Eric Blake.
56518
56519 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
56520
56521         * modules/isapipe: New file.
56522         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
56523
56524 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
56525
56526         * modules/configmake (Makefile.am): Add a comment, and omit
56527         the CONFIGMAKE_ prefix from generated macro names.  Suggested
56528         by Bruno Haible.
56529
56530 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
56531
56532         * m4/isapipe.m4: New file.
56533
56534 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
56535
56536         * lib/isapipe.c, lib/isapipe.h: New files.
56537
56538 2006-08-29  Jim Meyering  <jim@meyering.net>
56539
56540         * modules/configmake (Makefile.am): Make configmake.h depend on
56541         Makefile.  Otherwise, a stale configmake.h could hang around.
56542
56543 2006-08-29  Eric Blake  <ebb9@byu.net>
56544
56545         * lib/error.c (error_at_line, print_errno_message): Match libc, after
56546         resolution of upstream bug 3044.
56547
56548 2006-08-29  Bruno Haible  <bruno@clisp.org>
56549
56550         * modules/localcharset (Depends-on): Add configmake.
56551         (Makefile.am): Remove setting of LIBDIR through DEFS.
56552
56553 2006-08-29  Bruno Haible  <bruno@clisp.org>
56554
56555         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
56556         defined.
56557
56558 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
56559
56560         * modules/fcntl: New file.
56561         * modules/chdir-safer (Depends-on): Add fcntl.
56562         * modules/fts: Likewise.
56563         * modules/mkdir-p: Likewise.
56564
56565         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
56566         This undoes the most recent change, since we're now addressing the
56567         problem in a different way.
56568
56569         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
56570         into output, since the output might be called Makefile.am even
56571         if $makefile_name is something different.
56572         (func_import): Use $makefile_am rather than
56573         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
56574         empty.
56575
56576         * modules/inttypes (Files): Add m4/inttypes-h.m4.
56577
56578 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
56579
56580         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
56581         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
56582         recent change to stdint.m4, since we're now addressing the problem in a
56583         different way.
56584
56585 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
56586
56587         * m4/fcntl_h.m4: New file.
56588
56589 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
56590
56591         * lib/fcntl_.h: New file.
56592         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
56593         the fcntl module.
56594         * lib/dirchownmod.c: Likewise.
56595         * lib/fts.c: Likewise.
56596
56597         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
56598         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
56599         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
56600         just before including <inttypes.h>, to avoid circular inclusion.
56601
56602 2006-08-28  Jim Meyering  <jim@meyering.net>
56603
56604         * doc/visibility.texi: Actually read and correct the grammar of the
56605         sentence affected by yesterday's change.
56606
56607 2006-08-28  Eric Blake  <ebb9@byu.net>
56608
56609         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
56610         needs wrapper.
56611
56612 2006-08-28  Eric Blake  <ebb9@byu.net>
56613
56614         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
56615
56616 2006-08-28  Eric Blake  <ebb9@byu.net>
56617
56618         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
56619
56620 2006-08-28  Bruno Haible  <bruno@clisp.org>
56621
56622         * modules/c-strstr: New file, from GNU gettext.
56623         * MODULES.html.sh (String handling): Add c-strstr.
56624
56625 2006-08-28  Bruno Haible  <bruno@clisp.org>
56626
56627         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
56628         macros.
56629         Reported by Eric Blake.
56630
56631 2006-08-28  Bruno Haible  <bruno@clisp.org>
56632
56633         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
56634         (VASNPRINTF): Return a string of length > INT_MAX without failing.
56635         * lib/vasprintf.c: Include errno.h, limits.h.
56636         (EOVERFLOW): New fallback definition.
56637         (vasprintf): Test here whether the string length is > INT_MAX.
56638         * lib/vsnprintf.c: Include errno.h, limits.h.
56639         (EOVERFLOW): New fallback definition.
56640         (vsnprintf): Fix bug when generated string was too long for the buffer.
56641         Test here whether the string length is > INT_MAX.
56642
56643 2006-08-28  Bruno Haible  <bruno@clisp.org>
56644
56645         * lib/inttypes_.h (SCNX*): Remove definitions.
56646         Reported by Eric Blake.
56647
56648 2006-08-28  Bruno Haible  <bruno@clisp.org>
56649
56650         * lib/c-strstr.h: New file, from GNU gettext.
56651         * lib/c-strstr.c: New file, from GNU gettext.
56652
56653 2006-08-28  Bruno Haible  <bruno@clisp.org>
56654
56655         * gnulib-tool: Reorder some statements.
56656
56657 2006-08-28  Bruno Haible  <bruno@clisp.org>
56658
56659         * gnulib-tool: New option --makefile-name.
56660         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
56661         $makefile_name.
56662         (func_import): Write $makefile_name to the cache file, and read it from
56663         there unless explicitly specified. Use $makefile_name as file name
56664         instead of Makefile.am. Adjust the recommendations accordingly.
56665
56666 2006-08-28  Bruno Haible  <bruno@clisp.org>
56667
56668         * gnulib-tool (func_verify_module): Check against misapplying patch.
56669
56670 2006-08-28  Bruno Haible  <bruno@clisp.org>
56671
56672         * gnulib-tool (func_relativize, func_relconcat): New functions.
56673         Give an error if --local-dir is given with --update.
56674         Remove trailing slashes from $local_gnulib_dir.
56675         (func_import): Store the relativized $local_gnulib_dir in
56676         gnulib-cache.m4, and read it from there if not specified explicitly.
56677
56678 2006-08-28  Bruno Haible  <bruno@clisp.org>
56679
56680         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
56681         is the current directory. Respect also $local_gnulib_dir.
56682
56683 2006-08-28  Bruno Haible  <bruno@clisp.org>
56684             Simon Josefsson  <jas@extundo.com>
56685
56686         BeOS portability.
56687         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
56688
56689 2006-08-27  Jim Meyering  <jim@meyering.net>
56690
56691         * doc/visibility.texi: Remove duplicate word: "pointer".
56692
56693 2006-08-26  Bruno Haible  <bruno@clisp.org>
56694
56695         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
56696         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
56697         (Makefile.am): Create inttypes.h from inttypes_.h.
56698         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
56699
56700         * modules/imaxabs: New file.
56701
56702         * modules/imaxdiv: New file.
56703
56704 2006-08-26  Bruno Haible  <bruno@clisp.org>
56705
56706         * m4/inttypes.m4: New file.
56707         * m4/_inttypes_h.m4: Remove file.
56708         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
56709         PRI_MACROS_BROKEN.
56710         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
56711
56712         * m4/imaxabs.m4: New file.
56713
56714         * m4/imaxdiv.m4: New file.
56715
56716 2006-08-26  Bruno Haible  <bruno@clisp.org>
56717
56718         * lib/inttypes_.h: New file.
56719         * lib/inttypes.h: Remove file.
56720         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
56721
56722         * lib/imaxabs.c: New file.
56723
56724         * lib/imaxdiv.c: New file.
56725
56726 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
56727
56728         New config-h module, so that "make" output needn't be cluttered
56729         by -DHAVE_CONFIG_H.
56730         * MODULES.html.sh (Support for building libraries and executables):
56731         Add config-h.
56732         * modules/config-h: New file.
56733         * gnulib-tool (nl, sed_transform_lib_file): New vars.
56734         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
56735         the config-h module is used.
56736
56737         New configmake module, so that "make" output needn't be cluttered
56738         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
56739         * MODULES.html.sh (Support for building libraries and executables):
56740         Add configmake.
56741         * modules/configmake: New file.
56742
56743 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
56744
56745         * m4/config-h.m4: New file.
56746
56747 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
56748
56749         * config/srclist.txt: Add elisp-comp.
56750
56751 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
56752
56753         * MODULES.html.sh (Support for building libraries and executables):
56754         Add elisp-comp.
56755         * build-aux/elisp-comp: New file.
56756         * modules/elisp-comp: New file.
56757
56758 2006-08-24  Bruno Haible  <bruno@clisp.org>
56759
56760         * gnulib-tool (func_create_testdir): Use non-default values of
56761         sourcebase and m4base.
56762
56763 2006-08-24  Bruno Haible  <bruno@clisp.org>
56764
56765         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
56766         HTML structure.
56767
56768 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
56769
56770         * modules/openat (Depends-on): Add lchown.
56771
56772 2006-08-23  Bruno Haible  <bruno@clisp.org>
56773
56774         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
56775         of gl_LOCK_EARLY instead of gl_LOCK.
56776
56777 2006-08-23  Bruno Haible  <bruno@clisp.org>
56778
56779         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
56780         on OSF/1 to no.
56781         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
56782
56783 2006-08-23  Bruno Haible  <bruno@clisp.org>
56784
56785         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
56786         as unusable.
56787
56788         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
56789         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
56790         (gl_LOCK): New macro.
56791
56792 2006-08-22  Simon Josefsson  <jas@extundo.com>
56793
56794         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
56795         to md5 module.
56796
56797 2006-08-22  Simon Josefsson  <jas@extundo.com>
56798
56799         * MODULES.html.sh: Add "Support for maintaining and release
56800         projects".
56801
56802         * build-aux/gnupload: New file, from coreutils.
56803
56804 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
56805
56806         Avoid the need for AC_LIBSOURCES in m4 macros.
56807         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
56808         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
56809         * modules/check-version (EXTRA_DIST): Add check-version.h.
56810         * modules/crc (EXTRA_DIST): Add crc.h.
56811         * modules/des (EXTRA_DIST): Add des.h.
56812         * modules/gc (EXTRA_DIST): Add gc.h.
56813         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
56814         * modules/getline (EXTRA_DIST): Add getline.h.
56815         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
56816         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
56817         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
56818         * modules/md2 (EXTRA_DIST): Add md2.h.
56819         * modules/md4 (EXTRA_DIST): Add md4.h.
56820         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
56821         * modules/read-file (EXTRA_DIST): Add read-file.h.
56822         * modules/readline (EXTRA_DIST): Add readline.h.
56823         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
56824         rijndael-api-fst.h.
56825
56826 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
56827
56828         * m4/rijndael.m4 (gl_ARCFOUR):
56829         * m4/arctwo.m4 (gl_ARCTWO):
56830         * m4/check-version.m4 (gl_CHECK_VERSION):
56831         * m4/crc.m4 (gl_CRC):
56832         * m4/des.m4 (gl_DES):
56833         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
56834         * m4/gc.m4 (gl_GC):
56835         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
56836         * m4/getline.m4 (gl_FUNC_GETLINE):
56837         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
56838         * m4/hmac-md5.m4 (gl_HMAC_MD5):
56839         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
56840         * m4/md2.m4 (gl_MD2):
56841         * m4/md4.m4 (gl_MD4):
56842         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
56843         * m4/read-file.m4 (gl_FUNC_READ_FILE):
56844         * m4/readline.m4 (gl_FUNC_READLINE):
56845         * m4/rijndael.m4 (gl_RIJNDAEL):
56846         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
56847         to get the necessary .h files and whatnot.
56848
56849 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
56850
56851         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
56852         gnulib rather than the other way around.
56853         * config/srclistvars.sh (COREUTILS): Remove.
56854
56855 2006-08-22  Jim Meyering  <jim@meyering.net>
56856
56857         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
56858
56859         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
56860
56861 2006-08-22  Eric Blake  <ebb9@byu.net>
56862
56863         * modules/regexprops-generic: New file.
56864         * MODULES.html.sh (Support for building documentation): List it.
56865
56866 2006-08-22  Eric Blake  <ebb9@byu.net>
56867
56868         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
56869         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
56870         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
56871         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
56872
56873 2006-08-22  Bruno Haible  <bruno@clisp.org>
56874
56875         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
56876         and lib_LTLIBRARIES like the other lib_* variables.
56877
56878 2006-08-22  Bruno Haible  <bruno@clisp.org>
56879
56880         * build-aux/x-to-1.in: New file, from GNU gettext.
56881
56882 2006-08-22  Bruno Haible  <bruno@clisp.org>
56883
56884         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
56885         <utmpx.h> exists.
56886
56887 2006-08-22  Bruno Haible  <bruno@clisp.org>
56888
56889         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
56890         <utmpx.h> exists.
56891
56892 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
56893
56894         BeOS portability.
56895         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
56896         exist.
56897         Problem reported by Bruno Haible.
56898
56899 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
56900
56901         Avoid the need for AC_LIBSOURCES in m4 macros.
56902         * modules/acl (EXTRA_DIST): Add acl.h.
56903         * modules/argmatch (Files): Add m4/argmatch.m4.
56904         (configure.ac): Add gl_ARGMATCH.
56905         (EXTRA_DIST): Renamed from lib_SOURCES, for
56906         consistency with the other modules.  Remove argmatch.c.
56907         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
56908         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
56909         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
56910         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
56911         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
56912         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
56913         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
56914         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
56915         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
56916         * modules/closeout (EXTRA_DIST): Add closeout.h.
56917         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
56918         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
56919         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
56920         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
56921         dirname.h; remove basename.c and stripslash.c.
56922         * modules/exclude (EXTRA_DIST): Add exclude.h.
56923         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
56924         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
56925         * modules/file-type (EXTRA_DIST): Add file-type.h.
56926         * modules/filemode (EXTRA_DIST): Add filemode.h.
56927         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
56928         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
56929         * modules/fpending (EXTRA_DIST): Add __fpending.h.
56930         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
56931         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
56932         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
56933         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
56934         * modules/getdate (EXTRA_DIST): Add getdate.c.
56935         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
56936         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
56937         * modules/getpass (EXTRA_DIST): Add getpass.h.
56938         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
56939         * modules/group-member (EXTRA_DIST): Add group-member.h.
56940         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
56941         * modules/hash (EXTRA_DIST): Add hash.h.
56942         * modules/human (EXTRA_DIST): Add human.h.
56943         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
56944         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
56945         * modules/lchown (EXTRA_DIST): Add lchown.h.
56946         * modules/long-options (EXTRA_DIST): Add long-options.h.
56947         * modules/lstat (EXTRA_DIST): Add lstat.h.
56948         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
56949         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
56950         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
56951         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
56952         * modules/memxor (EXTRA_DIST): Add memxor.h.
56953         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
56954         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
56955         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
56956         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
56957         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
56958         * modules/physmem (EXTRA_DIST): Add physmem.h.
56959         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
56960         * modules/posixver (EXTRA_DIST): Add posixver.h.
56961         * modules/quote (EXTRA_DIST): Add quote.h.
56962         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
56963         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
56964         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
56965         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
56966         regex_internal.h regexec.c.
56967         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
56968         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
56969         * modules/same (EXTRA_DIST): Add same.h.
56970         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
56971         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
56972         * modules/savedir (EXTRA_DIST): Add savedir.h.
56973         * modules/sha1 (EXTRA_DIST): Add sha1.h.
56974         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
56975         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
56976         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
56977         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
56978         * modules/strdup (EXTRA_DIST): Add strdup.h.
56979         * modules/strftime (EXTRA_DIST): Add strftime.h.
56980         * modules/strndup (EXTRA_DIST): Add strndup.h.
56981         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
56982         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
56983         * modules/time_r (EXTRA_DIST): Add time_r.h.
56984         * modules/timespec (EXTRA_DIST): Add timespec.h.
56985         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
56986         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
56987         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
56988         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
56989         * modules/userspec (EXTRA_DIST): Add userspec.h.
56990         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
56991         * modules/utimens (EXTRA_DIST): Add utimens.h.
56992         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
56993         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
56994         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
56995         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
56996         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
56997         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
56998         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
56999         * modules/yesno (EXTRA_DIST): Add yesno.h.
57000
57001 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
57002
57003         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
57004
57005         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
57006         * m4/dev-ino.m4, same-inode.m4: Remove.
57007
57008         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
57009         * m4/acl.m4 (AC_FUNC_ACL):
57010         * m4/backupfile.m4 (gl_BACKUPFILE):
57011         * m4/c-strtod.m4 (gl_C99_STRTOLD):
57012         * m4/canon-host.m4 (gl_CANON_HOST):
57013         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
57014         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
57015         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
57016         * m4/cloexec.m4 (gl_CLOEXEC):
57017         * m4/close-stream.m4 (gl_CLOSE_STREAM):
57018         * m4/closeout.m4 (gl_CLOSEOUT):
57019         * m4/dirfd.m4 (gl_FUNC_DIRFD):
57020         * m4/dirname.m4 (gl_DIRNAME):
57021         * m4/exclude.m4 (gl_EXCLUDE):
57022         * m4/exitfail.m4 (gl_EXITFAIL):
57023         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
57024         * m4/file-type.m4 (gl_FILE_TYPE):
57025         * m4/filemode.m4 (gl_FILEMODE):
57026         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
57027         * m4/fpending.m4 (gl_FUNC_FPENDING):
57028         * m4/fprintftime.m4 (gl_FPRINTFTIME):
57029         * m4/fts.m4 (gl_FUNC_FTS):
57030         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
57031         * m4/getdate.m4 (gl_GETDATE):
57032         * m4/gethrxtime.m4 (gl_GETHRXTIME):
57033         * m4/getpagesize.m4 (gl_GETPAGESIZE):
57034         * m4/getpass.m4 (gl_FUNC_GETPASS):
57035         * m4/gettime.m4 (gl_GETTIME):
57036         * m4/getugroups.m4 (gl_GETUGROUPS):
57037         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
57038         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
57039         * m4/hard-locale.m4 (gl_HARD_LOCALE):
57040         * m4/hash.m4 (gl_HASH):
57041         * m4/idcache.m4 (gl_IDCACHE):
57042         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
57043         * m4/lchown.m4 (gl_FUNC_LCHOWN):
57044         * m4/long-options.m4 (gl_LONG_OPTIONS):
57045         * m4/lstat.m4 (gl_FUNC_LSTAT):
57046         * m4/md5.m4 (gl_MD5):
57047         * m4/memcasecmp.m4 (gl_MEMCASECMP):
57048         * m4/memcoll.m4 (gl_MEMCOLL):
57049         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
57050         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
57051         * m4/memxor.m4 (gl_MEMXOR):
57052         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
57053         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
57054         * m4/modechange.m4 (gl_MODECHANGE):
57055         * m4/mountlist.m4 (gl_MOUNTLIST):
57056         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
57057         * m4/openat.m4 (gl_FUNC_OPENAT):
57058         * m4/pathmax.m4 (gl_PATHMAX):
57059         * m4/physmem.m4 (gl_PHYSMEM):
57060         * m4/posixtm.m4 (gl_POSIXTM):
57061         * m4/posixver.m4 (gl_POSIXVER):
57062         * m4/quote.m4 (gl_QUOTE):
57063         * m4/quotearg.m4 (gl_QUOTEARG):
57064         * m4/readtokens.m4 (gl_READTOKENS):
57065         * m4/readutmp.m4 (gl_READUTMP):
57066         * m4/regex.m4 (gl_REGEX):
57067         * m4/safe-read.m4 (gl_SAFE_READ):
57068         * m4/safe-write.m4 (gl_SAFE_WRITE):
57069         * m4/same.m4 (gl_SAME):
57070         * m4/save-cwd.m4 (gl_SAVE_CWD):
57071         * m4/savedir.m4 (gl_SAVEDIR):
57072         * m4/settime.m4 (gl_SETTIME):
57073         * m4/sha1.m4 (gl_SHA1):
57074         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
57075         * m4/stat-macros.m4 (gl_STAT_MACROS):
57076         * m4/stat-time.m4 (gl_STAT_TIME):
57077         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
57078         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
57079         * m4/strdup.m4 (gl_FUNC_STRDUP):
57080         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
57081         * m4/strndup.m4 (gl_FUNC_STRNDUP):
57082         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
57083         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
57084         * m4/time_r.m4 (gl_TIME_R):
57085         * m4/timespec.m4 (gl_TIMESPEC):
57086         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
57087         * m4/unlinkdir.m4 (gl_UNLINKDIR):
57088         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
57089         * m4/userspec.m4 (gl_USERSPEC):
57090         * m4/utimecmp.m4 (gl_UTIMECMP):
57091         * m4/utimens.m4 (gl_UTIMENS):
57092         * m4/xalloc.m4 (gl_XALLOC):
57093         * m4/xgetcwd.m4 (gl_XGETCWD):
57094         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
57095         * m4/xreadlink.m4 (gl_XREADLINK):
57096         * m4/xstrtod.m4 (gl_XSTRTOD):
57097         * m4/yesno.m4 (gl_YESNO):
57098         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
57099         to get the necessary .h files and whatnot.
57100
57101 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
57102             Bruno Haible  <bruno@clisp.org>
57103
57104         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
57105         /bin/sh understanding of '!' conditional negation.
57106
57107 2006-08-21  Jim Meyering  <jim@meyering.net>
57108
57109         * modules/openat (Depends-on): Really alphabetize.
57110
57111         * modules/acl (Depends-on): Add error and quote.
57112
57113         * check-module (find_included_lib_files): Add at-func.c to the
57114         ok-to-include-more-than-once white list.
57115
57116         * modules/openat (Depends-on): Add lstat.  Alphabetize.
57117
57118 2006-08-21  Bruno Haible  <bruno@clisp.org>
57119
57120         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57121         Emit a pkgdata_DATA variable only if some snippets add contents to it.
57122         Reported by Martin Lambers <marlam@marlam.de>.
57123
57124 2006-08-21  Bruno Haible  <bruno@clisp.org>
57125
57126         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
57127         specify an installation location, don't emit a noinst_LIBRARIES or
57128         noinst_LTLIBRARIES assignment.
57129
57130 2006-08-21  Bruno Haible  <bruno@clisp.org>
57131
57132         BeOS portability.
57133         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
57134         BeOS has mbrtowc() but no <wctype.h>.
57135
57136 2006-08-21  Bruno Haible  <bruno@clisp.org>
57137
57138         BeOS portability.
57139         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
57140         exist.
57141
57142 2006-08-21  Bruno Haible  <bruno@clisp.org>
57143
57144         BeOS portability.
57145         * lib/mbchar.h: Include <wctype.h> only if it exists.
57146
57147 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
57148
57149         Remove files that are no longer needed by their respective modules.
57150         * m4/obstack.m4: Remove.
57151         * m4/strerror_r.m4: Remove.
57152         * m4/uint32_t.m4: Remove.
57153         * m4/uintptr_t.m4: Remove.
57154         * m4/ullong_max.m4: Remove.
57155         * m4/xstrtoimax.m4: Remove.
57156         * m4/xstrtoumax.m4: Remove.
57157
57158         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
57159         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
57160         dependencies now capture this.
57161
57162         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
57163         Do not use AC_LIBSOURCES, since gnulib modules now do this.
57164         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
57165         * m4/human.m4 (gl_HUMAN): Likewise.
57166         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
57167         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
57168
57169         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
57170
57171         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
57172         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
57173         stdint.
57174         * m4/human.m4 (gl_HUMAN): Likewise.
57175         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
57176         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
57177         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
57178         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
57179         * m4/xstrtol (gl_XSTRTOL): Likewise.
57180
57181         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
57182         AC_TYPE_LONG_LONG_INT.
57183         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
57184         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
57185         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
57186         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
57187
57188         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
57189         on stdbool.
57190
57191         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
57192         (gl_PREREQ_XSTRTOUL): Remove.
57193
57194         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
57195
57196         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
57197         mode.
57198
57199 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
57200
57201         Add and change modules to make it easier for coreutils to use
57202         gnulib-tool.
57203         * modules/backupfile (Files): Remove m4/d-ino.m4.
57204         (Depends-on): Add d-ino.
57205         * modules/cycle-check (Depends-on): Add stdint.
57206         (lib_SOURCES): Add cycle-check.h.
57207         * modules/d-ino: New module.
57208         * modules/d-type: New module.
57209         * modules/error (Files): Remove m4/strerror_r.m4.
57210         * modules/filemode (Files): Add m4/st_dm_mode.m4.
57211         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
57212         m4/inttypes_h.m4, m4/uintmax_t.m4.
57213         (Depends-on): Add stdint.
57214         (lib_SOURCES): Add fsusage.h.
57215         * modules/getcwd (Files): Remove d-ino.m4.
57216         (Depends-on): Add d-ino.
57217         * modules/getndelim2 (Depends-on): Add stdint.
57218         * modules/glob (Files): Remove m4/d-type.m4.
57219         (Depends-on): Add d-type.
57220         * modules/host-os: New module.
57221         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
57222         m4/inttypes_h.m4, m4/uintmax_t.m4.
57223         * Depends-on: Add stdint.
57224         (lib_SOURCES): Add human.h.
57225         * modules/inttostr (Files): Remove m4/intmax_t.m4,
57226         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
57227         m4/uintmax_t.m4, m4/ulonglong.m4.
57228         (Depends-on): Add stdint.
57229         (EXTRA_DIST): Add inttostr.h.
57230         * modules/lchmod: New module.
57231         * modules/link-follow: New module.
57232         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
57233         (Depends-on): Add lchmod.
57234         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
57235         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
57236         (Depends-on): Add stdint.
57237         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
57238         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
57239         (Depends-on): Add stdint.
57240         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
57241         * modules/perl: New module.
57242         * modules/regex (Depends-on): Add stdint.
57243         * modules/rmdir-errno: New module.
57244         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
57245         m4/intmax_t.m4.
57246         (Depends-on): Add stdint.
57247         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
57248         m4/uintmax_t.m4.
57249         (Depends-on): Add stdint.
57250         * modules/unlink-busy: New module.
57251         * modules/utimecmp (Depends-on): Add stdint.
57252         * modules/uptime: New module.
57253         * modules/winsz-ioctl: New module.
57254         * modules/winsz-termios: New module.
57255         * modules/xnanosleep (Depends-on): Add nanosleep.
57256         * modules/ullong_max: Remove.
57257         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
57258         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
57259         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
57260         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
57261         (Depends-on): Add inttypes.
57262         (lib_SOURCES): Add xstrtol.h.
57263         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
57264         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
57265         * MODULES.html.sh: Move 'assert' into the assert section.
57266         Move 'dummy' into the linking section.
57267         Remove ullong_max.
57268         Add section for compatibility checks for POSIX:2001 functions,
57269         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
57270         winsz-ioctl, and winsz-termios into it.
57271         Add lchmod.
57272         Add top-level Misc section and put host-os, perl, and uptime
57273         into it.
57274
57275 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
57276
57277         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
57278         now assume the stdint module.  Do not include inttypes.h.
57279         * lib/fsusage.h: Likewise.
57280         * lib/getndelim2.c: Likewise.
57281         * lib/human.h: Likewise.
57282         * lib/inttostr.h: Likewise.
57283         * lib/obstack.c: Likewise.
57284         * lib/regex_internal.h: Likewise.
57285         * lib/tempname.c: Likewise.
57286         * lib/utimecmp.c: Likewise.
57287         * lib/xstrtol.h: Likewise.
57288
57289         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
57290
57291         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
57292         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
57293         * lib/xtime.h: Likewise.
57294
57295 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
57296
57297         * modules/openat (Files): Add lib/fchmodat.c.
57298         Fixes problem reported by Jay Youngman.
57299
57300 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
57301
57302         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
57303         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
57304
57305 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
57306             Bruno Haible  <bruno@clisp.org>
57307
57308         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
57309         and is a script that invokes bison. Tighten the code. Add comments.
57310
57311 2006-08-18  Jim Meyering  <jim@meyering.net>
57312
57313         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
57314         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
57315         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
57316         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
57317
57318 2006-08-18  Bruno Haible  <bruno@clisp.org>
57319
57320         * modules/bison-i18n: New file.
57321         * MODULES.html.sh (Internationalization functions): Add it.
57322
57323 2006-08-18  Bruno Haible  <bruno@clisp.org>
57324
57325         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
57326         sys/statvfs.h. When getmntinfo was found, check its declaration and
57327         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
57328
57329 2006-08-18  Bruno Haible  <bruno@clisp.org>
57330
57331         * m4/bison-i18n.m4: New file, from bison.
57332
57333 2006-08-18  Bruno Haible  <bruno@clisp.org>
57334
57335         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
57336         (ME_DUMMY): Treat "kernfs" as a dummy.
57337         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
57338
57339 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
57340
57341         Update from coreutils.
57342
57343         2006-08-15  Jim Meyering  <jim@meyering.net>
57344
57345         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
57346
57347         2006-01-17  Jim Meyering  <jim@meyering.net>
57348
57349         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
57350
57351         2006-01-11  Jim Meyering  <jim@meyering.net>
57352
57353         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
57354         Check for the lchmod function.
57355
57356 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
57357
57358         Update from coreutils.
57359
57360         * lib/__fpending.h: Add copyright notice.
57361         * lib/fprintftime.h: Likewise.
57362         * lib/savedir.c: Use (C) in copyright notice.
57363         * lib/savedir.h: Likewise.
57364
57365         2006-08-15  Jim Meyering  <jim@meyering.net>
57366
57367         * lib/at-func.c: New file, with the logic of all emulated at-functions.
57368         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
57369         in support of the EXPECTED_ERRNO macro.
57370         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
57371         definitions.  Instead, define the appropriate symbols and include
57372         "at-func.c".
57373         * lib/mkdirat.c (mkdirat): Likewise.
57374         * lib/fchmodat.c (fchmodat): Likewise.
57375         (ENOSYS): Remove definition.
57376         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
57377         it.  Don't include "unistd--.h" -- it wasn't ever used.
57378
57379         2006-01-17  Jim Meyering  <jim@meyering.net>
57380
57381         Rewrite fts.c not to change the current working directory,
57382         by using openat, fstatat, fdopendir, etc..
57383
57384         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
57385         (HAVE_OPENAT_SUPPORT): Define.
57386         [_LIBC] (fchdir): Don't undef or define; no longer used.
57387         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
57388         Now, this `function' always succeeds, and consumes its file descriptor
57389         parameter -- so callers must not close such FDs.  Update callers.
57390         (diropen_fd, opendirat, cwd_advance_fd): New functions.
57391         (diropen): Add parameter, SP.  Adjust all callers.
57392         Implement using diropen_fd, rather than open.
57393         (fts_open): Initialize new member, fts_cwd_fd.
57394         Remove fts_rft-setting code.
57395         (fts_close): Close fts_cwd_fd, if necessary.
57396         (__opendir2): Define in terms of opendir or opendirat,
57397         depending on whether the FST_NOCHDIR flag is set.
57398         (fts_build): Since fts_safe_changedir consumes its FD, and since
57399         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
57400         and close the dup'd file descriptor upon failure.
57401         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
57402         (fts_safe_changedir): Tweak semantics to reflect that this function
57403         now calls cwd_advance_fd and hence consumes its FD argument.
57404         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
57405         [struct FTS] (fts_rft): Remove now-unused member.
57406         [struct FTS] (fts_cycle.state): Improve comment.
57407
57408         * lib/openat.c (openat_needs_fchdir): New function.
57409         * lib/openat.h (openat_needs_fchdir): Declare it.
57410
57411 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
57412
57413         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
57414         Problem and fix reported by Pádraig Brady in
57415         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
57416
57417 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
57418
57419         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
57420
57421 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
57422
57423         * lib/memcoll.c (memcoll): Optimize for the common case where the
57424         arguments are bytewise equal.
57425
57426 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
57427
57428         * doc/regexprops-generic.texi: Add a copyright notice.
57429
57430 2006-08-15  Bruno Haible  <bruno@clisp.org>
57431
57432         * modules/tmpdir (License): Change to LGPL.
57433
57434 2006-08-15  Bruno Haible  <bruno@clisp.org>
57435
57436         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
57437         module.
57438
57439 2006-08-14  Simon Josefsson  <jas@extundo.com>
57440
57441         * config/srclist.txt: Add gnupload.
57442
57443 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
57444
57445         Change copyright notice from LGPL 2 to GPL 2, since that's the
57446         standard form used in the gnulib repository.
57447         * tests/test-lock.c: Likewise.
57448         * tests/test-stdint.c: Likewise.
57449         * tests/test-tls.c: Likewise.
57450
57451         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
57452         prelude-manager.  User shorter URLs for GNU projects, without '?'.
57453         Add copyright notice.
57454
57455         * check-module: Add copyright notice.  Output a copyright
57456         notice if "--version" is specified.
57457         * modules/COPYING: New file.
57458         * tests/test-getaddrinfo.c: Add copyright notice.
57459         * tests/test-verify.c: Likewise.
57460
57461 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
57462
57463         Change copyright notice from LGPL 2 to GPL 2, since that's the
57464         standard form used in the gnulib repository.
57465         * lib/lock.c: LGPL -> GPL.
57466         * lib/lock.h: Likewise.
57467         * lib/strnlen1.c: Likewise.
57468         * lib/strnlen1.h: Likewise.
57469         * lib/tls.c: Likewise.
57470         * lib/tls.h: Likewise.
57471         * lib/tmpdir.c: Likewise.
57472
57473         * lib/TODO: Remove; this belongs only in coreutils.
57474
57475 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
57476
57477         Add copyright notices to long-enough files that lack them, since
57478         otherwise the files aren't clearly free.  Use the same notice that
57479         getdate.texi already uses.
57480         * doc/alloca-opt.texi: Add copyright notice.
57481         * doc/alloca.texi: Likewise.
57482         * doc/ctime.texi: Likewise.
57483         * doc/functions.texi: Likewise.
57484         * doc/gcd.texi: Likewise.
57485         * doc/gnulib-tool.texi: Likewise.
57486         * doc/inet_ntoa.texi: Likewise.
57487         * doc/visibility.texi: Likewise.
57488
57489         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
57490         * doc/quote.texi: Add copyright notice.
57491
57492         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
57493         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
57494         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
57495         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
57496         is now obsolete, and give a pointer to the Sun list.
57497         Add copyright notice.
57498
57499 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
57500
57501         * config/srclistvars.sh: Add copyright notice.
57502
57503 2006-08-14  Eric Blake  <ebb9@byu.net>
57504
57505         Import the following change from libc:
57506
57507         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
57508
57509         Upstream bug 2997.
57510         * lib/misc/error.c: Add space between program name and message if file
57511         name is missing.
57512
57513 2006-08-12  Karl Berry  <karl@gnu.org>
57514
57515         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
57516         remove, these originate in gnulib now.
57517
57518 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57519
57520         * doc/Makefile (standards.info standards.html standards.dvi):
57521         Also depend on make-stds.texi.
57522
57523 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
57524
57525         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
57526         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
57527
57528         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
57529         in wchar_t.  Problem reported by Eric Blake.
57530
57531         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
57532         LEN is smaller than SIZE.  Suggested by Bruno Haible.
57533         Also, help the compiler to keep LEN in a register.
57534
57535 2006-08-11  Eric Blake  <ebb9@byu.net>
57536
57537         * users.txt: Sort.  Add tar.
57538
57539 2006-08-11  Bruno Haible  <bruno@clisp.org>
57540
57541         * users.txt: New file.
57542
57543 2006-08-11  Bruno Haible  <bruno@clisp.org>
57544
57545         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
57546         before <wchar.h>. Needed for OSF/1 and BSD/OS.
57547
57548 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
57549
57550         * modules/snprintf (Depends-on): Remove minmax.
57551         (Maintainer): Add self and Bruno.
57552
57553 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
57554
57555         * lib/.cppi-disable: Add snprintf.h, socket_.h.
57556         * lib/snprintf.c: Include <errno.h> and <limits.h>.
57557         (EOVERFLOW): Define if the system does not.
57558         Do not include "minmax.h"; it wasn't used.
57559         (snprintf): Don't assume size_t promotes to an unsigned type.
57560         Fix bug when generated string was too long for the buffer: the
57561         buffer's contents are supposed to be the initial prefix of the
57562         output.  Don't assume vasnprintf returns EOVERFLOW if the size
57563         exceeds INT_MAX; do the check ourselves.
57564
57565         Import the following changes from libc:
57566
57567         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
57568
57569         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
57570         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
57571         set wc to the byte which couldn't be converted.
57572         (re_string_reconstruct): Don't clear valid_raw_len before calling
57573         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
57574         tip_context using re_string_context_at.
57575
57576         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
57577
57578         * lib/posix/regex.h: g++ still cannot handled [restrict].
57579
57580         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
57581
57582         * lib/posix/regex.h: Remove special handling for VMS.
57583
57584 2006-08-10  Jim Meyering  <jim@meyering.net>
57585
57586         * modules/same-inode: New module.
57587         * modules/dev-ino: New module.
57588         * modules/cycle-check: Depend on these modules, rather than simply
57589         including their .h files.
57590         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
57591         required via m4/cycle-check.m4.
57592         * modules/same: Depend on new same-inode module, rather than
57593         including same-inode.h.
57594         * modules/chdir-safer: New file.
57595
57596         * modules/chown (Depends-on): Add stat-macros.
57597
57598 2006-08-10  Jim Meyering  <jim@meyering.net>
57599
57600         * m4/cycle-check.m4: New file.
57601         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
57602         * m4/dev-ino.m4, m4/same-inode.m4: New files.
57603
57604 2006-08-10  Eric Blake  <ebb9@byu.net>
57605
57606         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
57607         in from original proposal.
57608
57609 2006-08-10  Eric Blake  <ebb9@byu.net>
57610         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
57611
57612         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
57613         namespace.
57614
57615 2006-08-10  Bruno Haible  <bruno@clisp.org>
57616
57617         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
57618         as well.
57619
57620 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
57621
57622         Sync from coreutils.
57623
57624         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
57625
57626         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
57627         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
57628
57629 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
57630
57631         * modules/restrict: Remove; no longer needed now that we assume
57632         Autoconf 2.59 or later.
57633         * MODULES.html.sh: Remove 'restrict'.
57634         * modules/argp (Depends-on): Remove 'restrict'.
57635         * modules/base64 (Depends-on): Likewise.
57636         * modules/gc (Depends-on): Likewise.
57637         * modules/getaddrinfo (Depends-on): Likewise.
57638         * modules/glob (Depends-on): Likewise.
57639         * modules/inet_ntop (Depends-on): Likewise.
57640         * modules/inet_pton (Depends-on): Likewise.
57641         * modules/memxor (Depends-on): Likewise.
57642         * modules/regex (Depends-on): Likewise.
57643         * modules/strtok_r (Depends-on): Likewise.
57644         * modules/time_r (Depends-on): Likewise.
57645
57646 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
57647
57648         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
57649         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
57650         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
57651         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
57652         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
57653         * m4/memxor.m4 (gl_MEMXOR): Likewise.
57654         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
57655         gl_C_RESTRICT replaced by AC_C_RESTRICT.
57656
57657         Merge from coreutils.
57658         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
57659         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
57660         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
57661         * m4/time_r.m4 (gl_TIME_R): Likewise.
57662
57663 2006-08-09  Karl Berry  <karl@gnu.org>
57664
57665         * config/srclist.txt: no more gettext-tools, per Bruno.
57666
57667 2006-08-08  Eric Blake  <ebb9@byu.net>
57668
57669         * modules/verror: New module.
57670         * MODULES.html.sh: Document it.
57671
57672 2006-08-08  Eric Blake  <ebb9@byu.net>
57673
57674         * lib/verror.h, lib/verror.c: New files.
57675
57676 2006-08-08  Eric Blake  <ebb9@byu.net>
57677
57678         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
57679         verror_at_line output complies with GNU Coding Standards even when
57680         file is NULL.
57681
57682 2006-08-07  Bruno Haible  <bruno@clisp.org>
57683
57684         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
57685         versions of AIX.
57686         Reported by Ralf Wildenhues.
57687
57688 2006-08-07  Bruno Haible  <bruno@clisp.org>
57689
57690         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
57691         in an AC_DEFUN. Needed so that the autoconf snippets can use
57692         AC_REQUIRE.
57693
57694 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57695
57696         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57697         Initialize pkgdata_DATA.
57698         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
57699         overriding it.
57700
57701 2006-08-06  Eric Blake  <ebb9@byu.net>
57702
57703         * lib/error.h: Fold in some upstream changes from glibc.
57704         * lib/error.c: Likewise.
57705
57706 2006-08-04  Bruno Haible  <bruno@clisp.org>
57707
57708         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57709         Make the mostlyclean-local rule depend on mostlyclean-generic.
57710         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
57711
57712 2006-07-31  Bruno Haible  <bruno@clisp.org>
57713
57714         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
57715         <stdlib.h>, <string.h>.
57716
57717 2006-07-30  Bruno Haible  <bruno@clisp.org>
57718
57719         * modules/readlink (License): Change to LGPL.
57720
57721 2006-07-30  Bruno Haible  <bruno@clisp.org>
57722
57723         * modules/javaversion (Makefile.am): Distribute javaversion.java and
57724         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
57725         set PKGDATADIR to point to it.
57726
57727 2006-07-30  Bruno Haible  <bruno@clisp.org>
57728
57729         * modules/csharpexec (configure.ac): Comment out macro invocation.
57730         * modules/javaexec (configure.ac): Likewise.
57731         * modules/javacomp-script (configure.ac): Likewise.
57732
57733         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
57734
57735 2006-07-30  Bruno Haible  <bruno@clisp.org>
57736
57737         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
57738         linked-list.
57739
57740 2006-07-30  Bruno Haible  <bruno@clisp.org>
57741
57742         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
57743
57744 2006-07-30  Bruno Haible  <bruno@clisp.org>
57745
57746         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57747         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
57748         get removed.
57749
57750 2006-07-29  Bruno Haible  <bruno@clisp.org>
57751
57752         Make it possible for gnulib-tool to work with locally modified or
57753         augmented gnulib repositories.
57754         * gnulib-tool (func_usage): Document --local-dir option.
57755         (local_gnulib_dir): New variable.
57756         Handle --local-dir option.
57757         (func_lookup_file): New function.
57758         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
57759         (func_get_description, func_get_filelist, func_get_description,
57760         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
57761         func_get_automake_snippet, func_get_include_directive,
57762         func_get_license, func_get_maintainer): Use func_lookup_file.
57763         (func_import, func_create_testdir): Use func_lookup_file.
57764
57765 2006-07-29  Bruno Haible  <bruno@clisp.org>
57766
57767         * modules/setenv (Depends-on): Add unistd.
57768
57769 2006-07-29  Bruno Haible  <bruno@clisp.org>
57770
57771         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
57772
57773 2006-07-29  Bruno Haible  <bruno@clisp.org>
57774
57775         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
57776
57777 2006-07-29  Bruno Haible  <bruno@clisp.org>
57778
57779         * gnulib-tool (import, update): If there is no Makefile.am, look at
57780         aclocal.m4, instead of bailing out.
57781
57782 2006-07-29  Bruno Haible  <bruno@clisp.org>
57783
57784         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
57785         Categorize the options by when they are useful.
57786
57787 2006-07-29  Bruno Haible  <bruno@clisp.org>
57788
57789         * gnulib-tool (func_usage): Document option --no-libtool.
57790         Handle option --no-libtool.
57791         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
57792         for changed semantics of $libtool variable.
57793         (func_import): Likewise. If libtool is not used, show this through
57794         an option --no-libtool.
57795         (func_create_testdir): Update.
57796
57797 2006-07-29  Bruno Haible  <bruno@clisp.org>
57798
57799         * gnulib-tool (func_import): Extend error message about missing
57800         --doc-base.
57801
57802 2006-07-29  Bruno Haible  <bruno@clisp.org>
57803
57804         * gnulib-tool (func_import): Don't create the $docbase directory if
57805         there is no file to store there.
57806
57807 2006-07-29  Bruno Haible  <bruno@clisp.org>
57808
57809         * gnulib-tool (autoconf_minversion): If a --dir option is given and
57810         relevant, look for configure.ac there, not in the current directory.
57811         Also use a simple search for AC_PREREQ, not "autoconf --trace".
57812
57813 2006-07-29  Bruno Haible  <bruno@clisp.org>
57814
57815         * gnulib-tool (SORT): New variable.
57816         (func_usage): Undocument --assume-autoconf option.
57817         Remove --assume-autoconf option handling.
57818         (autoconf_minversion): Determine from the contents of configure.ac.
57819         (func_import): Remove autoconf_minversion handling.
57820         Suggested by Eric Blake.
57821
57822 2006-07-29  Bruno Haible  <bruno@clisp.org>
57823
57824         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
57825
57826 2006-07-29  Bruno Haible  <bruno@clisp.org>
57827
57828         * config/srclist.txt (*setenv.[ch]): Remove rules.
57829
57830 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57831
57832         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
57833
57834 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57835
57836         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
57837         arpa/inet.h.
57838
57839 2006-07-28  Simon Josefsson  <jas@extundo.com>
57840
57841         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
57842         * modules/inet_pton (Depends-on): Likewise.
57843
57844 2006-07-28  Simon Josefsson  <jas@extundo.com>
57845
57846         * m4/netinet_in_h.m4: New file.
57847
57848 2006-07-28  Simon Josefsson  <jas@extundo.com>
57849
57850         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
57851         #include's.
57852
57853 2006-07-28  Simon Josefsson  <jas@extundo.com>
57854
57855         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
57856         #include's.
57857
57858 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
57859
57860         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
57861         setgid on directories only if they set these bits.
57862         * lib/modechange.h: Remove obsolete comment about masks.
57863
57864 2006-07-28  Eric Blake  <ebb9@byu.net>
57865
57866         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
57867         macro expansion.
57868
57869 2006-07-28  Bruno Haible  <bruno@clisp.org>
57870
57871         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
57872
57873 2006-07-28  Bruno Haible  <bruno@clisp.org>
57874
57875         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
57876
57877 2006-07-28  Bruno Haible  <bruno@clisp.org>
57878
57879         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
57880         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
57881         Define fallbacks.
57882         Avoids link error on FreeBSD 4.x.
57883         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
57884
57885         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
57886         encoding.
57887         * lib/mbswidth.c (iswcntrl): Likewise.
57888
57889 2006-07-27  Bruno Haible  <bruno@clisp.org>
57890
57891         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
57892         test.
57893
57894 2006-07-27  Bruno Haible  <bruno@clisp.org>
57895
57896         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
57897         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
57898         defined.
57899
57900 2006-07-26  Eric Blake  <ebb9@byu.net>
57901
57902         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
57903
57904 2006-07-26  Eric Blake  <ebb9@byu.net>
57905
57906         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
57907         like mingw that lack mkstemp.
57908         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
57909         avoid compilation warning on mingw.
57910
57911 2006-07-26  Bruno Haible  <bruno@clisp.org>
57912
57913         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
57914         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
57915         INT_FAST*_MIN, INTPTR_MIN.
57916
57917 2006-07-25  Bruno Haible  <bruno@clisp.org>
57918
57919         * modules/version-etc (Depends-on): Add stdarg.
57920
57921 2006-07-25  Bruno Haible  <bruno@clisp.org>
57922
57923         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
57924         complex commands.
57925
57926 2006-07-25  Bruno Haible  <bruno@clisp.org>
57927
57928         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
57929         defined in <stdarg.h> or config.h.
57930
57931 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
57932
57933         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
57934         (gl_STDIO_SAFER): Remove.
57935
57936 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
57937
57938         * MODULES.html.sh (File stream based Input/Output):
57939         Add fopen-safer, tmpfile-safer; remove stdio-safer.
57940         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
57941         * modules/fopen-safer, modules/tmpfile-safer: New files.
57942         * modules/stdio-safer: Remove.
57943
57944 2006-07-24  Bruno Haible  <bruno@clisp.org>
57945
57946         * modules/tmpdir: New file.
57947         * MODULES.html.sh (File system functions): Add it.
57948
57949 2006-07-24  Bruno Haible  <bruno@clisp.org>
57950
57951         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
57952         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
57953
57954 2006-07-24  Bruno Haible  <bruno@clisp.org>
57955
57956         * modules/clean-temp: New file.
57957
57958 2006-07-24  Bruno Haible  <bruno@clisp.org>
57959
57960         * m4/tmpdir.m4: New file, from GNU gettext.
57961
57962 2006-07-24  Bruno Haible  <bruno@clisp.org>
57963
57964         * lib/tmpdir.h: New file, from GNU gettext.
57965         * lib/tmpdir.c: New file, from GNU gettext.
57966
57967 2006-07-24  Bruno Haible  <bruno@clisp.org>
57968
57969         * lib/clean-temp.h: New file, from GNU gettext.
57970         * lib/clean-temp.c: New file, from GNU gettext.
57971
57972 2006-07-23  Eric Blake  <ebb9@byu.net>
57973
57974         * modules/stdio-safer (Files): Add tmpfile-safer.c.
57975         (Depends-on): Add binary-io.
57976
57977 2006-07-23  Eric Blake  <ebb9@byu.net>
57978
57979         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
57980
57981 2006-07-23  Eric Blake  <ebb9@byu.net>
57982
57983         * lib/tmpfile-safer.c: New file.
57984         * lib/stdio-safer.h (fopen_safer): Add prototype.
57985         * lib/stdio--.h (tmpfile): Make safer.
57986
57987 2006-07-23  Bruno Haible  <bruno@clisp.org>
57988
57989         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
57990         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
57991         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
57992         gl_linked_remove_at): Use it.
57993
57994 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57995         and Simon Josefsson <jas@extundo.com>
57996
57997         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
57998
57999         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
58000
58001 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
58002
58003         * modules/close-stream: New file.
58004         * modules/closeout (Description): Make it clear that it exits
58005         with a diagnostic on error.
58006         (Depends-on): Add close-stream.  Remove fpending, stdbool.
58007         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
58008
58009 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
58010
58011         * m4/close-stream.m4: New file.
58012
58013 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
58014
58015         * lib/close-stream.c, lib/close-stream.h: New files.
58016
58017 2006-07-22  Bruno Haible  <bruno@clisp.org>
58018
58019         Merge from GNU gettext 0.15.
58020
58021         2006-05-01  Bruno Haible  <bruno@clisp.org>
58022
58023                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
58024
58025         2006-07-22  Bruno Haible  <bruno@clisp.org>
58026
58027                 * modules/javaversion: New file.
58028                 * MODULES.html.sh (Java): Add javaversion.
58029
58030         2006-03-12  Bruno Haible  <bruno@clisp.org>
58031
58032                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
58033
58034         2005-12-04  Bruno Haible  <bruno@clisp.org>
58035
58036                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
58037                 (untested).
58038
58039         2006-06-21  Bruno Haible  <bruno@clisp.org>
58040
58041                 Avoid warnings from recent versions of mcs.
58042                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
58043                 -o, -L, -r any more. Use options documented since mcs-1.0
58044                 instead. Similarly for -g.
58045
58046         2005-12-04  Bruno Haible  <bruno@clisp.org>
58047
58048                 * build-aux/csharpcomp.sh.in: Suffix for resources is
58049                 .resources, not .resource.
58050
58051         2005-07-09  Bruno Haible  <bruno@clisp.org>
58052
58053                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
58054                 add a .dll suffix.
58055                 Reported by Mark Junker <mjscod@gmx.de>.
58056
58057         2006-07-22  Bruno Haible  <bruno@clisp.org>
58058
58059                 * modules/gettext: Upgrade to gettext-0.15.
58060                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
58061                 m4/visibility.m4.
58062                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
58063
58064 2006-07-22  Bruno Haible  <bruno@clisp.org>
58065
58066         Merge from GNU gettext 0.15.
58067
58068         2006-03-25  Bruno Haible  <bruno@clisp.org>
58069
58070                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
58071
58072         2006-07-21  Bruno Haible  <bruno@clisp.org>
58073
58074                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
58075                 "1.1".
58076
58077         2006-05-09  Bruno Haible  <bruno@clisp.org>
58078
58079                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
58080                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
58081                 for the conftestver execution.
58082
58083         2006-05-01  Bruno Haible  <bruno@clisp.org>
58084
58085                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
58086                 optional target-version argument. Verify that the compiler
58087                 groks source of the specified source-version, or add -source
58088                 option as necessary. Verify that the compiler produces
58089                 bytecode in the specified target-version, or add -target and
58090                 -source options as necessary. Make the result of the test
58091                 available as variable CONF_JAVAC. Also log error output in
58092                 config.log.
58093
58094         2006-03-11  Bruno Haible  <bruno@clisp.org>
58095
58096                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
58097
58098         2006-05-09  Bruno Haible  <bruno@clisp.org>
58099
58100                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
58101                 CLASSPATH_SEPARATOR to a semicolon.
58102
58103         2006-03-12  Bruno Haible  <bruno@clisp.org>
58104
58105                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
58106                 available as variable CONF_JAVA, for subsequent autoconf
58107                 tests. Also log error output in config.log.
58108
58109         2006-07-19  Bruno Haible  <bruno@clisp.org>
58110
58111                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
58112                 that getline works on glibc2 systems. Needed to avoid trouble
58113                 in relocatable.c.
58114                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
58115
58116         2005-12-04  Bruno Haible  <bruno@clisp.org>
58117
58118                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
58119                 launcher (untested).
58120
58121         2005-12-04  Bruno Haible  <bruno@clisp.org>
58122
58123                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
58124
58125         2006-07-22  Bruno Haible  <bruno@clisp.org>
58126
58127                 * gettext.m4: Update from GNU gettext-0.15.
58128                 * nls.m4: Likewise.
58129                 * po.m4: Likewise.
58130                 * inttypes-pri.m4: Likewise.
58131                 * inttypes-h.m4: Renamed from inttypes.m4.
58132                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
58133
58134 2006-07-22  Bruno Haible  <bruno@clisp.org>
58135
58136         Merge from GNU gettext 0.15.
58137
58138         2005-07-05  Bruno Haible  <bruno@clisp.org>
58139
58140                 * printf-args.c (printf_fetchargs): Work around broken
58141                 definition of wint_t on mingw.
58142
58143         2005-02-12  Bruno Haible  <bruno@clisp.org>
58144
58145                 * xallocsa.h: Add extern "C" for C++.
58146
58147         2006-05-17  Bruno Haible  <bruno@clisp.org>
58148
58149                 Cygwin portability.
58150                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
58151
58152         2006-04-30  Bruno Haible  <bruno@clisp.org>
58153
58154                 * progreloc.c: Include <mach-o/dyld.h> if available.
58155                 (find_executable): Use _NSGetExecutablePath when possible.
58156
58157         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
58158
58159                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
58160                 function.
58161
58162         2005-12-29  Bruno Haible  <bruno@clisp.org>
58163
58164                 * progreloc.c (set_program_name_and_installdir): Fix
58165                 compilation error.
58166
58167         2005-12-04  Bruno Haible  <bruno@clisp.org>
58168
58169                 Cygwin portability.
58170                 * progreloc.c: Include <windows.h> also on Cygwin.
58171                 (find_executable): Add support for Cygwin.
58172                 (set_program_name_and_installdir): Handle also platforms with
58173                 nonempty EXEEXT.
58174
58175         2006-07-11  Bruno Haible  <bruno@clisp.org>
58176
58177                 * javacomp.c: Fix a comment.
58178                 Reported by Jim Meyering.
58179
58180         2006-04-30  Bruno Haible  <bruno@clisp.org>
58181
58182                 * javacomp.h (compile_java_class): Add source_version,
58183                 target_version arguments.
58184                 * javacomp.c: Rewritten to choose only a compiler that
58185                 respects the specified source_version and target_version.
58186
58187         2006-06-27  Bruno Haible  <bruno@clisp.org>
58188
58189                 Assume correct S_ISDIR macro.
58190                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
58191
58192         2006-07-22  Bruno Haible  <bruno@clisp.org>
58193
58194                 * javaversion.h: New file, from GNU gettext.
58195                 * javaversion.c: New file, from GNU gettext.
58196                 * javaversion.java: New file, from GNU gettext.
58197                 * javaversion.class: New file, from GNU gettext.
58198
58199         2006-05-17  Bruno Haible  <bruno@clisp.org>
58200
58201                 Cygwin portability.
58202                 * javaexec.c (execute_java_class): Test for jview program
58203                 also on Cygwin.
58204
58205         2006-04-09  Bruno Haible  <bruno@clisp.org>
58206
58207                 * fatal-signal.c: Don't include string.h.
58208                 (at_fatal_signal): Use a copying loop instead of memcpy.
58209
58210         2005-12-04  Bruno Haible  <bruno@clisp.org>
58211
58212                 * csharpexec.c: Add support for 'clix' launcher (untested).
58213                 (execute_csharp_using_sscli): New function.
58214                 (execute_csharp_program): Call it.
58215
58216         2006-06-21  Bruno Haible  <bruno@clisp.org>
58217
58218                 Avoid warnings from recent versions of mcs.
58219                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
58220                 -o, -L, -r any more. Use options documented since mcs-1.0
58221                 instead. Similarly for -g.
58222
58223         2005-07-09  Bruno Haible  <bruno@clisp.org>
58224
58225                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
58226                 add a .dll suffix.
58227                 Reported by Mark Junker <mjscod@gmx.de>.
58228
58229         2006-06-17  Bruno Haible  <bruno@clisp.org>
58230
58231                 * config.charset: Update for NetBSD 3.0.
58232
58233         2006-05-17  Bruno Haible  <bruno@clisp.org>
58234
58235                 Cygwin portability.
58236                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
58237
58238         2006-05-16  Bruno Haible  <bruno@clisp.org>
58239
58240                 * localcharset.c [CYGWIN]: Include <windows.h>.
58241                 (get_charset_aliases): For Cygwin, return the same CPxxx
58242                 aliases list as under WIN32.
58243                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
58244                 the environment variables. Fall back to GetACP().
58245
58246         2006-04-05  Bruno Haible  <bruno@clisp.org>
58247
58248                 * config.charset: Update Juan Manuel Guerrero's address.
58249
58250         2005-02-12  Bruno Haible  <bruno@clisp.org>
58251
58252                 * allocsa.h: Add extern "C" for C++.
58253
58254         2005-02-10  Bruno Haible  <bruno@clisp.org>
58255
58256                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
58257                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
58258
58259         2006-07-22  Bruno Haible  <bruno@clisp.org>
58260
58261                 * gettext.h: Update to GNU gettext-0.15.
58262
58263 2006-07-22  Bruno Haible  <bruno@clisp.org>
58264
58265         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
58266         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
58267         lib-prefix.m4, longdouble.m4, ssize_t.m4.
58268
58269 2006-07-21  Eric Blake  <ebb9@byu.net>
58270
58271         * modules/stdlib-safer: New file.
58272         * MODULES.html.sh (File stream based Input/Output): Add
58273         stdlib-safer.
58274
58275 2006-07-21  Eric Blake  <ebb9@byu.net>
58276
58277         * lib/stdlib-safer.h: New file from coreutils, required by
58278         stdlib--.h.
58279
58280 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
58281
58282         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
58283
58284 2006-07-20  Bruno Haible  <bruno@clisp.org>
58285
58286         * gnulib-tool: Recognize new option --assume-autoconf.
58287         (autoconf_minversion): New variable.
58288         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
58289
58290 2006-07-20  Bruno Haible  <bruno@clisp.org>
58291
58292         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
58293
58294 2006-07-19  Derek R. Price  <derek@ximbiot.com>
58295
58296         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
58297         Reindent and repaginate.
58298
58299 2006-07-19  Derek Price  <derek@ximbiot.com>
58300
58301         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
58302         Correct grammar.
58303
58304 2006-07-17  Bruno Haible  <bruno@clisp.org>
58305
58306         * modules/list: New file.
58307         * modules/array-list: New file.
58308         * modules/carray-list, modules/carray-list-tests: New files.
58309         * modules/linked-list, modules/linked-list-tests: New files.
58310         * modules/avltree-list, modules/avltree-list-tests: New files.
58311         * modules/rbtree-list, modules/rbtree-list-tests: New files.
58312         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
58313         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
58314         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
58315         * modules/oset: New file.
58316         * modules/array-oset: New file.
58317         * modules/avltree-oset, modules/avltree-oset-tests: New files.
58318         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
58319         * tests/test-carray_list.c: New file.
58320         * tests/test-linked_list.c: New file.
58321         * tests/test-avltree_list.c: New file.
58322         * tests/test-rbtree_list.c: New file.
58323         * tests/test-linkedhash_list.c: New file.
58324         * tests/test-avltreehash_list.c: New file.
58325         * tests/test-rbtreehash_list.c: New file.
58326         * tests/test-avltree_oset.c: New file.
58327         * tests/test-rbtree_oset.c: New file.
58328         * MODULES.html.sh (Container data structures): New section.
58329
58330 2006-07-17  Bruno Haible  <bruno@clisp.org>
58331
58332         * m4/gl_list.m4: New file.
58333
58334 2006-07-17  Bruno Haible  <bruno@clisp.org>
58335
58336         * lib/gl_list.h: New file.
58337         * lib/gl_list.c: New file.
58338         * lib/gl_array_list.h: New file.
58339         * lib/gl_array_list.c: New file.
58340         * lib/gl_carray_list.h: New file.
58341         * lib/gl_carray_list.c: New file.
58342         * lib/gl_linked_list.h: New file.
58343         * lib/gl_linked_list.c: New file.
58344         * lib/gl_anylinked_list1.h: New file.
58345         * lib/gl_anylinked_list2.h: New file.
58346         * lib/gl_avltree_list.h: New file.
58347         * lib/gl_avltree_list.c: New file.
58348         * lib/gl_anyavltree_list1.h: New file.
58349         * lib/gl_anyavltree_list2.h: New file.
58350         * lib/gl_rbtree_list.h: New file.
58351         * lib/gl_rbtree_list.c: New file.
58352         * lib/gl_anyrbtree_list1.h: New file.
58353         * lib/gl_anyrbtree_list2.h: New file.
58354         * lib/gl_anytree_list1.h: New file.
58355         * lib/gl_anytree_list2.h: New file.
58356         * lib/gl_linkedhash_list.h: New file.
58357         * lib/gl_linkedhash_list.c: New file.
58358         * lib/gl_anyhash_list1.h: New file.
58359         * lib/gl_anyhash_list2.h: New file.
58360         * lib/gl_avltreehash_list.h: New file.
58361         * lib/gl_avltreehash_list.c: New file.
58362         * lib/gl_rbtreehash_list.h: New file.
58363         * lib/gl_rbtreehash_list.c: New file.
58364         * lib/gl_anytreehash_list1.h: New file.
58365         * lib/gl_anytreehash_list2.h: New file.
58366
58367         * lib/gl_oset.h: New file.
58368         * lib/gl_oset.c: New file.
58369         * lib/gl_array_oset.h: New file.
58370         * lib/gl_array_oset.c: New file.
58371         * lib/gl_avltree_oset.h: New file.
58372         * lib/gl_avltree_oset.c: New file.
58373         * lib/gl_rbtree_oset.h: New file.
58374         * lib/gl_rbtree_oset.c: New file.
58375         * lib/gl_anytree_oset.h: New file.
58376
58377 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
58378
58379         * m4/mkancesdirs.m4: New file.
58380         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
58381         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
58382         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
58383         it.
58384
58385 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
58386
58387         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
58388         * lib/mkancesdirs.h: New files.
58389         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
58390         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
58391         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
58392         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
58393         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
58394         callers changed.  Revamp internals significantly, by not
58395         attempting to create directories that are temporarily more
58396         permissive than the final results.  Do not attempt to use
58397         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
58398         This removes some race conditions, fixes some bugs, and simplifies
58399         things.  Use new dirchownmod function to do owner and mode changes.
58400         * lib/mkdir-p.h: Likewise.
58401         * lib/modechange.c (octal_to_mode): New function.
58402         (struct mode_change): New member mentioned.
58403         (make_node_op_equals): New arg mentioned.  All callers changed.
58404         (mode_compile): Keep track of which mode bits the user has explicitly
58405         mentioned.
58406         (mode_adjust): New arg DIR, so that we implement the X op correctly.
58407         New arg PMODE_BITS, to keep track of which mode bits the user
58408         mentioned; it treats S_ISUID and S_ISGID speciall.
58409         All callers changed.
58410         * lib/modechange.h: Likewise.
58411
58412 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
58413
58414         * MODULES.html.sh: Add mkancestors.
58415         * modules/mkancesdirs: New module.
58416         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
58417         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
58418         The chdir-safer and afs files are now orphans; I'll remove them
58419         unless someone speaks up.
58420         Add lib/dirchownmod.c, lib/dirchownmod.h.
58421         (Depends-on): Remove alloca, chown, save-cwd, dirname.
58422         Add lchown, mkancesdirs.
58423         (Maintainer): Add self.
58424
58425 2006-07-15  Karl Berry  <karl@gnu.org>
58426
58427         * gnulib-tool: help message wording/arrangement.
58428
58429 2006-07-14  Simon Josefsson  <jas@extundo.com>
58430
58431         * doc/gnulib.texi (Libtool and Windows): New section.
58432
58433 2006-07-12  Simon Josefsson  <jas@extundo.com>
58434
58435         * modules/gendocs (License): Fix license, approved by Karl.
58436
58437 2006-07-12  Eric Blake  <ebb9@byu.net>
58438
58439         * MODULES.html.sh: Add gendocs.
58440
58441 2006-07-11  Eric Blake  <ebb9@byu.net>
58442
58443         * modules/fdl: New module, to install doc/fdl.texi.
58444         * MODULES.html.sh: Add new section for documentation modules.
58445         * gnulib-tool: Avoid space-tab.
58446         (--doc-base): New option, to manage files from doc.
58447
58448 2006-07-11  Eric Blake  <ebb9@byu.net>
58449
58450         * m4/absolute-header.m4: Fix comments to match recent change.
58451
58452 2006-07-11  Eric Blake  <ebb9@byu.net>
58453
58454         * gnulib-tool: List --doc-base before --tests-base.
58455
58456 2006-07-11  Derek R. Price  <derek@ximbiot.com>
58457
58458         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
58459
58460 2006-07-11  Bruno Haible  <bruno@clisp.org>
58461
58462         * README: Mention where to put documentation.
58463
58464 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58465
58466         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
58467
58468 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
58469
58470         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
58471         to stdint.m4.
58472
58473 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
58474
58475         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
58476         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
58477         "no/such/file/stdint.h" when there is no such file, so that
58478         the resulting C code can be parsed by dodgy compilers.
58479         Problems reported by Bob Proulx.
58480
58481 2006-07-10  Derek R. Price  <derek@ximbiot.com>
58482
58483         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
58484         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
58485         macros into the GNU _D_EXACT_NAMLEN.
58486         * lib/savedir.c:  Likewise.
58487         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
58488
58489 2006-07-10  Derek R. Price  <derek@ximbiot.com>
58490         and Paul Eggert  <eggert@cs.ucla.edu>
58491
58492         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
58493         * m4/savedir.m4:
58494         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
58495         macros into the GNU _D_EXACT_NAMLEN.
58496
58497 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
58498
58499         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
58500         around the absolute name, to work around a problem with the HP-UX
58501         11.23 native C compiler, reported by Bob Proulx.
58502
58503 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
58504
58505         * doc/maintain.texi, make-stds.texi: Sync from
58506         <http://savannah.gnu.org/projects/gnustandards>.
58507
58508 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
58509
58510         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
58511
58512 2006-07-09  Jim Meyering  <jim@meyering.net>
58513
58514         * m4/glob.m4: Remove a doubled word in a comment.
58515
58516 2006-07-09  Jim Meyering  <jim@meyering.net>
58517
58518         * lib/argp-pv.c: Remove a doubled word in a comment.
58519         * lib/check-version.c (check_version): Likewise.
58520         * lib/javacomp.c (compile_java_class): Likewise.
58521
58522 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
58523
58524         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
58525         for the benefit of people using Autoconf 2.60.  If you want to
58526         support older Autoconf versions you can copy m4/onceonly_2_57.m4
58527         (or m4/onceonly.m4, if pre-2.57) manually.
58528
58529 2006-07-08  Jim Meyering  <jim@meyering.net>
58530
58531         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
58532         comment.
58533         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
58534         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
58535         comment.
58536
58537 2006-07-08  Jim Meyering  <jim@meyering.net>
58538
58539         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
58540
58541 2006-07-07  Simon Josefsson  <jas@extundo.com>
58542
58543         * tests/test-crc.c: Change expected crc value, the test vector
58544         were probably computed using the old broken crc.c?
58545
58546 2006-07-06  Simon Josefsson  <jas@extundo.com>
58547
58548         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
58549         now the canonical place for the M4 file).
58550
58551         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
58552         from the sys_socket dependency now.
58553
58554         * modules/inet_pton (Files): Ditto.
58555
58556         * modules/inet_ntop (Files): Ditto.
58557
58558 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
58559
58560         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
58561         not gl_PREREQ_GETUSERSHELL.
58562
58563 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58564
58565         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
58566         with only one argument, for Autoconf 2.60.
58567         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
58568         expand to nothing, so add a shell command to avoid syntax error.
58569         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
58570
58571 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58572
58573         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
58574
58575 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
58576
58577         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
58578         no longer needed.  Check for isblank decl.
58579         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
58580         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
58581         of existence.
58582
58583 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
58584
58585         * lib/getloadavg.c: Use __VMS, not VMS.
58586         * lib/getopt.c: Likewise.
58587         * lib/getpagesize.h: Likewise.
58588         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
58589         and probably does not work.
58590
58591 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
58592
58593         * lib/.cppi-disable: Add wcwidth.
58594         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
58595         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
58596         (ISGRAPH): Remove.  All uses changed to isgraph.
58597         (FOLD) [!defined _LIBC]: Remove special case.
58598         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
58599         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
58600         HAVE_ISBLANK.
58601         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
58602         case.
58603
58604 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
58605
58606         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
58607         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
58608         brackets.  Other minor changes to suppress some compiler
58609         warnings.
58610
58611 2006-07-06  Derek R. Price  <derek@ximbiot.com>
58612         and Paul Eggert  <eggert@cs.ucla.edu>
58613
58614         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
58615         of invoking obsolescent AC_HEADER_DIRENT macro.
58616         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
58617         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
58618         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
58619         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
58620         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
58621         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
58622         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
58623         * m4/readdir.m4: Remove; no longer needed.
58624
58625 2006-07-06  Derek R. Price  <derek@ximbiot.com>
58626         and Paul Eggert  <eggert@cs.ucla.edu>
58627
58628         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
58629         Don't worry about this obsolete case any more.
58630         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
58631         directories.
58632         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
58633         worry about this obsolete case any more.
58634         * lib/fts.c: Likewise.
58635         * lib/getcwd.c: Likewise.
58636         * lib/glob.h: Likewise.
58637         * lib/savedir.c: Likewise.
58638
58639 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
58640
58641         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
58642         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
58643         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
58644         needed.
58645         All uses removed.
58646         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
58647         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
58648         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
58649         needed.
58650         * m4/getdate.m4 (gl_GETDATE): Likewise.
58651         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
58652         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
58653         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
58654         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
58655         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
58656         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
58657         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
58658         needed.
58659
58660 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
58661
58662         * lib/memcasecmp.c: Include <limits.h>.
58663         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
58664         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
58665         Don't assume isdigit succeeds only on '0' through '9'.
58666
58667 2006-07-05  Eric Blake  <ebb9@byu.net>
58668
58669         * modules/getaddrinfo (Depends-on): Add snprintf.
58670
58671 2006-07-05  Eric Blake  <ebb9@byu.net>
58672
58673         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
58674         to avoid 'header present but could not be compiled' on cygwin.
58675
58676 2006-07-05  Eric Blake  <ebb9@byu.net>
58677
58678         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
58679         missing from netdb.h.
58680         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
58681
58682 2006-07-05  Derek R. Price  <derek@ximbiot.com>
58683
58684         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
58685         no longer needed.
58686         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
58687         * m4/getdate.m4 (gl_GETDATE): Likewise.
58688         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
58689         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
58690         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
58691         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
58692         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
58693
58694 2006-07-05  Derek R. Price  <derek@ximbiot.com>
58695
58696         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
58697         All uses of is_space replaced by isspace.
58698         * lib/exit.h: Don't talk about STDC_HEADERS.
58699         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
58700         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
58701         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
58702         replaced by isprint etc.
58703         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
58704         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
58705         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
58706         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
58707         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
58708         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
58709
58710 2006-07-05  Bruno Haible  <bruno@clisp.org>
58711
58712         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
58713         the function exists, before testing against AIX.
58714         Reported by Martin Lambers <marlam@marlam.de>.
58715
58716 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
58717
58718         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
58719         From Mark D. Baushke.
58720
58721 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
58722
58723         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
58724         to the absolute name, not just one, to bypass Sun C 5.8's
58725         "warning: #include of /usr/include/... may be non-portable".
58726
58727 2006-07-04  Eric Blake  <ebb9@byu.net>
58728
58729         * modules/dirname-tests: New test module.
58730         * tests/test-dirname.c: New file, replacing dirname.c
58731         TEST_DIRNAME section that was recently deleted.
58732
58733 2006-07-04  Bruno Haible  <bruno@clisp.org>
58734
58735         Assume ANSI C header files and <ctype.h> functions.
58736         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
58737         (mbsnwidth): Use isprint, iscntrl instead.
58738
58739 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
58740
58741         Merge from coreutils.
58742         * MODULES.html.sh: Add xstrtold.
58743         * modules/xstrtold: New file.
58744         * modules/cycle-check (Files): Add lib/same-inode.h.
58745         * modules/dirname (Files): Add m4/double-slash-root.m4.
58746         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
58747         * modules/mkdir-p (Files): Add lib/same-inode.h.
58748         * modules/same (Files): Add lib/same-inode.h.
58749
58750 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
58751
58752         * m4/absolute-header.m4: Renamed from full-header-path.m4.
58753         This is to keep the terminology clean; POSIX talks about
58754         "absolute pathnames", not "full pathnames", but the GNU
58755         Coding Standards say to use "path" for something else;
58756         so use "absolute" to keep both sides happy.
58757         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
58758         Set gl_absolute_header, not gl_full_header_path.
58759         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
58760         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
58761         All uses changed.
58762
58763         Merge from coreutils.
58764
58765         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
58766
58767         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
58768         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
58769         want to require the building of c-strtod.o.
58770         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
58771         needs -lm directly.
58772         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
58773
58774         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
58775
58776         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
58777         --as-needed option if available.  Problem reported by Albert Chin in
58778         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
58779         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
58780         cc merely issues a bunch of annoying warnings for --as-needed
58781         (this problem was reported by Bob Proulx).  Also, try linking with
58782         -lm to detect a bug in binutils 2.16 (this problem was reported
58783         by Ralf Wildenhues).
58784
58785         2006-06-18  Jim Meyering  <jim@meyering.net>
58786
58787         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
58788         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
58789         macro.
58790         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
58791         also check for glibc-2.4's abort-inducing bug.
58792
58793         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
58794         Low-probability clean-up should be to use rmdir to get rid of
58795         the just-created directory, not unlink.
58796
58797         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
58798         configure fail, and request a bug report to inform us about it.
58799         Add a comment that, barring reports to the contrary, in 2007 we'll
58800         assume ftruncate is universally available.
58801
58802         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
58803
58804         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
58805
58806         2006-03-12  Jim Meyering  <jim@meyering.net>
58807
58808         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
58809         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
58810         * m4/same.m4 (gl_SAME): Likewise.
58811         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
58812
58813         2006-03-11  Eric Blake  <ebb9@byu.net>
58814
58815         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
58816         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
58817         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
58818         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
58819
58820 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
58821
58822         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
58823         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
58824         reported by Mark D. Baushke, one in
58825         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
58826
58827         Merge from coreutils.
58828
58829         * lib/.cppi-disable: Add stdint_.h.
58830         * lib/.cvsignore: Add stdint.h.
58831
58832         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
58833
58834         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
58835         both double and long double versions.
58836         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
58837         * lib/xstrtold.c: New file.
58838         * lib/xstrtod.h (xstrtold): New decl.
58839
58840         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
58841
58842         * lib/filemode.c (setst): Remove.
58843         (strmode): Rewrite to avoid setst.  This makes the code shorter,
58844         (arguably) clearer, and the generated code is a bit smaller on my
58845         Debian GNU/Linux stable x86 host.
58846
58847         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
58848
58849         * lib/filemode.c: Include "filemode.h" first, to test the interface.
58850         Assume that filemode.h includes sys/types.h and sys/stat.h.
58851         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
58852         (ftypelet): Reorder to put common cases first, for efficiency.
58853         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
58854         to do 'M'.
58855         (strmode): Renamed from mode_string, and now stores 12 bytes instead
58856         of 10, for compatibility with FreeBSD.  All callers changed.
58857         (filemodestring): Now stores 12 bytes instead of 10, and sets file
58858         types that can't be deduced solely from st_mode.  First arg is now a
58859         const pointer.
58860         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
58861         (strmode): Renamed from mode_string.
58862         (filemodestring): New decl.
58863         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
58864         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
58865         needed.
58866         (S_ISPORT, S_ISWHT): New macros, if not already defined.
58867
58868         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
58869
58870         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
58871         fsusage.h now does that.  Include fsusage.h first, to test interface.
58872         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
58873         at most one method (the old code could have generated decls that
58874         didn't conform to C89, not that this was ever exercised).
58875         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
58876
58877         2006-03-19  Jim Meyering  <jim@meyering.net>
58878
58879         Work even in a chroot where d_ino values for entries in "/"
58880         don't match the stat.st_ino values for the same names.
58881         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
58882         number, iterate through all entries again, using lstat instead.
58883         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
58884         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
58885
58886         * lib/getcwd.c (__getcwd): Clarify a comment.
58887         Use memcpy in place of a call to strcpy.
58888
58889         2006-03-12  Jim Meyering  <jim@meyering.net>
58890
58891         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
58892         matches that of the current directory (which we're about to chdir ".."
58893         out of), then save the dev-ino of the parent, instead.
58894
58895         * lib/same-inode.h (SAME_INODE): New file/macro.
58896         * lib/chdir-safer.c (SAME_INODE): Remove definition.
58897         Include "same-inode.h", instead.
58898         * lib/same.c: Likewise.
58899         * lib/cycle-check.h: Include "same-inode.h".
58900         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
58901         * lib/cycle-check.c (SAME_INODE): Remove definition.
58902         * lib/root-dev-ino.h: Include "same-inode.h".
58903
58904         2006-03-11  Eric Blake  <ebb9@byu.net>
58905
58906         * lib/same.c (same_name): s/base_name/last_component/
58907         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
58908         * lib/filenamecat.c (file_name_concat): Likewise.
58909
58910         2006-03-11  Eric Blake  <ebb9@byu.net>,
58911                     Paul Eggert  <eggert@cs.ucla.edu>
58912
58913         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
58914         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
58915         drive prefix.
58916         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
58917         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
58918         (last_component): New method.
58919         * lib/dirname.c (dir_len): Determine when drive letters need a
58920         subsequent slash.  Preserve // when it is special.
58921         (dir_name): Don't append dot when drive letter is absolute.
58922         [TEST_DIRNAME]: Move into a full-blown gnulib test.
58923         * lib/basename.c (base_name): New semantics - malloc the result.
58924         Preserve // when it is special.  Preserve relative files that look
58925         like drive letters.
58926         (base_len): Preserve // when it is special.
58927         (last_component): New method, similar to old base_name semantics.
58928         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
58929         base_name.  Strip redundant slashes from ///.
58930
58931 2006-07-03  Jim Meyering  <jim@meyering.net>
58932
58933         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
58934         macro is used before the first cycle_check call.
58935
58936 2006-07-03  Eric Blake  <ebb9@byu.net>
58937
58938         * modules/dirname (Depends-on): Add xstrndup.
58939
58940 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
58941
58942         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
58943         test cases, so that config.log is a bit easier to follow.
58944
58945 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
58946
58947         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
58948         both are 64 bits, since this seems to be the tradition, and this
58949         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
58950         we ever run into a host that prefers long long to long in this
58951         case, we'll need another configure-time test.  Problem reported by
58952         Jim Meyering.
58953
58954 2006-07-02  Eric Blake  <ebb9@byu.net>
58955
58956         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
58957
58958 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
58959
58960         * modules/inttypes (Depends-on): No longer depends on stdint.
58961         * modules/stdint (Description): Say more about assumptions.
58962         Say that the fast types might differ.  Say macros are used.
58963         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
58964         (Makefile.am): Revise list of substituted symbols to match
58965         new stdint.m4.
58966         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
58967         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
58968         * tests/test-stdint.c (verify_same_types)
58969         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
58970         the code conforms to C99/C89.
58971         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
58972         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
58973
58974 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
58975
58976         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
58977         but fix a bug, by requiring at least 64 bits.
58978         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
58979         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
58980         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
58981         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
58982
58983         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
58984         changes.  Make 2.59 a prerequisite.  Check and substitute for
58985         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
58986         inttypes.h.  Do not use special include files; just use the
58987         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
58988         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
58989         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
58990         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
58991         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
58992         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
58993         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
58994         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
58995         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
58996         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
58997         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
58998         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
58999         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
59000         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
59001         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
59002         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
59003         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
59004         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
59005         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
59006         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
59007         WINT_MAX.  Check for C99 conformance more strictly, by detecting
59008         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
59009         not check for things that C99 does not require, e.g., int8_t.  If
59010         a test isn't needed unless <stdint.h> isn't working, and is
59011         unlikely to be needed for any other reason, then don't do it
59012         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
59013         size_t, since we assume C89 freestanding at least.  Do not check
59014         for sig_atomic_t, wchar_t, or wint_t, since the code now does
59015         the right thing even if the types are not defined.  Instead use:
59016         (gl_STDINT_TYPE_PROPERTIES): New macro.
59017         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
59018         testing whether <sys/types.h> clashes, as Autoconf does this for
59019         us now.  All uses removed.
59020         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
59021         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
59022         (gl_CHECK_TYPE_SAME):
59023         Remove; no longer needed.
59024         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
59025         exists, since we'll return 0 anyway in that case.
59026         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
59027
59028 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
59029
59030         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
59031         possible collision with system files.
59032         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
59033         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
59034         WCHAR_MIN and WCHAR_MAX in this case.
59035         (<stddef.h>): Do not include; no longer needed.
59036         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
59037         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
59038         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
59039         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
59040         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
59041         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
59042         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
59043         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
59044         !defined(__c99))]: Include in this case too, since it's harmless
59045         now.
59046         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
59047         dangerous to do so.
59048         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
59049         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
59050         (_STDINT_MIN, _STDINT_MAX): New macros.
59051         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
59052         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
59053         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
59054         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
59055         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
59056         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
59057         macros, not typedefs; this simplifies things quite a bit.
59058         Use long int for all types narrower than int64_t.
59059         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
59060         Define in terms of long long int or int64_t or long int,
59061         not int64_t or int32_t.  This saves some compile-time testing.
59062         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
59063         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
59064         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
59065         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
59066         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
59067         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
59068         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
59069         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
59070         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
59071         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
59072         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
59073         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
59074         undef any previous version and define our own version, for
59075         simplicity and consistency with the new macros for types.
59076         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
59077         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
59078         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
59079         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
59080         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
59081         @WINT_T_SUFFIX@ to keep things simple here.
59082         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
59083         Simplify by assuming typical 8/16/32/64 host, since we're
59084         already doing that elsewhere anyway.
59085         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
59086         and assume long long int is 64 bits if available.  This
59087         speeds up 'configure'.
59088
59089 2006-07-01  Eric Blake  <ebb9@byu.net>
59090
59091         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
59092         Reported by Andreas Buening.
59093
59094 2006-07-01  Eric Blake  <ebb9@byu.net>
59095
59096         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
59097
59098 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
59099
59100         * lib/getaddrinfo.c: fixed typo
59101
59102 2006-06-29  Jim Meyering  <jim@meyering.net>
59103
59104         * modules/strftime (Maintainer): Add my name, since with the
59105         FPRINTFTIME changes strftime.c has forked from glibc.
59106
59107 2006-06-29  Eric Blake  <ebb9@byu.net>
59108
59109         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
59110
59111 2006-06-29  Eric Blake  <ebb9@byu.net>
59112
59113         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
59114
59115 2006-06-29  Eric Blake  <ebb9@byu.net>
59116
59117         * lib/stat_.h: New file.
59118
59119 2006-06-29  Eric Blake  <ebb9@byu.net>
59120
59121         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
59122         unused static function.
59123
59124 2006-06-29  Eric Blake  <ebb9@byu.net>
59125
59126         * doc/functions.texi (Function Portability): Document missing lstat
59127         on mingw.
59128
59129 2006-06-29  Eric Blake  <ebb9@byu.net>
59130
59131         * MODULES.html.sh: Add sys_stat.
59132         * modules/sys_stat: New module.
59133         * modules/mkstemp (Depends-on): Add sys_stat.
59134
59135 2006-06-29  Derek R. Price  <derek@ximbiot.com>
59136
59137         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
59138
59139 2006-06-29  Derek R. Price  <derek@ximbiot.com>
59140
59141         * m4/c-bs-a.m4: Removed.
59142
59143 2006-06-29  Derek R. Price  <derek@ximbiot.com>
59144
59145         * lib/strftime.c: Assume strftime() exists.
59146
59147 2006-06-29  Derek Price  <derek@ximbiot.com>
59148
59149         * modules/c-bs-a: Removed - \a is C89.
59150         * MODULES.html.sh: Remove c-bs-a.
59151
59152 2006-06-29  Bruno Haible  <bruno@clisp.org>
59153
59154         * modules/wcwidth (License): Change to LGPL.
59155
59156 2006-06-28  Simon Josefsson  <jas@extundo.com>
59157
59158         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
59159         on _WIN32.
59160
59161         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
59162         getnameinfo.
59163
59164 2006-06-28  Simon Josefsson  <jas@extundo.com>
59165
59166         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
59167
59168 2006-06-28  Simon Josefsson  <jas@extundo.com>
59169
59170         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
59171         functions there.  It will succeed on Windows XP, but on Windows
59172         2000 and (presumably) earlier, it will fail, and use the internal
59173         re-implementation.
59174         (use_win32_p): New function.
59175         (getaddrinfo): Use strtoul on servname, to support numeric ports.
59176         Support AI_NUMERICSERV to disable getservbyname.
59177         (getnameinfo): New function, only supports
59178         NI_NUMERICHOST|NI_NUMERICSERV for now.
59179
59180         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
59181         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
59182         getnameinfo.
59183
59184 2006-06-28  Eric Blake  <ebb9@byu.net>
59185
59186         * modules/wcwidth: New file.
59187         * modules/mbchar (Depends-on): Add wcwidth.
59188         * modules/mbswidth (Depends-on): Add wcwidth.
59189         * MODULES.html.sh: Add wcwidth.
59190
59191 2006-06-28  Eric Blake  <ebb9@byu.net>
59192
59193         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
59194         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
59195
59196 2006-06-28  Eric Blake  <ebb9@byu.net>
59197
59198         * lib/xvasprintf.h: Fix comments.
59199
59200 2006-06-28  Eric Blake  <ebb9@byu.net>
59201
59202         * lib/mbchar.h (wcwidth): Include wcwidth.h.
59203         * lib/mbswidth.c (wcwidth): Move from here...
59204         * lib/wcwidth.h: ...to this new file.
59205
59206 2006-06-28  Derek R. Price  <derek@ximbiot.com>
59207
59208         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
59209
59210         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
59211         it's obsolete.
59212         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
59213
59214 2006-06-28  Derek R. Price  <derek@ximbiot.com>
59215
59216         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
59217         Autoconf 2.60 says this stuff was obsolete.
59218
59219 2006-06-28  Bruno Haible  <bruno@clisp.org>
59220
59221         * modules/wcwidth (Files): Add m4/wchar_t.m4.
59222
59223 2006-06-28  Bruno Haible  <bruno@clisp.org>
59224
59225         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
59226         gt_TYPE_WCHAR_T.
59227
59228 2006-06-28  Bruno Haible  <bruno@clisp.org>
59229
59230         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
59231         declaration for wcwidth.
59232         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
59233
59234 2006-06-28  Bruno Haible  <bruno@clisp.org>
59235
59236         * lib/mkdtemp.c [MINGW]: Include <io.h>.
59237         (mkdir): Define using _mkdir.
59238
59239 2006-06-28  Bruno Haible  <bruno@clisp.org>
59240
59241         * lib/getaddrinfo.h: Fix POSIX URL.
59242         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
59243         _WIN32.
59244         (use_win32_p): Make static.
59245         (getaddrinfo): Reject service name if it is empty or does not consist
59246         solely of decimal digits, or if its value is > 65535.
59247         (getnameinfo): Remove useless casts.
59248
59249 2006-06-27  Simon Josefsson  <jas@extundo.com>
59250
59251         * modules/sys_select: New file, suggested by Bruno Haible, Paul
59252         Eggert and Martin Lambers.
59253
59254 2006-06-27  Simon Josefsson  <jas@extundo.com>
59255
59256         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
59257         Eggert and Martin Lambers.
59258
59259 2006-06-27  Bruno Haible  <bruno@clisp.org>
59260
59261         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
59262         result to 0, not to empty.
59263         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
59264
59265 2006-06-27  Bruno Haible  <bruno@clisp.org>
59266
59267         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
59268
59269 2006-06-26  Simon Josefsson  <jas@extundo.com>
59270
59271         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
59272         present.
59273
59274 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
59275
59276         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
59277         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
59278         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
59279
59280 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
59281
59282         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
59283
59284 2006-06-26  Bruno Haible  <bruno@clisp.org>
59285
59286         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
59287
59288 2006-06-26  Bruno Haible  <bruno@clisp.org>
59289
59290         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
59291
59292 2006-06-26  Bruno Haible  <bruno@clisp.org>
59293
59294         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
59295         SGI C compiler in pre-C99 mode.
59296         Suggested by Mark D. Baushke and Larry Jones.
59297
59298 2006-06-26  Bruno Haible  <bruno@clisp.org>
59299
59300         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
59301         WCHAR_MAX.
59302         Reported by Mark D. Baushke and Larry Jones.
59303
59304 2006-06-26  Bruno Haible  <bruno@clisp.org>
59305
59306         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
59307         in pre-C99 mode.
59308         Suggested by Mark D. Baushke and Larry Jones.
59309
59310 2006-06-23  Simon Josefsson  <jas@extundo.com>
59311             Bruno Haible  <bruno@clisp.org>
59312
59313         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
59314         Emit mostlyclean-local rule.
59315         (func_emit_tests_Makefile_am): Likewise.
59316         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
59317
59318 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
59319
59320         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
59321
59322 2006-06-23  Bruno Haible  <bruno@clisp.org>
59323
59324         * tests/test-stdint.c: Update to match ISO C 99 Technical
59325         Corrigendum 1.
59326
59327 2006-06-23  Bruno Haible  <bruno@clisp.org>
59328
59329         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
59330
59331 2006-06-23  Bruno Haible  <bruno@clisp.org>
59332
59333         * lib/stdint_.h: Treat IRIX like OpenBSD.
59334
59335 2006-06-23  Bruno Haible  <bruno@clisp.org>
59336
59337         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
59338         ISO C 99 Technical Corrigendum 1.
59339
59340 2006-06-22  Simon Josefsson  <jas@extundo.com>
59341
59342         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
59343         MinGW.
59344
59345 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
59346
59347         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
59348         needed.  Some compiler complained about some of them.  Problem reported
59349         by Larry Jones in
59350         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
59351
59352 2006-06-21  Simon Josefsson  <jas@extundo.com>
59353
59354         * tests/test-getaddrinfo.c: New file.
59355
59356         * modules/getaddrinfo-tests: New file.
59357
59358         * MODULES.html.sh: Add inet_pton.
59359
59360         * modules/inet_pton: New file.
59361
59362 2006-06-21  Simon Josefsson  <jas@extundo.com>
59363
59364         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
59365         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
59366         of using the (limited) gnulib implementation on Windows XP.
59367
59368         * m4/inet_pton.m4: New file.
59369
59370 2006-06-21  Simon Josefsson  <jas@extundo.com>
59371
59372         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
59373         variable.
59374
59375         * lib/socket_.h: Don't define WINVER.
59376
59377         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
59378         slightly modified to work in gnulib.
59379
59380 2006-06-21  Simon Josefsson  <jas@extundo.com>
59381
59382         * doc/gnulib.texi (Windows sockets): Add.
59383
59384 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
59385
59386         * lib/read-file.c (fread_file): Start with buffer allocation of
59387         0 bytes rather than 1 byte; this simplifies the code.
59388         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
59389         code to free buffer and save/restore errno.
59390         (internal_read_file): Remove unused local.
59391
59392 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
59393
59394         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
59395         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
59396         Problem reported by Denis Excoffier in
59397         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
59398
59399 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59400
59401         * modules/sys_socket, modules/socklen: Include sys/types since
59402         FreeBSD 4.x's sys/socket.h needs it.
59403
59404 2006-06-19  Simon Josefsson  <jas@extundo.com>
59405
59406         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
59407
59408 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
59409
59410         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
59411
59412 2006-06-19  Bruno Haible  <bruno@clisp.org>
59413
59414         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
59415         and FULL_PATH_INTTYPES_H in angle brackets.
59416         Reported by Mark D. Baushke <mdb@gnu.org>.
59417
59418 2006-06-17  Eric Blake  <ebb9@byu.net>
59419
59420         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
59421         errno.
59422
59423 2006-06-17  Bruno Haible  <bruno@clisp.org>
59424
59425         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
59426         <sys/inttypes.h>.
59427
59428 2006-06-17  Bruno Haible  <bruno@clisp.org>
59429
59430         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
59431         whether errno is declared. Assume <errno.h> declares errno.
59432
59433 2006-06-17  Bruno Haible  <bruno@clisp.org>
59434
59435         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
59436
59437 2006-06-17  Bruno Haible  <bruno@clisp.org>
59438
59439         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
59440         problem on Solaris 2.5.1.
59441
59442 2006-06-16  Eric Blake  <ebb9@byu.net>
59443
59444         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
59445         * lib/unicodeio.c [!defined errno]: Likewise.
59446         * lib/strtol.c [!defined errno]: Likewise.
59447         * lib/strtod.c [!defined errno]: Likewise.
59448
59449 2006-06-15  Eric Blake  <ebb9@byu.net>
59450
59451         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
59452
59453 2006-06-15  Eric Blake  <ebb9@byu.net>
59454
59455         * config/srclist.txt (ssize_t.m4): Lose sync.
59456
59457 2006-06-15  Bruno Haible  <bruno@clisp.org>
59458
59459         * modules/stdint (Files): Include m4/full-header-path.m4,
59460         m4/size_max.m4, m4/wchar_t.m4.
59461         (Makefile.am): Many more substitutions.
59462         * modules/stdint-tests: New file.
59463         * tests/test-stdint.c: New file.
59464
59465 2006-06-15  Bruno Haible  <bruno@clisp.org>
59466
59467         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
59468         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
59469         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
59470         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
59471         gl_CHECK_TYPE_SAME): New macros.
59472
59473 2006-06-15  Bruno Haible  <bruno@clisp.org>
59474
59475         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
59476
59477 2006-06-15  Bruno Haible  <bruno@clisp.org>
59478
59479         * lib/stdint_.h: Rewritten to be fully auto-configured.
59480         Fixes bug on HP-UX/IA64.
59481
59482 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
59483
59484         * lib/getdate.y (__attribute__): Don't define if already defined.
59485         Problem reported by Larry Jones.
59486         * lib/utimens.c (__attribute__): Likewise.
59487
59488 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
59489
59490         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
59491         reported by Andreas Schwab.
59492
59493 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59494             Bruno Haible  <bruno@clisp.org>
59495
59496         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
59497         check for the declaration of strnlen and a run test that exposes the
59498         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
59499         rpl_strndup.
59500
59501 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59502             Bruno Haible  <bruno@clisp.org>
59503
59504         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
59505
59506 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59507
59508         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
59509         compile test, for Tru64 4.0D.
59510
59511 2006-05-28  Karl Berry  <karl@gnu.org>
59512
59513         * config/srclist.txt (printf-args.c): lose sync.
59514
59515 2006-05-26  Martin Lambers  <marlam@marlam.de>
59516
59517         * lib/getpass.c: Updates the test for the native W32 API, and adds
59518         missing includes, thus fixing compilation warnings.
59519
59520 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
59521
59522         * lib/exclude.c (exclude_fnmatch): New function.
59523         (excluded_file_name): Call exclude_fnmatch.
59524         * lib/exclude.h (excluded_file_name): New prototype
59525
59526 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
59527
59528         * lib/tempname.c (small_open, large_open): New macros.
59529         (__open, __open64) [!_LIBC]: Remove.
59530         (__gen_tempname): Use small_open and large_open instead of __open
59531         and __open64.  This fixes a portability bug on HP-UX 11.11i
59532         reported by Simon Wing-Tang in
59533         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
59534
59535 2006-05-24  Bruno Haible  <bruno@clisp.org>
59536
59537         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
59538         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
59539         Reported by Thorsten Maerz <torte@netztorte.de> via
59540         Aaron Stone <aaron@serendipity.cx>.
59541
59542 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
59543
59544         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
59545         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
59546         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
59547         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
59548         not really conditional on the cache.
59549         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
59550
59551 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
59552
59553         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
59554         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
59555         (my_usleep): Don't mishandle maximum value.
59556
59557 2006-05-19  Jim Meyering  <jim@meyering.net>
59558
59559         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
59560
59561 2006-05-17  Bruno Haible  <bruno@clisp.org>
59562
59563         Cygwin portability.
59564         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
59565
59566 2006-05-17  Bruno Haible  <bruno@clisp.org>
59567
59568         * lib/stdint_.h: Fix recognition of Cygwin.
59569
59570 2006-05-15  Bruno Haible  <bruno@clisp.org>
59571
59572         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
59573         on libtool patch by Ralf Wildenhues.
59574
59575 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
59576
59577         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
59578         test for C99 conformance; (bool) 0.5 is an integer constant
59579         expression, but (bool) -0.5 is not.  Problem reported by Fedor
59580         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
59581
59582 2006-05-11  Simon Josefsson  <jas@extundo.com>
59583
59584         * m4/xvasprintf.m4: Fix obvious typo.
59585
59586 2006-05-11  Jim Meyering  <jim@meyering.net>
59587
59588         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
59589         James Lemley.
59590
59591 2006-05-10  Simon Josefsson  <jas@extundo.com>
59592
59593         * lib/md4.c: Typo fix, update copyright years.
59594         (K1, K2): Don't use L because it turn computations into 64-bit on
59595         64-bit platforms.
59596
59597 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
59598
59599         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
59600         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
59601         unwanted sign propagation, e.g., on hosts with 64-bit int.
59602         There still are some problems with reeelly weird theoretical hosts
59603         (e.g., 33-bit int) but it's not worth worrying about now.
59604         * lib/sha1.c (rol): Likewise.
59605         (K1, K2, K3, K4): Remove unnecessary L suffix.
59606
59607 2006-05-10  Bruno Haible  <bruno@clisp.org>
59608
59609         * lib/des.c: Cast to avoid warnings.
59610
59611 2006-05-09  Bruno Haible  <bruno@clisp.org>
59612
59613         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
59614         (Depends-on): Depend also on xsize, stdarg.
59615         (configure.ac): Add gl_XVASPRINTF.
59616
59617 2006-05-09  Bruno Haible  <bruno@clisp.org>
59618
59619         * m4/xvasprintf.m4: New file.
59620
59621 2006-05-09  Bruno Haible  <bruno@clisp.org>
59622
59623         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
59624         (EOVERFLOW): Define fallback value.
59625         (xstrcat): New function.
59626         (xvasprintf): Recognize the special case of a string concatenation.
59627
59628 2006-05-08  Eric Blake  <ebb9@byu.net>
59629
59630         * gnulib-tool (func_version): Base copyright year on CVS date.
59631         (func_emit_copyright_notice): New function.
59632         (func_emit_lib_Makefile_am): Use it.
59633         (func_emit_tests_Makefile_am): Likewise.
59634         (func_import): Likewise.
59635
59636 2006-05-08  Bruno Haible  <bruno@clisp.org>
59637
59638         * modules/stdarg: New file.
59639         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
59640
59641 2006-05-08  Bruno Haible  <bruno@clisp.org>
59642
59643         * m4/stdarg.m4: New file, from GNU gettext.
59644
59645 2006-05-08  Bruno Haible  <bruno@clisp.org>
59646
59647         * config/srclist.txt (build-aux/config.rpath): different from latest
59648         release.
59649
59650 2006-05-08  Bruno Haible  <bruno@clisp.org>
59651
59652         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
59653
59654 2006-05-05  Jim Meyering  <jim@meyering.net>
59655
59656         * m4/warning.m4: New file, derived from bison's file by the same name.
59657
59658 2006-05-03  Bruno Haible  <bruno@clisp.org>
59659
59660         * lib/stdint_.h: Shorter URL.
59661         * lib/inttypes.h: Likewise.
59662
59663 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
59664
59665         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
59666
59667 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
59668
59669         * lib/verify.h: Document the internals better.  Most of this change
59670         was written by Bruno Haible.
59671
59672 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
59673
59674         * doc/verify.texi: New file, partly based on a proposal by
59675         Bruno Haible.
59676
59677 2006-05-02  Bruno Haible  <bruno@clisp.org>
59678
59679         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
59680         test from here...
59681         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
59682
59683 2006-04-29  Bruno Haible  <bruno@clisp.org>
59684
59685         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
59686         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
59687
59688 2006-04-29  Bruno Haible  <bruno@clisp.org>
59689
59690         * gnulib-tool: Make --update option actually work.
59691
59692 2006-04-29  Bruno Haible  <bruno@clisp.org>
59693
59694         * doc/gcd.texi: New file.
59695         * doc/gnulib.texi: Include it.
59696
59697 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
59698
59699         * lib/getdate.y (get_date): When adding relative date, start with the
59700         initial time, not with the result of the first mktime call.
59701
59702 2006-04-25  Bruno Haible  <bruno@clisp.org>
59703
59704         * gnulib-tool (func_import): Output the include directives in three
59705         blocks, sorted separately.
59706         Reported by Ben Pfaff <blp@cs.stanford.edu>.
59707
59708 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
59709
59710         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
59711         to define main with arguments, for C++.  Reported by Eric Blake.
59712         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
59713         Prefer 'int main ()' to 'int main (void)', for C++.
59714         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
59715         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
59716         for 'main', for C99 and C++.
59717
59718 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
59719
59720         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
59721         Don't assume that exit status -1 is valid.
59722         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
59723         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
59724         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
59725         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
59726         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
59727         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
59728         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
59729         functions can be used without declaring them, or that you can
59730         exit with status -1.
59731         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
59732
59733 2006-04-24  Karl Berry  <karl@gnu.org>
59734
59735         * config/srclist.txt (longdouble.m4): sync lost.
59736
59737 2006-04-24  Eric Blake  <ebb9@byu.net>
59738
59739         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
59740
59741 2006-04-24  Bruno Haible  <bruno@clisp.org>
59742
59743         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
59744         poll() implementation in AIX.
59745         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59746
59747 2006-04-24  Bruno Haible  <bruno@clisp.org>
59748
59749         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
59750         assigned exactly once.
59751
59752 2006-04-23  Claudio Fontana  <claudio@gnu.org>
59753             Bruno Haible  <bruno@clisp.org>
59754
59755         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
59756         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
59757         for AM_CPPFLAGS.
59758
59759 2006-04-23  Bruno Haible  <bruno@clisp.org>
59760
59761         * modules/copy-file: Depend on unistd.
59762         * modules/execute: Likewise.
59763         * modules/fatal-signal: Likewise.
59764         * modules/findprog: Likewise.
59765         * modules/mkdtemp : Likewise.
59766         * modules/pipe: Likewise.
59767         * modules/wait-process: Likewise.
59768
59769 2006-04-23  Bruno Haible  <bruno@clisp.org>
59770
59771         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
59772         condition was already detected.
59773         Reported by Ben Pfaff <blp@cs.stanford.edu>.
59774
59775 2006-04-23  Bruno Haible  <bruno@clisp.org>
59776
59777         * lib/copy-file.c: Include <unistd.h> unconditionally.
59778         * lib/execute.c: Likewise.
59779         * lib/fatal-signal.c: Likewise.
59780         * lib/findprog.c: Likewise.
59781         * lib/mkdtemp.c: Likewise.
59782         * lib/pipe.h: Likewise.
59783         * lib/pipe.c: Likewise.
59784         * lib/wait-process.h: Likewise.
59785
59786 2006-04-23  Bruno Haible  <bruno@clisp.org>
59787
59788         * gnulib-tool (func_usage): Fix --import description. Document
59789         --update.
59790         (func_import): Create temporary file in a temporary directory, if
59791         --dry-run is specified. Silence errors from 'grep' when there are no
59792         m4 files in $m4dir.
59793         (func_create_testdir): Silence errors from 'grep' when there are no
59794         m4 files in $m4dir.
59795         Reported by Karl Berry <karl@freefriends.org>.
59796
59797 2006-04-20  Bruno Haible  <bruno@clisp.org>
59798
59799         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
59800         one argument, so that the code will be portable to Autoconf 2.60.
59801         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
59802         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
59803         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
59804
59805 2006-04-19  Derek Price  <derek@ximbiot.com>
59806             Eric Blake  <ebb9@byu.net>
59807
59808         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
59809         rather than "/full/path.h".  Update comment to match.  Shorten &
59810         generalize m4_translit call via AS_TR_CPP.
59811
59812 2006-04-19  Derek Price  <derek@ximbiot.com>
59813             Eric Blake  <ebb9@byu.net>
59814
59815         * lib/inttypes.h: Correct grammar in comment.
59816
59817 2006-04-18  Derek Price  <derek@ximbiot.com>
59818             Paul Eggert  <eggert@cs.ucla.edu>
59819
59820         * modules/inttypes: New file.
59821         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
59822
59823 2006-04-18  Derek Price  <derek@ximbiot.com>
59824             Paul Eggert  <eggert@cs.ucla.edu>
59825
59826         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
59827         New files.
59828
59829 2006-04-18  Derek Price  <derek@ximbiot.com>
59830             Paul Eggert  <eggert@cs.ucla.edu>
59831
59832         * lib/inttypes.h: New file.
59833         * lib/strtoimax.c: Assume <inttypes.h>.
59834
59835 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
59836
59837         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
59838         isn't mounted.  Problem reported by Kir Kolyshkin.
59839
59840 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
59841
59842         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
59843         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
59844         Derek R. Price.
59845         * lib/regex.h (RE_DUP_MAX): Update comment to match current
59846         implementation.
59847
59848 2006-04-12  Eric Blake  <ebb9@byu.net>
59849
59850         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
59851         is now done automatically by the corresponding Autoconf macro.
59852
59853 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
59854
59855         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
59856         time_r.h.
59857
59858 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
59859
59860         Merge regex changes from libc, removing some of our
59861         POSIX-conformance changes that were rejected and redoing them in a
59862         less-intrusive way.
59863
59864         * lib/regcomp.c (re_compile_internal, init_dfa):
59865         Length arg is now size_t, not Idx.  All uses changed.
59866         (peek_token): Forward decl now says internal_function.
59867         (__re_error_msgid, __re_error_msgid_idx):
59868         Now static rather than extern with attribute_hidden.
59869         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
59870         For some reason libc prefers K&R style defns for external functions.
59871         (regerror) [!defined _LIBC]: Likewise.
59872         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
59873         (seek_collating_symbol_entry, lookup_collation_sequence_value):
59874         (build_range_exp, build_collating_symbol):
59875         Use K&R-style defn.
59876         (re_compile_fastmap): Use '\0' to memset, not 0.
59877         (utf8_sb_map): Make the calculations more obvious.
59878         (init_dfa, parse_bracket_exp, build_charclass_op):
59879         Call calloc and cast result, as glibc does.
59880         (init_word_char, fetch_token, peek_token, peek_token_bracket):
59881         (build_range_exp, build_collating_symbol):
59882         Now internal functions.
59883
59884         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
59885
59886         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
59887         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
59888         Don't depend on VMS; depend on __VMS instead, for POSIX
59889         namespace cleanness.
59890         (regoff_t): Define to ssize_t, not long int.
59891
59892         Remove the REG_ macros named below.  Instead, make the old names
59893         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
59894         __USE_GNU_REGEX.
59895         (REG_BACKSLASH_ESCAPE_IN_LISTS):
59896         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
59897         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
59898         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
59899         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
59900         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
59901         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
59902         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
59903         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
59904         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
59905         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
59906         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
59907         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
59908         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
59909         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
59910         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
59911         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
59912         (REG_NREGS):
59913         Remove.  All uses replaced by the old RE_* names.
59914         (RE_BACKSLASH_ESCAPE_IN_LISTS):
59915         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
59916         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
59917         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
59918         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
59919         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
59920         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
59921         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
59922         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
59923         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
59924         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
59925         Don't bother having these macros be independent of each others'
59926         values, since they no longer exist in the POSIX name space.
59927
59928         Rename the following member names back to their old names,
59929         unless !__USE_GNU_REGEX.  All uses changed back.
59930         (buffer): Renamed from re_buffer.
59931         (allocated): Renamed from re_allocated.
59932         (used): Renamed from re_used.
59933         (syntax): Renamed from re_syntax.
59934         (fastmap): Renamed from re_fastmap.
59935         (translate): Renamed from re_translate.
59936         (can_be_null): Renamed from re_can_be_null.
59937         (regs_allocated): Renamed from re_regs_allocated.
59938         (fastmap_accurate): Renamed from re_fastmap_accurate.
59939         (no_sub): Renamed from re_no_sub.
59940         (not_bol): Renamed from re_not_bol.
59941         (not_eol): Renamed from re_not_eol.
59942         (newline_anchor): Renamed from re_newline_anchor.
59943         (num_regs): Renamed from rm_num_regs.
59944         (start): Renamed from rm_start.
59945         (end): Renamed from rm_end.
59946
59947         (free_state): Move up a bit.
59948
59949         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
59950         #define to be empty.
59951         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
59952         when that is what is intended.
59953         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
59954         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
59955         (MAX): New macro.
59956         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
59957         All uses changed back to re_malloc, etc.  It's now the caller's
59958         responsibility to check for overflow; all callers changed.
59959         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
59960         (re_x2nrealloc): Remove.
59961         (free_state): Remove decl.
59962
59963         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
59964         (re_set_registers, re_exec):
59965         Use K&R-style defn.
59966
59967         2006-01-31  Roland McGrath  <roland@redhat.com>
59968
59969         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
59970         Reported by Mike Frysinger <vapier@gentoo.org>.
59971
59972         2006-01-15  Andreas Jaeger  <aj@suse.de>
59973
59974         [BZ #1950]
59975         * lib/regex_internal.c (re_string_reconstruct): Adjust for
59976         build_wcs_upper_buffer change.
59977         (build_wcs_upper_buffer): Change return type.
59978
59979         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
59980
59981         * lib/regex_internal.h: Include <stdint.h> if available.
59982
59983         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
59984
59985         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
59986
59987         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
59988
59989         * lib/regcomp.c: Adjust for changed secondary hash function.
59990
59991         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
59992
59993         * lib/regex.h: Pretty printing.
59994         Clean up namespace a bit.
59995
59996         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
59997
59998         * lib/regexec.c (update_cur_sifted_state, check_arrival,
59999         check_arrival_add_next_nodes): Avoid using uninitialized variable.
60000
60001         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
60002                     Ulrich Drepper  <drepper@redhat.com>
60003
60004         [BZ #1302]
60005         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
60006         changed.
60007         (bitset_word_t): Renamed from bitset_word.  All uses changed.
60008
60009         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
60010
60011         [BZ #281]
60012         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
60013         * lib/regcomp.c: Remove unnecessary uses of
60014         unsigned RE_TRANSLATE_TYPE.
60015         * lib/regex_internal.h: Likewise.
60016         * lib/regex_internal.c: Likewise.
60017         * lib/regexec.c: Likewise.
60018         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
60019
60020         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
60021
60022         * lib/regexec.c (find_recover_state): Remove unnecessary
60023         initialization.
60024         (transit_state_bkref): Make DFA a const pointer.
60025         (get_subexp): Likewise.
60026         (check_arrival): Likewise.
60027         (update_cur_sifted_state): Likewise.
60028         (re_search_internal): Likewise.
60029         (prune_impossible_nodes): Likewise.
60030         (acquire_init_state_context): Likewise.
60031         (proceed_next_node): Likewise.
60032         (set_regs): Likewise.
60033         (free_fail_stack_return): Likewise.
60034         (check_arrival_expand_ecl): Mark DFA parameter as const.
60035         (check_arrival_expand_ecl_sub): Likewise.
60036         (check_subexp_limits): Likewise.
60037         (sub_epsilon_src_nodes):  Likewise.
60038         (add_epsilon_src_nodes):  Likewise.
60039         (merge_state_array): Likewise.
60040         (update_regs): Likewise.
60041         (build_trtable): Likewise.
60042         (sift_states_backward): Mark MCTX parameter as const.
60043         (build_sifted_states): Likewise.
60044         (update_cur_sifted_state): Likewise.
60045         (sift_states_mkref): Likewise.
60046         (check_arrival_expand_ecl): Mark eclosure as const.
60047         (check_dst_limits_calc_pos_1): Likewise.
60048         * lib/regex_internal.h (re_match_context_t): Make dfa a const
60049         pointer.
60050
60051         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
60052
60053         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
60054         (transit_state_sb): Likewise.
60055         (transit_state_mb): Likewise.
60056         (sift_states_iter_mb): Likewise.
60057         (check_arrival_add_next_nodes): Likewise.
60058         (check_node_accept_bytes): Change first parameter to pointer-to-const.
60059         [_LIBC] (re_search_2_stub): Use mempcpy.
60060
60061         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
60062         mbrtowc for very simple UTF-8 case.
60063
60064         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
60065         a pointer-to-const.
60066         (re_acquire_state_context): Likewise.
60067         * lib/regex_internal.h: Adjust prototypes.
60068
60069         * lib/regex.c: Prevent using C++ compilers.
60070
60071         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
60072         (re_acquire_state_context): Likewise.
60073
60074 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
60075
60076         * modules/regex (Depends-on): Add ssize_t.
60077
60078 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
60079
60080         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
60081         translation table.
60082
60083 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
60084
60085         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
60086
60087 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
60088             Bruno Haible  <bruno@clisp.org>
60089
60090         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
60091         <sys/types.h> and <inttypes.h>.
60092
60093 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60094
60095         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
60096         `__error_t_defined', so argp.h will not typedef the former.
60097
60098 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
60099
60100         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
60101         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
60102         glibc names.  Even if glibc is changed to conform to POSIX, the
60103         traditional names will be available anyway, since regex depends on
60104         the extensions module.  Also, fix a longstanding typo in the
60105         implementation of Spencer ERE test #75 from grep 2.3.  Problems
60106         reported by Emanuele Giaquinta.  Also, change sense of cached
60107         variable, so that the message makes sense.
60108
60109 2006-03-24  Simon Josefsson  <jas@extundo.com>
60110
60111         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
60112         including some doc fixes.
60113         (base64_encode_alloc): Fix +1 bug on allocation failures.
60114
60115 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60116
60117         * lib/base64.c (base64_encode): Do not read past end of array with
60118         unsanitized input on systems with CHAR_BIT > 8.
60119
60120 2006-03-24  Eric Blake  <ebb9@byu.net>
60121
60122         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
60123
60124 2006-03-22  Karl Berry  <karl@gnu.org>
60125
60126         * config/srclist.txt (*setenv.[ch]): get from coreutils.
60127         * config/srclistvars.sh (COREUTILS): new var.
60128
60129 2006-03-17  Jim Meyering  <jim@meyering.net>
60130
60131         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
60132         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
60133
60134 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
60135
60136         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
60137         no longer needs it.  Instead, check that regoff_t is as least
60138         as wide as ptrdiff_t.
60139
60140         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
60141         so that our regex.h stays compatible with the installed regex.
60142         This is helpful for installers who configure --without-included-regex.
60143         Problem reported by Emanuele Giaquinta.
60144
60145 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
60146
60147         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
60148         Typedef to long int, not to off_, as POSIX will likely change
60149         in that direction.
60150
60151 2006-03-15  Eric Blake  <ebb9@byu.net>
60152
60153         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
60154
60155 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
60156
60157         * lib/argp-help.c (validate_uparams): Fix typo
60158         * lib/argp-parse.c (argp_default_options): Consistently begin help
60159         messages with a lowercase letter.
60160
60161 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
60162
60163         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
60164         overrun buffers and shouldn't be used (much as gets shouldn't be
60165         used).
60166         * lib/time_r.c (asctime_r, ctime_r): Likewise.
60167
60168 2006-03-08  Simon Josefsson  <jas@extundo.com>
60169
60170         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
60171         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60172
60173 2006-03-08  Simon Josefsson  <jas@extundo.com>
60174
60175         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
60176         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60177
60178 2006-03-08  Simon Josefsson  <jas@extundo.com>
60179
60180         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
60181         signal that configure disabled the device.
60182
60183 2006-03-08  Simon Josefsson  <jas@extundo.com>
60184
60185         * build-aux/maint.mk: Fix refresh-po, to handle no translated
60186         languages.
60187
60188 2006-03-07  Simon Josefsson  <jas@extundo.com>
60189
60190         * modules/getopt (Depends-on): Add unistd.
60191
60192         * modules/unistd: New file.
60193
60194 2006-03-07  Simon Josefsson  <jas@extundo.com>
60195
60196         * modules/gc-random: New file.
60197
60198 2006-03-07  Simon Josefsson  <jas@extundo.com>
60199
60200         * m4/unistd_h.m4: New file.
60201
60202 2006-03-07  Simon Josefsson  <jas@extundo.com>
60203
60204         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
60205         test to be side-effect free by storing the result in the cache
60206         variable gl_cv_lib_readline, and moving the assignment of
60207         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
60208         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60209
60210 2006-03-07  Simon Josefsson  <jas@extundo.com>
60211
60212         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
60213         error on missing devices (the functions will return an error).
60214
60215         * m4/gc.m4: Move random stuff to gc-random.m4
60216
60217 2006-03-07  Simon Josefsson  <jas@extundo.com>
60218
60219         * lib/unistd_.h: New file.
60220
60221 2006-03-07  Simon Josefsson  <jas@extundo.com>
60222
60223         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
60224
60225 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
60226
60227         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
60228         Problem reported by Juan Manuel Guerrero.
60229
60230 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
60231
60232         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
60233         the unistd module.
60234         * lib/getlogin_r.c: Likewise.
60235         * lib/getlogin_r.h: Likewise.
60236         * lib/glob.c: Likewise.
60237         * lib/pagealign_alloc.c: Likewise.
60238         * lib/unistd_.h: Remove; no longer needed.
60239
60240 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
60241
60242         * MODULES.html.sh (Support for systems lacking POSIX:2001):
60243         Add unistd.
60244         * modules/c-stack (Depends-on): Add unistd.
60245         * modules/getlogin_r: Likewise.
60246         * modules/glob: Likewise.
60247         * modules/pagealign_alloc: Likewise.
60248         * modules/unistd (Files): Remove lib/unistd_.h.
60249         (EXTRA_DIST): Remove.
60250         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
60251         need unistd_.h.
60252         (MOSTLYCLEANFILES): Remove unistd.h-t.
60253
60254 2006-03-03  Simon Josefsson  <jas@extundo.com>
60255
60256         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
60257
60258 2006-03-03  Simon Josefsson  <jas@extundo.com>
60259
60260         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
60261         libidn and bison.
60262
60263 2006-03-03  Simon Josefsson  <jas@extundo.com>
60264
60265         * build-aux/maint.mk: Add indent target.
60266
60267 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
60268
60269         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
60270         our replacement poll.h in any case, to avoid a differing
60271         declaration from a system header.  Seen on AIX.
60272
60273 2006-03-01  Simon Josefsson  <jas@extundo.com>
60274
60275         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
60276         <kasal@ucw.cz>.
60277
60278 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
60279
60280         * modules/gettime (Depends-on): Add extensions module.
60281         * modules/nanosleep (Depends-on): Likewise.
60282         * modules/settime (Depends-on): Likewise.
60283
60284 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
60285
60286         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
60287         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
60288         pedantically.
60289         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
60290         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
60291
60292         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
60293         not "==".  Reported by Ralf Wildenhues.
60294
60295 2006-03-01  Karl Berry  <karl@gnu.org>
60296
60297         * doc/Copyright/request-*: new files, synced from gnuorg.
60298
60299 2006-03-01  Karl Berry  <karl@gnu.org>
60300
60301         * config/srclist.txt (Copyright/*): new entries.
60302
60303 2006-02-28  Simon Josefsson  <jas@extundo.com>
60304
60305         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
60306
60307 2006-02-27  Simon Josefsson  <jas@extundo.com>
60308
60309         * lib/base64.h: Indent #define's.  From Jim Meyering
60310         <jim@meyering.net>.
60311
60312 2006-02-27  Jim Meyering  <jim@meyering.net>
60313
60314         Revert the change of 2006-02-24, so these files can continue
60315         to be sync'd from gettext.
60316         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
60317         of `config.h'.
60318
60319 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
60320
60321         * modules/intprops: New file.
60322         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
60323         Add intprops.
60324         * modules/getloadavg (Files): Remove lib/intprops.h.
60325         (Depends-on): Add intprops.
60326         * modules/human: Likewise.
60327         * modules/inttostr: Likewise.
60328         * modules/openat: Likewise.
60329         * modules/sig2str: Likewise.
60330         * modules/userspec: Likewise.
60331         * modules/utimecmp: Likewise.
60332         * modules/xnanosleep: Likewise.
60333         * modules/xstrtol: Likewise.
60334
60335 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
60336
60337         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
60338         * modules/lock-tests (TESTS): Use $(EXEEXT).
60339         * modules/tls-tests: Likewise.
60340         * modules/argp-tests: Likewise.
60341         (check_PROGRAMS): New var, replacing...
60342         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
60343
60344 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60345
60346         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
60347         `config.h'.
60348
60349 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
60350
60351         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
60352
60353 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60354
60355         Sync from coreutils.
60356         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
60357         gl_CHDIR_SAFER.
60358
60359 2006-02-22  Jim Meyering  <jim@meyering.net>
60360
60361         Sync from coreutils.
60362         * m4/chdir-safer.m4: New file.
60363
60364 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
60365
60366         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
60367         AT_FDCWD exceeds INT_MAX.
60368         * lib/openat.h (AT_FDCWD): Likewise.
60369
60370 2006-02-17  Eric Blake  <address@hidden>
60371
60372         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
60373
60374 2006-02-16  Simon Josefsson  <jas@extundo.com>
60375
60376         * modules/getaddrinfo (Depends-on): Add sys_socket.
60377
60378 2006-02-15  Simon Josefsson  <jas@extundo.com>
60379
60380         * build-aux/maint.mk: Add dsyntax-check rule.
60381
60382 2006-02-15  Eric Blake  <ebb9@byu.net>
60383
60384         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
60385         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
60386         'present but cannot compile' warnings on cygwin.
60387         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
60388         use ws2tcpip.h if sys/socket.h works.
60389         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
60390         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
60391
60392 2006-02-14  Simon Josefsson  <jas@extundo.com>
60393
60394         * modules/maintainer-makefile (Files): Rename.
60395
60396         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
60397         and (the local) Makefile.cfg to maint-cfg.mk.
60398
60399         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
60400         to the latter.
60401
60402         * modules/maintainer-makefile: New module.
60403
60404         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
60405         severaly stripped to make it possible to build it up from scratch
60406         with reliable tests.
60407
60408         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
60409         fixes to permit overriding the default actions when configure and
60410         makefile are not available.
60411
60412 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
60413
60414         Sync from coreutils.
60415         * modules/lstat (Depends-on): Don't depend on xalloc.
60416         (License): Change from GPL to LGPL, since this is now simply a
60417         replacement for a libc function.
60418
60419 2006-02-14  Jim Meyering  <jim@meyering.net>
60420
60421         Sync from coreutils.
60422
60423         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
60424         failure on deficient systems, and simplify gnulib lgpl dependencies.
60425         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
60426         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
60427
60428         * lib/xalloc-die.c: Remove unused definition of N_.
60429
60430 2006-02-14  Jim Meyering  <jim@meyering.net>
60431
60432         Sync from coreutils.
60433         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
60434         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
60435         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
60436         double-quote uses of that variable, to accommodate the rare case in
60437         which getmntent is available in none of the libraries checked.  This
60438         happens at least on FreeBSD 5.0.
60439
60440 2006-02-13  Simon Josefsson  <jas@extundo.com>
60441
60442         * gnulib-tool (Usage): Fix --import, from
60443         karl@freefriends.org (Karl Berry).
60444
60445 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
60446
60447         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
60448
60449 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
60450
60451         * lib/argp-namefrob.h: Restore changes accidentally lost during the
60452         "autoupdate" on 2005-12-12.
60453
60454 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
60455
60456         * modules/closeout (Depends-on): Remove atexit.
60457
60458 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
60459
60460         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
60461         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
60462
60463 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
60464
60465         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
60466         __EXTENSIONS__ if this causes compilation to fail.  Problem
60467         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
60468         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
60469
60470 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
60471
60472         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
60473         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
60474         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
60475         All uses changed.
60476
60477 2006-01-26  Simon Josefsson  <jas@extundo.com>
60478
60479         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
60480         prototype is visible on mingw32.
60481
60482         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
60483         for mingw32.
60484
60485         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
60486         mingw32).
60487
60488 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
60489
60490         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
60491         attempt to open for write; this always fails, at least on POSIX
60492         hosts.  This reinstates the 2006-01-09 change, which was
60493         inadvertently removed.
60494
60495 2006-01-26  Bruno Haible  <bruno@clisp.org>
60496
60497         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
60498         Reported by Paul Eggert.
60499
60500 2006-01-26  Bruno Haible  <bruno@clisp.org>
60501             Paul Eggert  <eggert@cs.ucla.edu>
60502
60503         * lib/stdbool_.h (_Bool)
60504         [(! (defined __cplusplus || defined __BEOS__)
60505           && !defined __GNUC__
60506           && !(defined __HP_cc || defined __xlc__
60507                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
60508                || defined __sgi))]:
60509         #define to signed char in these cases too; this simplifies
60510         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
60511         etc., separately) and makes it more conservative.
60512
60513 2006-01-25  Simon Josefsson  <jas@extundo.com>
60514
60515         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
60516         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
60517         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
60518
60519 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
60520
60521         * lib/argp-namefrob.h: Bugfix. Remove stray #
60522
60523 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
60524
60525         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
60526         so that we test the test.
60527         Check for yet another HP-UX cc bug involving *bool |= bool.
60528
60529 2006-01-25  Karl Berry  <karl@gnu.org>
60530
60531         * config/srclist.txt (vasnprintf.c): sync lost.
60532
60533 2006-01-25  Jim Meyering  <jim@meyering.net>
60534
60535         Sync from the stable (b5) branch of coreutils:
60536
60537         * lib/fts.c (fts_children): Don't let close() clobber errno from
60538         failed fchdir().
60539
60540         * lib/fts.c (fts_stat): When following a symlink-to-directory,
60541         don't necessarily interpret stat-fails+lstat-succeeds as indicating
60542         a dangling symlink.  That can also happen at least for ELOOP.
60543         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
60544         FYI, this bug predates the inclusion of fts.c in coreutils.
60545
60546         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
60547         in their own block, so pre-c99 compilers don't object.
60548
60549         Avoid the double-free (first in fts_read, second in fts_close) that
60550         would occur when an `active' directory is made inaccessible (e.g.,
60551         via chmod a-x) during a traversal.
60552         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
60553         before returning.  Reproduce this failure by
60554         mkdir -p a/b; cd a; chmod a-x . b
60555         Reported by Stavros Passas.
60556
60557 2006-01-25  Jim Meyering  <jim@meyering.net>
60558
60559         * lib/fileblocks.c: Remove more useless parentheses.
60560         * lib/readutmp.h: Likewise.
60561
60562 2006-01-25  Bruno Haible  <bruno@clisp.org>
60563
60564         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
60565         warnings.
60566         Reported by Paul Eggert.
60567
60568 2006-01-25  Bruno Haible  <bruno@clisp.org>
60569
60570         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
60571         rid of a trap command. For Solaris sh.
60572         Reported by Mark D. Baushke <mdb@gnu.org>.
60573
60574 2006-01-24  Simon Josefsson  <jas@extundo.com>
60575
60576         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
60577         Bruno.
60578
60579 2006-01-24  Karl Berry  <karl@gnu.org>
60580
60581         * config/srclist.txt (argp-namefrob.h): sync lost.
60582
60583 2006-01-24  Jim Meyering  <jim@meyering.net>
60584
60585         * modules/openat (Files): Add lib/intprops.h.
60586         From Mark D. Baushke.
60587
60588 2006-01-24  Jim Meyering  <jim@meyering.net>
60589
60590         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
60591         Reported by Mark D. Baushke.
60592
60593 2006-01-24  Jim Meyering  <jim@meyering.net>
60594
60595         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
60596
60597 2006-01-24  Bruno Haible  <bruno@clisp.org>
60598
60599         * modules/strnlen (Maintainer): Change from glibc to all.
60600
60601 2006-01-24  Bruno Haible  <bruno@clisp.org>
60602
60603         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
60604         Patch by Paul Eggert.
60605
60606 2006-01-24  Bruno Haible  <bruno@clisp.org>
60607
60608         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
60609         already has it.
60610         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
60611         2005-11-26.
60612
60613         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
60614         'signed char' to avoid problems with the built-in _Bool type.
60615         Reported by Paul Eggert on 2005-11-26.
60616
60617 2006-01-24  Bruno Haible  <bruno@clisp.org>
60618
60619         * gnulib-tool (func_import): Avoid constructing complicated sed
60620         expressions inside backquote.
60621         Report and solution by Mark D. Baushke <mdb@gnu.org>.
60622
60623 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
60624
60625         These changes imported from libc.
60626         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
60627         test and two separate function calls.
60628         * lib/strndup.c (__strndup): Add libc_hidden_def.
60629
60630 2006-01-23  Simon Josefsson  <jas@extundo.com>
60631
60632         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
60633         Remove the test_*_SOURCES variable: automake infers it by default.
60634         * modules/tls-tests: Likewise.
60635
60636 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
60637
60638         Work around porting bugs reported by Dieter in
60639         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
60640         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
60641         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
60642         Include "getopt.h" first, to check interface.
60643         (getenv): Declare only if defined HAVE_DECL_GETENV &&
60644         !HAVE_DECL_GETENV.
60645         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
60646         (__strndup): Revert to K&R-style function dfns, the glibc style.
60647         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
60648         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
60649         Include strnlen.h first, to get prototype properly.
60650         (strnlen): Renamed from __strnlen.
60651         Remove weak alias.
60652
60653 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
60654
60655         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
60656
60657 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
60658
60659         * config/srclist.txt: Adjust to reflect glibc reorganization.
60660         This affects only comments.
60661
60662 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
60663
60664          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
60665          Reported by Bruce Korb <bkorb@gnu.org>.
60666
60667 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
60668
60669         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
60670         to pacify gcc -Wswitch-default.
60671
60672 2006-01-22  Bruno Haible  <bruno@clisp.org>
60673
60674         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
60675         temporary buffer for sprintf, take into account the precision also
60676         for 'd', 'i', 'u', 'o', 'x', 'X'.
60677
60678 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
60679
60680         * modules/argp-tests: New module
60681         * tests/test-argp.c: New file
60682         * tests/test-argp-2.sh: New file
60683
60684 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
60685
60686         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
60687         (__argp_base_name): Removed
60688         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
60689         typo.
60690         (__argp_base_name): Provide macro definition or extern declaration
60691         depending on the configuration
60692
60693 2006-01-20  Simon Josefsson  <jas@extundo.com>
60694
60695         * modules/inet_ntop (Depends-on): Depend on sys_socket.
60696
60697 2006-01-20  Simon Josefsson  <jas@extundo.com>
60698
60699         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
60700
60701 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
60702
60703         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
60704         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
60705         Suggested by Bruno Haible.
60706
60707 2006-01-20  Karl Berry  <karl@gnu.org>
60708
60709         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
60710         until changes propagate, I guess.
60711
60712 2006-01-19  Simon Josefsson  <jas@extundo.com>
60713
60714         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
60715
60716 2006-01-19  Simon Josefsson  <jas@extundo.com>
60717
60718         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
60719
60720 2006-01-19  Simon Josefsson  <jas@extundo.com>
60721
60722         * gnulib-tool: Set check_PROGRAMS.
60723
60724         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
60725         modules/des-tests, modules/gc-arcfour-tests,
60726         modules/gc-arctwo-tests, modules/gc-des-tests,
60727         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
60728         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
60729         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
60730         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
60731         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
60732         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
60733         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
60734         test_*_SOURCES.
60735
60736 2006-01-18  Simon Josefsson  <jas@extundo.com>
60737
60738         * modules/socklen (Depends-on): Depend on sys_socket.
60739
60740 2006-01-18  Simon Josefsson  <jas@extundo.com>
60741
60742         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
60743         modules/des-tests, modules/gc-arcfour-tests,
60744         modules/gc-arctwo-tests, modules/gc-des-tests,
60745         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
60746         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
60747         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
60748         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
60749         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
60750         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
60751         $(EXEEXT) to automake TESTS variable, for mingw32.
60752
60753 2006-01-17  Simon Josefsson  <jas@extundo.com>
60754
60755         * modules/socklen (Include): Need sys/socket.h.
60756
60757 2006-01-17  Bruno Haible  <bruno@clisp.org>
60758
60759         * modules/ssize_t (Include): Add <sys/types.h>.
60760
60761 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
60762
60763         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
60764         it's not portable and it doesn't work with cross-compiles.
60765         Problem reported by Bruno Haible.  Fix missing-$ typo in
60766         'test "gl_cv_ignore_unused_libraries" ...' that prevented
60767         -zignore from being used with Sun's C compiler.
60768
60769 2006-01-12  Simon Josefsson  <jas@extundo.com>
60770
60771         * lib/base64.c: Fix warning, reported by Bruno Haible
60772         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
60773
60774 2006-01-12  Bruno Haible  <bruno@clisp.org>
60775
60776         * modules/ldd: New file.
60777         * build-aux/ldd.sh.in: New file.
60778         * MODULES.html.sh (Support for building libraries and executables): Add
60779         ldd.
60780
60781 2006-01-12  Bruno Haible  <bruno@clisp.org>
60782
60783         * m4/ldd.m4: New file.
60784
60785 2006-01-12  Bruno Haible  <bruno@clisp.org>
60786
60787         * gnulib-tool (func_import, func_create_testdir): Don't go into an
60788         endless loop while replacing $auxdir with build-aux.
60789
60790 2006-01-11  Simon Josefsson  <jas@extundo.com>
60791
60792         * lib/stdint_.h (SIZE_MAX): Add missing (.
60793
60794 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
60795
60796         Sync from coreutils.
60797         * lib/md5.c: Fix commentary typos.
60798         (alignof, UNALIGNED_P): No need for a GCC-specific version.
60799         * lib/md5.h (__attribute__): Remove; unused.
60800         * lib/sha1.c: Fix commentary to match md5 better.
60801         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
60802         so that we don't need to worry about alignment.  All uses changed.
60803         This merges the 2005-10-28 md5 change into sha1.
60804
60805 2006-01-11  Jim Meyering  <jim@meyering.net>
60806
60807         Sync from coreutils.
60808         * lib/md5.c (OP): Fix spacing.
60809
60810 2006-01-11  Bruno Haible  <bruno@clisp.org>
60811
60812         Ensure automatic ordering between gl_LOCK and gl_ARGP.
60813         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
60814         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
60815
60816 2006-01-11  Bruno Haible  <bruno@clisp.org>
60817
60818         Ensure automatic ordering between gl_LOCK and gl_ARGP.
60819         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
60820         the "early" section as well.
60821
60822 2006-01-11  Bruno Haible  <bruno@clisp.org>
60823
60824         Avoid "ar: no archive members specified" error on MacOS X.
60825         * gnulib-tool (func_modules_add_dummy): New function.
60826         (func_import, func_create_testdir): Invoke it.
60827
60828 2006-01-11  Bruno Haible  <bruno@clisp.org>
60829
60830         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
60831         with $auxdir in AC_CONFIG_FILES statements.
60832
60833 2006-01-11  Bruno Haible  <bruno@clisp.org>
60834
60835         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
60836         Initialize also noinst_HEADERS to empty.
60837
60838 2006-01-11  Bruno Haible  <bruno@clisp.org>
60839
60840         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
60841         variables.
60842         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
60843         autoreconf.
60844
60845 2006-01-11  Bruno Haible  <bruno@clisp.org>
60846
60847         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
60848         overridable by the user.
60849         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60850
60851 2006-01-10  Simon Josefsson  <jas@extundo.com>
60852
60853         * modules/sys_socket: New file.
60854
60855 2006-01-10  Simon Josefsson  <jas@extundo.com>
60856
60857         * m4/sys_socket_h.m4: New file.
60858
60859 2006-01-10  Simon Josefsson  <jas@extundo.com>
60860
60861         * lib/socket_.h: New file.
60862
60863 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
60864
60865         * modules/readutmp (Maintainer): Add myself.
60866
60867 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
60868
60869         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
60870         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
60871         People who are still concerned with buggy memcmp implementations
60872         can invoke gl_FUNC_MEMCMP themselves.
60873
60874 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
60875
60876         * lib/regex_internal.h (BITSET_WORD_BITS):
60877         Work around a bug in 64-bit PGC (before version 6.1-2), where the
60878         preprocessor mishandles large unsigned values as if they were signed.
60879         Problem reported by Claudio Fontana in
60880         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
60881
60882 2006-01-10  Jim Meyering  <jim@meyering.net>
60883
60884         Avoid the double-free (first in fts_read, second in fts_close) that
60885         would occur when an `active' directory is made inaccessible (e.g.,
60886         via chmod a-x) during a traversal.
60887         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
60888         before returning.  Reproduce this failure by
60889         mkdir -p a/b; cd a; chmod a-x . b
60890         Reported by Stavros Passas.
60891
60892         Sync from coreutils.
60893         * lib/sha1.c: Tweak grammar in a comment.
60894
60895 2006-01-10  Jim Meyering  <jim@meyering.net>
60896
60897         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
60898         Patch by Joerg Sonnenberger.
60899
60900 2006-01-10  Bruno Haible  <bruno@clisp.org>
60901
60902         * modules/readutmp: Depend on module free.
60903         * modules/strtok_r: Depend on module restrict.
60904
60905 2006-01-10  Bruno Haible  <bruno@clisp.org>
60906
60907         * modules/gettext (configure.ac): Add an invocation of
60908         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
60909
60910 2006-01-10  Bruno Haible  <bruno@clisp.org>
60911
60912         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
60913         Reported by Werner Lemberg <wl@gnu.org>.
60914
60915 2006-01-10  Bruno Haible  <bruno@clisp.org>
60916
60917         * lib/localcharset.c: Update from GNU gettext.
60918
60919 2006-01-10  Bruno Haible  <bruno@clisp.org>
60920
60921         * lib/argp.h (__const): Remove macro. Use const instead.
60922         * lib/argp-fmtstream.h (__const): Likewise.
60923         * lib/glob_.h (__const): Remove macro.
60924         * lib/glob-libc.h: Use const instead of __const.
60925
60926 2006-01-10  Bruno Haible  <bruno@clisp.org>
60927
60928         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
60929         variable.
60930         Needed to avoid an automake error regarding the 'gettext' module.
60931
60932 2006-01-09  Simon Josefsson  <jas@extundo.com>
60933
60934         * modules/inet_ntop (Depends-on): Add restrict.
60935
60936 2006-01-09  Simon Josefsson  <jas@extundo.com>
60937
60938         * modules/gc-rijndael-tests (License): Put under LGPL.
60939
60940         * modules/gc-des-tests (License): Likewise.
60941
60942         * modules/gc-arcfour-tests (License): Likewise.
60943
60944         * modules/gc-arctwo-tests (License): Likewise.
60945
60946         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
60947
60948         * modules/gc-hmac-sha1-tests (Files): Likewise.
60949
60950         * modules/gc-hmac-md5-tests (License): Likewise.
60951
60952         * modules/gc-sha1-tests (License): Likewise.
60953
60954         * modules/gc-md5-tests (License): Likewise.
60955
60956         * modules/gc-md4-tests (License): Likewise.
60957
60958         * modules/gc-md2-tests (License): Likewise.
60959
60960         * modules/gc-tests (License): Likewise.
60961
60962         * modules/des-tests (License): Likewise.
60963
60964         * modules/md4-tests (License): Likewise.
60965
60966         * modules/md2-tests (License): Likewise.
60967
60968 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
60969
60970         Sync from coreutils:
60971
60972         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
60973         * modules/lib-ignore: New file.
60974         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
60975         chdir-safer.m4, lchmod.m4.
60976         * modules/openat: Add mkdirat.c, openat-priv.h.
60977
60978 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
60979
60980         Sync from coreutils.
60981         * m4/lib-ignore.m4: New file.
60982         * m4/lchmod.m4: New file.
60983
60984 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
60985
60986         Sync from coreutils.
60987         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
60988         for write access: POSIX says that must fail.
60989         * lib/fts.c (diropen): Likewise.
60990         * lib/save-cwd.c (save_cwd): Likewise.
60991         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
60992         well, for minor improvements on hosts that lack O_DIRECTORY.
60993         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
60994         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
60995         Fall back on chown if open failed with EACCES.
60996
60997         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
60998         Report an error at compile-time if only a 1-second nominal clock
60999         resolution is found.
61000
61001         * lib/lchmod.h: New file.
61002         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
61003         (make_dir_parents): Use lchown rather than chown, and
61004         lchmod rather than chmod.
61005
61006         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
61007         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
61008         "proc" reported by n0dalus.
61009
61010         * lib/mountlist.c: Include <limits.h>.
61011         (dev_from_mount_options)
61012         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
61013         New function.  It no longer assumes "dev=" has the System V meaning
61014         on Linux (since it doesn't).  It also parses "dev=" more carefully.
61015         (read_file_system_list)
61016         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
61017         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
61018         dev= in that case.
61019
61020         * lib/posixtm.h (PDS_PRE_2000): New macro.
61021         * lib/posixtm.c (year): Arg is now syntax_bits rather than
61022         allow_century.  All usages changed.  Reject dates outside the range
61023         1969-1999 if PDS_PRE_2000 is used.
61024
61025 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
61026
61027         Sync from coreutils.
61028         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
61029         (Time of day items): Mention the possibility of leap seconds.
61030         Problem reported by Dr. David Alan Gilbert.
61031
61032 2006-01-09  Jim Meyering  <jim@meyering.net>
61033
61034         Sync from coreutils.
61035
61036         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
61037
61038         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
61039
61040         * lib/modechange.c (mode_compile): Reject an invalid mode string
61041         that starts with an octal digit.  From Andreas Gruenbacher.
61042
61043         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
61044         and dup to open_safer and dup_safer, respectively.
61045         (openat_permissive): Fix typo in comment.
61046
61047         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
61048         "gettext.h"; either no longer needed or are guaranteed by openat.h.
61049         (_): Remove; no longer needed.
61050         (openat): Renamed from rpl_openat; no need for rpl_openat
61051         since openat.h renames openat for us.
61052         Replace most of the body with a call to openat_permissive,
61053         to avoid duplicate code.
61054         Port to (probably hypothetical) environments were mode_t is
61055         wider than int.
61056         (openat_permissive): Require mode arg, so that we can check
61057         types better.  Put it just after flags.  Change cwd failure
61058         indicator from pointer-to-bool to pointer-to-errno-value.
61059         All callers changed.
61060         Invoke openat_save_fail and/or openat_restore_fail if
61061         cwd_errno is null, so that openat can call us.
61062         (openat_permissive, fdopendir, fstatat, unlinkat):
61063         Simplify errno handling to avoid some duplicate code,
61064         as it's OK to set errno on success.
61065         * lib/openat.h: Revamp code so that function macros depend on
61066         __OPENAT_PREFIX only, not also on AT_FDCWD.
61067         (openat_ro): Remove.  Caller changed to use openat_permissive.
61068         (openat_permissive): Now a macro, if not a function.
61069         (openat_restore_fail, openat_save_fail): Now always functions,
61070         since mkdirat needs them even if __OPENAT_PREFIX is defined.
61071
61072         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
61073         and openat.c.
61074         * lib/mkdirat.c: Include openat-priv.h.
61075         Remove definitions of macros defined therein.
61076         * lib/openat.c: Likewise.
61077
61078         * lib/mkdirat.c (mkdirat): New file and function.
61079         * lib/openat.h (mkdirat): Declare.
61080
61081         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
61082
61083         * lib/openat.h (openat_permissive): Declare.
61084         (openat_ro): Define.
61085
61086         * lib/openat.c (EXPECTED_ERRNO): New macro.
61087         (openat_permissive): New function -- used in remove.c rewrite.
61088         (all functions): Set errno just before returning, only if there
61089         was an actual failure.
61090         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
61091
61092         Emulate openat-family functions using Linux's procfs, if possible.
61093         Idea and some code based on Ulrich Drepper's glibc changes.
61094
61095         * lib/openat.c: (BUILD_PROC_NAME): New macro.
61096         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
61097         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
61098         before falling back on save_cwd and restore_cwd.
61099         (fdopendir, fstatat, unlinkat): Likewise.
61100
61101         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
61102         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
61103
61104         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
61105         as second argument to va_arg.  Otherwise, some versions of gcc
61106         warn that `if this code is reached, the program will abort'.
61107
61108 2006-01-09  Jim Meyering  <jim@meyering.net>
61109
61110         Sync from coreutils.
61111         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
61112         Require openat-priv.h.
61113
61114 2006-01-09  Bruno Haible  <bruno@clisp.org>
61115
61116         * modules/strnlen (Include): Use strnlen.h.
61117
61118 2006-01-09  Bruno Haible  <bruno@clisp.org>
61119
61120         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
61121
61122 2006-01-09  Bruno Haible  <bruno@clisp.org>
61123
61124         * lib/sysexit_.h (EX_OK): New macro.
61125         Suggested by Martin Lambers <marlam@marlam.de>.
61126
61127 2006-01-09  Bruno Haible  <bruno@clisp.org>
61128
61129         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
61130         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
61131
61132 2006-01-09  Bruno Haible  <bruno@clisp.org>
61133
61134         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
61135         numbers.
61136
61137 2006-01-09  Bruno Haible  <bruno@clisp.org>
61138
61139         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
61140         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
61141         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
61142         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
61143
61144 2006-01-09  Bruno Haible  <bruno@clisp.org>
61145
61146         * build-aux/javacomp.sh.in: New file, moved from lib/.
61147         * modules/javacomp-script (Files): Update.
61148         (configure.ac): Add AC_CONFIG_FILES invocation.
61149         (EXTRA_DIST): Remove variable.
61150
61151         * build-aux/javaexec.sh.in: New file, moved from lib/.
61152         * modules/javaexec (Files): Update.
61153         (configure.ac): Add AC_CONFIG_FILES invocation.
61154         (EXTRA_DIST): Remove javaexec.sh.in.
61155
61156         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
61157         * modules/csharpcomp-script (Files): Update.
61158         (configure.ac): Add AC_CONFIG_FILES invocation.
61159         (EXTRA_DIST): Remove variable.
61160
61161         * build-aux/csharpexec.sh.in: New file, moved from lib/.
61162         * modules/csharpexec (Files): Update.
61163         (configure.ac): Add AC_CONFIG_FILES invocation.
61164         (EXTRA_DIST): Remove csharpexec.sh.in.
61165
61166 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
61167
61168         Sync from coreutils.
61169
61170         Add POSIX ACL support
61171         * lib/acl.h (copy_acl, set_acl): Add declarations.
61172         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
61173         systems other than Linux.
61174         (chmod_or_fchmod): New function: use fchmod when possible,
61175         and chmod otherwise.
61176         (file_has_acl): Add a POSIX ACL implementation, with a
61177         Linux-specific subcase.
61178         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
61179         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
61180         acls are unsupported.
61181         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
61182         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
61183         are unsupported.
61184
61185 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
61186
61187         Sync from coreutils.
61188         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
61189
61190 2006-01-07  Bruno Haible  <bruno@clisp.org>
61191
61192         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
61193         gl_EARLY.
61194
61195 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
61196
61197         * lib/strftime.c (tzname): Don't declare if it is already #defined.
61198         Problem reported for Mingw by Mark Junker.
61199
61200 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
61201
61202         * README: Gnulib normally doesn't generate a tarball.
61203
61204 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
61205
61206         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
61207         long int, not int, for nanosecond counts, so that people who are
61208         used to POSIX struct timespec won't be surprised.  Reported by Jim
61209         Meyering.
61210
61211 2005-12-28  Bruno Haible  <bruno@clisp.org>
61212
61213         * build-aux/config.rpath: Update from GNU gettext.
61214
61215 2005-12-16  Jim Meyering  <jim@meyering.net>
61216
61217         * modules/fprintftime: New module.
61218         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
61219
61220 2005-12-16  Jim Meyering  <jim@meyering.net>
61221
61222         * m4/fprintftime.m4: New file.
61223
61224 2005-12-16  Jim Meyering  <jim@meyering.net>
61225
61226         * lib/fprintftime.c, lib/fprintftime.h: New files.
61227
61228 2005-12-15  Simon Josefsson  <jas@extundo.com>
61229
61230         * modules/socklen (configure.ac): Fix M4 macro name, to align with
61231         new m4/socklen.m4.
61232
61233 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
61234
61235         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
61236         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
61237
61238 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
61239
61240         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
61241         * lib/argp-help.c (fill_in_uparams): Check if the constructed
61242         struct uparams is valid. Fall back to the default values if it is
61243         not.
61244
61245 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
61246
61247         * modules/argp (Files): Add argp-pin.c
61248         (Depends-on): dirname
61249         (lib_SOURCES): Add argp-pin.c
61250
61251 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
61252
61253         * m4/argp.m4:  Check if program_invocation_name and
61254         program_invocation_short_name are declared and define appropriate
61255         macros if they are not.
61256
61257 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
61258
61259         * lib/argp-help.c (__argp_base_name): New function
61260         (__argp_short_program_name): Rewrite using __argp_base_name
61261         * lib/argp-namefrob.h: Define program_invocation_name and
61262         program_invocation_short_name if requested
61263         (__argp_base_name): Add prototype
61264         * lib/argp-parse.c (argp_def): Use gettext wrappers
61265         (argp_default_parser): Use __argp_base_name
61266         * lib/argp-pin.c: New file. Defines program_invocation_name and
61267         program_invocation_short_name on systems that lack them.
61268
61269 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
61270
61271         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
61272         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
61273         porting problem reported by Georg Schwarz in
61274         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
61275
61276 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
61277
61278         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
61279         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
61280         porting problem reported by Georg Schwarz in
61281         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
61282
61283 2005-12-05  Bruno Haible  <bruno@clisp.org>
61284
61285         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
61286         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
61287         Reported by Mark Junker <mjscod@gmx.de>.
61288
61289 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
61290
61291         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
61292         Use implementation from Albert Chin, with some
61293         comments/corrections by Stepan Kasal and myself.
61294
61295 2005-12-02  Bruno Haible  <bruno@clisp.org>
61296
61297         * gnulib-tool (func_import): Accept GPLed build tool modules when
61298         --lgpl is given.
61299         * modules/csharpcomp-script: New file.
61300         * modules/csharpcomp: Depend on it.
61301         * modules/javacomp-script: New file.
61302         * modules/javacomp: Depend on it.
61303         Suggested by Simon Josefsson.
61304
61305 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
61306
61307         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
61308         statement, to work around an HP-UX 10.20 compiler bug reported by
61309         Peter O'Gorman.
61310
61311 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
61312
61313         * modules/savedir (Depends-on): Add openat.
61314
61315 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
61316
61317         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
61318         (uintmax_t) [defined uintmax_t]: Do not declare.
61319         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
61320         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
61321         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
61322         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
61323         sake of portability to weird hosts that C allows (though we don't
61324         know of any practical examples).
61325
61326         * lib/savedir.h (fdsavedir): New decl.
61327         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
61328         contains most of the former guts of savedir.
61329         (savedir): Use savedirstream.
61330         Include "openat.h".
61331
61332 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
61333
61334         * modules/obstack (Files): Add m4/ulonglong.m4.
61335         Problem reported by Davide Angelocola.
61336
61337 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
61338
61339         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
61340         coreutils no longer futzes with rounding modes.
61341
61342 2005-11-14  Jim Meyering  <jim@meyering.net>
61343
61344         * lib/mkstemp-safer.c: Include <config.h>, required for possible
61345         replacement of mkstemp.
61346
61347 2005-11-10  Simon Josefsson  <jas@extundo.com>
61348
61349         * lib/readline.c: Remove EOL.
61350
61351 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
61352
61353         * modules/gethrxtime (Depends-on): Add gettime.
61354
61355 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
61356
61357         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
61358         or gettimeofday; no longer needed.
61359
61360 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
61361
61362         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
61363         time business.
61364         (gethrxtime) [! (HAVE_NANOUPTIME
61365         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
61366         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
61367         our own approximation.
61368
61369 2005-11-08  Eric Blake  <ebb9@byu.net>
61370
61371         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
61372
61373 2005-11-08  Eric Blake  <ebb9@byu.net>
61374
61375         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
61376
61377 2005-11-04  Bruno Haible  <bruno@clisp.org>
61378
61379         * gnulib-tool: Implement --update mode.
61380
61381 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
61382
61383         Fix porting problem reported by Theodoros V. Kalamatianos.
61384         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
61385         Don't assume that futimes failing means we must fail.
61386
61387 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
61388
61389         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
61390         variables to suggest the intended function of the PATH_MAX check.
61391
61392 2005-10-30  Kean Johnston  <jkj@sco.com>
61393
61394         Trivial changes to support SCO systems.
61395         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
61396         as PATH_MAX.
61397         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
61398         where __ptr is null when no I/O is pending.
61399
61400 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
61401
61402         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
61403         leave errno alone.  Problem reported by Dmitry V. Levin.
61404
61405 2005-10-28  Simon Josefsson  <jas@extundo.com>
61406
61407         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
61408         Test more.
61409
61410         * tests/test-gc-md2.c, tests/test-md2.c: New files.
61411
61412         * modules/md2, modules/md2-tests: New files.
61413
61414 2005-10-28  Simon Josefsson  <jas@extundo.com>
61415
61416         * m4/inet_ntop.m4: More tests.
61417
61418         * m4/gc-md2.m4, md2.m4: New file.
61419
61420 2005-10-28  Simon Josefsson  <jas@extundo.com>
61421
61422         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
61423         "restrict" keywords, as per POSIX.  Protect the function
61424         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
61425         Don't use K&R prototypes.  Check the sprintf return values.
61426         Re-define EAFNOSUPPORT if not present.  Indent.
61427
61428         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
61429         suggested by Bruno Haible <bruno@clisp.org>.
61430
61431         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
61432
61433         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
61434
61435         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
61436         libgcrypt).
61437
61438         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
61439
61440         * lib/md2.h, lib/md2.c: New files.
61441
61442 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
61443
61444         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
61445         errno alone.  Problem reported by Frederic Jolliton.
61446
61447 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
61448
61449         * modules/verify (License): Change from GPL to LGPL.  This is a
61450         tiny module and there are apparently near-equivalents that are
61451         under the BSD license.
61452
61453 2005-10-24  Simon Josefsson  <jas@extundo.com>
61454
61455         * modules/sha1: Relicense to LGPL.
61456
61457 2005-10-24  Simon Josefsson  <jas@extundo.com>
61458
61459         * lib/md4.h: Shrink buffer size, now that we changed the type.
61460
61461 2005-10-23  Simon Josefsson  <jas@extundo.com>
61462
61463         * gnulib-tool (func_import): Fix --tests-base.
61464
61465 2005-10-22  Simon Josefsson  <jas@extundo.com>
61466
61467         * modules/arcfour (Depends-on): Need stdint.
61468
61469 2005-10-22  Simon Josefsson  <jas@extundo.com>
61470
61471         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
61472         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
61473
61474 2005-10-22  Simon Josefsson  <jas@extundo.com>
61475
61476         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
61477         suggested by Bruno Haible <bruno@clisp.org>.
61478
61479 2005-10-22  Simon Josefsson  <jas@extundo.com>
61480
61481         * lib/crc.h: Include stddef.h, for size_t.
61482
61483 2005-10-22  Simon Josefsson  <jas@extundo.com>
61484
61485         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
61486         arcfour_context struct (simplify test vector testing in GNU
61487         Shishi).
61488
61489 2005-10-21  Simon Josefsson  <jas@extundo.com>
61490
61491         * modules/des, modules/des-tests: New files.
61492
61493         * modules/gc-des, modules/gc-des-tests: New files.
61494
61495         * tests/test-des.c, tests/test-gc-des.c: New file.
61496
61497 2005-10-21  Simon Josefsson  <jas@extundo.com>
61498
61499         * modules/arctwo, modules/arctwo-tests: New files.
61500
61501         * tests/test-arctwo.c: New file.
61502
61503         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
61504
61505         * tests/test-gc-arctwo.c: New file.
61506
61507 2005-10-21  Simon Josefsson  <jas@extundo.com>
61508
61509         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
61510         Bruno Haible <bruno@clisp.org>.
61511
61512         * m4/gc-des.m4: New file.
61513
61514 2005-10-21  Simon Josefsson  <jas@extundo.com>
61515
61516         * m4/arctwo.m4: New file.
61517
61518         * m4/gc-arctwo.m4: New file.
61519
61520 2005-10-21  Simon Josefsson  <jas@extundo.com>
61521
61522         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
61523         block.
61524
61525 2005-10-21  Simon Josefsson  <jas@extundo.com>
61526
61527         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
61528         <bruno@clisp.org>.
61529
61530         * lib/hmac-sha1.c (hmac_sha1): Likewise.
61531
61532         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
61533         Bruno Haible <bruno@clisp.org>.
61534
61535         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
61536         <bruno@clisp.org>.
61537
61538 2005-10-21  Simon Josefsson  <jas@extundo.com>
61539
61540         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
61541
61542 2005-10-21  Simon Josefsson  <jas@extundo.com>
61543
61544         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
61545
61546 2005-10-21  Simon Josefsson  <jas@extundo.com>
61547
61548         * lib/des.h, lib/des.c: New files.
61549
61550         * lib/gc-gnulib.c: Support DES.c
61551
61552 2005-10-21  Simon Josefsson  <jas@extundo.com>
61553
61554         * lib/arctwo.h, lib/arctwo.c: New files.
61555
61556         * lib/gc-gnulib.c: Support ARCTWO.
61557
61558 2005-10-21  Simon Josefsson  <jas@extundo.com>
61559
61560         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
61561         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61562
61563 2005-10-21  Simon Josefsson  <jas@extundo.com>
61564
61565         * gnulib-tool (func_import, func_create_testdir): Define automake
61566         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
61567         Makefile.am snippet),
61568         suggested by Bruno Haible <bruno@clisp.org>.
61569
61570         * modules/gc (Makefile.am): Use it.
61571
61572 2005-10-21  Bruno Haible  <bruno@clisp.org>
61573
61574         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
61575         patch.
61576
61577 2005-10-19  Simon Josefsson  <jas@extundo.com>
61578
61579         * tests/test-gc-rijndael.c: New file.
61580
61581         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
61582
61583 2005-10-19  Simon Josefsson  <jas@extundo.com>
61584
61585         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
61586         interface too.
61587
61588 2005-10-19  Simon Josefsson  <jas@extundo.com>
61589
61590         * tests/test-gc-arcfour.c: New file.
61591
61592         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
61593
61594 2005-10-19  Simon Josefsson  <jas@extundo.com>
61595
61596         * modules/gc-md4, modules/gc-md4-tests: New file.
61597
61598         * tests/test-gc-md4.c: New file.
61599
61600 2005-10-19  Simon Josefsson  <jas@extundo.com>
61601
61602         * m4/gc-md4.m4: New file.
61603
61604 2005-10-19  Simon Josefsson  <jas@extundo.com>
61605
61606         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
61607         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
61608         <kasal@ucw.cz>.
61609
61610 2005-10-19  Simon Josefsson  <jas@extundo.com>
61611
61612         * m4/gc-arcfour.m4: New file.
61613
61614         * m4/gc-rijndael.m4: New file.
61615
61616 2005-10-19  Simon Josefsson  <jas@extundo.com>
61617
61618         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
61619
61620 2005-10-19  Simon Josefsson  <jas@extundo.com>
61621
61622         * lib/gc-gnulib.c: Support ARCFOUR.
61623
61624 2005-10-19  Simon Josefsson  <jas@extundo.com>
61625
61626         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
61627         support.
61628
61629         * lib/gc.h: Add ECB enum type.
61630
61631         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
61632
61633 2005-10-18  Simon Josefsson  <jas@extundo.com>
61634
61635         * tests/test-md5.c: New file.
61636
61637         * modules/md5-tests: New file.
61638
61639 2005-10-18  Simon Josefsson  <jas@extundo.com>
61640
61641         * tests/test-md4.c: New file.
61642
61643         * modules/md4, modules/md4-tests: New files.
61644
61645 2005-10-18  Simon Josefsson  <jas@extundo.com>
61646
61647         * m4/md4.m4: New file.
61648
61649 2005-10-18  Simon Josefsson  <jas@extundo.com>
61650
61651         * lib/md4.h, lib/md4.c: New files, based on md5.?.
61652
61653 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
61654
61655         * gnulib-tool (func_create_testdir): Omit the second check whether
61656         BUILT_SOURCES in nonempty.
61657
61658 2005-10-17  Simon Josefsson  <jas@extundo.com>
61659
61660         * tests/test-rijndael.c: New file.
61661
61662 2005-10-17  Simon Josefsson  <jas@extundo.com>
61663
61664         * modules/sha1: Depend on stdint instead of md5.
61665
61666         * modules/md5: Depend on stdint, remove uint32_t.
61667
61668 2005-10-17  Simon Josefsson  <jas@extundo.com>
61669
61670         * modules/gc-sha1-tests: New file.
61671
61672         * tests/test-gc-sha1.c: New file.
61673
61674 2005-10-17  Simon Josefsson  <jas@extundo.com>
61675
61676         * m4/md5.m4: Remove call to uint32_t.m4.
61677
61678 2005-10-17  Simon Josefsson  <jas@extundo.com>
61679
61680         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
61681
61682         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
61683         md5.h.
61684
61685         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
61686
61687         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
61688
61689 2005-10-17  Simon Josefsson  <jas@extundo.com>
61690
61691         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
61692
61693 2005-10-17  Simon Josefsson  <jas@extundo.com>
61694
61695         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
61696
61697 2005-10-17  Simon Josefsson  <jas@extundo.com>
61698
61699         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
61700
61701         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
61702
61703 2005-10-17  Bruno Haible  <bruno@clisp.org>
61704
61705         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
61706         that it can also be used in a test.
61707
61708 2005-10-16  Bruno Haible  <bruno@clisp.org>
61709
61710         * gnulib-tool (func_emit_tests_Makefile_am): Also define
61711         TESTS_ENVIRONMENT, so that individual tests can augment it.
61712
61713         * gnulib-tool (func_create_testdir): Use an intermediate target for
61714         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
61715         macros, like $(ALLOCA_H), which cannot be passed through the command
61716         line.
61717
61718 2005-10-15  Simon Josefsson  <jas@extundo.com>
61719
61720         * modules/rijndael-tests: New file.
61721
61722         * modules/rijndael: New file.
61723
61724 2005-10-15  Simon Josefsson  <jas@extundo.com>
61725
61726         * m4/rijndael.m4: New file.
61727
61728 2005-10-15  Simon Josefsson  <jas@extundo.com>
61729
61730         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
61731
61732         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
61733
61734 2005-10-14  Simon Josefsson  <jas@extundo.com>
61735
61736         * tests/test-arcfour.c: New file.
61737
61738         * modules/arcfour, modules/arcfour-tests: New files.
61739
61740 2005-10-14  Simon Josefsson  <jas@extundo.com>
61741
61742         * m4/arcfour.m4: New file.
61743
61744 2005-10-14  Simon Josefsson  <jas@extundo.com>
61745
61746         * lib/arcfour.h, lib/arcfour.c: New files.
61747
61748 2005-10-14  Roland McGrath  <roland@redhat.com>
61749
61750         Import from libc.  [BZ #1331]
61751         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
61752         macro argument.
61753         Reported by Matej Vela <vela@debian.org>.
61754
61755 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
61756
61757         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
61758         include <wchar.h>; no longer needed.
61759
61760 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
61761
61762         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
61763
61764 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
61765         and  Ulrich Drepper  <drepper@redhat.com>
61766
61767         Import from libc.
61768         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
61769         instead of inline stream orientation test and two separate
61770         function calls.  Pay no attention to USE_IN_LIBIO.
61771
61772 2005-10-13  Simon Josefsson  <jas@extundo.com>
61773
61774         * modules/gc-hmac-md5-tests: New file.
61775
61776         * tests/test-gc-hmac-sha1.c: New file.
61777
61778         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
61779
61780         * modules/gc-hmac-md5-tests: New file.
61781
61782         * tests/test-gc-md5.c: New file.
61783
61784         * modules/gc-md5-tests: New file.
61785
61786 2005-10-13  Simon Josefsson  <jas@extundo.com>
61787
61788         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
61789         Move memory allocation outside of loop.
61790
61791 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
61792
61793         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
61794         intermediate directory is in a read-only file system.  Problem
61795         reported by Eric Blake.
61796
61797 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
61798
61799         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
61800
61801 2005-10-12  Simon Josefsson  <jas@extundo.com>
61802
61803         * tests/test-hmac-sha1.c: New file.
61804
61805         * modules/hmac-sha1-tests: New file.
61806
61807         * modules/hmac-sha1: New file.
61808
61809 2005-10-12  Simon Josefsson  <jas@extundo.com>
61810
61811         * modules/gc-sha1: New file.
61812
61813 2005-10-12  Simon Josefsson  <jas@extundo.com>
61814
61815         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
61816
61817         * tests/test-gc-pbkdf2-sha1.c: New file.
61818
61819 2005-10-12  Simon Josefsson  <jas@extundo.com>
61820
61821         * modules/gc-md5, modules/gc-hmac-md5: New files.
61822
61823         * modules/gc (Files): Remove md5, memxor and hmac files.
61824
61825 2005-10-12  Simon Josefsson  <jas@extundo.com>
61826
61827         * m4/gc-pbkdf2-sha1.m4: New file.
61828
61829         * m4/gc-hmac-sha1.m4: New file.
61830
61831         * m4/gc-sha1: New file.
61832
61833         * m4/hmac-sha1.m4: New file.
61834
61835 2005-10-12  Simon Josefsson  <jas@extundo.com>
61836
61837         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
61838
61839         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
61840
61841 2005-10-12  Simon Josefsson  <jas@extundo.com>
61842
61843         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
61844         suggested by Bruno Haible <bruno@clisp.org>.
61845
61846 2005-10-12  Simon Josefsson  <jas@extundo.com>
61847
61848         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
61849
61850 2005-10-12  Simon Josefsson  <jas@extundo.com>
61851
61852         * lib/gc-pbkdf2-sha1.c: New file.
61853
61854         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
61855
61856 2005-10-12  Simon Josefsson  <jas@extundo.com>
61857
61858         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
61859
61860         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
61861
61862 2005-10-12  Simon Josefsson  <jas@extundo.com>
61863
61864         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
61865         GC_USE_HMAC_MD5, respectively.
61866
61867         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
61868         (gc_md5): Fix typo.
61869
61870         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
61871
61872         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
61873
61874         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
61875
61876 2005-10-12  Bruno Haible  <bruno@clisp.org>
61877
61878         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
61879         Reported by Stepan Kasal <kasal@ucw.cz>.
61880
61881 2005-10-11  Simon Josefsson  <jas@extundo.com>
61882
61883         * tests/test-crc.c: New file.
61884
61885         * modules/crc, modules/crc-tests: New files.
61886
61887 2005-10-11  Simon Josefsson  <jas@extundo.com>
61888
61889         * m4/crc.m4: New file.
61890
61891 2005-10-11  Simon Josefsson  <jas@extundo.com>
61892
61893         * lib/gc.h: Add gc_hash and gc_hash_buffer.
61894
61895         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
61896
61897         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
61898
61899 2005-10-11  Simon Josefsson  <jas@extundo.com>
61900
61901         * lib/crc.h, lib/crc.c: New files.
61902
61903         * lib/gc.h (gc_hash_buffer): Add doc.
61904
61905 2005-10-11  Bruno Haible  <bruno@clisp.org>
61906
61907         * modules/c-strcasestr: New file.
61908         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
61909
61910 2005-10-11  Bruno Haible  <bruno@clisp.org>
61911
61912         * modules/c-strcase: New file.
61913         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
61914
61915 2005-10-11  Bruno Haible  <bruno@clisp.org>
61916
61917         * lib/strcasecmp.c: Include limits.h.
61918         (strcasecmp): Avoid integer overflow on exotic platforms.
61919         * lib/strncasecmp.c: Include limits.h.
61920         (strncasecmp): Avoid integer overflow on exotic platforms.
61921         Reported by Paul Eggert.
61922
61923 2005-10-11  Bruno Haible  <bruno@clisp.org>
61924
61925         * lib/c-strcasestr.h: New file, from GNU gettext.
61926         * lib/c-strcasestr.c: New file, from GNU gettext.
61927
61928 2005-10-11  Bruno Haible  <bruno@clisp.org>
61929
61930         * lib/c-strcase.h: New file, from GNU gettext.
61931         * lib/c-strcasecmp.c: New file, from GNU gettext.
61932         * lib/c-strncasecmp.c: New file, from GNU gettext.
61933
61934 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
61935
61936         * modules/mempcpy (License): GPL -> LGPL.
61937         * modules/strchrnul (License): Likewise.
61938         * modules/sysexits (License): Likewise.
61939
61940 2005-10-08  Simon Josefsson  <jas@extundo.com>
61941
61942         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
61943
61944 2005-10-07  Simon Josefsson  <jas@extundo.com>
61945
61946         * m4/memxor.m4: Remove gl_C_RESTRICT call.
61947
61948 2005-10-06  Simon Josefsson  <jas@extundo.com>
61949
61950         * tests/test-hmac-md5.c: New file.
61951
61952         * modules/hmac-md5-tests: New file.
61953
61954         * modules/hmac-md5: New file.
61955
61956 2005-10-06  Simon Josefsson  <jas@extundo.com>
61957
61958         * m4/hmac-md5.m4: New file.
61959
61960         * m4/memxor.m4: Require gl_C_RESTRICT.
61961
61962 2005-10-06  Simon Josefsson  <jas@extundo.com>
61963
61964         * lib/memxor.c (memxor): Avoid casts and warnings.
61965
61966 2005-10-06  Simon Josefsson  <jas@extundo.com>
61967
61968         * lib/hmac-md5.c: New file.
61969
61970         * lib/hmac.h: New file.
61971
61972 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
61973
61974         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
61975         promotes to int, not unsigned int, to catch the AIX 5.3
61976         compiler bug.
61977
61978 2005-10-05  Simon Josefsson  <jas@extundo.com>
61979
61980         * modules/memxor: New file.
61981
61982         * modules/iconv (Files): Move config.rpath to havelib, it is used
61983         there.
61984
61985         * modules/havelib (Files): Add config.rpath.
61986
61987 2005-10-05  Simon Josefsson  <jas@extundo.com>
61988
61989         * m4/memxor.m4: New file.
61990
61991 2005-10-05  Simon Josefsson  <jas@extundo.com>
61992
61993         * lib/memxor.c (memxor): Fix compiler error.
61994
61995         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
61996         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
61997
61998         * lib/memxor.h, lib/memxor.c: New files.
61999
62000         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
62001         we assume all systems have it, suggested by Jim Meyering
62002         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
62003         any systems lack sys/socket.h; mingw32 is known to lack it, but we
62004         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
62005         same reasons.
62006
62007 2005-10-05  Simon Josefsson  <jas@extundo.com>
62008
62009         * config/srclist.txt: Add glibc bug 1423 for md5.h.
62010
62011 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
62012
62013         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
62014         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
62015         needed, since the source code now assumes these .h files.
62016
62017 2005-10-05  Derek Price  <derek@ximbiot.com>
62018
62019         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
62020
62021 2005-10-05  Bruno Haible  <bruno@clisp.org>
62022
62023         * modules/stdint (License): Change to LGPL.
62024
62025 2005-10-04  Simon Josefsson  <jas@extundo.com>
62026
62027         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
62028         D. Baushke" <mdb@gnu.org>.
62029
62030 2005-10-04  Bruno Haible  <bruno@clisp.org>
62031
62032         * lib/verify.h (verify_true): Provide alternative definition for C++.
62033
62034 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
62035
62036         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
62037         (SSIZE_MAX): New macro, if not already defined.
62038         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
62039         than 2 GiB.
62040
62041 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
62042
62043         Sync from coreutils.
62044         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
62045         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
62046         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
62047         ULLONG_MAX doesn't work with 2.7.2.1.
62048
62049 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
62050
62051         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
62052         From Ben Pfaff.
62053
62054         * modules/exclude (Depends-on): Depend on verify.
62055         * modules/strtoimax (Depends-on): Likewise.
62056         * modules/utimecmp (Depends-on): Likewise.
62057
62058 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
62059
62060         * lib/exclude.c: Include verify.h.
62061         (verify): Remove.  All callers changed to use verify.h's version.
62062         * lib/strtoimax.c: Likewise.
62063         * lib/utimecmp.c: Likewis.e
62064
62065         Sync from coreutils.
62066         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
62067         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
62068         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
62069         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
62070         bother returning ENOSYS if settimeofday or stime fails; just let
62071         them return whatever errno they want to return.
62072         * lib/utimens.c: Include unistd.h, for dup2.
62073         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
62074         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
62075
62076 2005-10-02  Jim Meyering  <jim@meyering.net>
62077
62078         Sync from coreutils.
62079         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
62080         from glibc-2.2.5 that fails for read-only files.
62081
62082 2005-10-02  Jim Meyering  <jim@meyering.net>
62083
62084         Sync from coreutils.
62085         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
62086         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
62087         `#if HAVE_CONFIG_H'.
62088         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
62089         Remove AT_FDCWD test.
62090         Do not consume the fd unless successful.
62091         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
62092         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
62093         block, so that we don't even try to compile it if settimeofday is
62094         available.  This works around a compilation failure on OSF1 V5.1,
62095         due to stime requiring a `long int*' while tv_sec is `int'.
62096
62097 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
62098
62099         Sync from coreutils.
62100         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
62101         against `yes', rather than just testing for nonempty.
62102
62103 2005-10-01  Simon Josefsson  <jas@extundo.com>
62104
62105         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
62106         and Darwin.
62107
62108         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
62109         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
62110         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
62111         freeaddrinfo and gai_strerror are declared by the POSIX headers.
62112         Check if struct addrinfo is declared.
62113
62114 2005-10-01  Simon Josefsson  <jas@extundo.com>
62115
62116         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
62117         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
62118         AI_* and EAI_* definitions.  Protect function declarations.
62119
62120 2005-10-01  Jim Meyering  <jim@meyering.net>
62121
62122         Sync from coreutils.
62123
62124         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
62125         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
62126         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
62127         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
62128         in the inet and nsl libraries.  Required on Solaris 5.7.
62129
62130 2005-10-01  Jim Meyering  <jim@meyering.net>
62131
62132         Sync from coreutils.
62133         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
62134         in the inet and nsl libraries.  Required on Solaris 5.7.
62135
62136 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
62137
62138         * lib/getdelim.c (getdelim): Remove unused variables.
62139
62140 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
62141
62142         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
62143         so that the code works even with ancient cpp.  Portability problem
62144         with GCC 2.7.2.1 reported by Thomas M.Ott.
62145
62146 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
62147
62148         * modules/regex (Depends-on): Add strcase.
62149
62150         * modules/gethostname (Licence): Change from GPL to LGPL, since
62151         gethostname.c is a trivial implementation of a standard library
62152         function.
62153         * modules/poll (License): Change from GPL to LGPL, since it's
62154         derived from LGPL code.
62155
62156 2005-09-27  Jim Meyering  <jim@meyering.net>
62157
62158         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
62159         HAVE_CONFIG_H.
62160
62161         * lib/intprops.h (signed_type_or_expr__): Define.
62162         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
62163         for unsigned types.
62164
62165 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
62166
62167         * lib/verify.h (verify_expr): Remove, replacing with:
62168         (verify_true): New macro that returns true instead of void.
62169         (verify_type__): Remove.
62170         (verify): Use verify_true rather than verify_type__.
62171
62172 2005-09-26  Bruno Haible  <bruno@clisp.org>
62173
62174         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
62175         is necessary.
62176         (lib_SOURCES): Remove mbchar.c.
62177         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
62178         (Files): Add m4/mbrtowc.m4.
62179         * modules/mbiter: Likewise.
62180         * modules/mbuiter: Likewise.
62181
62182 2005-09-26  Bruno Haible  <bruno@clisp.org>
62183
62184         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
62185         compile mbchar.c if they are not both present.
62186         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
62187         * m4/mbiter.m4 (gl_MBITER): Likewise.
62188         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
62189         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
62190         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
62191
62192 2005-09-25  Jim Meyering  <jim@meyering.net>
62193
62194         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
62195         also uses socklen_t.
62196
62197 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
62198
62199         * lib/utimens.c (ENOSYS): Define if not already defined.
62200         (futimens): Support having a null PATH if the file descriptor
62201         is nonnegative.
62202
62203         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
62204         Remove.
62205         (__attribute): Define to empty unless GCC 3.1 or later.
62206         This works around a core dump on OpenBSD 3.4, which has GCC
62207         2.95.3, which dumps core when given __attribute__(()).  It also
62208         simplifies other tests, since we really don't want to bother with
62209         worrying about which ancient version of GCC supported what.
62210         Original problem reported by Yoann Vandoorselaere, with part of
62211         the fix suggested by Derek Price.
62212
62213 2005-09-24  Jim Meyering  <jim@meyering.net>
62214
62215         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
62216         so we can once again use a positive bitfield width of 1 -- now we
62217         don't have to explain why we were using a bitfield width of 2.
62218
62219 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
62220
62221         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
62222         and similarly for the other external symbols.  Problem reported
62223         by James Gallager.
62224
62225         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
62226         bug reported by Jim Meyering.
62227
62228         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
62229         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
62230         not needed, since socklen is a prerequisite module.
62231
62232 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
62233
62234         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
62235         Problem reported by Eric Blake.
62236         (getaddrinfo): Initialize se so that it's not garbage.
62237         Redo internal storage allocation so that it doesn't make unportable
62238         assumptions about alignment.
62239         Fix a memory leak.
62240
62241         * lib/utimens.c (futimens): Use futimesat if available.
62242         Prefer it to futimes since it doesn't have the futimes bug.
62243
62244         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
62245         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
62246         Instead, declare a function that returns a pointer to an array,
62247         and use verify_type__ to declare the size of the array.
62248         Problem and germ of a solution reported by Bruno Haible.
62249         (verify_type__): Use 2, not 1, for bitfield size, to avoid
62250         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
62251
62252 2005-09-23  Jim Meyering  <jim@meyering.net>
62253
62254         Sync from coreutils.
62255         Correct build failure (socklen_t not defined) on at least
62256         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
62257         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
62258
62259 2005-09-23  Jim Meyering  <jim@meyering.net>
62260
62261         * modules/getaddrinfo (Depends-on): Add socklen.
62262
62263 2005-09-23  Bruno Haible  <bruno@clisp.org>
62264
62265         * tests/test-verify.c: New file.
62266
62267 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
62268
62269         Sync from coreutils.
62270
62271         * modules/argmatch (Depends-on): Add verify.
62272         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
62273         unistd-safer.
62274         * modules/save-cwd (Depends-on): Likewise.
62275
62276         * modules/openat (Files): Add lib/openat-die.c.
62277         (Depends-on): Remove error, exitfail.
62278         Add dirname.
62279
62280         * modules/verify: New file.
62281         * MODULES.html.sh (Diagnostics <assert.h>): New section,
62282         with "verify" module.
62283
62284 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
62285
62286         Sync from coreutils.
62287
62288         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
62289         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
62290         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
62291         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
62292         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
62293         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
62294         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
62295         Don't bother checking for string.h, stdlib.h, unistd.h.
62296         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
62297         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
62298         module's job.
62299         * m4/jm-macros.m4 (gl_MACROS): Likewise.
62300         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
62301
62302         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
62303         (gl_GETDATE): Use it.
62304
62305         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
62306
62307 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
62308
62309         Sync from coreutils.
62310
62311         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
62312         stat-time.h.
62313         * lib/argmatch.h: Include verify.h
62314         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
62315         (ARGMATCH_ASSERT): Remove; unused.
62316         * lib/canonicalize.c: Assume STDC_HEADERS.
62317         * lib/exclude.c: Include "strcase.h".
62318         * lib/regex_internal.h [!defined _LIBC]: Likewise.
62319         * lib/getusershell.c: Include stdio--.h rather than stdio.h
62320         and stdio-safer.h.
62321         (getusershell): Call fopen, not fopen_safer.
62322         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
62323         Do not include unistd-safer.h.
62324         (save_cwd): Don't call fd_safer; no longer needed
62325         now that we include fcntl--.h.
62326
62327         * lib/getdate.y (relative_time): New type.
62328         (RELATIVE_TIME_0): New constant.
62329         (parser_control): Use relative_time instead of doing it ourselves.
62330         (%union): Add new relative_time rel member.
62331         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
62332         Now typeless.
62333         (relunit, relunit_snumber): Now of type rel.
62334         (zone, rel, relunit, get_date): Adjust to above changes.
62335
62336         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
62337         Do not include unistd-safer.h.
62338         (getloadavg): Don't call fd_safer; no longer needed
62339         now that we include fcntl--.h.
62340
62341         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
62342         (make_dir_parents): Treat ENOSYS like EEXIST.
62343
62344         Improve quality of diagnostics on restore_cwd failure.
62345         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
62346         (make_dir_parents): Last arg is now int * (for errno), not bool *.
62347         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
62348         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
62349         each time through the loop.  Do not diagnose restore_cwd failure;
62350         that is the caller's job (and perhaps the caller does not care).
62351
62352         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
62353         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
62354         If the file already exists but is not a directory, don't bother
62355         to try to make its parents.
62356         Close potential file descriptor leak if we can't chdir("/") (!).
62357         Don't always return true if chdir($PWD) fails; return true only
62358         if the requested action was done successfully (except for the
62359         chdir($PWD)).
62360         Don't log final directory unless we actually made it.
62361         Refactor to avoid duplicate code to fix up permissions.
62362         Don't attempt to fix up parent permissions if chdir($PWD) fails.
62363
62364         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
62365         to make it a bit faster and (I hope) clearer.
62366         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
62367         Fix bug in formats like %2N.
62368
62369         * lib/verify.h: New file.
62370
62371 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
62372
62373         Sync from coreutils.
62374         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
62375
62376 2005-09-22  Jim Meyering  <jim@meyering.net>
62377
62378         Sync from coreutils.
62379
62380         * m4/lstat.m4 (gl_FUNC_LSTAT):
62381         Use AC_LIBSOURCES to require lstat.c and lstat.h.
62382         Remove obsolete comment.
62383         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
62384         * m4/xstrtod.m4: Likewise.
62385
62386         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
62387
62388 2005-09-22  Jim Meyering  <jim@meyering.net>
62389
62390         Sync from coreutils.
62391
62392         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
62393
62394         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
62395         the .tm_year member, since otherwise gcc-4.0 would now warn about
62396         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
62397
62398         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
62399         order to avoid an unsuppressible warning from gcc on 64-bit systems.
62400
62401         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
62402         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
62403         when run in a time zone for which daylight savings time is in effect
62404         for the starting date.
62405
62406         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
62407         stop us from restricting permissions of just-created absolute-named
62408         directories.
62409         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
62410         to restore initial working directory.
62411         * lib/mkdir-p.c (make_dir_parents): New parameter:
62412         different_working_dir, to tell caller if/when we change the working
62413         directory and are unable to return to the initial one.
62414         * lib/mkdir-p.h (make_dir_parents): Update prototype.
62415         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
62416         `return false'.  This fixes a bug introduced on 2004-07-30.
62417
62418         * lib/openat.c (fdopendir): Be sure to close the supplied
62419         file descriptor before returning.  This makes our replacement
62420         implementation a little closer to Solaris's, where fdopendir
62421         ties the file descriptor to the returned DIR* pointer.
62422         * lib/openat.c (unlinkat): New function.
62423         * lib/openat.h (unlinkat): Add prototype.
62424         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
62425         (openat_restore_fail): Rename from openat_restore_die.
62426         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
62427
62428         Provide an alternative to exiting immediately upon save_cwd or
62429         restore_cwd failure.  Now, an application can arrange e.g.,
62430         to perform a longjump in that case.
62431         * lib/openat.c: Include dirname.h.
62432         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
62433         (rpl_openat, fdopendir, fstatat): Call openat_save_die
62434         and openat_restore_die rather than calling error directly.
62435         Don't include "error.h" or "exitfail.h"; they're no longer needed.
62436
62437         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
62438         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
62439         define.
62440
62441         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
62442         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
62443                             int utc, int nanoseconds);
62444         Background:
62445         date should not have to allocate a megabyte of virtual memory to
62446         handle a format argument like +%1048575T.  When implemented with
62447         strftime, it must allocate such a buffer, use strftime to fill it
62448         in, print it, then free it.
62449         With fprintftime, it simply prints everything and exits.
62450         With no need for memory allocation, that's one fewer way to fail.
62451         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
62452         optional field width, not before, so we accept %9:z, not %:9z.
62453         (my_strftime): Be sure to use L_('x') for literals.
62454
62455         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
62456         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
62457         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
62458         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
62459         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
62460         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
62461         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
62462         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
62463         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
62464         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
62465         * lib/xgethostname.c, lib/xreadlink.c:
62466         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
62467
62468         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
62469         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
62470         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
62471         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
62472         and don't include <sys/file.h>).
62473
62474 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
62475
62476         Sync from coreutils.
62477
62478         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
62479         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
62480         [!LDAV_DONE]: Avoid unused variable warning.
62481
62482 2005-09-21  Bruno Haible  <bruno@clisp.org>
62483
62484         * lib/unicodeio.h (unicode_to_mb): New declaration.
62485
62486 2005-09-20  Derek Price  <derek@ximbiot.com>
62487
62488         * lib/getaddrinfo.c: Don't include <netdb.h> included from
62489         getaddrinfo.h.
62490
62491 2005-09-20  Bruno Haible  <bruno@clisp.org>
62492
62493         * gnulib-tool: Remove trailing slashes from the values specified for
62494         --source-base, --m4-base, --tests-base, --aux-dir.
62495         Suggested by Simon Josefsson <jas@extundo.com>.
62496
62497 2005-09-20  Bruno Haible  <bruno@clisp.org>
62498
62499         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
62500         func_modules_to_filelist, func_import, func_create_testdir): Make all
62501         sorting results locale-independent, so that gnulib-cache.m4 doesn't
62502         change when gnulib-tool is invoked in a different locale.
62503
62504 2005-09-19  Simon Josefsson  <jas@extundo.com>
62505
62506         * m4/socklen.m4: Fix typo.
62507
62508 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62509
62510         Use a consistent style for including <config.h>.
62511         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
62512         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
62513         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
62514         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
62515         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
62516         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
62517         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
62518         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
62519         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
62520         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
62521         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
62522         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
62523         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
62524         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
62525         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
62526         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
62527         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
62528         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
62529         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
62530         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
62531         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
62532         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
62533         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
62534         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
62535         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
62536         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
62537         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
62538         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
62539         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
62540         lib/xstrtoumax.c, lib/yesno.c:
62541         Standardize inclusion of config.h.
62542         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
62543         lib/inttostr.h:  Removed inclusion of config.h from header files.
62544         * lib/inttostr.c:  Adjusted in-tree users.
62545         * lib/timespec.h: Remove superfluous warning to include config.h.
62546         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
62547         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
62548         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
62549         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
62550         config.h with HAVE_CONFIG_H.
62551
62552 2005-09-19  Jim Meyering  <jim@meyering.net>
62553
62554         * modules/pathmax (License): Change to LGPL.
62555
62556 2005-09-19  Derek Price  <derek@ximbiot.com>
62557
62558         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
62559
62560 2005-09-19  Bruno Haible  <bruno@clisp.org>
62561
62562         * gnulib-tool (import): Provide default for --tests-base.
62563
62564 2005-09-19  Bruno Haible  <bruno@clisp.org>
62565
62566         * doc/quote.texi: New file, extracted from gnulib.texi.
62567         * doc/ctime.texi: New file, extracted from gnulib.texi.
62568         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
62569         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
62570         * doc/gnulib.texi: Include them.
62571
62572 2005-09-18  Bruno Haible  <bruno@clisp.org>
62573
62574         Portability fix.
62575         * gnulib-tool (func_readlink): New function.
62576         (func_ln_if_changed): Use it.
62577
62578 2005-09-18  Bruno Haible  <bruno@clisp.org>
62579
62580         * gnulib-tool: Support --with-tests also with --import.
62581         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
62582         (func_import): Use variables $testsbase and $inctests. Emit a
62583         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
62584         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
62585         SUBDIRS += $testsdir.
62586         (func_create_testdir): Update.
62587
62588 2005-09-18  Bruno Haible  <bruno@clisp.org>
62589
62590         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
62591         instead of $dry_run.
62592         (func_cp_if_changed, func_mv_if_changed): Remove functions.
62593         (func_ln_if_changed): Don't handle dry-run here.
62594         (func_import): In dry-run mode, detect more precisely which actions
62595         would be performed, and don't use "...ing" verbs.
62596
62597 2005-09-18  Bruno Haible  <bruno@clisp.org>
62598
62599         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
62600         (func_import): Use join on two temporary files instead of three nested
62601         loops, in order to determine which files are new or old.
62602
62603 2005-09-18  Bruno Haible  <bruno@clisp.org>
62604
62605         * gnulib-tool (func_import): Comment out code that spits out the
62606         new files with --dry-run.
62607
62608 2005-09-18  Bruno Haible  <bruno@clisp.org>
62609
62610         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
62611
62612 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
62613
62614         * lib/stat-time.h: New file.
62615         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
62616         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
62617         in a different way.
62618         (timespec_cmp): New function.
62619         * lib/utimecmp.c: Include stat-time.h.
62620         (SYSCALL_RESOLUTION): Depend on whether various struct stat
62621         members exist, not on the obsolescent ST_MTIM_NSEC.
62622         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
62623
62624 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
62625
62626         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
62627
62628 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
62629
62630         * MODULES.html.sh (File system functions): Add stat-time.
62631         * modules/stat-time: New file.
62632         * modules/timespec (Files): Remove m4/st_mtim.m4; this
62633         is now done in a different way, by the stat-time module.
62634         * modules/utimecmp (Depends-on): Add stat-time.
62635
62636 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
62637
62638         * m4/st_mtim.m4: Remove.  Superseded by...
62639         * m4/stat-time.m4: New file.
62640         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
62641         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
62642
62643 2005-09-15  Derek Price  <derek@ximbiot.com>
62644
62645         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
62646
62647 2005-09-15  Derek Price  <derek@ximbiot.com>
62648
62649         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
62650         * lib/regex_internal.c: Ditto, using this...
62651         (__GNUC_PREREQ): ...new macro.
62652         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
62653         using...
62654         (__GNUC_PREREQ): ...this new macro.
62655
62656         * lib/strstr.h: Include string.h. Define strstr as a macro here.
62657
62658 2005-09-15  Derek Price  <derek@ximbiot.com>
62659             Paul Eggert  <eggert@cs.ucla.edu>
62660
62661         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
62662         changes, consolidating in...
62663         * lib/regex_internal.h: ...this file.
62664
62665 2005-09-13  Jim Meyering  <jim@meyering.net>
62666
62667         * lib/canon-host.c: Filter through gnu indent and reword comments
62668         slightly.
62669         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
62670
62671 2005-09-13  Derek Price  <derek@ximbiot.com>
62672
62673         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
62674         failure.
62675         Reported by Jim Meyering  <jim@meyering.net>.
62676
62677 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
62678
62679         * lib/base64.c: Typo.
62680         (base64_encode): Put b64str in initialized data section.
62681
62682 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
62683
62684         Merge glibc and coreutils changes into gnulib, plus a few
62685         extra fixes.
62686         * lib/md5.c: Use #error rather than a string.
62687         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
62688         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
62689         (__attribute__): Define to empty for non recent-GCC.
62690         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
62691         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
62692         Renamed from their non-__ counterparts, with new macros replacing
62693         them if not _LIBC.  Add __THROW attribute.
62694         (rol): Remove.
62695         (struct md5_ctx): Align buffer if using GCC.
62696         * lib/sha1.h (struct sha1_ctx): Likewise.
62697         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
62698         The old name was backwards.
62699         (NOTSWAP): Remove; not used.
62700         (rol): New macro, moved here from md5.h.
62701         (sha1_process_block): Remove a FIXME that doesn't make sense.
62702
62703 2005-09-12  Derek Price  <derek@ximbiot.com>
62704
62705         Return usable errors from canon-host.
62706         * lib/canon-host.h: New file.
62707         * lib/canon-host.c (canon_host): Wrap...
62708         (canon_host_r): ...this new function, which now relies exclusively on
62709         getaddrinfo.
62710         (ch_strerror): New function.
62711         (last_cherror): New global.
62712         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
62713         interface.
62714         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
62715         void *.
62716         (freeaddrinfo): Free ai->ai_canonname when set.
62717
62718 2005-09-12  Derek Price  <derek@ximbiot.com>
62719
62720         Make canon-host require getaddrinfo.
62721         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
62722         AC_LIBSOURCE canon-host.h.  Call...
62723         (gl_PREREQ_CANON_HOST): ...this new function, which requires
62724         gl_GETADDRINFO.
62725         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
62726
62727 2005-09-12  Derek Price  <derek@ximbiot.com>
62728
62729         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
62730         LGPL.
62731         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
62732
62733 2005-09-12  Derek Price  <derek@ximbiot.com>
62734
62735         * lib/gai_strerror.c: Include config.h when available.  Include
62736         getaddrinfo.h before other headers to test interface.
62737         Reported by Larry Jones <lawrence.jones@ugs.com>.
62738
62739 2005-09-12  Derek Price  <derek@ximbiot.com>
62740             Paul Eggert  <eggert@cs.ucla.edu>
62741
62742         * modules/glob (Files): Add glob-libc.h.
62743
62744 2005-09-12  Derek Price  <derek@ximbiot.com>
62745             Paul Eggert  <eggert@cs.ucla.edu>
62746
62747         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
62748         glob_.h, glob-libc.h.
62749         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
62750
62751 2005-09-12  Derek Price  <derek@ximbiot.com>
62752             Paul Eggert  <eggert@cs.ucla.edu>
62753
62754         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
62755         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
62756         protecting things that should be done only in gnulib contexts.
62757         * lib/glob_.h: New file, containing only the glob things needed for
62758         gnulib.
62759         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
62760         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
62761         (glob, globfree, glob_pattern_p): Now defined simply in terms of
62762         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
62763         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
62764         and to respect the namespace rules better.
62765
62766 2005-09-08  Simon Josefsson  <jas@extundo.com>
62767
62768         * modules/socklen: New file.
62769
62770 2005-09-08  Simon Josefsson  <jas@extundo.com>
62771
62772         * m4/socklen.m4: New file.
62773
62774 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
62775
62776         * modules/utimens (Files): Add m4/utimbuf.m4, since
62777         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
62778         Reported by Sergey Poznyakoff.
62779
62780 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
62781
62782         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
62783         definitions, since that's the preferred style in glibc.
62784         Fix a minor spacing issue, and update copyright notice to match
62785         glibc's.
62786
62787 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
62788
62789         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
62790
62791 2005-09-06  Simon Josefsson  <jas@extundo.com>
62792
62793         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
62794         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
62795
62796 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
62797
62798         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
62799         warning.
62800
62801 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
62802
62803         * config/srclist.txt: Add glibc bug 1302.
62804
62805 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
62806
62807         Change bitset word type from unsigned int to unsigned long int,
62808         as this has better performance on typical 64-bit hosts.
62809         Port bitset code to hosts with unusual word sizes.
62810         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
62811         (build_collating_symbol):
62812         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
62813         argument is a bitset.  This is merely a style issue, but it makes
62814         it clearer that an entire array is expected.
62815         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
62816         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
62817         Port to the case where bitset_word is not the same as unsigned int.
62818         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
62819         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
62820         Likewise.
62821         * lib/regexec.c (check_dst_limits_calc_pos_1,
62822         check_subexp_matching_top):
62823         (build_trtable, group_nodes_into_DFAstates):
62824         Likewise.
62825         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
62826         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
62827         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
62828         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
62829         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
62830         * lib/regcomp.c (optimize_subexps, lower_subexp):
62831         Work even if bitset_word has holes in its bitwise representation.
62832         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
62833         * lib/regexec.c (check_dst_limits_calc_pos_1,
62834         check_subexp_matching_top):
62835         Likewise.
62836         * lib/regex_internal.c (re_string_reconstruct):
62837         Don't assume UCHAR_MAX == 255.
62838         * lib/regex_internal.h (bitset_set_all): Likewise.
62839         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
62840         All uses changed.
62841         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
62842         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
62843         All uses changed.
62844         (BITSET_WORD_MAX): New macro.
62845         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
62846         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
62847         (bitset_empty, bitset_copy):
62848         Prefer sizeof (bitset) to multiplying it out ourselves.
62849         (bitset_not_merge): Remove; unused.
62850         (bitset_contain): Return bool, not unsigned int with one bit on.
62851         All callers changed.
62852         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
62853         alignment than re_node_set; do this by defining a new internal
62854         type struct dests_alloc and using it to allocate memory.
62855
62856 2005-09-05  Bruno Haible  <bruno@clisp.org>
62857
62858         * gnulib-tool (func_import): Fix comparison in handling of symbolic
62859         links.
62860
62861 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
62862
62863         * modules/size_max (Makefile.am): Add size_max.h
62864
62865 2005-09-04  Derek Price  <derek@ximbiot.com>
62866
62867         * gnulib-tool (func_import): Fix reversed $symbolic logic.
62868
62869 2005-09-03  Simon Josefsson  <jas@extundo.com>
62870
62871         * gnulib-tool: Fix typo.
62872
62873 2005-09-03  Simon Josefsson  <jas@extundo.com>
62874
62875         * config/srclist.txt: Add glibc bug 1293.
62876
62877 2005-09-03  Derek Price  <derek@ximbiot.com>
62878
62879         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
62880         From Larry Jones <lawrence.jones@ugs.com>.
62881
62882 2005-09-02  Simon Josefsson  <jas@extundo.com>
62883
62884         * modules/socklen: New file.
62885
62886 2005-09-02  Simon Josefsson  <jas@extundo.com>
62887
62888         * modules/havelib: New module.
62889
62890         * modules/gettext, modules/iconv, modules/lock, modules/readline:
62891         Use havelib.
62892
62893 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
62894
62895         Check for arithmetic overflow when calculating sizes, to prevent
62896         some buffer-overflow issues.  These patches are conservative, in the
62897         sense that when I couldn't determine whether an overflow was possible,
62898         I inserted a run-time check.
62899         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
62900         macros.
62901         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
62902         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
62903         (re_xnrealloc, re_x2nrealloc): New inline functions.
62904         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
62905         parse_bracket_exp):
62906         (build_equiv_class, build_charclass): Check for arithmetic overflow
62907         in size expression calculations.
62908         * lib/regex_internal.c (re_string_realloc_buffers):
62909         (build_wcs_upper_buffer, re_node_set_add_intersect):
62910         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
62911         (re_dfa_add_node, register_state): Likewise.
62912         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
62913         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
62914         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
62915         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
62916
62917 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
62918
62919         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
62920         m4/ulonglong.m4.  Problem reported by Martin Lambers.
62921
62922 2005-09-02  Bruno Haible  <bruno@clisp.org>
62923
62924         Support for lib vs. lib64 distinction on biarch platforms.
62925         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
62926         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
62927         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
62928
62929 2005-09-02  Bruno Haible  <bruno@clisp.org>
62930
62931         * gnulib-tool (import): In the other first-use case, provide defaults
62932         as well.
62933
62934 2005-09-02  Bruno Haible  <bruno@clisp.org>
62935
62936         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
62937         patches not yet found in the latest gettext release.
62938
62939 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
62940
62941         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
62942         to avoid a collision with bits/local_lim.h in glibc.
62943         All uses changed.  Problem reported by Dmitry V. Levin in
62944         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
62945
62946         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
62947         bugs in int versus size_t comparisons.
62948         (re_string_context_at): Fix bug where the code assumed that
62949         Idx is signed.
62950
62951         Use bool where appropriate.
62952         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
62953         All callers changed.
62954         (calc_eclosure_iter): Likewise, for ROOT arg.
62955         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
62956         (build_charclass_op): Likewise, for NON_MATCH arg.
62957         * lib/regex_internal.c (re_string_allocate, re_string_construct):
62958         (re_string_construct_common): Likewise, for ICASE arg.
62959         * lib/regexec.c (re_search_2_stub, re_search_stub):
62960         Likewise, for RET_LEN arg.
62961         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
62962         (set_regs): Likewise, for FL_BACKTRACK arg.
62963         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
62964         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
62965         (calc_eclosure_iter, parse_bracket_exp):
62966         Use bool for internal variables that are booleans.
62967         * lib/regexec.c (re_search_internal, check_matching,
62968         proceed_next_node):
62969         (set_regs, build_sifted_states, sift_states_bkref):
62970         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
62971         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
62972         (find_collation_sequence_value):
62973         Likewise.
62974         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
62975         (re_node_set_compare):
62976         Return bool, not int. All callers changed.
62977         * lib/regexec.c (check_halt_node_context, check_dst_limits):
62978         (build_trtable, check_node_accept): Likewise.
62979         * lib/regex_internal.h: Include stdbool.h.
62980
62981         Fix bugs uncovered when converting to bool.
62982         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
62983         failure instead of charging ahead blindly.
62984         * lib/regex_internal.c (register_state): Likewise.
62985         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
62986         for freeing internal storage.
62987         (group_nodes_into_DFA_states): Use unsigned int, not int, for
62988         bitset pieces used as boolean, to avoid undefined behavior
62989         on hosts that do int overflow checking.
62990
62991 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
62992
62993         * config/srclist.txt: Add glibc bugs 1285-1287.
62994
62995 2005-09-01  Jim Meyering  <jim@meyering.net>
62996
62997         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
62998         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
62999         Require gl_STAT_MACROS, too.
63000
63001 2005-09-01  Bruno Haible  <bruno@clisp.org>
63002
63003         * gnulib-tool (import): In the first-use case, provide defaults.
63004
63005 2005-09-01  Bruno Haible  <bruno@clisp.org>
63006
63007         * gnulib-tool (func_import): Remove the .tmp files.
63008
63009 2005-09-01  Bruno Haible  <bruno@clisp.org>
63010
63011         * gnulib-tool (func_import): Fix handling of symbolic links.
63012
63013 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63014
63015         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
63016         old glibc regex code mishandles strings longer than 2**31 bytes.
63017         This patch fixes this when the regex code is used in gnulib
63018         (i.e., outside glibc).
63019
63020         This patch should not affect the use of the regex code inside
63021         glibc.  No doubt this problem also needs to be handled for glibc
63022         as well, but the result will be an incompatible change to the
63023         glibc ABI, and the old ABI will have to be supported too.  That
63024         can be the the subject for another patch.
63025
63026         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
63027         governing whether the rest of this patch is active.  By default,
63028         the macro is disabled and the patch has no effect.
63029         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
63030         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
63031         (struct re_pattern_buffer, re_search, re_search_2, re_match):
63032         (re_match_2, re_set_registers): Use the new types.
63033         * lib/regex_internal.h (Idx, re_hashval_t): New types.
63034         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
63035         New macros.
63036         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
63037         (re_string_context_at, bin_tree_t, re_dfastate_t):
63038         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
63039         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
63040         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
63041         (re_string_char_size_at, re_string_wchar_at):
63042         (re_string_elem_size_at):
63043         Use the new types and macros to port to 64-bit hosts.
63044         Use unsigned types for internal values, so that the code
63045         mostly works even for arrays larger than SSIZE_MAX.
63046         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
63047         (search_duplicated_node, calc_eclosure_iter, fetch_number):
63048         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
63049         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
63050         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
63051         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
63052         (calc_inveclosure, parse_dup_op, build_range_exp):
63053         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
63054         (fetch_number, create_token_tree, mark_opt_subexp):
63055         Likewise.
63056         * lib/regex_internal.c (re_string_construct_common,
63057         create_ci_newstate):
63058         (create_cd_newstate, re_string_allocate, re_string_construct):
63059         (re_string_realloc_buffers, build_wcs_upper_buffer):
63060         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
63061         (re_string_reconstruct, re_string_peek_byte_case):
63062         (re_string_fetch_byte_case, re_string_context_at):
63063         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
63064         (re_node_set_init_copy, re_node_set_add_intersect):
63065         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
63066         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
63067         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
63068         (re_acquire_state, re_acquire_state_context, register_state):
63069         Likewise.
63070         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
63071         search_cur_bkref_entry):
63072         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
63073         (re_search_internal, re_search_2_stub, re_search_stub)
63074         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
63075         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
63076         (update_cur_sifted_state, check_dst_limits):
63077         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
63078         (check_subexp_limits, sift_states_bkref, merge_state_array):
63079         (check_subexp_matching_top, get_subexp, get_subexp_sub):
63080         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
63081         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
63082         (expand_bkref_cache, check_node_accept_bytes):
63083         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
63084         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
63085         (acquire_init_state_context, check_halt_node_context):
63086         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
63087         (sift_states_backward, clean_state_log_if_needed):
63088         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
63089         (find_recover_state, transit_state_sb, transit_state_mb):
63090         (transit_state_bkref, build_trtable, match_ctx_clean):
63091         Likewise.
63092         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
63093         to work around an assumption that REG_MISSING is negative.
63094
63095         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
63096         (seek_collating_symbol_entry) [defined _LIBC]:
63097         (lookup_collation_sequence_value) [defined _LIBC]:
63098         (build_range_exp, build_collating_symbol) [defined _LIBC]:
63099         Use prototypes rather than old-style function definitions.
63100         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
63101         (transit_state_sb) [0]:
63102         (find_collation_sequence_value) [defined _LIBC]: Likewise.
63103
63104         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
63105         rm_eo.
63106
63107         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
63108         (optimize_subexps, lower_subexp):
63109         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
63110         since the signed shift might overflow.  Use 1u<<31 instead.
63111         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
63112         Likewise.
63113         * lib/regexec.c (check_dst_limits_calc_pos_1,
63114         check_subexp_matching_top): Likewise.
63115
63116         * lib/regcomp.c (optimize_subexps, lower_subexp):
63117         Use CHAR_BIT rather than 8, for clarity.
63118         * lib/regexec.c (check_dst_limits_calc_pos_1):
63119         (check_subexp_matching_top): Likewise.
63120         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
63121         have to worry about portability issues when shifting it left.
63122         Remove no-longer-needed test for table_size > 0.
63123         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
63124         in a word, as the resulting behavior is undefined.
63125         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
63126         in one case, a <= should have been an <, and in another case the
63127         whole test was missing.
63128         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
63129         the standard name CHAR_BIT.
63130         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
63131         this is not true on one's complement and signed-magnitude hosts.
63132
63133         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
63134         next_last_offset.
63135         (struct re_dfa_t): Remove unused member states_alloc.
63136         * lib/regcomp.c (init_dfa): Don't initialize unused members.
63137
63138 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63139
63140         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
63141         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
63142         and large-file glibc and in 32-bit large-file Solaris.
63143
63144 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63145
63146         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
63147         lengths fit in regoff_t; this isn't true if regoff_t is the same
63148         width as size_t.
63149         * lib/regex.c (re_search_internal): 5th arg is LAST_START
63150         (= START + RANGE) instead of RANGE.  This avoids overflow
63151         problems when regoff_t is the same width as size_t.
63152         All callers changed.
63153         (re_search_2_stub): Check for overflow when adding the
63154         sizes of the two strings.
63155         (re_search_stub): Check for overflow when adding START
63156         to RANGE; if it occurs, substitute the extreme value.
63157
63158 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63159
63160         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
63161
63162 2005-08-31  Jim Meyering  <jim@meyering.net>
63163
63164         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
63165         a pointer-to-const.
63166         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
63167         (register_state): Likewise.
63168         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
63169         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
63170         (group_nodes_into_DFAstates): Likewise.
63171
63172 2005-08-31  Jim Meyering  <jim@meyering.net>
63173
63174         * check-module: Add a FIXME comment.
63175
63176 2005-08-31  Eric Blake  <ebb9@byu.net>
63177
63178         * modules/unistd-safer (Files): Add unistd--.h.
63179         * modules/stdio-safer (Files): Add stdio--.h.
63180
63181 2005-08-31  Derek Price  <derek@ximbiot.com>
63182
63183         * lib/getdelim.c (getdelim): Return EOF on EOF.
63184         Reported by Larry Jones <lawrence.jones@ugs.com>.
63185
63186 2005-08-31  Bruno Haible  <bruno@clisp.org>
63187
63188         Avoid unnecessary diffs in the generated lib/Makefile.am.
63189         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
63190         the generated files.
63191         (func_import): Don't set cmd.
63192
63193 2005-08-31  Bruno Haible  <bruno@clisp.org>
63194
63195         * lib/strstr.c: Include <stddef.h>, for NULL.
63196         * lib/strcasestr.c: Likewise.
63197         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
63198
63199 2005-08-31  Bruno Haible  <bruno@clisp.org>
63200
63201         * gnulib-tool: New option --macro-prefix.
63202         (func_import): Use macro_prefix.
63203         (import): Handle option --macro-prefix.
63204
63205 2005-08-31  Bruno Haible  <bruno@clisp.org>
63206
63207         * gnulib-tool (import): Rename most ac_* variables to cached_*.
63208         Also use new variables cached_lgpl, cached_libtool.
63209
63210 2005-08-31  Bruno Haible  <bruno@clisp.org>
63211
63212         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
63213         always instantiating them.
63214
63215 2005-08-31  Bruno Haible  <bruno@clisp.org>
63216
63217         * gnulib-tool (func_import): Read the previous cached settings
63218         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
63219         earlier added by gnulib but are now dropped. Warn when a gnulib file
63220         overwrites a non-gnulib file.
63221
63222 2005-08-31  Bruno Haible  <bruno@clisp.org>
63223
63224         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
63225         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
63226         projects that don't keep autogenerated files in CVS. Put into
63227         actioncmd only the specified modules, not the transitive closure.
63228
63229 2005-08-31  Bruno Haible  <bruno@clisp.org>
63230
63231         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
63232         Create directories that shall be filled.
63233         (import): Don't look for gl_* macros in configure.ac. Recurse across
63234         all directories containing a gnulib-cache.m4 files, if meaningful.
63235
63236 2005-08-31  Bruno Haible  <bruno@clisp.org>
63237
63238         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
63239         (import): Set seen_libtool when we see gl_LIBTOOL.
63240
63241 2005-08-31  Bruno Haible  <bruno@clisp.org>
63242
63243         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
63244         declaration macro definitions from generated gnulib.m4.
63245
63246 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
63247
63248         * lib/iconvme.h: Add prototype for iconv_alloc.
63249
63250 2005-08-29  Simon Josefsson  <jas@extundo.com>
63251
63252         * lib/iconvme.c: Fix errno.
63253
63254 2005-08-29  Bruno Haible  <bruno@clisp.org>
63255
63256         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
63257         that it works when the directory contains spaces.
63258
63259 2005-08-29  Bruno Haible  <bruno@clisp.org>
63260
63261         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
63262
63263 2005-08-29  Bruno Haible  <bruno@clisp.org>
63264
63265         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
63266         Emit more advice.
63267
63268 2005-08-29  Bruno Haible  <bruno@clisp.org>
63269         and Stepan Kasal  <kasal@ucw.cz>
63270
63271         * check-module: If more parameters are given, check each of them
63272         separately; add more exceptions, as noted by Jim Meyering.
63273         (check_module): New procedure.
63274         (%exempt_header): Now contains all exceptions.
63275
63276 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
63277
63278         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
63279
63280 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
63281
63282         * lib/iconvme.c: Split iconv_string into iconv_alloc.
63283
63284 2005-08-28  Bruno Haible  <bruno@clisp.org>
63285
63286         * m4/gnulib-tool.m4: New file.
63287
63288 2005-08-27  Jim Meyering  <jim@meyering.net>
63289
63290         * modules/unistd-safer (Files): Add pipe-safer.c.
63291         * modules/fcntl-safer (Files): Add creat-safer.c.
63292
63293 2005-08-27  Jim Meyering  <jim@meyering.net>
63294
63295         * m4/stdlib-safer.m4: New file.  From coreutils.
63296         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
63297         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
63298         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
63299         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
63300         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
63301
63302 2005-08-27  Jim Meyering  <jim@meyering.net>
63303
63304         * lib/fopen-safer.c: Merge minor changes from coreutils.
63305         * lib/dup-safer.c: Likewise.
63306         * lib/fd-safer.c: Likewise.
63307
63308         Merge from coreutils.
63309         * lib/stdio--.h: New file.
63310         * lib/stdlib--.h: New file.
63311         * lib/mkstemp-safer.c: New file.
63312
63313         GNU tar needs these.
63314         * lib/pipe-safer.c: New file.
63315         * lib/creat-safer.c: New file.
63316         * lib/fcntl--.h (creat): Define to creat_safer.
63317         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
63318         * lib/unistd--.h (pipe): Define to pipe_safer.
63319         * lib/unistd-safer.h: Declare pipe_safer.
63320
63321 2005-08-26  Simon Josefsson  <jas@extundo.com>
63322
63323         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
63324         Haible <bruno@clisp.org>.
63325
63326 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
63327
63328         * lib/regex_internal.h: Remove all references to
63329         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
63330         or better.
63331         (bitset_not, bitset_merge, bitset_not_merge):
63332         (bitset_mask, re_string_allocate, re_string_construct):
63333         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
63334         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
63335         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
63336         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
63337         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
63338         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
63339         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
63340         (re_acquire_state_context):
63341         Remove unnecessary forward decls.
63342         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
63343         Put __attribute at function definition,
63344         now that the function decl has been removed.
63345         * lib/regex_internal.c (re_string_peek_byte_case):
63346         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
63347         Likewise.
63348
63349 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
63350
63351         * m4/regex.m4: Add AC_PREREQ(2.50).
63352         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
63353
63354 2005-08-25  Simon Josefsson  <jas@extundo.com>
63355
63356         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
63357         __fsetlocking.
63358
63359 2005-08-25  Simon Josefsson  <jas@extundo.com>
63360
63361         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
63362         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
63363         GLIBC specific code.
63364
63365 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
63366
63367         Make regex safe for g++.  This fixes one real bug (an "err"
63368         that should have been "*err").  g++ problem reported by
63369         Sam Steingold.
63370         * lib/regex_internal.h (re_calloc): New macro, consistent with
63371         re_malloc etc.  All callers of calloc changed to use re_calloc.
63372         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
63373         not int.  All callers changed.
63374         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
63375         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
63376         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
63377         (find_recover_state): Change "err" to "*err"; this fixes what
63378         appears to be a real bug.
63379         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
63380         versus int.
63381
63382 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
63383
63384         * modules/regex (Depends-on): Add malloc, since the code
63385         assumes that !malloc(0) means failure.
63386
63387 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
63388
63389         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
63390
63391         alloca modernization/simplification for regex.
63392         * lib/regex.c: Remove portability cruft for alloca.  This no longer
63393         needs to be at the start of the file, and can be moved into
63394         regex_internal.h and simplified.
63395         * lib/regex_internal.h: Include <alloca.h>.
63396         (__libc_use_alloca) [!defined _LIBC]: New macro.
63397         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
63398         now works outside glibc.
63399
63400 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
63401
63402         * config/srclist.txt: Add glibc bugs 1241, 1245.
63403
63404 2005-08-25  Jim Meyering  <jim@meyering.net>
63405
63406         * lib/open-safer.c: Include <config.h>.
63407         Otherwise, we'd lose LARGEFILE support in any file using
63408         e.g. "fcntl--.h"
63409
63410 2005-08-25  Bruno Haible  <bruno@clisp.org>
63411
63412         * m4/minmax.m4: Require autoconf 2.52.
63413         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
63414         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
63415         alternatives of translit over the alphabet.
63416         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
63417
63418 2005-08-24  Simon Josefsson  <jas@extundo.com>
63419
63420         * tests/test-getpass.c: New file.
63421
63422 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
63423
63424         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
63425         for GNU regex features.
63426
63427 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
63428
63429         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
63430         * lib/regex.h (regerror): Likewise.
63431
63432         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
63433         requires this.  (The code never needed it.)
63434
63435         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
63436         All uses of recently-renamed identifiers changed to use the new,
63437         POSIX-compliant names.  The code will build and run just fine
63438         without these changes, but it's better to eat our own dog food
63439         and use the standard-conforming names.
63440
63441         * lib/regex.h: Fix a multitude of POSIX name space violations.
63442         These changes have an effect only for programs that define
63443         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
63444         do not change anything for programs compiled in the normal way.
63445         Also, there is no effect on the ABI.
63446
63447         (_REGEX_SOURCE): New macro.
63448         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
63449         defined and _GNU_SOURCE is not; this fixes a name space violation.
63450
63451         Rename the following macros to obey POSIX requirements.
63452         The old names are still visible as macros if _REGEX_SOURCE is defined.
63453         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
63454         RE_BACKSLASH_ESCAPE_IN_LISTS.
63455         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
63456         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
63457         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
63458         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
63459         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
63460         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
63461         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
63462         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
63463         (REG_INTERVALS): renamed from RE_INTERVALS.
63464         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
63465         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
63466         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
63467         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
63468         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
63469         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
63470         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
63471         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
63472         RE_UNMATCHED_RIGHT_PAREN_ORD.
63473         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
63474         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
63475         (REG_DEBUG): renamed from RE_DEBUG.
63476         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
63477         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
63478         unusual, since we can't clash with the POSIX REG_ICASE.
63479         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
63480         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
63481         (REG_NO_SUB): renamed from RE_NO_SUB.
63482         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
63483         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
63484         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
63485         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
63486         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
63487         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
63488         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
63489         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
63490         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
63491         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
63492         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
63493         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
63494         RE_SYNTAX_POSIX_MINIMAL_BASIC.
63495         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
63496         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
63497         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
63498         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
63499         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
63500         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
63501         (REG_FIXED): Renamed from REGS_FIXED.
63502         (REG_NREGS): Renamed from RE_NREGS.
63503
63504         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
63505         of other REG_* macros, since POSIX says the user is allowed to
63506         #undef these macros selectively.
63507
63508         (reg_errcode_t): Update comment stating what other tables need
63509         to be consistent.
63510
63511         Rename the following enum values to obey POSIX requirements.
63512         The old names are still visible as macros.
63513         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
63514         is not defined, since GNU is supposed to be a superset of POSIX as
63515         much as possible, and since we want reg_errcode_t to be a signed
63516         type for implementation consistency.
63517         (_REG_NOERROR): Renamed from REG_NOERROR.
63518         (_REG_NOMATCH): Renamed from REG_NOMATCH.
63519         (_REG_BADPAT): Renamed from REG_BADPAT.
63520         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
63521         (_REG_ECTYPE): Renamed from REG_ECTYPE.
63522         (_REG_EESCAPE): Renamed from REG_EESCAPE.
63523         (_REG_ESUBREG): Renamed from REG_ESUBREG.
63524         (_REG_EBRACK): Renamed from REG_EBRACK.
63525         (_REG_EPAREN): Renamed from REG_EPAREN.
63526         (_REG_EBRACE): Renamed from REG_EBRACE.
63527         (_REG_BADBR): Renamed from REG_BADBR.
63528         (_REG_ERANGE): Renamed from REG_ERANGE.
63529         (_REG_ESPACE): Renamed from REG_ESPACE.
63530         (_REG_BADRPT): Renamed from REG_BADRPT.
63531         (_REG_EEND): Renamed from REG_EEND.
63532         (_REG_ESIZE): Renamed from REG_ESIZE.
63533         (_REG_ERPAREN): Renamed from REG_ERPAREN.
63534         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
63535         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
63536         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
63537         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
63538
63539         (_REG_RE_NAME, _REG_RM_NAME): New macros.
63540         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
63541         changed.  But support the old name if the new one is not defined
63542         and if _REGEX_SOURCE.
63543
63544         Change the following member names in struct re_pattern_buffer.
63545         The old names are still supported if !_REGEX_SOURCE.
63546         The new names are always supported, regardless of _REGEX_SOURCE.
63547         (re_buffer): Renamed from buffer.
63548         (re_allocated): Renamed from allocated.
63549         (re_used): Renamed from used.
63550         (re_syntax): Renamed from syntax.
63551         (re_fastmap): Renamed from fastmap.
63552         (re_translate): Renamed from translate.
63553         (re_can_be_null): Renamed from can_be_null.
63554         (re_regs_allocated): Renamed from regs_allocated.
63555         (re_fastmap_accurate): Renamed from fastmap_accurate.
63556         (re_no_sub): Renamed from no_sub.
63557         (re_not_bol): Renamed from not_bol.
63558         (re_not_eol): Renamed from not_eol.
63559         (re_newline_anchor): Renamed from newline_anchor.
63560
63561         Change the following member names in struct re_registers.
63562         The old names are still supported if !_REGEX_SOURCE.
63563         The new names are always supported, regardless of _REGEX_SOURCE.
63564         (rm_num_regs): Renamed from num_regs.
63565         (rm_start): Renamed from start.
63566         (rm_end): Renamed from end.
63567
63568         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
63569         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
63570         Prepend __ to parameter names.
63571
63572         Undo yesterday's changes.
63573
63574 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
63575
63576         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
63577         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
63578         lib/regex.c.
63579
63580 2005-08-24  Jim Meyering  <jim@meyering.net>
63581
63582         Sync from coreutils.
63583         * m4/fcntl-safer.m4: New file.
63584
63585         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
63586         and object files for this module.
63587
63588 2005-08-24  Jim Meyering  <jim@meyering.net>
63589
63590         Sync from coreutils.
63591         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
63592
63593 2005-08-24  Jim Meyering  <jim@meyering.net>
63594
63595         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
63596         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
63597
63598 2005-08-24  Jim Meyering  <jim@meyering.net>
63599
63600         * modules/fcntl-safer: New module.
63601         * modules/fts (Depends-on): Add fcntl-safer.
63602         * MODULES.html.sh (File descriptor based Input/Output):
63603         Add fcntl-safer.
63604
63605 2005-08-24  Bruno Haible  <bruno@clisp.org>
63606
63607         Support for unit test modules.
63608         * modules/README: Mention tests modules.
63609         * modules/TEMPLATE-TESTS: New file.
63610         * gnulib-tool: New options --extract-tests-module, --with-tests and
63611         --tests-base (unused for the moment).
63612         (testsbase, inctests): New variables.
63613         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
63614         (func_verify_module): Exclude TEMPLATE-TESTS.
63615         (func_verify_nontests_module, func_verify_tests_module): New functions.
63616         (func_get_dependencies): Add implicit dependency for tests modules.
63617         (func_get_tests_module): New function.
63618         (func_modules_transitive_closure): When --with-tests was specified,
63619         include the unit tests as well, unless explicitly avoided.
63620         (func_emit_lib_Makefile_am): Ignore the tests modules here.
63621         (func_emit_tests_Makefile_am): New function.
63622         (func_create_testdir): When --with-tests was specified, emit a
63623         tests/ directory.
63624         * MODULES.html.sh (Future developments): Update.
63625
63626 2005-08-24  Bruno Haible  <bruno@clisp.org>
63627
63628         * modules/tls-tests: New file.
63629         * tests/test-tls.c: New file, from GNU gettext.
63630
63631 2005-08-24  Bruno Haible  <bruno@clisp.org>
63632
63633         * modules/lock-tests: New file.
63634         * tests/test-lock.c: New file, from GNU gettext.
63635
63636 2005-08-24  Bruno Haible  <bruno@clisp.org>
63637
63638         * lib/lock.h: Add multiple inclusion guard.
63639         * lib/tls.h: Add multiple inclusion guard.
63640
63641 2005-08-24  Bruno Haible  <bruno@clisp.org>
63642
63643         * gnulib-tool: Add support for the --aux-dir option to
63644         --create-testdir, --create-megatestdir, --test, --megatest.
63645         (func_create_testdir, func_create_megatestdir): Optionally emit a
63646         AC_CONFIG_AUX_DIR directive.
63647         (create-testdir, create-megatestdir, test, megatest): Provide a
63648         default value for $auxdir.
63649
63650 2005-08-24  Bruno Haible  <bruno@clisp.org>
63651
63652         * gnulib-tool (import): Use compound statement instead of subshell
63653         where possible.
63654
63655 2005-08-24  Bruno Haible  <bruno@clisp.org>
63656
63657         * gnulib-tool (import): Change --aux-dir default to "build-aux".
63658
63659 2005-08-24  Bruno Haible  <bruno@clisp.org>
63660
63661         * gnulib-tool (func_version): Update.
63662
63663 2005-08-24  Bruno Haible  <bruno@clisp.org>
63664
63665         * gnulib-tool (func_import, func_create_testdir,
63666         func_create_megatestdir): Quote all autoconf macro arguments.
63667
63668 2005-08-24  Bruno Haible  <bruno@clisp.org>
63669
63670         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
63671         option --force, because --force causes the aclocal.m4 of each
63672         subdirectory to be newer than the corresponding config.h.in.
63673
63674 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
63675
63676         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
63677         All contents moved to gl_REGEX.
63678         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
63679         assume that it does.
63680
63681 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
63682
63683         * lib/regex.h (REG_NOSYS)
63684         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
63685         Define, since POSIX requires it as of 2001.
63686         (_REG_ENOSYS)
63687         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
63688         New private symbol, used to keep the enum signed in all cases.
63689         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
63690         Youngman in
63691         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
63692
63693         * lib/regex_internal.c (re_string_skip_chars, register_state):
63694         (calc_state_hash):
63695         Remove forward decls; no longer needed now that we use prototypes.
63696         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
63697         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
63698         (clean_state_log_if_needed): Likewise.
63699
63700 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
63701
63702         * config/srclist.txt: Add glibc bugs 1231-1233.
63703
63704 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
63705
63706         Fix problems reported by Sam Steingold in
63707         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
63708         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
63709         assumed that reg_errcode_t is a signed type, which is not
63710         necessarily true if _XOPEN_SOURCE is not defined.
63711         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
63712         since some compilers warn about it otherwise.
63713
63714 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
63715
63716         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
63717         (init_word_char, create_initial_state, duplicate_node_closure):
63718         (fetch_token, peek_token_bracket, build_range_exp):
63719         (build_collating_symbol): Remove forward decls; no longer needed
63720         now that we use prototypes.
63721
63722         * lib/regcomp.c:
63723         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
63724         (re_compile_fastmap_iter, regcomp, regerror, regfree):
63725         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
63726         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
63727         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
63728         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
63729         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
63730         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
63731         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
63732         (build_range_exp, build_collating_symbol, parse_bracket_exp):
63733         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
63734         (build_charclass, build_charclass_op, fetch_number, create_tree):
63735         (create_token_tree, mark_opt_subexp, duplicate_tree):
63736         Use prototypes rather than old-style definitions.
63737
63738         * lib/regex_internal.c:
63739         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
63740         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
63741         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
63742         (re_string_reconstruct, re_string_peek_byte_case):
63743         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
63744         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
63745         (re_node_set_init_copy, re_node_set_add_intersect):
63746         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
63747         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
63748         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
63749         (re_acquire_state, re_acquire_state_context, register_state):
63750         (create_ci_newstate, create_cd_newstate, free_state):
63751         Likewise.
63752         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
63753         re_search_2):
63754         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
63755         (re_search_internal, prune_impossible_nodes):
63756         (acquire_init_state_context, check_matching, static):
63757         (check_halt_node_context, check_halt_state_context, proceed_next_node):
63758         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
63759         (update_regs, sift_states_backward, build_sifted_states):
63760         (clean_state_log_if_needed, merge_state_array):
63761         (update_cur_sifted_state, add_epsilon_src_nodes):
63762         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
63763         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
63764         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
63765         (find_recover_state, check_subexp_matching_top, transit_state_mb):
63766         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
63767         (check_arrival, check_arrival_add_next_nodes):
63768         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
63769         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
63770         (check_node_accept_bytes, check_node_accept, extend_buffers):
63771         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
63772         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
63773         (sift_ctx_init):
63774         Likewise.
63775
63776         * lib/regex_internal.h:
63777         (re_string_allocate, re_string_construct, re_string_reconstruct):
63778         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
63779         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
63780         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
63781         (re_string_context_at, re_string_peek_byte_case):
63782         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
63783         is defined, since we now use prototypes always.
63784
63785         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
63786         C89 or better.  All uses removed.
63787
63788 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
63789
63790         * config/srclist.txt: Add glibc bugs 1220-1227.
63791
63792 2005-08-20  Jim Meyering  <jim@meyering.net>
63793
63794         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
63795         of unused local, dfa.
63796
63797 2005-08-20  Bruno Haible  <bruno@clisp.org>
63798
63799         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
63800
63801 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
63802
63803         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
63804         (re_node_set_insert_last, re_dfa_add_node):
63805         Rename local variables to avoid GCC shadowing warnings.
63806
63807 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
63808
63809         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
63810         [defined lint]: Suppress bogus uninitialized-variable warnings.
63811
63812         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
63813         and let the caller return REG_ESPACE if out of space.  This
63814         removes an uninitialied-variable warning with GCC 4.0.1, and also
63815         avoids taking the address of a local variable.  All callers
63816         changed.
63817
63818 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
63819
63820         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
63821         $LIBCSRC/posix/regexec.c.
63822         Add glibc bug 1217 for regcomp.c.
63823
63824 2005-08-19  Jim Meyering  <jim@meyering.net>
63825
63826         * lib/regexec.c (proceed_next_node): Redo local variables to
63827         avoid GCC shadowing warnings.
63828
63829 2005-08-18  Bruno Haible  <bruno@clisp.org>
63830
63831         * lib/strstr.c (strstr): Fix return value in multibyte case.
63832         * lib/strcasestr.c (strcasestr): Likewise.
63833
63834 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
63835
63836         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
63837
63838 2005-08-17  Jim Meyering  <jim@meyering.net>
63839
63840         Make the %s format (seconds since the epoch) work for a negative
63841         number and when used with a zero-padded field width, e.g. %015s.
63842
63843         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
63844         label so that it precedes the code to set `digits'.  Otherwise,
63845         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
63846         print `00-22'.  Now, it prints `-0022', as it should.
63847
63848 2005-08-17  Bruno Haible  <bruno@clisp.org>
63849
63850         * modules/strstr (Files): Add m4/mbrtowc.m4.
63851         (Depends-on): Add mbuiter.
63852
63853 2005-08-17  Bruno Haible  <bruno@clisp.org>
63854
63855         * modules/strcasestr: New file.
63856         * MODULES.html.sh (String handling, based on ANSI C 89): Add
63857         strcasestr.
63858
63859 2005-08-17  Bruno Haible  <bruno@clisp.org>
63860
63861         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
63862
63863 2005-08-17  Bruno Haible  <bruno@clisp.org>
63864
63865         * modules/mbuiter: New file.
63866         * MODULES.html.sh (Extended multibyte and wide character utilities):
63867         Add mbuiter.
63868
63869 2005-08-17  Bruno Haible  <bruno@clisp.org>
63870
63871         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
63872         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
63873
63874 2005-08-17  Bruno Haible  <bruno@clisp.org>
63875
63876         * m4/strcasestr.m4: New file.
63877
63878 2005-08-17  Bruno Haible  <bruno@clisp.org>
63879
63880         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
63881         * lib/strstr.c: Completely rewritten, with multibyte locale support.
63882
63883 2005-08-17  Bruno Haible  <bruno@clisp.org>
63884
63885         * lib/strcasestr.h: New file.
63886         * lib/strcasestr.c: New file.
63887
63888 2005-08-17  Bruno Haible  <bruno@clisp.org>
63889
63890         * lib/strcasecmp.c: Use mbuiter.h.
63891
63892 2005-08-17  Bruno Haible  <bruno@clisp.org>
63893
63894         * lib/mbuiter.h: New file.
63895
63896 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
63897
63898         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
63899         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
63900         and gl_GETOPT are both invoked via different paths (as happens
63901         with GNU tar CVS because it uses both argp and getopt), the former
63902         wins.
63903
63904 2005-08-16  Bruno Haible  <bruno@clisp.org>
63905
63906         * modules/tls: New file.
63907         * MODULES.html.sh (Multithreading): Add tls.
63908
63909 2005-08-16  Bruno Haible  <bruno@clisp.org>
63910
63911         * modules/strnlen1: New file.
63912         * MODULES.html.sh (String handling): Add strnlen1.
63913
63914 2005-08-16  Bruno Haible  <bruno@clisp.org>
63915
63916         * modules/strcase (Files): Add m4/mbrtowc.m4.
63917         (Depends-on): Add strnlen1, mbchar.
63918
63919 2005-08-16  Bruno Haible  <bruno@clisp.org>
63920
63921         * modules/mbiter: New file.
63922         * MODULES.html.sh (Extended multibyte and wide character utilities):
63923         Add mbiter.
63924
63925 2005-08-16  Bruno Haible  <bruno@clisp.org>
63926
63927         * modules/mbfile: New file.
63928         * MODULES.html.sh (Extended multibyte and wide character utilities):
63929         Add mbfile.
63930
63931 2005-08-16  Bruno Haible  <bruno@clisp.org>
63932
63933         * modules/mbchar: New file.
63934         * MODULES.html.sh (Extended multibyte and wide character utilities):
63935         New section.
63936
63937 2005-08-16  Bruno Haible  <bruno@clisp.org>
63938
63939         * m4/tls.m4: New file, from GNU gettext.
63940
63941 2005-08-16  Bruno Haible  <bruno@clisp.org>
63942
63943         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
63944         always.
63945         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
63946
63947 2005-08-16  Bruno Haible  <bruno@clisp.org>
63948
63949         * m4/mbiter.m4: New file.
63950
63951 2005-08-16  Bruno Haible  <bruno@clisp.org>
63952
63953         * m4/mbfile.m4: New file.
63954
63955 2005-08-16  Bruno Haible  <bruno@clisp.org>
63956
63957         * m4/mbchar.m4: New file.
63958
63959 2005-08-16  Bruno Haible  <bruno@clisp.org>
63960
63961         * lib/tls.h: New file, from GNU gettext.
63962         * lib/tls.c: New file, from GNU gettext.
63963
63964 2005-08-16  Bruno Haible  <bruno@clisp.org>
63965
63966         * lib/strnlen1.h: New file.
63967         * lib/strnlen1.c: New file.
63968
63969 2005-08-16  Bruno Haible  <bruno@clisp.org>
63970
63971         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
63972         (mbi_init): Update.
63973         (mbi_avail, mbi_advance): Let the iteration end before the terminating
63974         NUL byte, not after it.
63975
63976 2005-08-16  Bruno Haible  <bruno@clisp.org>
63977
63978         * lib/strcase.h (strcasecmp): Add note in comments.
63979         * lib/strncasecmp.c: Use code from strcasecmp.c.
63980         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
63981         (strcasecmp): Work correctly in multibyte locales.
63982
63983 2005-08-16  Bruno Haible  <bruno@clisp.org>
63984
63985         * lib/mbiter.h: New file.
63986
63987 2005-08-16  Bruno Haible  <bruno@clisp.org>
63988
63989         * lib/mbfile.h: New file.
63990
63991 2005-08-16  Bruno Haible  <bruno@clisp.org>
63992
63993         * lib/mbchar.h: New file.
63994         * lib/mbchar.c: New file.
63995
63996 2005-08-16  Bruno Haible  <bruno@clisp.org>
63997
63998         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
63999         the valid ones. Makes the comparison operations transitive:
64000         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
64001         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
64002
64003 2005-08-15  Simon Josefsson  <jas@extundo.com>
64004
64005         * modules/ssize_t (License): Change to 'unlimited'.
64006
64007         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
64008
64009 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
64010
64011         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
64012         Add comments for each pending glibc patch.
64013
64014 2005-08-15  Bruno Haible  <bruno@clisp.org>
64015
64016         * lib/regex.h (__restrict_arr): Don't define to __restrict if
64017         __cplusplus is defined.
64018
64019 2005-08-14  Jim Meyering  <jim@meyering.net>
64020
64021         Sync from coreutils.
64022
64023         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
64024         Use the hash-table-based cycle-detection code not just when
64025         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
64026         Reported by James Youngman in
64027         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
64028         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
64029         FTS_TIGHT_CYCLE_CHECK.
64030         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
64031         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
64032         once again.
64033         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
64034         * lib/fts.c (fd_safer): Remove decl.
64035         Include fcntl--.h rather than unistd-safer.h
64036         (fts_safe_changedir): Don't call fd_safer; no longer needed
64037         now that we include fcntl--.h.
64038
64039 2005-08-12  Simon Josefsson  <jas@extundo.com>
64040
64041         * modules/getndelim2: Use ssize_t module.
64042         * modules/getnline: Likewise.
64043         * modules/safe-read: Likewise.
64044         * modules/xreadlink: Likewise.
64045
64046         * modules/ssize_t: New file.
64047
64048 2005-08-12  Simon Josefsson  <jas@extundo.com>
64049
64050         * m4/readline.m4: Look for termcap, curses or ncurses if required.
64051
64052 2005-08-12  Simon Josefsson  <jas@extundo.com>
64053
64054         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
64055         ssize_t.
64056
64057 2005-08-12  Simon Josefsson  <jas@extundo.com>
64058
64059         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
64060         readline, getdelim and check_version.
64061         (Support for systems lacking ISO C 99: Sizes of integer types):
64062         Add size_max.
64063
64064 2005-08-12  Bruno Haible  <bruno@clisp.org>
64065
64066         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
64067
64068 2005-08-11  Simon Josefsson  <jas@extundo.com>
64069
64070         * modules/readline: New file.
64071
64072         * modules/strnlen (Files): Add strnlen.h.
64073
64074 2005-08-11  Simon Josefsson  <jas@extundo.com>
64075
64076         * m4/readline.m4: New file.
64077
64078 2005-08-11  Simon Josefsson  <jas@extundo.com>
64079
64080         * lib/readline.h, readline.c: New file.
64081
64082 2005-08-11  Simon Josefsson  <jas@extundo.com>
64083
64084         * doc/gnulib.texi (Initial import, Finishing touches): Mention
64085         gl_AVOID.
64086
64087 2005-08-11  Bruno Haible  <bruno@clisp.org>
64088
64089         * lib/strnlen.h (strnlen): Change parameter name to match comment.
64090
64091 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
64092
64093         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
64094
64095 2005-08-10  Simon Josefsson  <jas@extundo.com>
64096
64097         * tests/test-iconvme.c: New file.
64098
64099 2005-08-10  Simon Josefsson  <jas@extundo.com>
64100
64101         * m4/strnlen.m4: New file.
64102
64103         * m4/strndup.m4: Don't check for strnlen declaration, done in
64104         strnlen.m4.
64105
64106 2005-08-10  Simon Josefsson  <jas@extundo.com>
64107
64108         * lib/strndup.c: Use strnlen.h.
64109
64110         * lib/strnlen.h: New file.
64111
64112 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
64113
64114         * README: Typos.
64115
64116 2005-08-02  Simon Josefsson  <jas@extundo.com>
64117
64118         * modules/readline: New file.
64119
64120 2005-08-02  Simon Josefsson  <jas@extundo.com>
64121
64122         * modules/getdelim: New file.
64123
64124         * modules/getline: Rewrite, don't use getndelim2.
64125
64126 2005-08-02  Simon Josefsson  <jas@extundo.com>
64127
64128         * m4/getline.m4: Separate out getdelim stuff into separate module.
64129
64130         * m4/getdelim.m4: New file.
64131
64132 2005-08-02  Simon Josefsson  <jas@extundo.com>
64133
64134         * lib/getline.h, getline.c: Rewrite.
64135
64136         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
64137
64138 2005-07-31  Bruno Haible  <bruno@clisp.org>
64139
64140         * lib/lock.h (gl_lock_initializer): New macro.
64141         (gl_lock_define_initialized): Use it.
64142         (gl_rwlock_initializer): New macro.
64143         (gl_rwlock_define_initialized): Use it.
64144         (gl_recursive_lock_initializer): New macro.
64145         (gl_recursive_lock_define_initialized): Use it.
64146
64147 2005-07-30  Karl Berry  <karl@gnu.org>
64148
64149         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
64150         Report from Ben Pfaff, regarding getopt.
64151
64152 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
64153
64154         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
64155         normal way.
64156         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
64157         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
64158         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
64159         (gl_GETOPT): Use the new macros.  Most of the implementation
64160         is moved to the new macros.  This is for programs like Emacs
64161         that don't want all the functionality of gl_GETOPT.
64162
64163 2005-07-26  Bruno Haible  <bruno@clisp.org>
64164
64165         * m4/lock.m4: Update from GNU gettext.
64166
64167 2005-07-26  Bruno Haible  <bruno@clisp.org>
64168
64169         * lib/lock.h: Update from GNU gettext.
64170         * lib/lock.c: Update from GNU gettext.
64171
64172 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
64173
64174         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
64175         obsolescent AC_TRY_RUN.  Include the default includes files, for
64176         'exit'.
64177
64178 2005-07-24  Bruno Haible  <bruno@clisp.org>
64179
64180         * modules/visibility: New file.
64181         * MODULES.html.sh (Misc): Add visibility.
64182
64183 2005-07-24  Bruno Haible  <bruno@clisp.org>
64184
64185         * m4/visibility.m4: New file.
64186
64187 2005-07-24  Bruno Haible  <bruno@clisp.org>
64188
64189         * doc/visibility.texi: New file.
64190
64191 2005-07-22  Bruno Haible  <bruno@clisp.org>
64192
64193         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
64194         $(ALLOCA_H), redundant through BUILT_SOURCES.
64195         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
64196         redundant through BUILT_SOURCES.
64197         * modules/byteswap (Makefile.am): Remove explicit dependency on
64198         $(BYTESWAP_H), redundant through BUILT_SOURCES.
64199         * modules/fnmatch (Makefile.am): Remove explicit dependency on
64200         $(FNMATCH_H), redundant through BUILT_SOURCES.
64201         * modules/getopt (Makefile.am): Remove explicit dependency on
64202         $(GETOPT_H), redundant through BUILT_SOURCES.
64203         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
64204         redundant through BUILT_SOURCES.
64205         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
64206         redundant through BUILT_SOURCES.
64207         * modules/stdbool (Makefile.am): Remove explicit dependency on
64208         $(STDBOOL_H), redundant through BUILT_SOURCES.
64209         * modules/stdint (Makefile.am): Remove explicit dependency on
64210         $(STDINT_H), redundant through BUILT_SOURCES.
64211         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
64212         Remove explicit dependency on $(SYSEXITS_H).
64213         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
64214
64215 2005-07-18  Simon Josefsson  <jas@extundo.com>
64216
64217         * lib/check-version.c (check_version): Accept identical versions too.
64218
64219 2005-07-18  Bruno Haible  <bruno@clisp.org>
64220
64221         * modules/lock: New file.
64222         * MODULES.html.sh (Multithreading): New section.
64223
64224 2005-07-18  Bruno Haible  <bruno@clisp.org>
64225
64226         * m4/lock.m4: New file, from GNU gettext.
64227
64228 2005-07-18  Bruno Haible  <bruno@clisp.org>
64229
64230         * lib/lock.h: New file, from GNU gettext.
64231         * lib/lock.c: New file, from GNU gettext.
64232
64233 2005-07-18  Bruno Haible  <bruno@clisp.org>
64234
64235         * lib/lock.h (gl_once_t): New type.
64236         (gl_once_define, gl_once): New macros.
64237         * lib/lock.c (fresh_once): New variable.
64238         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
64239         functions.
64240
64241 2005-07-16  Simon Josefsson  <jas@extundo.com>
64242
64243         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
64244         workaround, suggested by Bruno.
64245
64246 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
64247
64248         * modules/xalloc (Depends-on): Add xalloc-die.
64249         * modules/xvasprintf (Depends-on): Add xalloc-die.
64250
64251 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
64252
64253         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
64254         with a minor change.
64255
64256 2005-07-15  Bruno Haible  <bruno@clisp.org>
64257
64258         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
64259         When using lib/poll.c, define poll as rpl_poll.
64260
64261 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
64262
64263         * modules/argp (Depends-on): Remove unlocked-io.
64264
64265 2005-07-14  Derek Price  <derek@ximbiot.com>
64266
64267         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
64268         for glob symlink bug.
64269
64270 2005-07-14  Bruno Haible  <bruno@clisp.org>
64271
64272         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
64273         Instead, test for *_unlocked function declarations directly.
64274
64275 2005-07-11  Simon Josefsson  <jas@extundo.com>
64276
64277         * modules/size_max: New file.
64278
64279         * modules/xsize: Depend on size_max module for size_max.m4.
64280
64281 2005-07-11  Simon Josefsson  <jas@extundo.com>
64282
64283         * lib/size_max.h: New file.
64284
64285 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
64286
64287         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
64288         copyright symbol and the year.
64289         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
64290         (version_etc_va): Use parameterized copyright notice.
64291         Reword to conform to the current GNU coding standards.
64292
64293 2005-07-11  Karl Berry  <karl@gnu.org>
64294
64295         * doc/gnulib.texi (Quoting): new node.
64296         (Initial import): more info, from Patrice.
64297
64298 2005-07-11  Bruno Haible  <bruno@clisp.org>
64299
64300         * gnulib-tool (func_usage): Document option --avoid.
64301         (Command line options): Handle --avoid.
64302         (func_acceptable): New function.
64303         (func_modules_transitive_closure): Use it.
64304
64305 2005-07-11  Bruno Haible  <bruno@clisp.org>
64306
64307         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
64308         Reported by Jim Meyering.
64309
64310 2005-07-10  Bruno Haible  <bruno@clisp.org>
64311
64312         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
64313         Needed when size_t is smaller than 'unsigned int'.
64314         Reported by Paul Eggert.
64315
64316 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
64317
64318         * modules/argp (Depends-on): Add unlocked-io
64319
64320 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
64321
64322         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
64323         block of defines.
64324
64325 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
64326
64327         * config/srclist.txt: Comment out regcomp.c, since we have a porting
64328         fix now.
64329
64330 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
64331         and Paul Eggert  <eggert@cs.ucla.edu>
64332
64333         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
64334         in wint_t, not wchar_t.  Remove now-unnecessary cast.
64335
64336 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
64337
64338         * modules/regex (Files): Add lib/regex_internal.c,
64339         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
64340         (Depends-on): Add extensions.
64341         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
64342
64343 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
64344
64345         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
64346         pathconf.
64347         * m4/same.m4 (gl_SAME): Likewise.
64348         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
64349
64350         * m4/regex.m4: Adjust to new libc regex implementation.
64351         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
64352         all the .c and .h parts of (the new) regex.
64353         Quote the m4 stuff better.
64354         Check for RE_ICASE bug of old gnulib.
64355         Check for REG_STARTEND of recent libc.
64356         Rename local variables from jm_* to gl_*.
64357         Quote operand of "test -f".
64358         Say "recent enough" version of libc, not "version 2".
64359         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
64360         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
64361         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
64362         Remove check for btowc, isascii.
64363         Require AM_LANGINFO_CODESET.
64364
64365 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
64366
64367         * lib/regex.c, regex.h: Sync from libc.
64368         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
64369         * lib/regexec.c:
64370         New files, synced from libc, except that regex_internal.h
64371         currently has a small porting fix.
64372
64373 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
64374
64375         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
64376         regex_internal.c, regexec.c.
64377         Add regex_internal.h too, but as a comment, since the libc version
64378         is currently broken in gnulib mode.
64379
64380 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
64381
64382         Support programs like Emacs that use gnulib but not gettext.
64383         * MODULES.html.sh (Internationalization functions): Add gettext-h.
64384         * modules/gettext-h: New file.
64385         * modules/gettext (Files): Remove lib/gettext.h.
64386         (Depends-on): Add gettext-h.
64387         (Makefile.am): Remove lib_SOURCES.
64388         * modules/argmatch, modules/c-stack, modules/closeout:
64389         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
64390         * modules/execute, modules/file-type, modules/getaddrinfo:
64391         * modules/getopt, modules/human, modules/javacomp:
64392         * modules/javaexec, modules/mkdir-p, modules/obstack:
64393         * modules/openat, modules/pagealign_alloc, modules/pipe:
64394         * modules/quotearg, modules/regex, modules/rpmatch:
64395         * modules/unicodeio, modules/userspec, modules/version-etc:
64396         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
64397         * modules/xsetenv:
64398         Depend on gettext-h, not gettext.
64399
64400 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
64401
64402         * gnulib-tool (func_import): Add support for 'public domain' license.
64403         * modules/alloca, modules/atexit, modules/memmove:
64404         Now public domain, not GPL.
64405         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
64406         * modules/realloc, modules/strerror, modules/strtod:
64407         Now LGPL, not GPL.
64408
64409 2005-07-05  Bruno Haible  <bruno@clisp.org>
64410
64411         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
64412         autoconf CVS. Needed for mingw.
64413
64414 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
64415
64416         Remove the dependency of the strftime module on the tzset module.
64417         * modules/strftime (Depends-on): Remove dependency on tzset.
64418
64419 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
64420
64421         Remove the dependency of the strftime module on the tzset module.
64422         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
64423         gl_FUNC_TZSET_CLOBBER.
64424
64425 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
64426
64427         Remove the dependency of the strftime module on the tzset module.
64428         * lib/strftime.c (my_strftime)
64429         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
64430         Copy the input structure, to work around some of the bug with
64431         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
64432         Solaris releases, you should also use the tzset module, but we won't
64433         require it as a dependency any more since we don't want LGPLed code
64434         to depend on GPLed code.
64435
64436 2005-07-02  Jim Meyering  <jim@meyering.net>
64437
64438         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
64439         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
64440         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
64441         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
64442
64443 2005-07-02  Jim Meyering  <jim@meyering.net>
64444
64445         * lib/backupfile.c (backup_args): Change a `0' to NULL.
64446
64447 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
64448
64449         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
64450         declares only 'struct timespec;' (!).
64451
64452 2005-07-01  Jim Meyering  <jim@meyering.net>
64453
64454         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
64455         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
64456         * lib/save-cwd.c, tempname.c:
64457         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
64458         and don't include <sys/file.h>).
64459
64460 2005-06-29  Jim Meyering  <jim@meyering.net>
64461
64462         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
64463         type name.  Use the variable name instead.
64464         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
64465         Likewise.
64466
64467 2005-06-28  Simon Josefsson  <jas@extundo.com>
64468
64469         * modules/check-version (Files): Add check-version.m4.
64470
64471 2005-06-28  Simon Josefsson  <jas@extundo.com>
64472
64473         * m4/check-version.m4: New file, suggested by Jim Meyering
64474         <jim@meyering.net>.
64475
64476 2005-06-28  Simon Josefsson  <jas@extundo.com>
64477
64478         * lib/check-version.h, lib/check-version.c: New files.
64479
64480 2005-06-28  Simon Josefsson  <jas@extundo.com>
64481
64482         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
64483         collision with global variable.  Better indentation.  Don't
64484         increment buffer pointer beyond buffer end.  Based on comments
64485         from Paul Eggert <eggert@cs.ucla.edu>.
64486
64487         * lib/base64.h: Indent.
64488
64489 2005-06-28  Simon Josefsson  <jas@extundo.com>
64490
64491         * doc/gnulib.texi (Library version handling): New section.
64492
64493 2005-06-28  Jim Meyering  <jim@meyering.net>
64494
64495         * check-module (find_included_lib_files): Hard-code another
64496         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
64497         but modules/fts-lgpl (correctly) does not list those files.
64498
64499         * modules/canonicalize (Files): Add lib/pathmax.h.
64500
64501 2005-06-25  Simon Josefsson  <jas@extundo.com>
64502
64503         * modules/check-version: New file.
64504
64505 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
64506
64507         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
64508         initializer of struct addrinfo, as an indication that we don't
64509         care how many members the structure has.
64510
64511 2005-06-24  Derek Price  <derek@ximbiot.com>
64512         and Bruno Haible  <bruno@clisp.org>
64513
64514         Remove stat module & update lstat.
64515         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
64516         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
64517         * m4/stat.m4: Remove this file.
64518
64519 2005-06-24  Derek Price  <derek@ximbiot.com>
64520         and Bruno Haible  <bruno@clisp.org>
64521
64522         Remove stat module & update lstat.
64523         * lib/stat.c: Remove this file...
64524         (slash_aware_lstat): ...moving this content and its support...
64525         * lib/lstat.c (rpl_lstat): ...into here.
64526         * lib/lstat.h: New file.
64527
64528 2005-06-24  Derek Price  <derek@ximbiot.com>
64529         and Bruno Haible  <bruno@clisp.org>
64530
64531         Remove stat module & update lstat.
64532         * config/srclist.txt (libc sources): Remove stat.
64533
64534 2005-06-24  Derek Price  <derek@ximbiot.com>
64535         and Bruno Haible  <bruno@clisp.org>
64536
64537         Remove stat module & update lstat.
64538         * MODULES.html.sh (stat): Remove.
64539         * MODULES.html: Regenerated.
64540         * modules/lstat (Description): Correct function name.
64541         (Files): Add "lstat.h".
64542         (Depends-on): Remove stat, add xalloc, stat-macros.
64543         * modules/stat: Remove this file.
64544         (Include): Add "lstat.h", remove <sys/stat.h>.
64545
64546 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
64547
64548         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
64549         (ranged_convert): Don't save conversion in a temporary struct.
64550         This causes a warning with GCC 4.0.0, and anyway in the typical
64551         case it's not worth the extra 100 bytes or so of code.
64552         (ranged_convert, __mktime_internal): When calling a function via a
64553         pointer P, use P () rather than (*P) (), as we now assume C89 or
64554         better.
64555
64556 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
64557
64558         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
64559         "who -r" failed to give output.  Problem reported by Tim Waugh.
64560
64561         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
64562         (xcalloc): Use it to avoid needless tests.
64563         Problem reported by Jim Meyering.
64564
64565 2005-06-20  Derek Price  <derek@ximbiot.com>
64566
64567         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
64568         unnecessary for Autoconfs > 2.59c.
64569
64570 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
64571
64572         * lib/argp.h (__option_is_short): Check upper limit of
64573         __key. Isprint() requires its argument to have the value
64574         of an unsigned char or EOF.
64575
64576 2005-06-16  Jim Meyering  <jim@meyering.net>
64577
64578         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
64579         when either N or S is zero.
64580
64581 2005-06-16  Derek Price  <derek@ximbiot.com>
64582
64583         * m4/bison.m4: Declare YACC & YFLAGS precious.
64584
64585 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
64586
64587         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
64588         multibyte string or pattern, fall back on unibyte matching.
64589         Problem reported by James Youngman.
64590
64591 2005-06-08  Bruno Haible  <bruno@clisp.org>
64592
64593         * modules/csharpcomp: New file.
64594         * MODULES.html.sh (C#): Add csharpcomp.
64595
64596 2005-06-08  Bruno Haible  <bruno@clisp.org>
64597
64598         * m4/csharpcomp.m4: New file, from GNU gettext.
64599
64600 2005-06-08  Bruno Haible  <bruno@clisp.org>
64601
64602         * lib/csharpcomp.h: New file, from GNU gettext.
64603         * lib/csharpcomp.c: New file, from GNU gettext.
64604         * lib/csharpcomp.sh.in: New file, from GNU gettext.
64605
64606 2005-06-08  Bruno Haible  <bruno@clisp.org>
64607
64608         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
64609         warning on mingw.
64610
64611 2005-06-07  Derek Price  <derek@ximbiot.com>
64612
64613         Sync from CVS.
64614         * lib/glob_.h: Indent nested #ifdef.
64615
64616 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
64617
64618         Sync from coreutils.
64619         Use "file name" when talking about file names, instead of "filename"
64620         or "path", as per the GNU coding standards.
64621         * lib/mkdir-p.c: Renamed from makepath.c.
64622         (make_dir_parents): Renamed from make_path.  All callers changed.
64623         * lib/mkdir-p.h: Likewise.  All includers changed.
64624         * lib/filenamecat.c: Renamed from path-concat.c.
64625         (file_name_concat): Renamed from path_concat.  All callers changed.
64626         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
64627         * lib/filenamecat.h: Likewise.  All includers changed.
64628         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
64629         in comments or local variable names.
64630         * lib/basename.c: Likewise.
64631         * lib/canonicalize.c, canonicalize.h: Likewise.
64632         * lib/dirname.c, dirname.h: Likewise.
64633         * lib/euidaccess.c: Likewise.
64634         * lib/exclude.c: Likewise
64635         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
64636         * lib/fsusage.c, fsuage.h: Likewise.
64637         * lib/fts.c, fts_.h: Likewise.
64638         * lib/getcwd.c: Likewise.
64639         * lib/getloadavg.c: Likewise.
64640         * lib/mkstemp.c: Likewise.
64641         * lib/mountlist.c, mountlist.h: Likewise.
64642         * lib/openat.c, openat.h: Likewise.
64643         * lib/readlink-stub.c: Likewise.
64644         * lib/readutmp.c, readutmp.h: Likewise.
64645         * lib/rename.c: Likewise.
64646         * lib/rmdir.c: Likewise.
64647         * lib/same.c: Likewise.
64648         * lib/savedir.c: Likewise.
64649         * lib/stripslash.c: Likewise.
64650         * lib/tempname.c: Likewise.
64651         * lib/xreadlink.c: Likewise.
64652         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
64653         All uses changed.
64654         * lib/exclude.h: Likewise.
64655
64656         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
64657         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
64658         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
64659         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
64660         * lib/pathmax.h: Include <limits.h> unconditionally, since other
64661         files have been getting away with it for years (MORE/BSD 4.3
64662         is extinct now).
64663         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
64664         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
64665
64666         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
64667         Define to 256, not 255, as per modern POSIX.
64668
64669 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
64670
64671         Sync from coreutils.
64672         Use "file name" when talking about file names, instead of "filename"
64673         or "path", as per the GNU coding standards.
64674         * MODULES.html.sh: mkdir-p renamed from makepath.
64675         filenamecat renamed from path-concat.
64676         * modules/filenamecat: Renamed from modules/path-concat.
64677         (Files): filenamecat.h and filenamecat.c renamed from
64678         path-concat.h and path-concat.c.
64679         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
64680         (Include): filenamecat.h, not path-concat.h.
64681         * modules/mkdir-p: Renamed from modules/makepath.
64682         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
64683         makepath.c.
64684         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
64685         (Include): mkdir-p.h, not makepath.h.
64686
64687 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
64688
64689         Sync from coreutils.
64690         * m4/mkdir-p.m4: Renamed from makepath.m4.
64691         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
64692         Rename files from makepath.c to mkdir-p.c, and from
64693         makepath.h to mkdir-p.h.
64694         * m4/filenamecat.m4: Renamed from path-concat.m4.
64695         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
64696         Rename files from path-concat.c to filenamecat.c,
64697         and from path-concat.h to filenamecat.h.
64698         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
64699         "file name" in local variables or comments.
64700         * m4/rename.m4: Likewise.
64701
64702 2005-06-01  Bruno Haible  <bruno@clisp.org>
64703
64704         * modules/csharpexec: New file.
64705         * MODULES.html.sh (C#): New section.
64706
64707 2005-06-01  Bruno Haible  <bruno@clisp.org>
64708
64709         * m4/csharp.m4: New file, from GNU gettext.
64710         * m4/csharpexec.m4: New file, from GNU gettext.
64711
64712 2005-06-01  Bruno Haible  <bruno@clisp.org>
64713
64714         * lib/csharpexec.h: New file, from GNU gettext.
64715         * lib/csharpexec.c: New file, from GNU gettext.
64716         * lib/csharpexec.sh.in: New file, from GNU gettext.
64717
64718 2005-05-31  Derek Price  <derek@ximbiot.com>
64719             Paul Eggert  <eggert@cs.ucla.edu>
64720
64721         Sync from cvs.
64722         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
64723
64724 2005-05-31  Derek Price  <derek@ximbiot.com>
64725             Paul Eggert  <eggert@cs.ucla.edu>
64726
64727         Sync from cvs.
64728         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
64729
64730 2005-05-29  Derek Price  <derek@ximbiot.com>
64731
64732         * config/srclist.txt (glob_.h, glob.c): Add these files.
64733
64734 2005-05-29  Derek Price  <derek@ximbiot.com>
64735
64736         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
64737         * modules/glob: New file.
64738         * modules/getlogin_r: Add link to POSIX spec in description.
64739
64740 2005-05-29  Derek Price  <derek@ximbiot.com>
64741             Paul Eggert  <eggert@cs.ucla.edu>
64742
64743         * m4/glob.m4: New file.
64744
64745 2005-05-29  Derek Price  <derek@ximbiot.com>
64746             Paul Eggert  <eggert@cs.ucla.edu>
64747
64748         * lib/glob_.h, lib/glob.c: New files.
64749
64750 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
64751
64752         * modules/fts (Files): Remove m4/inttypes-pri.m4.
64753         * modules/fts-lgpl (Depends-on): Remove gettext.
64754
64755 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
64756
64757         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
64758         and don't require gt_INTTYPES_PRI.
64759
64760 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
64761
64762         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
64763
64764         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
64765         the configuration hassle isn't worth it.
64766         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
64767         (LONGEST_MODIFIER, PRIuMAX): Remove.
64768
64769 2005-05-27  Bruno Haible  <bruno@clisp.org>
64770
64771         * lib/getlogin_r.h: Remove second include of <stddef.h>.
64772
64773 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
64774
64775         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
64776         _POSIX_PTHREAD_SEMANTICS for Solaris.
64777
64778 2005-05-25  Derek Price  <derek@ximbiot.com>
64779
64780         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
64781
64782 2005-05-25  Derek Price  <derek@ximbiot.com>
64783             Paul Eggert  <eggert@cs.ucla.edu>
64784
64785         * modules/getlogin_r, m4/getlogin_r.m4: New files.
64786         * lib/getlogin_r.c, getlogin_r.h: New files.
64787
64788 2005-05-25  Bruno Haible  <bruno@clisp.org>
64789             Derek Price  <derek@ximbiot.com>
64790
64791         * lib/getlogin_r.h: Simplify API documentation.
64792
64793 2005-05-23  Derek Price  <derek@ximbiot.com>
64794
64795         * modules/minmax (Files): Add m4/minmax.m4.
64796         (configure.ac): Add gl_MINMAX.
64797
64798 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
64799
64800         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
64801         so that unistd-safer.h (GPL'ed code) need not be included.
64802
64803 2005-05-22  Bruno Haible  <bruno@clisp.org>
64804
64805         * m4/minmax.m4: New file.
64806         Based on a patch by Derek Price <derek@ximbiot.com>.
64807
64808 2005-05-22  Bruno Haible  <bruno@clisp.org>
64809
64810         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
64811         (INT64_MIN): Fix definition.
64812         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
64813
64814         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
64815         NEED_SIGNED_INT_TYPES.
64816
64817         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
64818         HAVE_SYSTEM_INTTYPES.
64819
64820 2005-05-22  Bruno Haible  <bruno@clisp.org>
64821
64822         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
64823         Also include <sys/param.h> if it defines MIN, MAX.
64824         Based on a patch by Derek Price <derek@ximbiot.com>.
64825
64826 2005-05-21  Jim Meyering  <jim@meyering.net>
64827
64828         * modules/fts (Files): Add m4/inttypes-pri.m4.
64829         (Depends-on): Add lstat and remove gettext.  Alphabetize.
64830
64831 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
64832
64833         New fts module.
64834         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
64835         (setup_dir, free_dir): New functions.
64836         (enter_dir, leave_dir): Define trivial
64837         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
64838         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
64839         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
64840         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
64841         Move to fts-cycle.c.
64842         (fts_open): Use setup_dir.
64843         (fts_close): Use free_dir.
64844         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
64845         This adds a label and some gotos, but the alternatives were messier.
64846         Check for memory allocation failure when entering a dir.
64847         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
64848         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
64849         (FTS): New member fts_cycle, that is a union that contains the
64850         old active_dir_ht and cycle_state.  All uses changed to mention
64851         fts_cycle.ht and fts_cycle.state.
64852         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
64853         fts.c, with the following changes:
64854         (setup_dir, free_dir): New functions.
64855         (enter_dir): Now returns bool.  Return true if successful, false
64856         if memory exhausted.  All callers changed.
64857         Do not bother partly cleaning up on
64858         memory allocation failure; that is free_dir's job.
64859         However, free ad if hash_insert fails, to avoid memory leak.
64860         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
64861         fts->fts_options to see which union member to use.
64862
64863 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
64864
64865         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
64866         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
64867
64868 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
64869
64870         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
64871
64872 2005-05-20  Jim Meyering  <jim@meyering.net>
64873
64874         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
64875         Now a macro, to pacify GCC.
64876
64877 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
64878
64879         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
64880         of -1.
64881
64882 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
64883
64884         * lib/chown.c (rpl_chown): Return -1 on failure.
64885
64886 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
64887
64888         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
64889         Don't check for stddef.h.
64890         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
64891         don't use its results.
64892         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
64893         since we include them unconditionally.  Don't require
64894         AM_STDBOOL_H, since stdbool is a prerequisite.
64895         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
64896         since we assume C89 or better.
64897         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
64898         as we don't use their results.
64899         Don't check for fchdir, memmove, memset, strrchr, as we use
64900         them unconditionally.
64901         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
64902         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
64903
64904 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
64905
64906         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
64907         Include <stddef.h> unconditionally, since we assume C89 now.
64908         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
64909         * lib/fts.c: Include fts_.h first, to check interface.
64910         Do not include intprops.h; no longer needed.
64911         Include cycle-check.h and hash.h, since fts_.h no longer does.
64912         Remove unnecessary casts of closedir to void.
64913         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
64914         decide whether to decrement nlinks.
64915         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
64916         (FTS): Use struct hash_table * instead of Hash_table, so that
64917         we no longer need to include hash.h here.
64918
64919 2005-05-18  Jim Meyering  <jim@meyering.net>
64920
64921         * modules/dirfd (License): Change to LGPL.  Most of the code
64922         is already in the public domain.
64923
64924 2005-05-18  Jim Meyering  <jim@meyering.net>
64925
64926         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
64927         Reported by Yoann Vandoorselaere.
64928
64929 2005-05-17  Jim Meyering  <jim@meyering.net>
64930
64931         * m4/fts.m4: New file, from coreutils.
64932
64933 2005-05-17  Jim Meyering  <jim@meyering.net>
64934
64935         * lib/fts.c, lib/fts_.h: New files, from coreutils.
64936
64937 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
64938
64939         Sync from coreutils.
64940         * m4/unlinkdir.m4: New file.
64941
64942 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
64943
64944         Sync from coreutils.
64945         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
64946         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
64947         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
64948         White space changes only.
64949         * lib/makepath.c (make_path): Port to hosts where leading "//" is
64950         special.
64951         * lib/yesno.c: Include getline.h, not ctype.h.
64952         (yesno): Don't remove leading white space; POSIX doesn't allow it.
64953         Use getline to remove arbitrary restriction on response length.
64954
64955 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
64956
64957         * config/srclist-update: Spell out "Street" in FSF postal
64958         mail address; this is the style the FSF seems to prefer.
64959
64960         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
64961         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
64962         this updates FSF postal mail address.
64963
64964         Sync from coreutils.
64965         * modules/unlinkdir: New file.
64966         * modules/yesno (Depends-on): Add getline.
64967         * MODULES.html.sh (File system functions): Add unlinkdir.
64968
64969 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
64970
64971         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
64972         lib/strsep.h:
64973         Change the initial comment to refer to GPL, not LGPL.
64974         gnulib-tool will change it to LGPL as needed.
64975
64976         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
64977         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
64978         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
64979         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
64980         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
64981         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
64982         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
64983         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
64984         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
64985         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
64986         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
64987         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
64988         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
64989         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
64990         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
64991         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
64992         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
64993         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
64994         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
64995         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
64996         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
64997         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
64998         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
64999         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
65000         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
65001         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
65002         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
65003         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
65004         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
65005         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
65006         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
65007         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
65008         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
65009         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
65010         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
65011         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
65012         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
65013         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
65014         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
65015         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
65016         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
65017         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
65018         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
65019         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
65020         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
65021         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
65022         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
65023         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
65024         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
65025         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
65026         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
65027         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
65028         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
65029         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
65030         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
65031         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
65032         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
65033         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
65034         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
65035         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
65036         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
65037         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
65038         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
65039         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
65040         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
65041         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
65042         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
65043         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
65044         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
65045         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
65046         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
65047         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
65048         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
65049         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
65050         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
65051         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
65052         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
65053         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
65054         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
65055         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
65056         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
65057         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
65058         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
65059         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
65060         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
65061         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
65062         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
65063         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
65064         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
65065         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
65066         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
65067         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
65068         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
65069         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
65070         lib/yesno.c, lib/yesno.h:
65071         Update FSF postal mail address.
65072
65073 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
65074
65075         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
65076         tests/test-memmem.c, tests/test-stpncpy.c:
65077         Update FSF postal mail address.
65078
65079 2005-05-13  Bruno Haible  <bruno@clisp.org>
65080
65081         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
65082         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
65083         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
65084         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
65085         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
65086         Add support for 64-bit integers in the MSVC compiler.
65087
65088 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
65089
65090         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
65091
65092 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
65093
65094         * gnulib-tool (func_import): Sort and uniquify recommended includes.
65095
65096 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
65097
65098         * doc/getdate.texi (General date syntax): Don't say that date
65099         date --iso-8601=ns generates acceptable dates; it doesn't yet.
65100         Problem reported by Nic Ferrier.
65101
65102 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65103
65104         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
65105         specified in ai_socktype. Fix invalid ai_protocol
65106         check. ai_protocol is usually set to 0 or depending on
65107         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
65108         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
65109         ai_socktype / ai_protocol in the returned addrinfo structure.
65110
65111 2005-05-10  Simon Josefsson  <jas@extundo.com>
65112
65113         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
65114         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
65115
65116 2005-05-10  Karl Berry  <karl@gnu.org>
65117
65118         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
65119         (from http://www.gnu.org/licenses).
65120         * doc/COPYING.LIB: also rename to COPYING.LESSER.
65121         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
65122         fdl.texi suffices.
65123
65124 2005-05-10  Karl Berry  <karl@gnu.org>
65125
65126         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
65127         (COPYING.DOC): remove.
65128
65129         * config/srclist-update: new FSF address.
65130
65131 2005-05-10  Derek Price  <derek@ximbiot.com>
65132
65133         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
65134         possible.
65135
65136 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65137             Bruno Haible  <bruno@clisp.org>
65138
65139         * modules/inet_ntop: New file.
65140         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
65141         inet_ntop.
65142
65143 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65144             Bruno Haible  <bruno@clisp.org>
65145
65146         * m4/inet_ntop.m4: New file.
65147
65148 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65149             Bruno Haible  <bruno@clisp.org>
65150
65151         * lib/inet_ntop.h: New file.
65152         * lib/inet_ntop.c: New file, from glibc with modifications.
65153
65154 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
65155
65156         * modules/time_r (License): Change to LGPL.
65157         * modules/extensions (License): Change to LGPL.  Actually,
65158         the license is more permissive than that, but currently gnulib-tool
65159         doesn't know how to handle more-permissive licenses.
65160
65161         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
65162         Problem reported by Dave Love.
65163
65164 2005-05-08  Jim Meyering  <jim@meyering.net>
65165
65166         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
65167         blank.
65168
65169 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
65170
65171         * modules/argmatch (Depends-on): Add stdbool.
65172         * modules/backupfile (Depends-on): Likewise.
65173         * modules/chdir-long (Depends-on): Likewise.
65174         * modules/closeout (Depends-on): Likewise.
65175         * modules/cycle-check (Depends-on): Likewise.
65176         * modules/dirname (Depends-on): Likewise.
65177         * modules/fnmatch (Depends-on): Likewise.
65178         * modules/fsusage (Depends-on): Likewise.
65179         * modules/fwriteerror (Depends-on): Likewise.
65180         * modules/getcwd (Depends-on): Likewise.
65181         * modules/getloadavg (Depends-on): Likewise.
65182         * modules/hard-locale (Depends-on): Likewise.
65183         * modules/makepath (Depends-on): Likewise.
65184         * modules/mountlist (Depends-on): Likewise.
65185         * modules/nanosleep (Depends-on): Likewise.
65186         * modules/posixtm (Depends-on): Likewise.
65187         * modules/quotearg (Depends-on): Likewise.
65188         * modules/readtokens (Depends-on): Likewise.
65189         * modules/readtokens0 (Depends-on): Likewise.
65190         * modules/readutmp (Depends-on): Likewise.
65191         * modules/save-cwd (Depends-on): Likewise.
65192         * modules/strftime (Depends-on): Likewise.
65193         * modules/userspec (Depends-on): Likewise.
65194         * modules/utimecmp (Depends-on): Likewise.
65195         * modules/xgetcwd (Depends-on): Likewise.
65196         * modules/xnanosleep (Depends-on): Likewise.
65197         * modules/xstrtod (Depends-on): Likewise.
65198         * modules/yesno (Depends-on): Likewise.
65199
65200 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
65201
65202         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
65203         needless checks.
65204
65205 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
65206
65207         Merge from coreutils.  Among other things,
65208         add bulletproofing for cases where stdin, stdout, or stderr are closed.
65209         * lib/fd-safer.c: New file.
65210         * lib/fcntl-safer.h, open-safer.c: Remove.
65211         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
65212         * lib/dup-safer.c: Include unistd-safer.h first.
65213         Don't include errno.h.
65214         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
65215         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
65216         * lib/file-type.c: Rely on file-type.h change.
65217         * lib/getloadavg.c: Include unistd-safer.h.
65218         (getloadavg): Use safer open.
65219         * lib/getusershell.c: Include "stdio-safer.h".
65220         (getusershell): Use safer fopen.
65221         * lib/long-options.c (long_options): Use NULL rather than 0.
65222         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
65223         'free'.
65224         * lib/modechange.c: Likewise.
65225         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
65226         (MODE_DONE): New constant.
65227         (struct mode_change): Remove 'next' member.
65228         (make_node_op_equals): New function; like the old one of the
65229         same name, except it allocates an array.
65230         (mode_compile, mode_create_from_ref): Use it.
65231         (mode_compile): Allocate result as an array, not a linked list.
65232         Parse octal string ourself, so that we catch mistakes like "+0".
65233         (mode_adjust): Arg is an array, not a linked list.
65234         * lib/modechange.c: Include stat-macros.h, xalloc.h.
65235         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
65236         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
65237         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
65238         Remove.  This is now stat-macros.h's job.
65239         (talloc): Remove.  All callers replaced by xalloc, so that
65240         our invokers don't have to worry about reporting memory failures.
65241         (make_node_op_equals): Remove.
65242         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
65243         New constants.
65244         (struct mode_change): Moved here from modechange.h.
65245         (mode_append_entry): Remove.
65246         (mode_compile): Remove MASKED_OPS arg, since it encouraged
65247         apps to have incorrect behavior.  Use simpler algorithm for head
65248         and tail.  Don't futz with umask; that's now the job of mode_adjust.
65249         Detect more invalid usages rather than having somewhat-random behavior.
65250         Don't insert an "a=" action, as that leads to incorrect behavior.
65251         (mode_compile, mode_create_from_ref): Return NULL on error instead
65252         of an enum, since now there's only one way to have an error.  All
65253         callers changed.
65254         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
65255         at the correct time.  Simplify calculation of "+u" and its ilk.
65256         Don't mishandle "+X".
65257         (mode_free): Remove "register" and localize decls.
65258         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
65259         (struct mode_change): Move to modechange.c; callers don't
65260         need to see this stuff.
65261         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
65262         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
65263         (mode_change, mode_adjust): Reflect the new signatures noted above.
65264         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
65265         that might redefine system include files.
65266         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
65267         (my_usleep): Use NULL rather than (void *) 0.
65268         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
65269         Use siginterrupt to specify that system calls should be interrupted.
65270         (rpl_nanosleep): Move initialization of suspended closer to call of
65271         my_usleep.
65272         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
65273         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
65274         (desirable_utmp_entry): New function.
65275         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
65276         using x2nrealloc, to simplify logic.
65277         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
65278         size calculation.  Do not assume utmp file is a regular file.
65279         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
65280         (READ_UTMP_CHECK_PIDS): New constant.
65281         * lib/save-cwd.c: Include unistd-safer.h.
65282         (save_cwd): Use fd_safer.
65283         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
65284         [!_LIBC] Include "stat-macros.h" instead.
65285         * lib/unistd-safer.h (fd_safer): New decl.
65286
65287 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
65288
65289         * modules/getloadavg (Depends-on): Add unistd-safer.
65290         * modules/getusershell (Depends-on): Add stdio-safer.
65291         * modules/lstat (Depends-on): Remove xalloc.
65292         * modules/mkstemp (Depends-on): Add stat-macros.
65293         * modules/modechange (Depends-on): Remove xstrtol.
65294         Add stat-macros, xalloc.
65295         * modules/save-cwd (Depends-on): Add unistd-safer.
65296         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
65297         * modules/unistd-safer (Files): Add lib/fd-safer.c
65298         (Makefile.am): Remove lib_SOURCES.
65299
65300         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
65301         Remove fcntl-safer; unistd-safer supersedes it.
65302
65303 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
65304
65305         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
65306         AC_HEADER_STAT.
65307         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
65308         (gl_PREREQ_CHOWN): Remove.
65309         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
65310         it.  Don't require AC_HEADER_STAT.
65311         (gl_PREREQ_LSTAT): Remove.
65312         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
65313         Don't require AC_HEADER_STAT.
65314         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
65315         (gl_PREREQ_RMDIR): Remove.
65316         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
65317         mention stat-macros.h or AC_HEADER_STAT, since we'll make
65318         the stat-macros module a prerequisite.
65319         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
65320         * m4/filemode.m4 (gl_FILEMODE): Likewise.
65321         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
65322         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
65323         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
65324         variable names.
65325         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
65326         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
65327         variable prefixes.
65328         * m4/fcntl-safer.m4: Remove.
65329         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
65330         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
65331         Invoke gl_PREREQ_FD_SAFER.
65332         (gl_PREREQ_FD_SAFER): New macro.
65333         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
65334         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
65335         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
65336         Remove duplicate call to AC_LIBOBJ(readutmp).
65337         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
65338
65339         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
65340         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
65341
65342 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
65343
65344         * MODULES.html.sh (Misc): Add byteswap.
65345
65346 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
65347
65348         * modules/getcwd (Depends-on): Add extensions.
65349         * modules/openat (Depends-on): Likewise.
65350
65351 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
65352
65353         * modules/byteswap: New file.
65354
65355 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
65356
65357         * m4/byteswap.m4: New file.
65358
65359 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
65360
65361         * lib/byteswap_.h: New file.
65362
65363 2005-04-25  Karl Berry  <karl@gnu.org>
65364
65365         * m4/gettext.m4: Update from GNU gettext 0.14.4.
65366
65367 2005-04-25  Albert Chin  <china@thewrittenword.com>
65368
65369         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
65370         Toolkit C bug.
65371
65372 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
65373
65374         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
65375         (func_ln_if_changed) Remove forcibly for no error message
65376         in case file does not exist.
65377
65378 2005-04-19  Simon Josefsson  <jas@extundo.com>
65379
65380         * gnulib-tool (Options): Make --symlink mean --symbolic.
65381
65382 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
65383
65384         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
65385
65386 2005-04-16  Simon Josefsson  <jas@extundo.com>
65387
65388         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
65389
65390 2005-04-15  Simon Josefsson  <jas@extundo.com>
65391
65392         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
65393
65394 2005-04-15  Simon Josefsson  <jas@extundo.com>
65395
65396         * gnulib-tool: Rename --symlink to --symbolic.
65397
65398 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
65399
65400         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
65401         symbolic links to files instead of copying/moving.  Add --aux-dir,
65402         specifying directory relative --dir where auxiliary build tools
65403         are placed.
65404
65405 2005-04-14  Bruno Haible  <bruno@clisp.org>
65406
65407         * modules/allocsa (License): Change to LGPL.
65408         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
65409
65410 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
65411
65412         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
65413         that "UTC +1 second" continues to work.  Problem reported
65414         by Dmitry V. Levin.
65415         (relunit_snumber): New rule.
65416         (relunit): Use it.
65417
65418 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
65419
65420         * lib/getdate.y (universal_time_zone_table): New constant.
65421         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
65422         universal_time_zone_table.
65423         (lookup_zone): Prefer universal_time_zone_table to
65424         local_time_zone_table, so that "GMT" time stamps are allowed in
65425         London during the summer.  Problem reported by Ian Abbott.
65426
65427 2005-04-12  Jim Meyering  <jim@meyering.net>
65428
65429         * lib/human.c (humblock): Set *options even when returning due to
65430         xstrtoumax conversion failure.  Thanks to a used-uninitialized
65431         warning from gcc-4.
65432
65433 2005-04-09  Jim Meyering  <jim@meyering.net>
65434
65435         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
65436         -Wuninitialized: initialize tm0.tm_year.
65437
65438 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
65439
65440         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
65441         count, since there's no maximum.  All uses changed.
65442         Add member dsts_seen.
65443         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
65444         not being INT_MAX.
65445         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
65446         Use pc_rels_seen to decide whther a date is absolute.
65447
65448         * lib/getdate.y (number): Don't overwrite year.
65449         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
65450         check.
65451
65452 2005-04-02  Simon Josefsson  <jas@extundo.com>
65453
65454         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
65455         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
65456
65457 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
65458
65459         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
65460         where no absolute path name can be longer than PATH_MAX.
65461
65462 2005-03-27  Jim Meyering  <jim@meyering.net>
65463
65464         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
65465
65466 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
65467
65468         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
65469         "one's complement" -> "ones' complement" in comment, as per Knuth.
65470         "value of type" -> "type or expression" in comment.
65471         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
65472
65473 2005-03-26  Jim Meyering  <jim@meyering.net>
65474
65475         Comment nits.
65476         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
65477         Correct typos: s/or/of/.
65478
65479 2005-03-26  Jim Meyering  <jim@meyering.net>
65480
65481         * modules/check-include-files: Move to ../ and rename to...
65482         * check-module: ...this.
65483
65484 2005-03-25  Jim Meyering  <jim@meyering.net>
65485
65486         * modules/xvasprintf (Files): Add xalloc.h.
65487
65488 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
65489
65490         * modules/gettext (Files): config/config.rpath ->
65491         build-aux/config.rpath
65492         * modules/iconv (Files): Likewise.
65493         Problem reported by Oskar Liljeblad.
65494
65495 2005-03-23  Jim Meyering  <jim@meyering.net>
65496
65497         * modules/check-include-files: New script to check for
65498         missing dependencies, multiple includes, etc.
65499
65500         * modules/c-strtold (Depends-on): Add xalloc.
65501         * modules/c-strtod (Depends-on): Add xalloc.
65502         * modules/hash (Depends-on): Add xalloc.
65503         (Files): Remove lib/xalloc.h.
65504
65505         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
65506         * modules/userspec (Files): Add lib/inttostr.h.
65507
65508 2005-03-23  Jim Meyering  <jim@meyering.net>
65509
65510         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
65511
65512 2005-03-22  Jim Meyering  <jim@meyering.net>
65513
65514         * modules/stat-macros: New module.
65515         * modules/canonicalize, modules/euidaccess, modules/file-type,
65516         * modules/filemode, modules/lchown, modules/makepath,
65517         * modules/rmdir, modules/stat: Depend on new stat-macros module
65518         rather than listing lib/stat-macros.h manually.
65519         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
65520
65521 2005-03-22  Jim Meyering  <jim@meyering.net>
65522
65523         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
65524
65525 2005-03-22  Bruno Haible  <bruno@clisp.org>
65526
65527         * config/srclist.txt: Replace target directory 'config' with
65528         'build-aux'.
65529         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
65530         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
65531         ../build-aux/.
65532
65533 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
65534
65535         * modules/chdir-long (Depends-on): Add mempcpy.
65536
65537         * modules/acl, modules/backupfile, modules/c-strtod,
65538         modules/c-strtold, modules/canon-host, modules/canonicalize,
65539         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
65540         modules/exclude, modules/exitfail, modules/file-type,
65541         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
65542         modules/getdate, modules/getline, modules/getpagesize,
65543         modules/getpass, modules/getugroups, modules/group-member,
65544         modules/hard-locale, modules/hash, modules/human, modules/idcache,
65545         modules/inttostr, modules/long-options, modules/makepath,
65546         modules/md5, modules/memcasecmp, modules/memcoll,
65547         modules/modechange, modules/mountlist, modules/path-concat,
65548         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
65549         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
65550         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
65551         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
65552         modules/strftime, modules/strndup, modules/strverscmp,
65553         modules/timespec, modules/unlocked-io, modules/userspec,
65554         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
65555         modules/yesno:
65556         Remove lib_SOURCES line from Makefile.am section, as this is now
65557         done automatically by the corresponding Autoconf macro.
65558
65559 2005-03-21  Jim Meyering  <jim@meyering.net>
65560
65561         Changes imported from coreutils.
65562
65563         * lib/cycle-check.c: Don't include xalloc.h.
65564
65565         * lib/path-concat.c: Don't include assert.h.
65566         (path_concat): Remove assertion that would have triggered
65567         for ABASE starting with more than one slash.
65568         Reported by Andreas Schwab.
65569
65570         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
65571         properly when ABASE is an absolute file name.
65572         Correct the description of this function.
65573         Include <assert.h>.
65574         Add an assertion and a test driver.
65575         This fixes a bug introduced on 2004-07-02.
65576         Andreas Schwab reported the resulting failure of cp --parents:
65577         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
65578
65579 2005-03-21  Jim Meyering  <jim@meyering.net>
65580
65581         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
65582         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
65583
65584 2005-03-21  Jim Meyering  <jim@meyering.net>
65585         and  Paul Eggert  <eggert@cs.ucla.edu>
65586
65587         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
65588         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
65589         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
65590         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
65591         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
65592         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
65593         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
65594         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
65595         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
65596         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
65597         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
65598         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
65599         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
65600         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
65601         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
65602         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
65603         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
65604         for these modules.
65605
65606 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
65607
65608         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
65609         (which shouldn't happen), generate nothing instead of returning 0
65610         immediately, so that nstrftime (NULL, ...) doesn't return 0.
65611
65612 2005-03-16  Bruno Haible  <bruno@clisp.org>
65613
65614         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
65615         HAVE_LONGLONG_64BIT.
65616
65617 2005-03-16  Bruno Haible  <bruno@clisp.org>
65618
65619         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
65620         HAVE_LONGLONG_64BIT.
65621
65622 2005-03-16  Bruno Haible  <bruno@clisp.org>
65623
65624         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
65625         HAVE_LONGLONG_64BIT.
65626
65627 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
65628
65629         * lib/strftime.c (my_strftime): Prepend space to format so that we can
65630         reliably distinguish strftime failure from empty output on POSIX
65631         hosts.
65632
65633 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
65634
65635         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
65636         (iconv_string): Don't guess a size-zero buffer, as that might cause
65637         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
65638         result would be 'too large', where 'too large' is (heuristically)
65639         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
65640         overflow concerns.  This will prevent some unwanted malloc failures
65641         when the inputs are very large.
65642
65643 2005-03-15  Karl Berry  <karl@gnu.org>
65644
65645         * config/srclist.txt (config.rpath): from gettext.
65646         * config/config.rpath: update.
65647
65648 2005-03-15  Bruno Haible  <bruno@clisp.org>
65649
65650         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
65651         to 'negate'.
65652
65653         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
65654         variable.
65655
65656         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
65657         results.
65658
65659 2005-03-14  Simon Josefsson  <jas@extundo.com>
65660
65661         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
65662         <fx@gnu.org>.
65663
65664 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
65665
65666         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
65667         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
65668         intprops.h.
65669         * lib/strtol.c: Likewise.
65670
65671 2005-03-14  Jim Meyering  <jim@meyering.net>
65672
65673         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
65674         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
65675         to be nonzero so that we (and caller) can detect the difference
65676         between a valid zero-length expansion and an error return, even
65677         when the underlying strftime fails before writing anything into
65678         that location.
65679
65680 2005-03-14  Bruno Haible  <bruno@clisp.org>
65681
65682         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
65683         Update from GNU gettext 0.14.3.
65684
65685 2005-03-10  Jim Meyering  <jim@meyering.net>
65686
65687         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
65688
65689 2005-03-10  Jim Meyering  <jim@meyering.net>
65690
65691         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
65692         so that this module works on systems without fchdir.
65693
65694 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
65695
65696         Factor int-properties macros into a single file, except for
65697         glibc-related files.
65698         * lib/intprops.h: New file.
65699         * lib/getloadavg.c: Include it instead of limits.h.
65700         (INT_STRLEN_BOUND): Remove.
65701         * lib/human.c: Include intprops.h.
65702         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
65703         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
65704         302/1000.
65705         * lib/inttostr.h: Include intprops.h instead of limits.h.
65706         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
65707         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
65708         for consistency with intprops.h.
65709         (time_t_is_integer, twos_complement_arithmetic): Use them.
65710         * lib/sig2str.h: Include <signal.h>, intprops.h.
65711         (INT_STRLEN_BOUND): Remove.
65712         * lib/strftime.c (TYPE_SIGNED): Remove.
65713         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
65714         * lib/strtol.c: Adjust comments to match intprops.h.
65715         * lib/userspec.c: Include intprops.h.
65716         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
65717         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
65718         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
65719         instead of rolling our own expressions.
65720         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
65721
65722         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
65723         instead of int.
65724         (my_strftime): Do not mishandle years close to INT_MAX, by doing
65725         the right thing even if adding 1900 would overflow.  Similarly
65726         for tm_mon + 1 and tm_yday + 1.
65727         Make %Y always equivalent to %C%y, and similarly for %G and %g.
65728         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
65729         (DO_SIGNED_NUMBER): New macro.
65730         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
65731
65732 2005-03-07  Bruno Haible  <bruno@clisp.org>
65733
65734         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
65735
65736 2005-03-07  Bruno Haible  <bruno@clisp.org>
65737
65738         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
65739
65740 2005-03-04  Derek R. Price  <derek@ximbiot.com>
65741
65742         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
65743         (func_import): Only replace files via --import when they have actually
65744         changed.
65745
65746 2005-03-03  Derek R. Price  <derek@ximbiot.com>
65747
65748         * m4/mmap-anon.m4: New file.
65749         * m4/pagealign_alloc.m4: New file.
65750
65751 2005-03-03  Derek R. Price  <derek@ximbiot.com>
65752             Bruno Haible  <bruno@clisp.org>
65753
65754         * modules/pagealign_alloc: New file.
65755         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
65756
65757 2005-03-03  Derek R. Price  <derek@ximbiot.com>
65758             Bruno Haible  <bruno@clisp.org>
65759
65760         * lib/pagealign_alloc.h: New file.
65761         * lib/pagealign_alloc.c: New file.
65762
65763 2005-03-03  Bruno Haible  <bruno@clisp.org>
65764
65765         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
65766         Use an all-permissive copyright notice, recommended by RMS.
65767
65768 2005-03-02  Bruno Haible  <bruno@clisp.org>
65769
65770         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
65771         of AIX, the replacement has to be done only after <string.h> is
65772         included, therefore not in config.h. stpncpy.h does the replacement,
65773         and stpncpy.c uses it.
65774
65775 2005-03-02  Bruno Haible  <bruno@clisp.org>
65776
65777         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
65778         stpncpy.c uses it.
65779
65780 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
65781
65782         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
65783         The workaround isn't strictly needed for POSIX conformance, and
65784         it's too much of a pain to configure and maintain.  We'll ask
65785         people to fix their kernels instead.
65786         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
65787         (NANOSLEEP_BUG_WORKAROUND): Remove.
65788         (xnanosleep): Remove the workaround.
65789
65790 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
65791
65792         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
65793         Reported by Derek Price.
65794         (Include): Add "timespec.h".
65795
65796         * modules/xnanosleep (Depends-on): Remove gethrxtime.
65797
65798 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
65799
65800         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
65801         to detect nanosleep bug.
65802
65803 2005-03-01  Bruno Haible  <bruno@clisp.org>
65804
65805         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
65806
65807 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
65808
65809         * modules/gethrxtime: New file.
65810         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
65811         (Depends-on): Add gethrxtime.
65812         (configure.ac): Add gl_XNANOSLEEP.
65813         (Makefile.am): Remove lib_SOURCES line.
65814
65815 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
65816
65817         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
65818         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
65819
65820 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
65821
65822         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
65823         * lib/timespec.h (gettime): Return void, since it always
65824         succeeds now.  All uses changed.
65825         * lib/gettime.c (gettime) Likewise.
65826         [HAVE_NANOTIME]: Prefer nanotime.
65827         Assume gettimeofday succeeds, as POSIX requires.
65828         Assime time () succeeds, since other code already does.
65829         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
65830         (timespec_subtract): Remove.
65831         (NANOSLEEP_BUG_WORKAROUND): New constant.
65832         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
65833         things considerably.  Use it only on GNU/Linux hosts, since the
65834         workaround shouldn't be needed elsewhere.
65835
65836 2005-02-24  Bruno Haible  <bruno@clisp.org>
65837
65838         * modules/gettext (Files): Add m4/glibc2.m4.
65839
65840 2005-02-24  Bruno Haible  <bruno@clisp.org>
65841
65842         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
65843         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
65844         * m4/progtest.m4:
65845         Update from GNU gettext 0.14.2.
65846         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
65847
65848 2005-02-24  Bruno Haible  <bruno@clisp.org>
65849
65850         * lib/localcharset.c: Update from GNU gettext 0.14.2.
65851         * lib/config.charset: Update from GNU gettext 0.14.2.
65852
65853 2005-02-24  Bruno Haible  <bruno@clisp.org>
65854
65855         * lib/gettext.h: Update from GNU gettext 0.14.2.
65856
65857 2005-02-23  Simon Josefsson  <jas@extundo.com>
65858
65859         * m4/iconvme.m4: New file.
65860
65861 2005-02-23  Jim Meyering  <jim@meyering.net>
65862
65863         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
65864         change.
65865         Thanks to Bruno Haible for catching it.
65866
65867 2005-02-22  Simon Josefsson  <jas@extundo.com>
65868
65869         * modules/iconvme: New file.
65870
65871         * MODULES.html.sh: Add iconvme.
65872
65873 2005-02-22  Simon Josefsson  <jas@extundo.com>
65874
65875         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
65876
65877 2005-02-22  Simon Josefsson  <jas@extundo.com>
65878
65879         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
65880
65881 2005-02-22  Jim Meyering  <jim@meyering.net>
65882
65883         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
65884         s/ifndef/ifdef/.
65885
65886 2005-02-20  Neil Conway  <neilc@samurai.com>
65887
65888         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
65889         returned by OSX/Darwin if the specified buffer is not large
65890         enough for the hostname.
65891
65892 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
65893
65894         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
65895         pass it to _help, otherwise the latter coredumps trying to
65896         dereference state.root_argp.
65897
65898 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
65899
65900         * modules/chdir-long (Depends-on): Add memrchr.
65901         * modules/memrchr (Files): Add lib/memrchr.h.
65902         (Include): "memrchr.h".
65903
65904 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
65905
65906         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
65907
65908 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
65909
65910         * lib/memrchr.h: New file.
65911         * lib/chdir-long.c: Include it.
65912         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
65913         Don't bother including stddef.h.
65914
65915 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
65916
65917         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
65918         inclusion.
65919         Include <sys/types.h>, for dev_t.
65920         (ME_DUMMY, ME_REMOTE): Move from here....
65921         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
65922         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
65923         Dmitry V. Levin.
65924         Include mountlist.h first, to test the interface.
65925
65926 2005-01-29  Bruno Haible  <bruno@clisp.org>
65927
65928         * lib/progname.c (program_name): Initialize.
65929         Needed when linking statically on MacOS X.
65930
65931 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
65932
65933         Sync from coreutils.
65934         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
65935         (Depends-on): Add c-strtod.
65936         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
65937
65938 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
65939
65940         Sync from coreutils.
65941         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
65942
65943         Remove files that are specific to coreutils.
65944         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
65945
65946 2005-01-28  Bruno Haible  <bruno@clisp.org>
65947
65948         * modules/javacomp: New file.
65949         * MODULES.html.sh (Java): Add javacomp.
65950
65951 2005-01-28  Bruno Haible  <bruno@clisp.org>
65952
65953         * m4/javacomp.m4: New file, from GNU gettext.
65954
65955 2005-01-28  Bruno Haible  <bruno@clisp.org>
65956
65957         * lib/javacomp.sh.in: New file, from GNU gettext.
65958         * lib/javacomp.h: New file, from GNU gettext.
65959         * lib/javacomp.c: New file, from GNU gettext.
65960
65961 2005-01-26  Simon Josefsson  <jas@extundo.com>
65962
65963         * lib/gai_strerror.c: Use GPL in header.
65964
65965 2005-01-26  Bruno Haible  <bruno@clisp.org>
65966
65967         * modules/javaexec: New file.
65968         * MODULES.html.sh (Java): Add javaexec.
65969
65970 2005-01-26  Bruno Haible  <bruno@clisp.org>
65971
65972         * m4/javaexec.m4: New file, from GNU gettext.
65973
65974 2005-01-26  Bruno Haible  <bruno@clisp.org>
65975
65976         * lib/javaexec.sh.in: New file, from GNU gettext.
65977         * lib/javaexec.h: New file, from GNU gettext.
65978         * lib/javaexec.c: New file, from GNU gettext.
65979
65980 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
65981
65982         * modules/lchown (Depends-on): Remove lchown.h
65983
65984 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
65985
65986         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
65987         must be defined if the header file was not found, in order
65988         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
65989
65990 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
65991
65992         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
65993         initializers for struct pentry_state.
65994         (__argp_error): Check return value of __asprintf
65995         (__argp_failure): Translate error message
65996
65997         * lib/argp-parse.c: Removed braces around the expansion of N_()
65998
65999 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
66000
66001         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
66002         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
66003         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
66004         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
66005         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
66006         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
66007         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
66008         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
66009         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
66010         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
66011         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
66012         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
66013         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
66014         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
66015         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
66016         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
66017         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
66018         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
66019         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
66020         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
66021         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
66022         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
66023         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
66024         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
66025         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
66026         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
66027         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
66028         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
66029         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
66030         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
66031         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
66032         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
66033         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
66034         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
66035         xstrtol.m4, xstrtoumax.m4, yesno.m4:
66036         Use an all-permissive copyright notice, recommended by RMS.
66037
66038 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
66039
66040         * modules/chdir-long (Depends-on): Remove mempcpy.
66041
66042 2005-01-21  Jim Meyering  <jim@meyering.net>
66043
66044         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
66045         same value as for Solaris 9.
66046
66047         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
66048         component length.  This included changing the parameter to be
66049         of type `char *' rather than `char const *'.
66050         * lib/chdir-long.h (chdir_long): Update prototype.
66051
66052         * lib/openat.c (fdopendir, fstatat): New functions.
66053         * lib/openat.h: Include headers required for use of DIR and struct
66054         stat.
66055         [AT_SYMLINK_NOFOLLOW]: Define.
66056         (fdopendir, fstatat): Add prototypes.
66057
66058 2005-01-21  Bruno Haible  <bruno@clisp.org>
66059
66060         * modules/classpath: New file.
66061         * MODULES.html.sh (Java): Add classpath.
66062
66063 2005-01-21  Bruno Haible  <bruno@clisp.org>
66064
66065         * lib/classpath.h: New file, from GNU gettext.
66066         * lib/classpath.c: New file, from GNU gettext.
66067
66068 2005-01-20  Simon Josefsson  <jas@extundo.com>
66069
66070         * modules/version-etc-fsf: New file.
66071
66072 2005-01-20  Simon Josefsson  <jas@extundo.com>
66073
66074         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
66075         * lib/version-etc.c: Remove version_etc_copyright.
66076         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
66077         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
66078
66079 2005-01-20  Simon Josefsson  <jas@extundo.com>
66080
66081         * lib/base64.h (isbase64): Add.
66082
66083         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
66084         using a unsigned prototype, don't inline.
66085         (base64_decode): Use it.
66086
66087 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
66088
66089         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
66090         it.
66091
66092 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
66093
66094         * lib/save-cwd.c (save_cwd): Remove code to support the case
66095         where fchdir is missing or flaky.
66096
66097 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
66098
66099         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
66100
66101 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
66102
66103         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
66104         AC_LIBSOURCES now does this.
66105         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
66106         with new ullong_max module.
66107
66108 2005-01-19  Bruno Haible  <bruno@clisp.org>
66109
66110         * modules/sh-quote: New file.
66111         * MODULES.html.sh (Executing programs): Add sh-quote.
66112
66113 2005-01-19  Bruno Haible  <bruno@clisp.org>
66114
66115         * lib/sh-quote.h: New file, from GNU gettext.
66116         * lib/sh-quote.c: New file, from GNU gettext.
66117
66118 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
66119
66120         Merge from coreutils.
66121         * m4/ullong_max.m4: New file.
66122         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
66123         (gl_MACROS): Assume localeconv exists.
66124
66125 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
66126
66127         Merge changes from coreutils, as described below in several
66128         changelogs dated today.
66129
66130         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
66131         (O_DIRECTORY): Remove; not needed here, since "." must be
66132         a directory.  All uses removed.
66133         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
66134         universal on Suns, and we also need to test for IRIX.
66135         Revamp code to use 'if' rather than '#if'.
66136         Avoid unnecessary comparison of cwd->desc to 0.
66137
66138         * lib/utimens.c (futimens): Robustify the previous patch, by checking
66139         for known valid error numbers rather than observed invalid ones.
66140
66141 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
66142
66143         * modules/ullong_max: New file.
66144
66145         * modules/chdir-long, modules/openat: New files.
66146         * modules/save-cwd (Depends-on): Depend on chdir-long.
66147         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
66148
66149 2005-01-18  Jim Meyering  <jim@meyering.net>
66150
66151         Merge from coreutils.
66152         * m4/chdir-long.m4, m4/openat.m4: New files.
66153         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
66154         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
66155         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
66156         is sane and DOES follow symlinks.  Besides, testing 20 different
66157         systems found no broken chown implementations.
66158         Prompted by a change in rsync's copy of this macro.
66159         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
66160
66161         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
66162
66163         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
66164         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
66165         NULL-means-set-to-current-time semantics.
66166         Remove temporary file immediately, rather than waiting
66167         for configure's at-exit trap code to do it.
66168
66169 2005-01-18  Jim Meyering  <jim@meyering.net>
66170
66171         * lib/version-etc.c (version_etc_copyright): Update copyright date.
66172
66173         * lib/utimens.c (futimens): Account for the fact that futimes
66174         can also fail with errno == ENOSYS or errno == ENOENT.
66175         Patch from Dmitry V. Levin.
66176
66177         Change the name of the robust chdir function from chdir to chdir_long.
66178         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
66179         (restore_cwd): Use chdir_long, not chdir.
66180         * lib/chdir-long.c: Renamed from chdir.c.
66181         * lib/chdir-long.h: Renamed from chdir.h.
66182         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
66183         Hurd.
66184
66185 2005-01-18  Bruno Haible  <bruno@clisp.org>
66186
66187         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
66188         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
66189         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
66190         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
66191         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
66192         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
66193         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
66194         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
66195         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
66196         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
66197         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
66198         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
66199         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
66200         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
66201         Use an all-permissive copyright notice, recommended by RMS.
66202
66203 2005-01-18  Bob Proulx  <bob@proulx.com>
66204
66205         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
66206         simplify offsetof() macro construct to avoid compile failure with
66207         native HP-UX 11.0 ANSI C compiler.
66208
66209 2005-01-17  Bruno Haible  <bruno@clisp.org>
66210
66211         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
66212         redundant because stpncpy.m4 takes care of it.
66213
66214 2005-01-17  Bruno Haible  <bruno@clisp.org>
66215
66216         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
66217
66218 2005-01-17  Bruno Haible  <bruno@clisp.org>
66219
66220         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
66221         used.
66222
66223 2005-01-17  Bruno Haible  <bruno@clisp.org>
66224
66225         * lib/fwriteerror.h (fwriteerror): Change specification to include
66226         fclose.
66227         * lib/fwriteerror.c: Include <stdbool.h>.
66228         (fwriteerror): At the end, close the file stream. Record whether
66229         stdout was already closed.
66230
66231 2005-01-17  Bruno Haible  <bruno@clisp.org>
66232
66233         * lib/execute.c (environ): Declare if needed.
66234         * lib/pipe.c (environ): Likewise.
66235         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
66236
66237 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66238
66239         * modules/argp: Depend on vsnprintf
66240
66241 2005-01-10  Jim Meyering  <jim@meyering.net>
66242
66243         * modules/closeout (Depends-on): Add atexit.
66244
66245 2005-01-06  Bruno Haible  <bruno@clisp.org>
66246
66247         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
66248
66249 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
66250
66251         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
66252         definitions to be after all include files, to avoid collisions.
66253         Problem reported by Bob Proulx.
66254
66255 2005-01-04  Jim Meyering  <jim@meyering.net>
66256
66257         Changes imported from coreutils.
66258         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
66259         as the mkstemp template, use a temporary directory and an
66260         8.3-friendly template to avoid trouble on systems like DJGPP.
66261         Reported by Juan M. Guerrero via Stepan Kasal.
66262         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
66263         close. Remove the temporary directory right away, rather than waiting
66264         for configure's at-exit trap code to do it.
66265         Suggestion from Stepan Kasal.
66266
66267 2005-01-01  Simon Josefsson  <jas@extundo.com>
66268
66269         * gnulib-tool: Print #include directives when --import'ing.
66270
66271 2004-12-28  Simon Josefsson  <jas@extundo.com>
66272
66273         * tests/test-base64.c: Include required header files.  Remove
66274         unused variables.
66275
66276 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
66277
66278         * modules/error (Depends-on): Remove gettext.
66279
66280 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
66281
66282         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
66283         not needed.  This removes a dependency on the gettext module.
66284         [defined _LIBC]: Do not include <libintl.h>; not needed.
66285
66286 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
66287
66288         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
66289         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
66290
66291 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
66292
66293         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
66294         HAVE_DECL_STRTOLD.
66295
66296 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
66297
66298         * modules/getdate (Depends-on): Remove alloca-opt.
66299
66300 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
66301
66302         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
66303
66304 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
66305
66306         * lib/argp-parse.c: Include <stddef.h>.
66307         (alignof, alignto): New macros.
66308         (parser_init): Don't assume that void * is aligned sufficiently
66309         for struct option.
66310
66311         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
66312         need to extend the stack.
66313         (YYINITDEPTH): New macro, so that the initial stack isn't overly
66314         large.
66315
66316 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66317
66318         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
66319
66320 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
66321
66322         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
66323         (2004-10-24) change.  Apparently this was a false alarm.
66324
66325         * modules/getdate: Depend on alloca-opt, not alloca.
66326
66327 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
66328
66329         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
66330         Remove now-obsolete comment about AIX.
66331         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
66332         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
66333         (YYMAXDEPTH): New macro.
66334
66335 2004-12-18  Simon Josefsson  <jas@extundo.com>
66336
66337         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
66338
66339 2004-12-18  Bruno Haible  <bruno@clisp.org>
66340
66341         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
66342
66343 2004-12-18  Bruno Haible  <bruno@clisp.org>
66344
66345         * lib/fatal-signal.c (fatal_signals): Make non-const.
66346         (init_fatal_signals): New function.
66347         (uninstall_handlers, install_handlers): Ignore signals that were set to
66348         SIG_IGN.
66349         (at_fatal_signal): Call init_fatal_signals.
66350         (init_fatal_signal_set): Likewise. Ignore signals that were set to
66351         SIG_IGN.
66352         Reported by Paul Eggert.
66353
66354 2004-12-18  Bruno Haible  <bruno@clisp.org>
66355
66356         * doc/alloca.texi: New file.
66357         * doc/alloca-opt.texi: New file.
66358
66359 2004-12-17  Jim Meyering  <jim@meyering.net>
66360
66361         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
66362         Otherwise, install-sh could exit with improper exit status when
66363         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
66364
66365 2004-12-16  Simon Josefsson  <jas@extundo.com>
66366
66367         * tests/test-base64.c: Add license.
66368
66369 2004-12-15  Stepan Kasal  <address@hidden>
66370
66371         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
66372
66373 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
66374
66375         * modules/getcwd (Files): Add m4/d-ino.m4.
66376         Suggested by Mark D. Baushke.
66377
66378 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
66379
66380         * lib/getdate.y (textint): New member "negative".
66381         (time_zone_hhmm): New function.
66382         Expect 14 shift-reduce conflicts, not 13.
66383         (o_colon_minutes): New rule.
66384         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
66385         (yylex): Set the "negative" member of signed numbers.
66386
66387 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
66388
66389         * doc/getdate.texi (Time of day items, Time zone items):
66390         Describe new formats +00:00, UTC+00:00.
66391
66392 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
66393
66394         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
66395         spurious "-l"s.  Problem reported by Stepan Kasal.
66396
66397 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
66398
66399         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
66400         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
66401
66402 2004-12-04  Simon Josefsson  <jas@extundo.com>
66403
66404         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
66405         Vandoorselaere <yoann@prelude-ids.org>.
66406
66407 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
66408
66409         Changes imported from coreutils.
66410         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
66411         exist.
66412         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
66413
66414 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
66415
66416         Changes imported from coreutils.
66417         * lib/hard-locale.c: Assume <locale.h> exists.
66418         Include "strdup.h".
66419         (GLIBC_VERSION): New macro.
66420         (hard_locale): Assume setlocale exists.
66421         Rewrite to avoid #ifdef.
66422         Use strdup rather than malloc + strcpy.
66423         * lib/human.c: Assume <locale.h> exists.
66424         (human_readable): Assume localeconv exists.
66425
66426 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
66427
66428         * modules/hard-locale (Depends-on): Add strdup.
66429
66430 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
66431
66432         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
66433         convert T2, not T.  (Imported from libc.)
66434
66435 2004-11-30  Simon Josefsson  <jas@extundo.com>
66436
66437         * modules/restrict (License): Change to LGPL.
66438
66439 2004-11-30  Simon Josefsson  <jas@extundo.com>
66440
66441         * m4/restrict.m4: Add copyright and copying conditions.
66442
66443 2004-11-30  Simon Josefsson  <jas@extundo.com>
66444
66445         * m4/base64.m4: New file.
66446
66447 2004-11-30  Simon Josefsson  <jas@extundo.com>
66448
66449         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
66450         base64.
66451
66452         * tests/test-base64.c: New file.
66453
66454         * modules/base64: New file.
66455
66456 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
66457
66458         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
66459         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
66460
66461         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
66462
66463 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
66464
66465         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
66466         (__getcwd.c): Don't restore errno; glibc doesn't.
66467         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
66468         first, falling back to our code only if its results look suspicious.
66469         Ensure that the resulting buffer is only as large as necessary.
66470
66471         * lib/readutmp.c: Include readutmp.h first.
66472         Include <errno.h>, since readutmp.h no longer does that.
66473         * lib/readutmp.h: Don't include <errno.h>,
66474         <sys/param.h>, <time.h>; not needed to establish interface.
66475         (errno): Remove decl.
66476         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
66477         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
66478         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
66479
66480 2004-11-28  Simon Josefsson  <jas@extundo.com>
66481
66482         * lib/base64.h, base64.c: New file.
66483
66484 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
66485
66486         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
66487
66488 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
66489
66490         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
66491         (Depends-on): Remove pathmax, same.  Add mempcpy.
66492         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
66493         (Makefile.am): Append getcwd.h to lib_SOURCES.
66494         (Include): Add getcwd.h.
66495         (Maintainer): Change from Jim Meyering to "all, glibc",
66496         since getdate now uses intended-for-glibc code.
66497         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
66498         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
66499
66500 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
66501
66502         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
66503         HP's ANSI C compiler.
66504         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
66505         Declaring int functions causes warnings on some modern systems and
66506         shouldn't be needed to compile on ancient ones.
66507         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
66508         defined.
66509
66510         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
66511         with the following changes.
66512         (__set_errno): Parenthesize properly.
66513         Include <stdbool.h>.
66514         (MIN, MAX, MATCHING_INO): New macros.
66515         (__getcwd): Define with prototype, not K&R form.
66516         Use heuristics to allocate default buffer on stack if possible.
66517         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
66518         behavior, and to avoid the PATH_MAX limit when computing
66519         ../../../../...
66520         Use MATCHING_INO to compare inode number to file.
66521         Check for arithmetic overflow in size calculations.
66522         Fix bug in reallocation of dot array that caused getcwd to fail
66523         on directories nested deeper than 75.
66524         Be more careful about saving errno on error.
66525         Do not use realloc; use only free+malloc, as this is a bit
66526         more flexible and avoids a needless copy operation.
66527         Do not inspect st_dev and st_ino for symbolic links; POSIX
66528         doesn't specify the latter.
66529         Check for closedir errors.
66530         Avoid needless casts.
66531         Use "#ifdef weak_alias" around weak_alias, to be like other
66532         glibc code.
66533         The following changes to getcwd.c have effect only when used in
66534         gnulib; they have no effect inside glibc proper.
66535         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
66536         as alloca isn't used.
66537         (alloca, __alloca): Likewise.
66538         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
66539         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
66540         unconditionally, as gnulib assumes C89 or better.
66541         Do not include <sys/param.h>.
66542         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
66543         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
66544         better.
66545         (NULL) [!defined NULL]: Remove; we assume C89 or better.
66546         Include <dirent.h> in a way that is compatible with modern Autoconf.
66547         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
66548         New macros, if not already defined.
66549         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
66550         Use "_LIBC", not "defined _LIBC", for consistency.
66551         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
66552         a mempcpy module.
66553         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
66554         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
66555         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
66556         credit only to Jim Meyering and adjust the copyright dates.
66557         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
66558         <stdlib.h>, <unistd.h>, "pathmax.h".
66559         Instead, include "xgetcwd.h" (first) and "getcwd.h".
66560         (INITIAL_BUFFER_SIZE): Remove.
66561         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
66562
66563 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
66564
66565         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
66566         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
66567         Use the _ONCE methods, for efficiency.
66568         Check for fcntl.h.  In test program, include <errno.h>
66569         and <fcntl.h> if available.  Remove old K&R cruft from
66570         test program.  Check for common errors in GNU/Linux,
66571         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
66572         don't do AC_LIBOBJ, as that's getcwd.m4's job.
66573         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
66574         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
66575         name accordingly.
66576         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
66577         accommodate new getcwd.c.
66578         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
66579         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
66580         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
66581         that's all we need now.
66582
66583 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66584
66585         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
66586         argp-parse.c depends on getopt internals, that means we should
66587         always use our getopt, to be on the safe side.
66588         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
66589         order not to spoil the result of an eventual previous invocation
66590         of gl_GETOPT_SUBSTITUTE.
66591
66592 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66593
66594         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
66595         redefinition warnings. To avoid them, include the defines
66596         in `#if !defined __need_getopt ... #endif'. The only place
66597         where __getopt_argv_const is used is in definitions
66598         of getopt_long and getopt_long_only below, which are as well
66599         protected by `#ifndef __need_getopt'.
66600         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
66601         __need_getopt after including <stdio.h> and <unistd.h> These
66602         headers might have defined it.
66603
66604 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
66605
66606         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
66607
66608 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
66609
66610         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
66611         (futimens): New function, which uses futimes if available.
66612         (futimens, utimens): Support timespec==NULL, with same semantics
66613         as utime and utimens.
66614         * lib/utimens.h (futimens): New decl.
66615
66616 2004-11-23  Jim Meyering  <jim@meyering.net>
66617
66618         * lib/getopt_.h: Remove trailing blanks.
66619
66620 2004-11-23  Jim Meyering  <jim@meyering.net>
66621
66622         * lib/__fpending.c: Add comment.
66623
66624 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
66625
66626         * modules/canonicalize (Depends-on): Add xreadlink.
66627         Problem reported by James Youngman.
66628
66629 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
66630
66631         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
66632         New macros.
66633         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
66634         optopt): Use them instead of invoking ## directly; otherwise, the
66635         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
66636
66637 2004-11-19  Bruno Haible  <bruno@clisp.org>
66638
66639         * lib/strtok_r.c: Move comments from here...
66640         * lib/strtok_r.h: ... to here.
66641
66642 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
66643
66644         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
66645         implementations that mishandle size_t overflow.
66646
66647 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
66648
66649         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
66650         might fail.  Problem reported by Yoann Vandoorselaere.
66651         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
66652         implementations that mishandle size_t overflow.
66653
66654 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
66655
66656         * modules/canon-host (Depends-on): Add strdup.
66657
66658 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
66659
66660         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
66661
66662 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
66663
66664         * lib/canon-host.c: Include "strdup.h".
66665         (canon_host): Use getaddrinfo if available, so that IPv6 works.
66666         Use strdup instead of malloc/strcpy to duplicate strings.
66667
66668         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
66669         (human_space_before_unit): New constant.
66670         * lib/human.c (human_readable): Support it.
66671
66672         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
66673         (xgetcwd): Set errno correctly when failing.
66674         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
66675         the failure is actually due to a PATH_MAX problem.
66676
66677         Further getopt changes to make it more likely that glibc will
66678         buy the changes back.
66679         * lib/getopt.c (POSIXLY_CORRECT): New constant.
66680         (getopt): Use it, so to preserve glibc semantic
66681         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
66682         when compiling for libc.
66683         * lib/getopt_.h (__getopt_argv_const): Bring it back.
66684         (getopt_long, getopt_long_only): Use it.
66685
66686         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
66687         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
66688         (getopt): Argv is now char * const *, as per standard.
66689         (_getopt_internal_r, _getopt_internal): Argv is now char **,
66690         not char *__getopt_argv_const *.
66691         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
66692         _getopt_long_only_r): Likewise.
66693         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
66694         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
66695         _getopt_long_r, _getopt_long_only_r): Likewise.
66696         * lib/getopt_.h (__getopt_argv_const): Remove.
66697         (getopt): Argv is now char * const *, as per standard.
66698
66699         * lib/getdate.y (tORDINAL): New token.
66700         (day, relunit): Allow it for relative times.
66701         (relative_time_table): Use tORDINAL for ordinals.
66702
66703 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
66704
66705         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
66706         Document that "second" isn't allowed as an ordinal number.
66707
66708 2004-11-16  Jim Meyering  <jim@meyering.net>
66709
66710         * modules/closeout (Depends-on): Add fpending.
66711
66712 2004-11-15  Jim Meyering  <jim@meyering.net>
66713
66714         * lib/closeout.c: Include "__fpending.h" once again.
66715         Include <stdbool.h>.
66716         (close_stdout): Don't fail just because stdout was closed initially,
66717         since some programs don't write to stdout in the normal course of
66718         operation (other than --version and --help), and we don't want this
66719         function to make e.g. `touch file >&-' fail.
66720         But do fail if it was closed and someone has tried to write to it.
66721         E.g., `printf foo >&-' must fail.
66722
66723 2004-11-13  Jim Meyering  <jim@meyering.net>
66724
66725         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
66726
66727 2004-11-12  Simon Josefsson  <jas@extundo.com>
66728
66729         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
66730         small doc fix is still pending.
66731
66732 2004-11-11  Simon Josefsson  <jas@extundo.com>
66733
66734         * modules/strtok_r: New file.
66735
66736         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
66737         strtok_r.
66738
66739 2004-11-11  Simon Josefsson  <jas@extundo.com>
66740
66741         * m4/strtok_r.m4: New file.
66742
66743         * m4/getopt.m4: Replace opterr.
66744
66745 2004-11-11  Simon Josefsson  <jas@extundo.com>
66746
66747         * lib/strtok_r.h, strtok_r.c: New file.
66748
66749 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
66750
66751         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
66752         of replacing opterr, getopt, etc.  This should handle the
66753         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
66754
66755 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
66756
66757         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
66758         we can stop lying to compilers about the constness of argv when we
66759         are compiled outside glibc.
66760         (getopt, getopt_long, getopt_long_only): Use it.
66761         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
66762         _getopt_internal, getopt): Likewise.
66763         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
66764         _getopt_long_only_r): Likewise.
66765         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
66766         _getopt_long_r, _getopt_long_only_r): Likewise.
66767
66768         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
66769         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
66770         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
66771         the other external symbols.
66772         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
66773         declaration, since the above renaming now works around collisions.
66774
66775 2004-11-11  Jim Meyering  <jim@meyering.net>
66776
66777         * lib/linebreak.c: Remove trailing blanks.
66778         * lib/alloca_.h: Likewise.
66779         * lib/acosl.c: Likewise.
66780         * lib/euidaccess.c: Likewise.
66781         * lib/allocsa.h: Likewise.
66782
66783 2004-11-10  Simon Josefsson  <jas@extundo.com>
66784
66785         * m4/getaddrinfo.m4: New file.
66786
66787 2004-11-10  Simon Josefsson  <jas@extundo.com>
66788
66789         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
66790
66791 2004-11-10  Simon Josefsson  <jas@extundo.com>
66792
66793         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
66794         getaddrinfo.
66795
66796         * modules/getaddrinfo: New file.
66797
66798 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
66799
66800         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
66801
66802 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
66803
66804         * lib/mktime.c (SHR): New macro, which is a portable
66805         substitute for >> that should work even on Crays.
66806         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
66807         Problem reported by Mark D. Baushke in
66808         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
66809         * lib/getdate.y (SHR): Likewise.
66810         (tm_diff): Use it.
66811         * lib/strftime.c (SHR): Likewise.
66812         (tm_diff): Use it.
66813         * lib/quotearg.c (struct quoting_options): Use unsigned int for
66814         quote_these_too, so that right shifts are well defined.  All uses
66815         changed.
66816
66817 2004-11-10  Jim Meyering  <jim@meyering.net>
66818
66819         Ensure that no close failure goes unreported.
66820         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
66821         return early when it seems there's nothing to flush.
66822         Don't include __fpending.h.
66823
66824 2004-11-10  Jim Meyering  <jim@meyering.net>
66825
66826         * modules/closeout (Depends-on): Remove fpending.
66827
66828 2004-11-10  Jim Meyering  <jim@meyering.net>
66829
66830         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
66831
66832 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
66833
66834         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
66835         gl_FUNC_STRFTIME.
66836         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
66837         and AC_REQUIRE when possible, to avoid duplicate checks.
66838         Check for <wchar.h>.
66839
66840 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
66841
66842         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
66843
66844 2004-11-09  Bruno Haible  <bruno@clisp.org>
66845
66846         * m4/sockpfaf.m4: New file.
66847
66848 2004-11-05  Bruno Haible  <bruno@clisp.org>
66849
66850         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
66851         Reported by Mark D. Baushke <mdb@cvshome.org>.
66852
66853 2004-11-04  Bruno Haible  <bruno@clisp.org>
66854
66855         2004-09-11  Bruno Haible  <bruno@clisp.org>
66856                 * allocsa.valgrind: New file.
66857         2004-02-06  Bruno Haible  <bruno@clisp.org>
66858                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
66859                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
66860                 Reported by Christopher Seip <chris.seip@hp.com>.
66861
66862 2004-11-04  Bruno Haible  <bruno@clisp.org>
66863
66864         * modules/allocsa (Files): Add lib/allocsa.valgrind.
66865         (Makefile.am): Distribute it.
66866
66867 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
66868
66869         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
66870         with errno == ERANGE if the buffer is too small.
66871         Problem reported by Mark D. Baushke.
66872
66873 2004-11-03  Albert Chin  <china@thewrittenword.com>
66874             Paul Eggert  <eggert@cs.ucla.edu>
66875
66876         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
66877         equivalent, substitute $ac_type for equivalent type rather than
66878         blindly using uint32_t *always* which won't work if uint32_t is not
66879         available.  Define _UINT32_T to work around typedef of uint32_t if
66880         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
66881         2.5.1.
66882
66883 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
66884
66885         * m4/jm-macros.m4: Sync from coreutils.
66886         (gl_MACROS): Check for mbrlen, for pathchk.
66887         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
66888
66889 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
66890
66891         * lib/xreadlink.c (MAXSIZE): New macro.
66892         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
66893         size does not exceed MAXSIZE.  Avoid cast.
66894         As suggested by Mark D. Baushke in
66895         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
66896         if readlink fails with buffer size just under MAXSIZE, try again
66897         with MAXSIZE.
66898
66899 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
66900
66901         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
66902
66903 2004-11-02  Derek R. Price  <derek@ximbiot.com>
66904         and  Paul Eggert  <eggert@cs.ucla.edu>
66905
66906         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
66907         (get_date): Overparenthesize to avoid GCC warning.
66908
66909 2004-11-02  Bruno Haible  <bruno@clisp.org>
66910
66911         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
66912         returns void.
66913
66914 2004-11-02  Bruno Haible  <bruno@clisp.org>
66915
66916         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
66917         function returns void.
66918
66919 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
66920
66921         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
66922         fflush_unlocked, flockfile, funlockfile, funlockfile,
66923         fputs_unlocked, putc_unlocked.
66924
66925 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
66926
66927         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
66928         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
66929         already declared.
66930
66931 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
66932
66933         * modules/getdate (Files): Add doc/getdate.texi.
66934         (Depends-on): Add setenv, xalloc.
66935
66936 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
66937
66938         * lib/getdate.y: Add support for TZ="foo" within a date string.
66939         Fix some bugs near time_t boundaries.  Reject dates with
66940         out-of-range components, e.g., "Sept 31".
66941         Include <stdlib.h>, "setenv.h", "xalloc.h".
66942         (ISDIGIT_LOCALE): Remove; unused.
66943         Note that the TZ and time functions used here are not reentrant.
66944         (mktime_ok, get_tz): New functions.
66945         (TZBUFSIZE): New constant.
66946         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
66947         This requires that we sometimes generate our own TZ="XXX..." setting.
66948
66949 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
66950
66951         * doc/getdate.texi: New file, from coreutils with modifications for
66952         the new TZ parsing.
66953
66954 2004-10-27  Derek R. Price  <derek@ximbiot.com>
66955
66956         * lib/mktime.c (not_equal_tm): Remove redundant check.
66957
66958 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
66959
66960         * modules/regex (lib_SOURCES): Add regex.c.
66961         Reported by James Youngman in
66962         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
66963
66964 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
66965
66966         * lib/getdate.y: Use Bison 1.875 features, and some minor
66967         code cleanups.  This change does not affect semantics.
66968         Don't include <stdlib.h>; no longer needed.
66969         Don't include unlocked-io.h; only the "#if TEST" code uses
66970         stdio, and performance isn't crucial there.
66971         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
66972         Bison 1.875 features as described below.
66973         All uses of "PC." replaced by "pc->".
66974         (YYSTYPE): Add a forward declaration.
66975         (yylex, yyerror): Use full prototypes in forward decls.
66976         Use "%pure-parser" rather than obsolescent "%pure_parser".
66977         Use %parse-param and %lex-param instead of obsolescent
66978         YYPARSE_PARAM and YYLEX_PARAM.
66979         (meridian_table, month_and_day_table, time_units_table,
66980         relative_time_table, time_zone_table, military_table,
66981         lookup_zone, lookup_word, get_date):
66982         Use NULL instead of 0 where appropriate.
66983         (to_hour): Avoid abort (), to avoid a dependency on
66984         stdlib.h.
66985         (yyerror, yylex): Now accepts parser_control * arg.
66986         (main) [TEST]: Use '\0' rather than 0 for char.
66987
66988 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
66989
66990         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
66991
66992 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
66993
66994         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
66995         It's now the caller's responsibility to handle the case where
66996         !HAVE_GETPAGESIZE && !defined getpagesize.
66997
66998         * lib/mktime.c (leapyear): Arg is long int, not int.
66999
67000 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
67001
67002         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
67003
67004 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
67005
67006         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
67007         missing.  Problem reported by James Youngman.
67008
67009 2004-10-16  Simon Josefsson  <jas@extundo.com>
67010
67011         * gnulib-tool: Fix comments.  Fix parse problem.
67012         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
67013
67014 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
67015
67016         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
67017         implementation of getopt_long.  Problem reported by Alexander Taler in:
67018         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
67019
67020 2004-10-15  Bruno Haible  <bruno@clisp.org>
67021
67022         * gnulib-tool: Untabify. Initialize supplied_libname.
67023         (func_usage): More homogenous output.
67024         (func_modules_transitive_closure, func_modules_to_filelist,
67025         func_emit_lib_Makefile_am): New functions.
67026         (func_import): New function, extracted from big case statement. Use
67027         func_get_license, func_modules_transitive_closure,
67028         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
67029         opt_lgpl. Don't use test -a, as it's not portable.
67030         (func_create_testdir): Use func_modules_transitive_closure,
67031         func_modules_to_filelist, func_emit_lib_Makefile_am.
67032
67033 2004-10-15  Bruno Haible  <bruno@clisp.org>
67034
67035         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
67036
67037 2004-10-15  Bruno Haible  <bruno@clisp.org>
67038
67039         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
67040         the portions belonging to each module.
67041         Suggested by Derek Robert Price <derek@ximbiot.com>.
67042
67043 2004-10-12  Simon Josefsson  <jas@extundo.com>
67044
67045         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
67046         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
67047         to real functions.
67048
67049 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67050
67051         * modules/vsnprintf: New file.
67052
67053 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67054
67055         * m4/vsnprintf.m4: New file.
67056
67057 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67058
67059         * lib/vsnprintf.h: New file.
67060         * lib/vsnprintf.c: New file.
67061
67062 2004-10-11  Bruno Haible  <bruno@clisp.org>
67063
67064         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
67065         vsnprintf.
67066
67067 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
67068
67069         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
67070
67071 2004-10-07  Bruno Haible  <bruno@clisp.org>
67072
67073         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
67074         fits into the provided buffer.
67075
67076 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
67077
67078         * lib/diacrit.c, diacrit.h: Add GPL notice.
67079
67080         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
67081         notice.
67082         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
67083         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
67084         This avoids a potential constant-folding bug.
67085
67086 2004-10-05  Bruno Haible  <bruno@clisp.org>
67087
67088         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
67089         for the declaration of strsep.
67090
67091 2004-10-05  Bruno Haible  <bruno@clisp.org>
67092
67093         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
67094
67095 2004-10-04  Simon Josefsson  <jas@extundo.com>
67096
67097         * modules/memmem: New file.
67098         * tests/test-memmem.c: New file.
67099         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
67100
67101 2004-10-04  Simon Josefsson  <jas@extundo.com>
67102
67103         * m4/memmem.m4: New file.
67104
67105 2004-10-04  Simon Josefsson  <jas@extundo.com>
67106
67107         * lib/memmem.h: New file.
67108         * lib/memmem.c: New file, taken from glibc.
67109
67110 2004-10-04  Simon Josefsson  <jas@extundo.com>
67111
67112         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
67113         '#ifdef USE_UNLOCKED_IO'.
67114
67115 2004-10-04  Simon Josefsson  <jas@extundo.com>
67116
67117         * config/srclist.txt: Add memmem from glibc.
67118
67119 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
67120
67121         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
67122
67123         * modules/argmatch, modules/argp, modules/closeout, modules/error,
67124         modules/exclude, modules/getdate, modules/getline,
67125         modules/getndelim2, modules/getpass, modules/getpass-gnu,
67126         modules/getusershell, modules/linebuffer, modules/md5,
67127         modules/mountlist, modules/posixtm, modules/readtokens,
67128         modules/readutmp, modules/regex, modules/sha1,
67129         modules/version-etc, modules/yesno:
67130         Remove dependency on unlocked-io.
67131
67132 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
67133
67134         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
67135
67136         * m4/unlocked-io.m4: Add copyright notice.
67137         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
67138
67139 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
67140
67141         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
67142         * lib/xmalloc.c (xmemdup): Likewise.
67143         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
67144         XFREE): Remove these long-obsolescent macros.
67145         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
67146         * lib/xstrdup.c: Remove.
67147
67148         * lib/regex.c (re_comp): Cast gettext return value to char *,
67149         Problem reported by Martin Neitzel via Mark D. Baushke.
67150
67151 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
67152
67153         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
67154         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
67155         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
67156         regex.c, sha1.c, version-etc.c, yesno.c:
67157         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
67158         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
67159         the includer's responsibility.
67160
67161         Sync from coreutils.
67162
67163         * lib/modechange.c (mode_compile): Don't decrement a pointer that
67164         points to the start of a string, as the C Standard says the
67165         resulting behavior is undefined.
67166
67167         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
67168         simple -> simple_backups, numbered_existing ->
67169         numbered_existing_backups, numbered -> numbered_backups
67170         to avoid shadowing problems.  All uses changed.
67171         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
67172         * lib/backupfile.c (check_extension, numbered_backup):
67173         Rename locals to avoid shadowing 'basename'.
67174         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
67175         once.
67176
67177         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
67178         * lib/.cvsignore: Add getopt.h.
67179
67180 2004-10-04  Bruno Haible  <bruno@clisp.org>
67181
67182         * modules/README: New file.
67183         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
67184         not a module.
67185
67186 2004-10-02  Jim Meyering  <jim@meyering.net>
67187
67188         * lib/dirfd.h, getpagesize.h: Add copyright notice.
67189
67190 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67191
67192         * modules/strsep: New file.
67193
67194 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67195
67196         * m4/strsep.m4: New file.
67197
67198 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67199
67200         * lib/strsep.h: New file.
67201         * lib/strsep.c: New file.
67202
67203 2004-10-01  Simon Josefsson  <jas@extundo.com>
67204
67205         * lib/snprintf.c (snprintf): Handle size==0.
67206
67207 2004-10-01  Simon Josefsson  <jas@extundo.com>
67208             Bruno Haible  <bruno@clisp.org>
67209
67210         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
67211         (snprintf): Declare 'args'.
67212
67213 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
67214
67215         * lib/snprintf.c: Remove comments as to why each header is needed.
67216
67217 2004-10-01  Bruno Haible  <bruno@clisp.org>
67218
67219         * MODULES.html.sh: Add strsep.
67220
67221 2004-09-30  Simon Josefsson  <jas@extundo.com>
67222
67223         * modules/snprintf: New file.
67224
67225 2004-09-30  Simon Josefsson  <jas@extundo.com>
67226
67227         * m4/snprintf.m4: New file.
67228
67229 2004-09-30  Simon Josefsson  <jas@extundo.com>
67230
67231         * lib/snprintf.h, lib/snprintf.c: New files.
67232
67233 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67234
67235         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
67236         (hol_entry_help): Never translate an empty string.
67237         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
67238         * lib/argp.h (OPTION_NO_TRANS): New option.
67239
67240 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
67241
67242         * modules/argp (Maintainer): Replace Simon Josefsson
67243         by Sergey Poznyakoff.
67244
67245 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
67246
67247         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
67248         changes merged back into glibc.
67249
67250 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
67251
67252         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
67253
67254 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
67255
67256         * lib/xvasprintf.c: Include xalloc.h.
67257         (xvasprintf): Use xalloc_die, not xmalloc_die.
67258
67259 2004-09-29  Bruno Haible  <bruno@clisp.org>
67260
67261         * modules/alloca-opt: New file, derived from modules/alloca.
67262         * modules/allocsa: Depend on alloca-opt instead of alloca.
67263         * modules/setenv: Likewise.
67264         * modules/vasnprintf: Likewise.
67265         * MODULES.html.sh: Add alloca-opt.
67266
67267 2004-09-28  Simon Josefsson  <jas@extundo.com>
67268
67269         * gnulib-tool: New parameter --lgpl, to asseert that modules are
67270         LGPL, and to replace license template from GPL to LGPL.
67271
67272 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
67273
67274         * modules/dummy: Change license to LGPL.
67275
67276 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
67277
67278         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
67279
67280 2004-09-24  Simon Josefsson  <jas@extundo.com>
67281
67282         * modules/minmax (License): Change from GPL to LGPL.
67283
67284 2004-09-23  Simon Josefsson  <jas@extundo.com>
67285
67286         * gnulib-tool (--import): Typo.
67287
67288 2004-09-23  Simon Josefsson  <jas@extundo.com>
67289
67290         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
67291
67292 2004-09-22  Bruno Haible  <bruno@clisp.org>
67293
67294         * modules/*: Add 'License' field.
67295         * gnulib-tool: Accept --extract-license option.
67296         (func_get_license): New function.
67297
67298 2004-09-21  Bruno Haible  <bruno@clisp.org>
67299
67300         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
67301         Reported by Simon Josefsson.
67302
67303 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
67304
67305         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
67306         gl_AC_TYPE_LONG_LONG.
67307
67308 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
67309
67310         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
67311
67312 2004-09-18  Simon Josefsson  <jas@extundo.com>
67313         and  Paul Eggert  <eggert@cs.ucla.edu>
67314
67315         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
67316         calls with autoreconf.  Define GL_LIB.
67317
67318 2004-09-14  Karl Berry  <karl@gnu.org>
67319
67320         * config/srclist.txt: unsync setenv.c, sigh.
67321
67322 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
67323
67324         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
67325         Problem reported by Bruno Haible in:
67326         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
67327
67328 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
67329
67330         * config/srclist.txt: Comment out argp-pvh.c.
67331
67332 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
67333
67334         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
67335         in case some system header has #define'd it.  Problem reported by
67336         Soeren D. Schulze in
67337         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
67338
67339 2004-09-09  Karl Berry  <karl@gnu.org>
67340
67341         * regex.[ch]: delete from the root.  These were supposed to be
67342                 synced with emacs cvs, but this has not happened for about
67343                 a year, and anyway nothing else uses emacs regex.[ch].
67344                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
67345                 lib/regex[.ch] is untouched.
67346
67347 2004-09-09  Bruno Haible  <bruno@clisp.org>
67348
67349         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
67350
67351 2004-09-09  Bruno Haible  <bruno@clisp.org>
67352
67353         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
67354         modifications.
67355         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
67356
67357 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
67358
67359         * modules/xvasprintf: New file.
67360         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
67361
67362 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
67363
67364         * lib/xvasprintf.h: New file.
67365         * lib/xvasprintf.c: New file.
67366         * lib/xasprintf.c: New file.
67367
67368 2004-09-08  Bruno Haible  <bruno@clisp.org>
67369
67370         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
67371
67372 2004-09-08  Bruno Haible  <bruno@clisp.org>
67373
67374         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
67375         length is > INT_MAX.
67376         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
67377         more.
67378
67379 2004-09-08  Bruno Haible  <bruno@clisp.org>
67380
67381         * lib/stdint_.h: New file, taken from GNU clisp.
67382
67383 2004-09-08  Bruno Haible  <bruno@clisp.org>
67384             Oskar Liljeblad  <oskar@osk.mine.nu>
67385
67386         * modules/stdint: New file.
67387         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
67388
67389 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
67390
67391         Import from coreutils.
67392         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
67393         strings on unbounded length.  alloca's performance benefits aren't
67394         that important here.
67395         (V_STRDUP): Remove.
67396         (parse_with_separator): New function, with most of the internals
67397         of the old parse_user_spec.  Allow user to omit both user and group,
67398         for compatibility with FreeBSD.
67399         Clone only the user name, not the entire spec.
67400         Do not set *uid, *gid unless entirely successful.
67401         Avoid memory leak in some failing cases.
67402         Fix regression for USER.GROUP reported by Dmitry V. Levin in
67403         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
67404         (parse_user_spec): Rewrite to use parse_with_separator.
67405
67406 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
67407
67408         * modules/userspec: Don't depend on alloca.
67409
67410 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
67411
67412         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
67413
67414 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
67415
67416         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
67417         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
67418         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
67419
67420 2004-08-16  Simon Josefsson  <jas@extundo.com>
67421
67422         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
67423         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
67424         Add --dry-run for --import.
67425         Let user provided command line parameters override configure.ac
67426         settings.
67427
67428 2004-08-12  Simon Josefsson  <jas@extundo.com>
67429
67430         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
67431         as discussed with Paul Eggert in threads rooted at
67432         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
67433         and
67434         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
67435         Before, the test was empty, and relied on ELIDE_CODE in source
67436         code.)
67437         (gl_PREREQ_GETOPT): New macro.
67438         (gl_GETOPT): Use them.
67439
67440 2004-08-12  Simon Josefsson  <jas@extundo.com>
67441
67442         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
67443         * lib/getopt_.h: Renamed from getopt.h.
67444
67445 2004-08-12  Simon Josefsson  <jas@extundo.com>
67446
67447         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
67448         Change default library name from libfoo to libgnu.
67449         Now, if you have a configure.ac that says:
67450                 gl_SOURCE_BASE(gl)
67451                 gl_M4_BASE(gl/m4)
67452                 gl_MODULES(error getopt etcetera)
67453                 gl_INIT
67454         you can import all you need by running:
67455                 ../gnulib/gnulib-tool --import
67456
67457         * modules/getopt (Files): Rename getopt.h to getopt_.h.
67458         (Makefile.am): Rewrite, use logic from argz.
67459         (Include): Use <getopt.h> instead of "getopt.h".
67460
67461 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
67462
67463         * modules/argp (Files): Add m4/unlocked-io.m4.
67464         (Depends-on): Add extensions.
67465
67466 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
67467
67468         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
67469         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
67470         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
67471         Check for program_invocation_name, program_invocation_short_name,
67472         flockfile, funlockfile, features.h, _getopt_long_only_r.
67473
67474 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
67475
67476         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
67477         its complicated substitute.
67478         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
67479         and program_invocation_name.
67480         (__argp_basename) [!_LIBC]: Remove; the only use was
67481         replaced by its body.
67482         (__argp_short_program_name): Change condition from
67483         !defined __argp_short_program_name to
67484         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
67485         to match argp-namefrob.h.
67486         (__argp_failure): Don't assume strerror_r returns char *.
67487         * lib/argp-parse.c (N_): Define unconditionally.
67488         (argp_default_options): Fill out initializers with 0 to avoid
67489         gcc warnings.
67490
67491 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
67492
67493         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
67494         getopt1.c.
67495
67496 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
67497
67498         Merge from coreutils.
67499
67500         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
67501
67502         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
67503         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
67504
67505 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
67506
67507         Merge from coreutils.
67508
67509         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
67510         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
67511         for Reliant Unix 5.43.
67512
67513         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
67514         (union fooround): Use uintmax_t, not long int.
67515         The rest is a merge from libc:
67516         [defined _LIBC]: Include <shlib-compat.h>.
67517         (_obstack) [defined _LIBC]: Remove after 2.3.4.
67518
67519         * lib/settime.c (settime): Recode to avoid warning with
67520         Sun Forte C 6U2.
67521
67522         * lib/strverscmp.c: Convert to UTF-8.
67523
67524 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
67525
67526         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
67527         m4/uintmax_t.m4.
67528
67529 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
67530
67531         * modules/xalloc-die: New file.
67532         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
67533
67534         * modules/md5 (Files): Add m4/uint32_t.m4.
67535         * modules/sha1: Renamed from modules/sha.
67536         (Files):
67537         Rename lib/sha.h to lib/sha1.h.
67538         Rename lib/sha.c to lib/sha1.c.
67539         Rename m4/sha.m4 to m4/sha1.m4.
67540         (lib_SOURCES): Likewise.
67541         (configure.ac): Rename gl_SHA to gl_SHA1.
67542         (Include): sha.h -> sha1.h.
67543
67544 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
67545
67546         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
67547         * m4/sha1.m4: Renamed from sha.m4.
67548         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
67549
67550 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
67551
67552         * lib/obstack.h (obstack_empty_p):
67553         Don't assume that chunk->contents is suitably aligned.
67554         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
67555         Likewise. Problem reported by Benno in
67556         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
67557
67558         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
67559         readable.  This could be improved further but it'd take some work.
67560
67561 2004-08-08  Simon Josefsson  <jas@extundo.com>
67562
67563         * modules/xgethostname (Depends-on): Remove exit and error (not
67564         used).
67565
67566         * modules/getpass-gnu: Add getpass.h.
67567         (Depends-on): Add stdbool.
67568         * modules/getpass: Add getpass.h.
67569
67570 2004-08-08  Simon Josefsson  <jas@extundo.com>
67571
67572         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
67573         Check getpass declaration.
67574
67575 2004-08-08  Simon Josefsson  <jas@extundo.com>
67576
67577         * lib/xgethostname.c: Don't include error.h (not used).
67578
67579         * lib/getpass.h: Add.
67580         * lib/getpass.c: Include getpass.h first.
67581
67582 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
67583
67584         * lib/xalloc-die.c: New file.
67585         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
67586         All uses removed.
67587         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
67588         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
67589         xalloc-die.c.
67590         (_, N_, xalloc_die): Move to xalloc-die.c.
67591         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
67592         so that we needn't mess with xalloc_msg_memory_exhausted.
67593
67594         * lib/sha1.h: Renamed from sha.h.
67595         (SHA1_H): Renamed from _SHA_H.
67596         (sha1_ctx): Renamed from sha_ctx.
67597         (sha1_init_ctx): Renamed from sha_init_ctx.
67598         (sha1_process_block): Renamed from sha_process_block.
67599         (sha1_process_bytes): Renamed from sha_process_bytes.
67600         (sha1_finish_ctx): Renamed from sha_finish_ctx.
67601         (sha1_read_ctx): Renamed from sha_read_ctx.
67602         (sha1_stream): Renamed from sha_stream.
67603         (sha1_buffer): Renamed from sha_buffer.
67604         * lib/sha1.c: Likewise; renamed from sha.c.
67605         Do not include <sys/types.h>.
67606         Include <stddef.h> rather than <stdlib.h>.
67607
67608 2004-08-08  Bruno Haible  <bruno@clisp.org>
67609
67610         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
67611         FILESYSTEM_PREFIX_LEN.
67612         * lib/progreloc.c: Likewise.
67613         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
67614
67615 2004-08-06  Simon Josefsson  <jas@extundo.com>
67616
67617         * modules/progname (Depends-on): Don't depend on stdbool.
67618
67619 2004-08-06  Simon Josefsson  <jas@extundo.com>
67620
67621         * modules/getsubopt: New file.
67622         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
67623         getsubopt.
67624
67625 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
67626
67627         More merge from coreutils.
67628
67629         * m4/utimens.m4, m4/utimecmp.m4: New files.
67630         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
67631         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
67632         prereq.m4, sha.m4: Import changes from coreutils.
67633
67634 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
67635
67636         More merge from coreutils.
67637         * modules/raise, modules/readtokens0, modules/utimens:
67638         * modules/utimecmp, module/xnanosleep: New files.
67639         * modules/strftime: Add lib/strftime.h.
67640         Change include from <time.h> to "strftime.h".
67641         * modules/yesno: Add lib/yesno.h.
67642         * modules/backupfile: Remove lib/addext.c.
67643         * modules/euidaccess: Add stat-macros.h.
67644         * modules/canonicalize, modules/euidaccess,
67645         modules/filemode, modules/lchown, modules/makepath,
67646         modules/rmdir, modules/stat: Likewise.
67647
67648 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
67649
67650         Merge from tar.
67651         * lib/argp-help.c (make_hol, hol_append): Don't assume that
67652         SIZE_MAX is a valid preprocessor constant.
67653         (__argp_basename): Change from "#ifndef _LIBC"
67654         to "#ifndef __argp_short_program_name", so that
67655         we don't compile these functions for tar.
67656
67657         More merges from coreutils.
67658         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
67659         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
67660         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
67661         * lib/addext.c: Remove; no longer needed.
67662         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
67663         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
67664         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
67665         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
67666         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
67667         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
67668         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
67669         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
67670         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
67671         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
67672         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
67673         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
67674         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
67675         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
67676         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
67677         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
67678         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
67679         Import changes from coreutils.
67680
67681 2004-08-05  Simon Josefsson  <jas@extundo.com>
67682
67683         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
67684
67685 2004-08-05  Simon Josefsson  <jas@extundo.com>
67686
67687         * m4/getsubopt.m4: New file.
67688
67689 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
67690
67691         Merge from coreutils.
67692
67693         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
67694         * m4/getcwd-path-max.m4: New files.
67695
67696         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
67697         FILESYSTEM_PREFIX_LEN ->
67698         FILE_SYSTEM_PREFIX_LEN.
67699         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
67700         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
67701         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
67702         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
67703
67704         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
67705         prerequisite modules now handle the DOS stuff.
67706         Don't check for unistd.h.
67707
67708 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
67709
67710         Merge from coreutils.
67711
67712         * lib/.gdb-history: Remove; this doesn't belong here.
67713
67714         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
67715         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
67716         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
67717         * lib/getcwd.c: New files.
67718
67719         * lib/dirname.h: Include <stdbool.h>.
67720         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
67721         for consistency with POSIX terminology.  All uses changed.
67722         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
67723         (strip_trailing_slashes): Use bool for booleans.
67724         * lib/stripslash.c (strip_trailing_slashes): Likewise.
67725
67726         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
67727         sometimes returns a positive errno value even when it succeeds.
67728         (print_errno_message) [!LIBC]: Fall back on strerror if
67729         __strerror_r fails.
67730
67731         * lib/path-concat.c (mempcpy): Don't define if a system header defines
67732         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
67733         (longest_relative_suffix): New function.
67734         (path_concat): Use it.  Assume first argument is not NULL.
67735         Port to DOS.  Omit redundant separators.
67736         Report an error instead of returning NULL.
67737         Use mempcpy instead of memcpy.
67738         (xpath_concat): Remove: not declared or used.
67739
67740         * lib/same.h: Include <stdbool.h>
67741         (same_name): Return bool, not int.
67742         * lib/same.c (same_name): Likewise.
67743         (errno): Don't declare; we assume C89 or better now.
67744
67745         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
67746         if not already defined.
67747
67748         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
67749         * lib/dup-safer.c (errno): Likewise.
67750
67751 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
67752
67753         Merge from coreutils.
67754         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
67755         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
67756         * modules/path-concat: Don't depend on strdup.
67757
67758 2004-08-03  Simon Josefsson  <jas@extundo.com>
67759
67760         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
67761         * lib/progname.h: Don't include stdbool.h.
67762
67763 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
67764
67765         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
67766         * MODULES.html.sh (func_all_modules): Remove fatal.
67767
67768 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
67769
67770         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
67771
67772 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
67773
67774         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
67775         working.
67776
67777 2004-08-02  Simon Josefsson  <jas@extundo.com>
67778
67779         * lib/getsubopt.h: New file, with comments from Bruno Haible.
67780         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
67781         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
67782
67783 2004-08-01  Simon Josefsson  <jas@extundo.com>
67784
67785         * lib/xgetdomainname.c: Include stdlib.h, for free().
67786
67787 2004-07-19  Bruno Haible  <bruno@clisp.org>
67788
67789         * MODULES.html.sh (func_all_modules): Add dummy.
67790
67791 2004-07-16  Simon Josefsson  <jas@extundo.com>
67792
67793         * modules/dummy: New file.
67794
67795 2004-07-16  Simon Josefsson  <jas@extundo.com>
67796
67797         * lib/dummy.c: New file.
67798
67799 2004-07-16  Bruno Haible  <bruno@clisp.org>
67800
67801         * lib/backupfile.h: Add extern "C" for C++.
67802         * lib/closeout.h: Likewise.
67803         * lib/copy-file.h: Likewise.
67804         * lib/findprog.h: Likewise.
67805         * lib/full-write.h: Likewise.
67806         * lib/pathname.h: Likewise.
67807         * lib/progname.h: Likewise.
67808         * lib/stpcpy.h: Likewise.
67809         * lib/stpncpy.h: Likewise.
67810         * lib/strcase.h: Likewise.
67811         * lib/strstr.h: Likewise.
67812         * lib/xalloc.h: Likewise.
67813
67814         * lib/mbswidth.h: Add extern "C" for C++.
67815         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
67816
67817 2004-07-13  Robert Millan  <robertmh@gnu.org>
67818
67819         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
67820
67821 2004-07-09  Simon Josefsson  <jas@extundo.com>
67822
67823         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
67824         failed without this.)
67825
67826 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
67827
67828         * modules/chown (Files): Add lib/fchown-stub.c, since
67829         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
67830
67831 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
67832
67833         * lib/fchown-stub.c: New file.
67834
67835 2004-06-24  Jim Meyering  <jim@meyering.net>
67836
67837         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
67838
67839 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
67840
67841         * modules/argz: Omit "#include".
67842
67843         * MODULES.html.sh (func_all_modules): Add calloc, to match
67844         2004-06-01 addition of calloc module.
67845
67846 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
67847
67848         * m4/argz.m4: New file, which is autoupdated from libtool.
67849
67850 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
67851
67852         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
67853         libtool.
67854
67855 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
67856
67857         * config/srclist-update: Don't insist on "USA." before the
67858         close-comment, as libtool omits the period and puts the */ on a
67859         separate line.
67860         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
67861         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
67862
67863 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
67864
67865         * modules/argz: New file.
67866         * MODULES.html.sh (func_all_modules): Add argz.
67867
67868 2004-06-12  Jim Meyering  <jim@meyering.net>
67869         and  Paul Eggert  <eggert@cs.ucla.edu>
67870
67871         * modules/hash (Files): Add lib/xalloc.h.
67872         * modules/pipe (Depends-on): Add wait-process.
67873         * modules/stat (Depends-on): Add xalloc.
67874         * modules/userspec (Files): Add lib/userspec.h.
67875         * modules/xstrto
67876
67877         Upgrade from gettext-0.13.
67878         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
67879         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
67880         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
67881
67882 2004-06-10  Jim Meyering  <jim@meyering.net>
67883
67884         * lib/calloc.c: New file.
67885
67886 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
67887
67888         * lib/getdate.y (yylex): Allow space between sign and number.
67889         Problem reported by Dan Jacobson.
67890
67891 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
67892
67893         Merge from coreutils CVS.
67894
67895         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
67896         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
67897         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
67898         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
67899         xstrtol.m4: Fix copyright date and/or serial number.
67900
67901         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
67902         See if we need an fchown replacement.
67903         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
67904         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
67905         and use the replacement function if we detect either defect.
67906
67907         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
67908         gl_UTIMECMP.
67909
67910 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
67911         and  Jim Meyering  <jim@meyering.net>
67912
67913         Merge from coreutils CVS.
67914
67915         * lib/stat-macros.h: New file, with contents from file-type.h
67916         and coreutils' system.h.
67917         * lib/file-type.c: Include "stat-macros.h".
67918         * lib/file-type.h (file_type): Move all macro definitions to new file,
67919         stat-macros.h.
67920
67921         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
67922         Wrap old code with this conditional.
67923         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
67924         function that does not dereference symlinks.
67925         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
67926
67927         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
67928         dependency problems.
67929         (xreadlink): Accept new arg SIZE, for efficiency.
67930         All decls and uses changed.
67931         * lib/xreadlink.h: Include <stddef.h>, for size_t.
67932
67933         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
67934         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
67935
67936         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
67937         sysexits.h.
67938
67939 2004-06-01  Jim Meyering  <jim@meyering.net>
67940
67941         * m4/calloc.m4: New file.
67942
67943 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
67944
67945         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
67946         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
67947         Also, fix a typo in a diagnostic.
67948
67949 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
67950
67951         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
67952         or AC_FUNC_REALLOC.
67953
67954 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
67955
67956         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
67957         macros to be defined.
67958         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
67959         the allocator returns NULL because the requested size is zero.
67960
67961 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
67962
67963         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
67964         var.  Add comment explaining why libc still defines it.  This
67965         merges the following patch from glibc:
67966         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
67967
67968 2004-05-20  Andreas Schwab  <schwab@suse.de>
67969
67970         * m4/free.m4: Replace free if it not known to work, not the other
67971         way round.
67972
67973 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
67974
67975         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
67976         present in glibc since revision 1.1 of this file.
67977         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
67978         obstack_alignment_mask, obstack_alloc, obstack_base,
67979         obstack_blank, obstack_blank_fast, obstack_chunk_size,
67980         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
67981         obstack_grow0, obstack_init, obstack_int_grow,
67982         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
67983         obstack_next_free, obstack_object_size, obstack_ptr_grow,
67984         obstack_ptr_grow_fast, obstack_room): Remove declarations of
67985         nonexistent functions.
67986
67987 2004-05-18  Karl Berry  <karl@gnu.org>
67988
67989         * config/srclist.txt: break link for vasnprintf.c.
67990
67991 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
67992
67993         Port obstack to the AS/400, where pointers are 16 bytes wide and
67994         you cannot cast an integer to a valid pointer.  This patch is
67995         currently waiting to be integrated into glibc; see
67996         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
67997
67998         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
67999         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
68000         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
68001         (struct obstack): temp member is now a union of a pointer and
68002         an integer, instead of an integer.  All integer uses changed.
68003         This does not affect the physical layout of struct obstack,
68004         except on hosts (like the AS/400) where the size or alignment of
68005         void * is greater than that of ptrdiff_t.
68006         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
68007         __STDC__)]: Store temporary in pointer member of union, not
68008         integer member.
68009         * lib/obstack.c: Include <stddef.h>, for offsetof.
68010         (struct fooalign): Remove; it doesn't need a name.
68011         (union fooround): Change double to long double, and add void *.
68012         (DEFAULT_ALIGNMENT): Use offsetof to compute.
68013         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
68014         not a macro.  Hence the values are always int; so remove all
68015         casts-to-int in uses.
68016
68017 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
68018
68019         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
68020         we can get this patch merged into glibc.
68021
68022 2004-05-17  Derek R. Price  <derek@ximbiot.com>
68023             Paul Eggert  <eggert@cs.ucla.edu>
68024
68025         * m4/argp: Depend on alloca.
68026
68027 2004-05-17  Derek R. Price  <derek@ximbiot.com>
68028             Paul Eggert  <eggert@cs.ucla.edu>
68029
68030         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
68031         freecoding.
68032
68033 2004-05-17  Bruno Haible  <bruno@clisp.org>
68034
68035         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
68036         precision that consists of a '.' followed by an empty digit string.
68037         Patch by Tor Lillqvist <tml@iki.fi>.
68038
68039 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
68040
68041         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
68042         for backward compatibility with older code.  We need our own
68043         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
68044         it under some other name, and our alloca.h will define it.
68045
68046 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
68047             Derek Price  <derek@ximbiot.com>
68048
68049         * lib/alloca.c: Include <alloca.h>, to get our interface.
68050         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
68051         include <alloca.h> first.  Use C89 prototype for alloca; this
68052         requires including <stddef.h> for size_t.  Use extern "C" if C++.
68053         Use #elif for simplicity, since we can assume C89 now.
68054         Don't try to source the system alloca.h since it will not be found
68055         and to prevent recursively including its replacement.
68056         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
68057         * lib/regex.c: Likewise.
68058
68059 2004-05-16  Derek Price  <derek@ximbiot.com>
68060             Paul Eggert  <eggert@cs.ucla.edu>
68061
68062         getline cleanup.  This changes the getndelim2 API: both order of
68063         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
68064         no delimiter).
68065
68066         * lib/getline.c: Don't include stddef.h or stdio.h, since our
68067         interface does that.
68068         (getline): Always use getdelim, so that we don't have two
68069         copies of this code.
68070         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
68071         if available.
68072         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
68073         (GETNDELIM2_MAXIMUM): New macro.
68074         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
68075         instead of the old practice of delim2==0.  All callers changed.
68076         Return -1 on overflow, instead of returning junk.
68077         Do not set *linesize unless allocation succeeds.
68078         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
68079         that we include sys/types.h.
68080         * lib/getnline.h: Likewise.
68081         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
68082         (getndelim2): Reorder arguments.
68083         * lib/getnline.c (getnline, getndelim):
68084         Don't discard the NMAX argument.
68085         (getnline): Invoke getndelim, to avoid code duplication.
68086         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
68087         of (size_t) -1 by callers of the getnline family.
68088
68089 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
68090
68091         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
68092         Check for gettimeofday.
68093         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
68094         Check for settimeofday, stime.
68095
68096 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
68097
68098         * lib/nanosleep.c (suspended): Change its type from int to
68099         sig_atomic_t volatile.
68100         (first_call): Make it private to rpl_nanosleep, and have it
68101         be zero initially as that's a bit faster.
68102         (my_usleep): Round up fractional times instead of truncating them,
68103         as this is the usual meaning for 'sleep'.
68104
68105         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
68106         doesn't work.
68107         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
68108         (ENOSYS): Define if not defined.
68109         (settime): Fall back on stime if it exists and settimeofday fails.
68110         But don't bother with fallbacks if a method fails with errno == EPERM.
68111
68112 2004-05-11  Jim Meyering  <jim@meyering.net>
68113
68114         Prior to this change, the save_cwd caller required read access to the
68115         current directory on most systems (ones with the fchdir function).
68116
68117         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
68118         fails, try write-only, and finally, resort to using xgetcwd.
68119
68120 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
68121
68122         * lib/obstack.c, obstack.h: Import changes from libc.
68123
68124 2004-04-28  Bruno Haible  <bruno@clisp.org>
68125
68126         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
68127         also implicitly appends .exe to executables.
68128         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
68129         accepts Windows pathnames.
68130         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
68131         Treat Cygwin like Windows, since it now accepts Windows pathnames.
68132         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
68133         Treat Cygwin like Windows, since it now accepts Windows pathnames.
68134         Reported by Derek Robert Price <derek@ximbiot.com>.
68135
68136 2004-04-21  Karl Berry  <karl@gnu.org>
68137
68138         * config/srclist.txt (localcharset.c): break sync.
68139
68140 2004-04-20  Paul Eggert  <eggert@twinsun.com>
68141
68142         * m4/host-os.m4: Add a copyright notice.
68143
68144 2004-04-20  Jim Meyering  <jim@meyering.net>
68145
68146         Change UTILS_ to gl_ in AC_DEFINE'd names.
68147         Change utils_- and jm_-prefixed variables, too.
68148         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
68149         UTILS_FUNC_MKDIR_TRAILING_SLASH.
68150         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
68151
68152         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
68153         Don't emit trailing blanks.
68154         Also rename jm_-prefixed variables to have gl_ prefix.
68155
68156         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
68157         Also rename jm_-prefixed variables to have gl_ prefix.
68158
68159         * m4/jm-macros.m4: Reflect the renamings.
68160         * m4/prereq.m4: Likewise.
68161
68162 2004-04-20  Jim Meyering  <jim@meyering.net>
68163
68164         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
68165         memory.
68166
68167 2004-04-20  Jim Meyering  <jim@meyering.net>
68168             Bruno Haible  <bruno@clisp.org>
68169
68170         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
68171         memory when realloc fails.
68172
68173 2004-04-19  Jim Meyering  <jim@meyering.net>
68174
68175         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
68176         now that readutmp.c may call `free (0)'.
68177
68178 2004-04-19  Bruno Haible  <bruno@clisp.org>
68179
68180         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
68181         * m4/inttypes_h.m4: Likewise.
68182         * m4/stdint_h.m4: Likewise.
68183         * m4/intmax_t.m4: Likewise.
68184         * m4/uintmax_t.m4: Likewise.
68185
68186 2004-04-18  Jim Meyering  <jim@meyering.net>
68187
68188         * m4/prereq.m4: Don't forbid jm_ prefix.
68189
68190         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
68191         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
68192         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
68193         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
68194         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
68195         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
68196         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
68197         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
68198         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
68199         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
68200         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
68201         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
68202         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
68203         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
68204         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
68205         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
68206         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
68207         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
68208         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
68209
68210 2004-04-18  Jim Meyering  <jim@meyering.net>
68211
68212         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
68213         failure, don't leak memory and do call END_UTMP_ENT.
68214
68215 2004-04-16  Jim Meyering  <jim@meyering.net>
68216
68217         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
68218         coreutils' stat program.
68219         (gl_PREREQ): Don't require jm_PREREQ_STAT.
68220
68221 2004-04-11  Paul Eggert  <eggert@twinsun.com>
68222
68223         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
68224         C89.
68225         (CHAR_BIT): Remove, since we assume C89.
68226         Include <stdint.h> if available, as per current Autoconf CVS advice.
68227
68228 2004-03-31  Jim Meyering  <jim@meyering.net>
68229
68230         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
68231         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
68232         * m4/xalloc.m4: Likewise.
68233
68234 2004-03-30  Paul Eggert  <eggert@twinsun.com>
68235
68236         Merge from coreutils.
68237
68238         * m4/inttostr.m4: New file.
68239         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
68240         Require AM_STDBOOL_H and gl_TIMESPEC instead.
68241         Require gl_CLOCK_TIME.
68242         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
68243
68244 2004-03-30  Paul Eggert  <eggert@twinsun.com>
68245
68246         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
68247         not bool, to be more consistent with Unix conventions.
68248         Suggested by Bruno Haible.
68249
68250         Merge from coreutils.
68251
68252         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
68253         * lib/umaxtostr.c: New files.
68254
68255         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
68256         the usual <time.h> dance.
68257         (get_date): Change signature to support fractional time stamps.
68258         All callers changed.
68259         * lib/getdate.y: Include "getdate.h" first, as we can now
68260         assume C89 and don't need to worry about 'const'.
68261         Similarly, include "unlocked-io.h" near start, not in middle.
68262         Include <limits.h>.
68263         (textint.value): Use long int rather than int.
68264         (textint.digits): Use size_t rather than int.
68265         (BILLION, LOG10_BILLION): New constants.
68266         (parser_control): New member rel_ns.  Members day_ordinal,
68267         time_zone, month, day, hour, minutes, rel_year, rel_month,
68268         rel_day, rel_hour, rel_minutes, rel_seconds
68269         are now long int, not int.  Member seconds is now struct timespec,
68270         not int.  New member timespec_seen.  Members dates_seen, days_seen,
68271         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
68272         not int.
68273         (%union.intval): Now long int, not int.
68274         New member timespec.
68275         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
68276         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
68277         (spec): Now is a timespec or an item list.
68278         (timespec, items): New nonterminals.
68279         (time, rel, relunit, number, get_date):
68280         Add support for fractional seconds.
68281         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
68282         (gmtime, localtime, mktime): Remove decls; not needed with C89.
68283         (to_hour): First arg is now long int, not int.
68284         (to_year): Returns long int, not int.
68285         Don't treat year -70 like 70.
68286         (tm_diff): Returns long int, not int.
68287         (lookup_word): Use bool instead of int when appropriate.
68288         (yylex): Use size_t for count, not int.
68289         Detect overflow when parsing large integer constants.
68290         Add support for fractions.
68291         (get_date): Make pointers 'const' if possible.
68292         Use more-portable code to detect integer overflow.
68293         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
68294         Don't use ctime; it's not reliable if the year has >4 digits.
68295
68296         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
68297         This is for compatibility with BSD.
68298
68299         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
68300         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
68301         From coreutils' system.h.
68302
68303         * lib/userspec.c: Don't include "posixver.h".
68304         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
68305         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
68306         compatible extension.  Simplify code by removing a boolean int
68307         that was always nonzero if a string was nonnull.
68308
68309 2004-03-30  Jim Meyering  <jim@meyering.net>
68310
68311         Merge from coreutils.
68312
68313         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
68314         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
68315         on some systems one must include <grp.h> before it.
68316         Reported by Christian Krackowizer.
68317
68318 2004-03-30  Jim Meyering  <jim@meyering.net>
68319
68320         Merge from coreutils.
68321
68322         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
68323
68324         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
68325         an empty input stream.
68326
68327         * lib/readtokens.c: Include <stdbool.h>.
68328         (readtoken): Use `size_t' rather than int/long.
68329         All callers adjusted.
68330         Use `bool' rather than `int' where appropriate.
68331         Use memset rather than an explicit loop.
68332         Use x2nrealloc rather than xrealloc.
68333         Allow the use of `\0' as a delimiter.
68334         (readtokens): Likewise.
68335         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
68336
68337 2004-03-30  Jim Meyering  <jim@meyering.net>
68338
68339         * m4/realloc.m4: Remove file, since now it does no more than
68340         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
68341         the `configure.ac' section of module/realloc.
68342         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
68343
68344 2004-03-30  Bruno Haible  <bruno@clisp.org>
68345
68346         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
68347         nonnull.
68348
68349 2004-03-29  Paul Eggert  <eggert@twinsun.com>
68350
68351         Merge changes to getloadavg.c from coreutils and Emacs.
68352
68353         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
68354         Define to an expression, not to the empty string.
68355         Include cloexec.h and xalloc.h.
68356         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
68357         Use set_cloexec_flag rather than rolling our own.
68358         * lib/cloexec.c, lib/cloexec.h: New files.
68359
68360 2004-03-29  Paul Eggert  <eggert@twinsun.com>
68361
68362         * m4/cloexec.m4: New file.
68363
68364 2004-03-18  Paul Eggert  <eggert@twinsun.com>
68365
68366         * lib/getopt.h: Sync with libc CVS.
68367
68368 2004-03-18  Paul Eggert  <eggert@twinsun.com>
68369             Bruno Haible  <bruno@clisp.org>
68370
68371         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
68372         mbswidth.
68373
68374 2004-03-18  Paul Eggert  <eggert@twinsun.com>
68375             Bruno Haible  <bruno@clisp.org>
68376
68377         * lib/mbswidth.h: Include <wchar.h> only if
68378         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
68379         <wchar.h>.
68380         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
68381
68382 2004-03-09  Paul Eggert  <eggert@twinsun.com>
68383
68384         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
68385         Sync with libc CVS.
68386         * lib/getopt_int.h: New file, also synced from libc.
68387
68388 2004-03-09  Paul Eggert  <eggert@twinsun.com>
68389
68390         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
68391         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
68392         Bring back getopt.c, getopt.h, getopt1.c.
68393
68394 2004-03-07  Paul Eggert  <eggert@twinsun.com>
68395
68396         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
68397         All uses changed.  Check for sa_sigaction member; this fixes
68398         a bug first reported by Jason Andrade in
68399         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
68400
68401 2004-03-07  Paul Eggert  <eggert@twinsun.com>
68402
68403         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
68404         '#if' expressions.  Unlike the code it replaces, it does not
68405         depend on (defined _SC_PAGESIZE).  However, it does depend on
68406         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
68407         first reported by Jason Andrade in
68408         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
68409
68410 2004-02-25  Simon Josefsson  <jas@extundo.com>
68411
68412         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
68413
68414 2004-02-25  Simon Josefsson  <jas@extundo.com>
68415
68416         * lib/strdup.h: New file.
68417         * lib/strdup.c: Include it.
68418         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
68419         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
68420
68421 2004-02-23  Karl Berry  <karl@gnu.org>
68422
68423         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
68424         (from fencepost.gnu.org:/gd/gnuorg).
68425
68426 2004-02-23  Karl Berry  <karl@gnu.org>
68427
68428         * config/srclistvars.sh (GNUORG) [karl]: redefine.
68429         * config/srclist.txt: add maintain/standards documents.
68430
68431 2004-02-18  Bruno Haible  <bruno@clisp.org>
68432
68433         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
68434         Reported by Derek Robert Price <derek@ximbiot.com>.
68435
68436 2004-02-16  Karl Berry  <karl@gnu.org>
68437
68438         * config/mkinstalldirs, install-sh: update from automake.
68439
68440 2004-02-06  Karl Berry  <karl@gnu.org>
68441
68442         * m4/po.m4: update from gettext 0.14.1.
68443
68444 2004-02-06  Karl Berry  <karl@gnu.org>
68445
68446         * lib/config.charset: update from gettext 0.14.1.
68447
68448 2004-02-05  Paul Eggert  <eggert@twinsun.com>
68449
68450         Add comments and code, prompted by suggestions from Bruno Haible
68451         for sh-quote.
68452         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
68453         describing the enum quoting_style values.
68454         * lib/quotearg.c (quotearg_alloc): New function.
68455         (quotearg_buffer_restyled): Treat lone { and } as special.
68456         Treat = as special.  Work around bug with older shells
68457         that "see" a '\' that is really the 2nd byte of a multibyte char.
68458         Quote empty string with shell_quoting_style.
68459
68460 2004-02-03  Bruno Haible  <bruno@clisp.org>
68461
68462         * m4/pipe.m4: New file, from GNU gettext.
68463
68464 2004-02-03  Bruno Haible  <bruno@clisp.org>
68465
68466         * lib/pipe.h: New file, from GNU gettext.
68467         * lib/pipe.c: New file, from GNU gettext.
68468
68469 2004-01-27  Bruno Haible  <bruno@clisp.org>
68470
68471         * m4/execute.m4: New file, from GNU gettext.
68472
68473 2004-01-27  Bruno Haible  <bruno@clisp.org>
68474
68475         * lib/execute.h: New file, from GNU gettext.
68476         * lib/execute.c: New file, from GNU gettext.
68477         * lib/w32spawn.h: New file, from GNU gettext.
68478
68479 2004-01-24  Paul Eggert  <eggert@twinsun.com>
68480
68481         Merge from diffutils.
68482
68483         * lib/file-type.c (file_type): Add typed memory objects.
68484         * lib/file-type.h (S_TYPEISTMO): New macro.
68485
68486         * lib/c-stack.h (c_stack_action): Remove argv argument.
68487         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
68488         (die): Don't calculate message unless segv_action returns.
68489         (get_stack_location, min_address_from_argv, max_address_from_argv,
68490         volatile stack_base, volatile_stack_size): Remove.
68491         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
68492         that every segmentation violation is a stack overflow.  (Ouch!)
68493         See Debian bug 136249 (still outstanding) for more info about why
68494         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
68495
68496 2004-01-24  Paul Eggert  <eggert@twinsun.com>
68497
68498         Exit-status fix from coreutils.
68499
68500         Use exit_failure consistently in place of EXIT_FAILURE,
68501         so that program exit statuses are consistent on failure.
68502
68503         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
68504         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
68505         * lib/argmatch.h: Comment fix to match the above.
68506         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
68507         Now a macro referring to exit_failure, instead of a separate
68508         variable.  Include "exitfail.h" to get it.
68509         * lib/xstrtol.h: Include "exitfail.h".
68510         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
68511
68512         * lib/long-options.c (parse_long_options): Use prototype
68513         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
68514         for clarity.
68515
68516 2004-01-21  Jim Meyering  <jim@meyering.net>
68517
68518         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
68519         so as not to conflict with a different-sized __mktime_internal
68520         function in GNU libc.
68521         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
68522         Problem building statically-linked `ls' reported by Michael Brunnbauer.
68523
68524 2004-01-20  Karl Berry  <karl@gnu.org>
68525
68526         * config/config.guess: update from config.
68527
68528         * config/srclistvars.sh: GNUWWWLICENSES for karl.
68529
68530 2004-01-20  Bruno Haible  <bruno@clisp.org>
68531
68532         Safer stack allocation.
68533         * lib/setenv.c: Include allocsa.h.
68534         (alloca): Remove fallback definition.
68535         (freea): Remove macro.
68536         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
68537         instead of freea.
68538
68539 2004-01-20  Bruno Haible  <bruno@clisp.org>
68540
68541         * m4/eealloc.m4: New file, from GNU gettext.
68542
68543 2004-01-20  Bruno Haible  <bruno@clisp.org>
68544
68545         * m4/allocsa.m4: New file, from GNU gettext.
68546
68547 2004-01-20  Bruno Haible  <bruno@clisp.org>
68548
68549         * lib/xallocsa.h: New file, from GNU gettext.
68550         * lib/xallocsa.c: New file, from GNU gettext.
68551
68552 2004-01-20  Bruno Haible  <bruno@clisp.org>
68553
68554         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
68555
68556 2004-01-20  Bruno Haible  <bruno@clisp.org>
68557
68558         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
68559         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
68560         specially.
68561
68562 2004-01-20  Bruno Haible  <bruno@clisp.org>
68563
68564         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
68565         patch.
68566
68567 2004-01-20  Bruno Haible  <bruno@clisp.org>
68568
68569         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
68570
68571 2004-01-20  Bruno Haible  <bruno@clisp.org>
68572
68573         * lib/eealloc.h: New file.
68574
68575 2004-01-20  Bruno Haible  <bruno@clisp.org>
68576
68577         * lib/binary-io.h: Avoid warnings on Cygwin.
68578
68579 2004-01-20  Bruno Haible  <bruno@clisp.org>
68580
68581         * lib/allocsa.h: New file, from GNU gettext.
68582         * lib/allocsa.c: New file, from GNU gettext.
68583
68584 2004-01-18  Karl Berry  <karl@gnu.org>
68585
68586         * doc/gpl.texi, doc/lgpl.texi: new files.
68587
68588 2004-01-18  Karl Berry  <karl@gnu.org>
68589
68590         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
68591         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
68592
68593 2004-01-15  Paul Eggert  <eggert@twinsun.com>
68594
68595         Merge from coreutils.
68596
68597         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
68598         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
68599         (gl_DEFAULT_POSIX2_VERSION): Move
68600         the documentation from 'configure' into 'config.hin',
68601         so that 'configure --help' isn't burdened by it and
68602         we don't have to worry about its formatting there.
68603         Reword the documentation so that it's more succinct
68604         and can be run together into a single paragraph.
68605         * m4/same.m4 (gl_SAME): Check for pathconf.
68606
68607 2004-01-15  Paul Eggert  <eggert@twinsun.com>
68608
68609         Merge from coreutils.
68610
68611         * lib/posixver.c: Include posixver.h.
68612
68613         * lib/same.c: Include <stdbool.h>, <limits.h>.
68614         (_POSIX_NAME_MAX): Define if not defined.
68615         (MIN): New macro.
68616         (same_name): If file names are silently truncated, report
68617         that the file names are the same if they are the same after
68618         the silent truncation.
68619
68620         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
68621         conversion function.
68622         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
68623         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
68624         longer needed.
68625
68626 2004-01-15  Jim Meyering  <jim@meyering.net>
68627
68628         Merge from coreutils.
68629
68630         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
68631         if no library is required.
68632         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
68633         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
68634         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
68635         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
68636         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
68637         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
68638         value, $ac_cv_search_crypt, if it's "none required".
68639         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
68640         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
68641         not gl_FUNC_GETLOADAVG.
68642         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
68643         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
68644
68645 2004-01-15  Jim Meyering  <jim@meyering.net>
68646
68647         Merge from coreutils.
68648
68649         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
68650         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
68651         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
68652
68653         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
68654         optional configure-time default.
68655
68656         * lib/version-etc.c (version_etc_copyright): Update copyright date.
68657
68658         * lib/xreadlink.c (xreadlink): Correct outdated comment.
68659
68660 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
68661
68662         Merge from coreutils.
68663
68664         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
68665         value, $ac_cv_search_nanosleep, if it's "none required".
68666
68667 2004-01-14  Paul Eggert  <eggert@twinsun.com>
68668
68669         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
68670         with like-named macro in fnmatch.c.
68671         (EXT): Use an internal constant instead.
68672
68673         Merge fnmatch patches from glibc.
68674         * lib/fnmatch.c (mbsinit): Remove define.
68675         Add libc_hidden_ver (__fnmatch, fnmatch).
68676         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
68677         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
68678
68679 2004-01-14  Karl Berry  <karl@gnu.org>
68680
68681         * config/install-sh: update from automake.
68682
68683 2004-01-13  Karl Berry  <karl@gnu.org>
68684
68685         * config/install-sh: update from automake.
68686
68687 2004-01-09  Karl Berry  <karl@gnu.org>
68688
68689         * config/install-sh: update from automake.
68690
68691 2004-01-05  Karl Berry  <karl@gnu.org>
68692
68693         * config/config.{sub,guess}: update from config.
68694
68695 2003-12-31  Karl Berry  <karl@gnu.org>
68696
68697         * config/depcomp: update from automake.
68698
68699 2003-12-14  Karl Berry  <karl@gnu.org>
68700
68701         * lib/config.charset: update from gettext-runtime.
68702
68703 2003-12-03  Paul Eggert  <eggert@twinsun.com>
68704
68705         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
68706         Bug reported by Alfred M. Szmidt.
68707
68708 2003-12-03  Bruno Haible  <bruno@clisp.org>
68709
68710         * m4/gettext.m4: Upgrade from gettext-0.13.
68711         * m4/po.m4: Upgrade from gettext-0.13.
68712         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
68713         * m4/intmax.m4: New file, from gettext-0.13.
68714         * m4/printf-posix.m4: New file, from gettext-0.13.
68715
68716 2003-11-29  Karl Berry  <karl@gnu.org>
68717
68718         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
68719
68720 2003-11-25  Paul Eggert  <eggert@twinsun.com>
68721             Bruno Haible  <bruno@clisp.org>
68722
68723         * lib/printf-parse.h: Don't include sys/types.h.
68724         (ARG_NONE): New macro.
68725         (char_directive): Change type of *arg_index fields to size_t.
68726         * lib/printf-parse.c: Don't include sys/types.h.
68727         (SSIZE_MAX): Remove macro.
68728         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
68729         Remove unnecessary overflow check.
68730         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
68731         fields.
68732
68733 2003-11-25  Bruno Haible  <bruno@clisp.org>
68734
68735         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
68736
68737 2003-11-25  Bruno Haible  <bruno@clisp.org>
68738
68739         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
68740         gt_TYPE_SSIZE_T.
68741
68742 2003-11-24  Paul Eggert  <eggert@twinsun.com>
68743
68744         * modules/alloca: Remove dependency on xalloc.
68745
68746 2003-11-24  Paul Eggert  <eggert@twinsun.com>
68747
68748         * lib/alloca.c: Remove dependency on xalloc module.
68749         (xalloc_die): Remove.
68750         (memory_full) [!defined emacs]: New macro.
68751         [!defined emacs]: Don't include xalloc.h.
68752         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
68753         address arithmetic overflows.  Change datatypes a bit to avoid
68754         unnecessary casts.
68755
68756 2003-11-22  Jim Meyering  <jim@meyering.net>
68757
68758         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
68759         s/size/size_t/.
68760
68761 2003-11-21  Karl Berry  <karl@gnu.org>
68762
68763         * config/config.{sub,guess}: update from config.
68764
68765 2003-11-18  Karl Berry  <karl@gnu.org>
68766
68767         * config/config.{sub,guess}: update from config.
68768
68769         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
68770
68771 2003-11-17  Paul Eggert  <eggert@twinsun.com>
68772
68773         * README: Mention that S+T cannot overflow if S is the size of
68774         an existing object and T is sufficiently small.
68775
68776 2003-11-17  Jim Meyering  <jim@meyering.net>
68777
68778         On systems without utime and without a utimes function capable of
68779         dealing with a NULL struct utimbuf* argument, this utime replacement
68780         could -- in unusual circumstances -- leak a file descriptor.
68781         * lib/utime.c: Include <unistd.h> and <errno.h>.
68782         (utime_null): Be sure to close `fd' and to preserve errno.
68783         Reported by Geoff Collyer via Arnold Robbins.
68784
68785 2003-11-17  Bruno Haible  <bruno@clisp.org>
68786
68787         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
68788         (Depends-on): Add xsize.
68789
68790 2003-11-17  Bruno Haible  <bruno@clisp.org>
68791
68792         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
68793
68794 2003-11-17  Bruno Haible  <bruno@clisp.org>
68795
68796         * lib/vasnprintf.c (alloca): Remove fallback definition.
68797         (freea): Remove definition.
68798         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
68799         Reported by Paul Eggert.
68800
68801 2003-11-16  Paul Eggert  <eggert@twinsun.com>
68802             Bruno Haible  <bruno@clisp.org>
68803
68804         Protect against address arithmetic overflow.
68805         * lib/printf-args.h: Include stddef.h.
68806         (arguments): Change type of field 'count' to size_t.
68807         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
68808         'unsigned int' where appropriate.
68809         * lib/printf-parse.h: Include sys/types.h.
68810         (char_directive): Change type of *arg_index fields to ssize_t.
68811         (char_directives): Change type of fields 'count', max_*_length to
68812         size_t.
68813         * lib/printf-parse.c: Include sys/types.h and xsize.h.
68814         (SSIZE_MAX): Define fallback value.
68815         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
68816         instead of 'int' where appropriate. Check a_allocated, d_allocated
68817         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
68818         * lib/vasnprintf.c: Include xsize.h.
68819         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
68820         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
68821         overflow. Avoid wraparound when converting a width or precision from
68822         decimal to binary.
68823
68824 2003-11-16  Bruno Haible  <bruno@clisp.org>
68825
68826         Update from GNU gettext.
68827         * lib/printf-parse.c: Generalize to it can be compiled for wide
68828         strings.
68829         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
68830         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
68831         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
68832         SNPRINTF): New macros.
68833         Don't include <alloca.h> if the file is used inside libintl.
68834         (local_wcslen): New function, for Solaris 2.5.1.
68835         (VASNPRINTF): Use it instead of wcslen.
68836
68837 2003-11-16  Bruno Haible  <bruno@clisp.org>
68838
68839         * lib/xsize.h (xmax): New function.
68840         (xsum, xsum3, xsum4): Declare as "pure" functions.
68841
68842 2003-11-12  Paul Eggert  <eggert@twinsun.com>
68843
68844         * modules/xalloc (Files): Undo latest change, since xalloc.h
68845         no longer needs SIZE_MAX or PTRDIFF_MAX.
68846
68847 2003-11-12  Paul Eggert  <eggert@twinsun.com>
68848
68849         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
68850         gl_PTRDIFF_MAX.
68851
68852 2003-11-12  Paul Eggert  <eggert@twinsun.com>
68853
68854         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
68855         "return", to pacify some unknown compiler.  Problem reported
68856         by Joerg Schilling.
68857
68858 2003-11-12  Paul Eggert  <eggert@twinsun.com>
68859
68860         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
68861         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
68862         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
68863         heuristic is just as accurate as far as we know, and it removes a
68864         dependency on size_max.m4 and ptrdiff_max.m4.
68865
68866 2003-11-11  Bruno Haible  <bruno@clisp.org>
68867
68868         * modules/xsize (Files): Add m4/size_max.m4.
68869         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
68870
68871 2003-11-11  Bruno Haible  <bruno@clisp.org>
68872
68873         * m4/size_max.m4: New file.
68874         * m4/ptrdiff_max.m4: New file.
68875         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
68876         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
68877         (gl_XALLOC): Invoke it.
68878
68879 2003-11-11  Bruno Haible  <bruno@clisp.org>
68880
68881         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
68882         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
68883         defined.
68884
68885 2003-11-10  Paul Eggert  <eggert@twinsun.com>
68886
68887         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
68888         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
68889         rejected some allocations of exactly SIZE_MAX - 2 bytes.
68890         From Bruno Haible.
68891         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
68892         not (size_t) -1, since it's defined here.
68893
68894 2003-11-09  Karl Berry  <karl@gnu.org>
68895
68896         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
68897
68898 2003-11-06  Paul Eggert  <eggert@twinsun.com>
68899
68900         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
68901         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
68902         Reject sizes of exactly SIZE_MAX bytes.
68903         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
68904         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
68905
68906 2003-11-05  Bruno Haible  <bruno@clisp.org>
68907
68908         * lib/xsize.h: Include limits.h, to avoid a possible collision with
68909         SIZE_MAX defined in <limits.h> on Solaris.
68910
68911 2003-11-04  Jim Meyering  <jim@meyering.net>
68912
68913         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
68914         variable names, rather than @VAR@.
68915         * modules/poll: Likewise.
68916
68917 2003-11-04  Bruno Haible  <bruno@clisp.org>
68918
68919         * modules/xsize: New file.
68920         * modules/linebreak: Depend on xsize.
68921         * MODULES.html.sh (func_all_modules): Add xsize.
68922
68923 2003-11-04  Bruno Haible  <bruno@clisp.org>
68924
68925         * m4/xsize.m4: New file.
68926
68927 2003-11-04  Bruno Haible  <bruno@clisp.org>
68928
68929         * lib/xsize.h: New file.
68930         * lib/linebreak.c: Include xsize.h.
68931         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
68932         argument for overflow.
68933         Suggested by Paul Eggert.
68934
68935 2003-11-03  Karl Berry  <karl@gnu.org>
68936
68937         * config/config.{guess,sub}: update from config.
68938
68939 2003-11-03  Jim Meyering  <jim@meyering.net>
68940
68941         * modules/userspec (lib_SOURCES): Add userspec.h.
68942         (Include): Add "userspec.h".
68943         Improve description.
68944
68945 2003-11-03  Jim Meyering  <jim@meyering.net>
68946
68947         * lib/userspec.c: Include "userspec.h".
68948         * lib/userspec.h: New file.
68949
68950 2003-11-03  Bruno Haible  <bruno@clisp.org>
68951
68952         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
68953
68954 2003-11-03  Bruno Haible  <bruno@clisp.org>
68955
68956         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
68957         available, to avoid (extremely rare) race condition.
68958         Suggested by Paul Eggert.
68959
68960 2003-11-02  Karl Berry  <karl@gnu.org>
68961
68962         * config/srclist.txt (vasprintf.c): sync broken, sigh.
68963
68964 2003-10-31  Paul Eggert  <eggert@twinsun.com>
68965
68966         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
68967         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
68968         (read_filesystem_list): Set and use me_type_malloced.
68969         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
68970         whatever the type happens to be), for brevity and consistency.
68971         Check for size calculation overflow on Alphas running OSF/1.
68972
68973 2003-10-31  Jim Meyering  <jim@meyering.net>
68974
68975         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
68976
68977         * lib/linebuffer.c: Include <string.h> for declaration of memset.
68978
68979 2003-10-30  Paul Eggert  <eggert@twinsun.com>
68980             Bruno Haible  <bruno@clisp.org>
68981
68982         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
68983         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
68984
68985 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
68986
68987         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
68988         netbsd*-gnu*.  Suggested by Robert Millan.
68989
68990 2003-10-29  Paul Eggert  <eggert@twinsun.com>
68991
68992         * modules/group-member: Depend on stdbool.
68993
68994 2003-10-29  Paul Eggert  <eggert@twinsun.com>
68995
68996         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
68997
68998 2003-10-29  Paul Eggert  <eggert@twinsun.com>
68999
69000         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
69001         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
69002         after the 'gnu' in these cases.  This fixes some bugs in the
69003         previous change, and is based on suggestions by Robert Millan.
69004
69005 2003-10-29  Paul Eggert  <eggert@twinsun.com>
69006
69007         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
69008         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
69009         no longer needed.
69010         * lib/quotearg.c (quotearg_n_options): Use it.
69011         * lib/group-member.c: Include <stdbool.h>.
69012         (free_group_info): Arg is now const *; don't free arg.
69013         (get_group_info): Now returns bool and accepts struct group_info *,
69014         rather than returning a malloc'ed struct group_info *.
69015         All uses changed.  Check for overflow in internal size calculation.
69016
69017         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
69018         rather than xmalloc/xrealloc.
69019         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
69020         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
69021         conformance bug: the old code used a pointer after freeing the
69022         storage that it addressed.
69023         * lib/hash.c (hash_initialize): Simplify the code by using
69024         xalloc_oversized rather than doing it by hand.
69025         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
69026         the buffer preserved.  Use free and xmalloc instead.
69027         * lib/quotearg.c (quotearg_n_options): Likewise.
69028         Use a simpler test for size overflow.  Don't use xalloc_oversized
69029         because unsigned int might be wider than size_t (!); this suggests
69030         that we should switch from unsigned int to size_t for slot numbers.
69031
69032 2003-10-28  Paul Eggert  <eggert@twinsun.com>
69033
69034         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
69035         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
69036         NetBSD kernels.  Requested by Richard Stallman.
69037
69038 2003-10-27  Paul Eggert  <eggert@twinsun.com>
69039
69040         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
69041         to allocate the returned structure.  Do not allocate a subarray,
69042         as x2nrealloc will do that.
69043         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
69044         instead of xnrealloc.
69045         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
69046
69047 2003-10-27  Bruno Haible  <bruno@clisp.org>
69048
69049         * lib/stdbool_.h: Better support for BeOS.
69050
69051 2003-10-26  Paul Eggert  <eggert@twinsun.com>
69052
69053         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
69054         now uses inline.
69055
69056 2003-10-26  Paul Eggert  <eggert@twinsun.com>
69057
69058         * lib/xalloc.h (xalloc_oversized): New static inline function, for
69059         callers that want to do their own size-overflow checking.  Include
69060         <stdbool.h>, since xalloc_oversized returns bool.
69061         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
69062         to use xalloc_oversized.
69063
69064         Add two functions x2realloc, x2nrealloc, for programs that grow
69065         arrays dynamically by doubling their sizes.
69066         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
69067         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
69068         New functions.
69069
69070         Port to C99 semantics for 'inline' of external functions.
69071         Bug reported by Bruno Haible.
69072         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
69073         with the old contents of xnmalloc.
69074         (xnmalloc, xmalloc): Use it.
69075         (xnrealloc_inline): New static inline function,
69076         with the old contents of xnrealloc.
69077         (xnrealloc, xrealloc): Use it.
69078
69079         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
69080         that.
69081
69082 2003-10-26  Karl Berry  <karl@gnu.org>
69083
69084         * config/srclist.txt (COPYING.DOC): no longer available from
69085         /gd/gnuorg; don't know where the ultimate source is.
69086
69087 2003-10-25  Paul Eggert  <eggert@twinsun.com>
69088
69089         Fix several address-calculation bugs in the hash modules,
69090         plus some minor code cleanup.
69091
69092         * lib/hash.h: Include <stdbool.h>, for bool.
69093         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
69094         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
69095         hash_get_n_entries, hash_get_max_bucket_length,
69096         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
69097         hash_rehash): Use size_t rather than unsigned.
69098         * lib/hash.c (struct hash_table, hash_get_n_buckets,
69099         hash_get_n_buckets_used, hash_get_n_entries,
69100         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
69101         hash_get_entries, hash_do_for_each, hash_string, is_prime,
69102         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
69103         Likewise.
69104         (SIZE_MAX): Define if not defined.
69105         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
69106         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
69107         hash_print):
69108         Use const * when possible.
69109         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
69110         (check_tuning): Fix bug: if tuning parameters were very close to
69111         0 or 1, rounding errors could have caused subscript violations.
69112         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
69113         (hash_initialize): Add 'fail:' label
69114         to free table and return NULL, and use it to simplify code.
69115         Use calloc rather than clearing the storage ourself.
69116         (hash_initialize, hash_rehash): Check for arithmetic overflow in
69117         buffer size calculations.
69118         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
69119         Include <stddef.h>, for size_t.
69120         * lib/hash-pjw.c (hash_pjw): Likewise.
69121         Switch to method described by Bruno Haible.
69122         Include <limits.h>, for CHAR_BIT.
69123         (SIZE_BITS): New macro.
69124
69125 2003-10-23  Paul Eggert  <eggert@twinsun.com>
69126
69127         * m4/getline.m4 (AM_FUNC_GETLINE):
69128         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
69129         hosts.  Problem reported by Derek Robert Price in
69130         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
69131         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
69132         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
69133
69134 2003-10-21  Paul Eggert  <eggert@twinsun.com>
69135
69136         * lib/getndelim2.c (getndelim2): When size calculation overflows,
69137         ceiling the allocation at NMAX bytes rather than silently
69138         discarding input bytes before NMAX is reached.  This makes
69139         a difference only if NMAX exceeds SIZE_MAX / 2.
69140
69141         * lib/obstack.c: Merge from glibc.
69142         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
69143         Add libc_hidden_def (_obstack_newchunk).
69144         (_obstack_free) [! defined _LIBC]: Remove.
69145         [defined _LIBC]: Make a strong alias from obstack_free, rather than
69146         a clone of the function body.
69147         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
69148         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
69149
69150         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
69151         glibc.
69152         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
69153         arg to memcpy.
69154
69155         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
69156         (obstack_ptr_grow_fast, obstack_int_grow_fast):
69157         Don't use lvalue casts, as GCC plans to remove support for them
69158         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
69159         was also present in the non-GCC version, indicating that this
69160         code had always been buggy and had never been widely used.
69161         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
69162         Use the fast variant of each macro, rather than copying the
69163         definiens of the fast variant; that way, we'll be more likely to
69164         catch future bugs in the fast variants.
69165
69166 2003-10-20  Bruno Haible  <bruno@clisp.org>
69167
69168         * modules/wait-process: New file.
69169         * MODULES.html.sh (func_all_modules): Add wait-process.
69170
69171 2003-10-20  Bruno Haible  <bruno@clisp.org>
69172
69173         * m4/wait-process.m4: New file.
69174
69175 2003-10-20  Bruno Haible  <bruno@clisp.org>
69176
69177         * lib/wait-process.h: New file, from GNU gettext.
69178         * lib/wait-process.c: New file, from GNU gettext.
69179
69180 2003-10-19  Jim Meyering  <jim@meyering.net>
69181
69182         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
69183         HPUX 10.20.
69184
69185 2003-10-18  Karl Berry  <karl@gnu.org>
69186
69187         * config/config.guess: update from config.
69188
69189 2003-10-16  Paul Eggert  <eggert@twinsun.com>
69190
69191         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
69192         (getgroups): First arg is int, not size_t.
69193         Don't let 'free' mangle errno.
69194
69195 2003-10-16  Paul Eggert  <eggert@twinsun.com>
69196
69197         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
69198
69199 2003-10-16  Karl Berry  <karl@gnu.org>
69200
69201         * config/config.{guess,sub}: update from config.
69202
69203 2003-10-16  Jim Meyering  <jim@meyering.net>
69204
69205         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
69206         memcpy.
69207
69208 2003-10-15  Paul Eggert  <eggert@twinsun.com>
69209
69210         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
69211         (SIZE_MAX): Remove.
69212         (new_exclude, add_exclude_file): Initial size no longer needs to
69213         be a power of 2.
69214         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
69215         our own address arithmetic overflow checking.
69216
69217         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
69218         (fnmatch): Do not alloca more than 2000 wide characters;
69219         instead, use malloc for large buffers.
69220         Check for address arithmetic overflow, and return -1
69221         with errno set to ENOMEM in that case.
69222         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
69223         (NEW_PATTERN): Do not alloca more than 8000 bytes;
69224         instead, return -1.  Check for address arithmetic overflow.
69225
69226 2003-10-14  Paul Eggert  <eggert@twinsun.com>
69227
69228         Handle invalid suffixes and overflow independently, so that
69229         callers can treat them independently as needed.  Fix some bugs in
69230         suffix handling, e.g., "100k@" was not diagnosed as an invalid
69231         suffix for a human-readable blocksize.  The major caller-visible
69232         change is the addition of a new
69233         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
69234         that both overflow and suffix chars were found.
69235
69236         * lib/human.c (humblock): Don't check separately for invalid suffix
69237         char; that is xstrtoumax's job (now that its bug is fixed).
69238         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
69239         INTMAX_MAX]: New macros.
69240         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
69241         TYPE_MAXIMUM): New macros.
69242         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
69243         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
69244         if overflow occurs, as it's what __strtol does and it's more useful
69245         in practice.
69246         (__xstrtol): If __strtol reports some error other than ERANGE,
69247         reflect it to the caller as LONGINT_INVALID.  If it reports
69248         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
69249         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
69250         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
69251         value.
69252         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
69253         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
69254         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
69255         [defined UINTMAX_MAX]: New macros.
69256
69257 2003-10-14  Bruno Haible  <bruno@clisp.org>
69258
69259         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
69260
69261 2003-10-14  Bruno Haible  <bruno@clisp.org>
69262
69263         * m4/sig_atomic_t: New file, from GNU gettext.
69264         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
69265
69266 2003-10-14  Bruno Haible  <bruno@clisp.org>
69267
69268         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
69269         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
69270         Also use volatile where needed.
69271
69272 2003-10-12  Paul Eggert  <eggert@twinsun.com>
69273
69274         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
69275         Change maintainer from Bruno Haible to 'all'.
69276
69277 2003-10-12  Paul Eggert  <eggert@twinsun.com>
69278
69279         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
69280
69281 2003-10-12  Paul Eggert  <eggert@twinsun.com>
69282
69283         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
69284         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
69285         and define in terms of the other primitives.
69286         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
69287         (SIZE_MAX): Define if not already defined.
69288         (array_size_overflow): New function.
69289         (xalloc_die): Abort instead of exiting if 'error' returns.
69290         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
69291         (xmalloc, xrealloc): Use them.
69292         (xcalloc): Check for address arithmetic overflow.
69293         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
69294         a bit faster than strcpy.
69295
69296 2003-10-10  Simon Josefsson  <jas@extundo.com>
69297
69298         * modules/argp (Depends-on): Add restrict and strcase.
69299
69300 2003-10-10  Simon Josefsson  <jas@extundo.com>
69301
69302         * m4/argp.m4: Add AC_C_INLINE.
69303
69304 2003-10-08  Paul Eggert  <eggert@twinsun.com>
69305
69306         Merge getpass from libc, plus a few fixes.
69307
69308         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
69309         Include <stdbool.h>.
69310         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
69311         __fsetlocking to empty.
69312         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
69313         do include <bits/libc-lock.h>.
69314         Do not include <fcntl.h>; not needed.
69315         [_LIBC]: Include <wchar.h>.
69316         (NOTCANCEL_MODE): New macro.
69317         (flockfile, funlockfile) [_LIBC]: New macros.
69318         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
69319         [!_LIBC]: New macros.
69320         (call_fclose): New function.
69321         (getpass): Use it.  Save tty stream separately; this simplifies the
69322         code and makes it more reliable if stdin happens to equal stdout.
69323         Invoke __fsetlocking on tty.
69324         Handle thread cancellation if needed.
69325         Namespace cleanup (use __tcgetattr, __getline).
69326         Use bool for Booleans.
69327         [USE_IN_LIBIO]: Handle wide streams.
69328         [!_LIBC]: Unconditionally do the fseek, since we don't know what
69329         stream might go where.
69330
69331         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
69332         doesn't have to include <stdio.h> before us.
69333         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
69334         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
69335         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
69336         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
69337         if not declared, so that we can use getpass.c code from libc without
69338         rewriting it.
69339         (flockfile, ftrylockfile, funlockfile): New macros.
69340
69341 2003-10-08  Paul Eggert  <eggert@twinsun.com>
69342
69343         * modules/getpass: Depend on stdbool.
69344
69345 2003-10-08  Paul Eggert  <eggert@twinsun.com>
69346
69347         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
69348
69349 2003-10-07  Karl Berry  <karl@gnu.org>
69350
69351         * config/config.{guess,sub}: update from config.
69352
69353 2003-10-06  Jim Meyering  <jim@meyering.net>
69354             Bruno Haible  <bruno@clisp.org>
69355
69356         This lets translators provide better translations for the
69357         "Written by ..." part of --version output.
69358         * lib/version-etc.h: Include stdarg.h.
69359         (version_etc_copyright): Declare as readonly.
69360         (version_etc): Make this function variadic with a NULL-terminated list
69361         of author name strings.
69362         (version_etc_va): New declaration.
69363         * lib/version-etc.c: Include stdarg.h, stdlib.h.
69364         (version_etc_copyright): Declare as readonly.
69365         (version_etc_va): New function. Provide a different translatable string
69366         for each possible number of authors < 10. Abbreviate when there are 10
69367         authors or more.
69368         (version_etc): Make this function variadic. Call version_etc_va.
69369         Suggestion from Gary V. Vaughan.
69370
69371         * lib/long-options.h (parse_long_options): Change prototype: the
69372         authors string is moved to the end and becomes variadic.
69373         * lib/long-options.c: Include stdarg.h.
69374         (parse_long_options): Make this function variadic, too.
69375         Call version_etc_va, not version_etc.
69376
69377 2003-10-06  Bruno Haible  <bruno@clisp.org>
69378
69379         * modules/version-etc-2: Remove file.
69380         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
69381
69382 2003-10-06  Bruno Haible  <bruno@clisp.org>
69383
69384         * modules/fatal-signal: New file.
69385         * MODULES.html.sh (func_all_modules): Add fatal-signal.
69386
69387 2003-10-06  Bruno Haible  <bruno@clisp.org>
69388
69389         * m4/fatal-signal.m4: New file.
69390         * m4/signalblocking.m4: New file, from GNU gettext.
69391
69392 2003-10-06  Bruno Haible  <bruno@clisp.org>
69393
69394         * lib/version-etc-2.h: Remove file.
69395         * lib/version-etc-2.c: Remove file.
69396
69397 2003-10-06  Bruno Haible  <bruno@clisp.org>
69398
69399         * lib/fatal-signal.h: New file, from GNU gettext.
69400         * lib/fatal-signal.c: New file, from GNU gettext.
69401
69402 2003-10-05  Paul Eggert  <eggert@twinsun.com>
69403
69404         * README: Rework advice for preventing empty .o files.
69405         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
69406         not <sys/types.h>.
69407
69408 2003-10-04  Karl Berry  <karl@gnu.org>
69409
69410         * lib/argp*: update from libc.
69411
69412 2003-10-04  Karl Berry  <karl@gnu.org>
69413
69414         * config/config.{guess,sub}: update from config.
69415
69416 2003-10-02  Bruno Haible  <bruno@clisp.org>
69417
69418         * modules/lchown (Include): Add lchown.h.
69419         * modules/time_r (Include): Use "..." syntax.
69420         * modules/xgetdomainname (Include): Add xgetdomainname.h.
69421
69422 2003-10-01  Simon Josefsson  <jas@extundo.com>
69423
69424         * MODULES.html.sh (func_all_modules): Move gethostname from section
69425         'based on' to section 'lacking' POSIX:2001.
69426
69427 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
69428
69429         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
69430         to output mode on the same stream.
69431
69432 2003-09-29  Paul Eggert  <eggert@twinsun.com>
69433
69434         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
69435         Fix arg typo in previous patch.
69436
69437 2003-09-28  Jim Meyering  <jim@meyering.net>
69438
69439         * lib/error.c: Correct cpp indentation.
69440
69441 2003-09-27  Paul Eggert  <eggert@twinsun.com>
69442
69443         * modules/free: New file.
69444
69445 2003-09-27  Paul Eggert  <eggert@twinsun.com>
69446
69447         * m4/free.m4: New file.
69448
69449 2003-09-27  Paul Eggert  <eggert@twinsun.com>
69450
69451         * lib/minmax.h (MIN, MAX)
69452         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
69453         Omit the special code that used __typeof__, since we worry that
69454         it could be more trouble than it's worth.  See:
69455         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
69456         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
69457
69458         * lib/free.c: New file.
69459
69460 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
69461
69462         Trivial fixes to Makefile.am parts of module listings.
69463         * modules/strstr: Append strstr.h to lib_SOURCES.
69464         * modules/strcase: Likewise, for strcase.h.
69465
69466 2003-09-27  Karl Berry  <karl@gnu.org>
69467
69468         * config/mkinstalldirs: update from automake.
69469
69470 2003-09-26  Paul Eggert  <eggert@twinsun.com>
69471
69472         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
69473         (error_tail): Do not loop, reallocating temporary buffer, since
69474         the output cannot contain more wide characters than the input
69475         contains bytes, the size must be big enough already.  This avoids
69476         one potential size overflow calculation.  Check for size overflow
69477         when calculating temporary buffer size.  Free temporary buffer
69478         when done, if it was allocated with malloc; this plugs a memory
69479         leak.  Remove casts from void * to pointers, that are no longer
69480         needed now that we're assuming C89 or better.
69481
69482         Merge error changes from glibc.
69483
69484         * lib/error.c, error.h: Update copyright notice header to match glibc.
69485         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
69486         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
69487         Disable cancellation while printing error.
69488         * lib/error.h: Prepend __ to parameter names.
69489
69490 2003-09-26  Jim Meyering  <jim@meyering.net>
69491
69492         * lib/error.c (error_tail): Move some declarations
69493         into inner scope where the local variables are used.
69494
69495 2003-09-26  Bruno Haible  <bruno@clisp.org>
69496
69497         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
69498         stpncpy().
69499         Don't define stpncpy through config.h; it's now done through stpncpy.h.
69500
69501 2003-09-26  Bruno Haible  <bruno@clisp.org>
69502
69503         * lib/stpncpy.h (gnu_stpncpy): New declaration.
69504         (stpncpy): Define as alias for gnu_stpncpy.
69505         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
69506
69507 2003-09-25  Simon Josefsson  <jas@extundo.com>
69508
69509         * lib/xgetdomainname.h: New file.
69510         * lib/xgetdomainname.c: New file.
69511
69512 2003-09-25  Simon Josefsson  <jas@extundo.com>
69513             Bruno Haible  <bruno@clisp.org>
69514
69515         * modules/getdomainname: New file.
69516         * modules/xgetdomainname: New file.
69517         * MODULES.html.sh (func_all_modules): Add getdomainname,
69518         xgetdomainname.
69519
69520 2003-09-25  Simon Josefsson  <jas@extundo.com>
69521             Bruno Haible  <bruno@clisp.org>
69522
69523         * m4/getdomainname.m4: New file.
69524
69525 2003-09-25  Simon Josefsson  <jas@extundo.com>
69526             Bruno Haible  <bruno@clisp.org>
69527
69528         * lib/getdomainname.h: New file.
69529         * lib/getdomainname.c: New file.
69530
69531 2003-09-25  Karl Berry  <karl@gnu.org>
69532
69533         * lib/argp-fmtstream.c, argp-help.c: update from libc.
69534
69535 2003-09-25  Karl Berry  <karl@gnu.org>
69536
69537         * config/install-sh: update from automake.
69538
69539 2003-09-25  Bruno Haible  <bruno@clisp.org>
69540
69541         * modules/version-etc-2: New file, from modules/version-etc with
69542         modifications.
69543         * MODULES.html.sh (func_all_modules): Add version-etc-2.
69544
69545 2003-09-25  Bruno Haible  <bruno@clisp.org>
69546
69547         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
69548         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
69549
69550 2003-09-24  Simon Josefsson  <jas@extundo.com>
69551
69552         * modules/xgethostname: Add xgethostname.h.
69553
69554 2003-09-24  Paul Eggert  <eggert@twinsun.com>
69555
69556         * lib/linebuffer.c (freebuffer): Don't free the argument, just
69557         the buffer associated with the argument.  Bug reported by
69558         Simon Josefsson.
69559
69560 2003-09-24  Paul Eggert  <eggert@twinsun.com>
69561
69562         * README: Document assumptions that 'int' is at least 32 bits
69563         wide, that integer arithmetic is 2's complement without overflow,
69564         that there are no holes in integer values, that adding sizes of
69565         two nonoverlapping objects can't overflow, and that all-bits-zero
69566         yields scalar zero.  Fix spelling and capitalization typos.
69567
69568 2003-09-19  Karl Berry  <karl@gnu.org>
69569
69570         * lib/argp.h: update from libc.
69571
69572 2003-09-17  Paul Eggert  <eggert@twinsun.com>
69573
69574         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
69575         to avoid spurious warnings like "AC_RUN_IFELSE was called before
69576         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
69577
69578 2003-09-17  Paul Eggert  <eggert@twinsun.com>
69579
69580         * gnulib-tool: Use "test -h", not "test -L", for portability
69581         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
69582         (tags_regexp): Remove, since \| doesn't conform to POSIX.
69583         (sed_extract_prog): Issue s commands one-by-one, rather than
69584         using \| in one s command.
69585
69586 2003-09-16  Paul Eggert  <eggert@twinsun.com>
69587
69588         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
69589         input error, instead of returning NULL the next time we are called
69590         (and therefore losing track of errno).
69591
69592 2003-09-16  Bruno Haible  <bruno@clisp.org>
69593
69594         * gnulib-tool (func_create_testdir): Warn about duplicated
69595         dependencies.
69596
69597 2003-09-15  Paul Eggert  <eggert@twinsun.com>
69598
69599         * modules/argmatch, modules/fatal, modules/obstack,
69600         modules/xalloc, modules/xgethostname: Sort dependencies by
69601         importance, not alphabetically.
69602
69603 2003-09-15  Paul Eggert  <eggert@twinsun.com>
69604
69605         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
69606         fails, so that the caller gets the proper errno.
69607
69608         * lib/readutmp.c (read_utmp): Likewise.
69609         Check for fstat error.  Close stream and free storage
69610         when failing.
69611
69612 2003-09-14  Karl Berry  <karl@gnu.org>
69613
69614         * config/srclist.txt (strdup.c): disable for c89 changes.
69615
69616 2003-09-14  Jim Meyering  <jim@meyering.net>
69617
69618         * lib/getloadavg.c: Correct cpp indentation.
69619         * lib/strdup.c: Likewise.
69620         * lib/vasnprintf.c: Likewise.
69621
69622 2003-09-14  Bruno Haible  <bruno@clisp.org>
69623
69624         * modules/fwriteerror: New file.
69625         * MODULES.html.sh (func_all_modules): Add fwriteerror.
69626
69627 2003-09-14  Bruno Haible  <bruno@clisp.org>
69628
69629         * lib/fwriteerror.h: New file.
69630         * lib/fwriteerror.c: New file.
69631
69632 2003-09-12  Paul Eggert  <eggert@twinsun.com>
69633
69634         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
69635         modules/xgethostname, modules/xalloc: Depend on exit.
69636
69637 2003-09-12  Paul Eggert  <eggert@twinsun.com>
69638
69639         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
69640
69641         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
69642         and AC_MINIX, too, so that their extensions are available.
69643
69644         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
69645         This macro has been superseded by gl_BACKUPFILE.
69646
69647         More patches to assume C89 or better.
69648
69649         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
69650
69651         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
69652         unconditionally.
69653         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
69654         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
69655         Include <string.h>, <stdlib.h> unconditionally.
69656         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
69657         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
69658         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
69659         headers or for string.h.
69660         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
69661         or strtoul.
69662
69663         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
69664         headers.
69665         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
69666         * m4/userspec.m4 (gl_USERSPEC): Likewise.
69667         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
69668         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
69669         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
69670         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
69671         memcpy, memset.
69672         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
69673         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
69674         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
69675         strtol.
69676         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
69677         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
69678         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
69679         strtoul.
69680
69681 2003-09-12  Paul Eggert  <eggert@twinsun.com>
69682
69683         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
69684         * lib/obstack.c [!defined _LIBC]: Likewise.
69685         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
69686         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
69687         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
69688
69689         More changes to assume C89 or better.
69690
69691         * lib/error.c (error_tail): Assume vprintf.
69692
69693         * lib/argmatch.c (getenv): Remove decl.
69694         * lib/progreloc.c (get_full_program_name): Define via prototype.
69695         * lib/setenv.c (clearenv): Likewise.
69696         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
69697         needed.
69698         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
69699         (malloc, memcpy): Remove decls.
69700         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
69701         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
69702         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
69703         (memcpy): Remove macro.
69704         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
69705         (__P): Remove.  All uses removed.
69706         (PTR): Remove.  All uses changed to void *.
69707         (CHAR_BIT, NULL): Remove.
69708         (spaces, zeros, memset_space, memset_zero)
69709         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
69710         Remove.
69711         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
69712         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
69713         Define with prototype.
69714         Remove now-unnecessary prototype decl.
69715         (extra_args_spec): Assume ANSI C.  All uses changed.
69716         (extra_args_spec_iso): Remove.
69717         (my_strftime, emacs_strftimeu): Define via prototype.
69718         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
69719         unconditionally.
69720         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
69721         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
69722         (strtoul, strtol): Remove decls.
69723         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
69724         LONG_MAX): Remove.
69725         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
69726         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
69727         (LOCALE_PARAM_PROTO): New macro.
69728         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
69729         (INTERNAL (strtol), strtol): Define with a prototype.
69730         (PARAMS): Remove.  All uses removed.
69731         * lib/tempname.c: Include <string.h> unconditionally.
69732         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
69733         * lib/xgethostname.c (main): Define with a prototype.
69734         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
69735         Include <stdlib.h> unconditionally.
69736         (calloc, malloc, realloc, free): Remove decls.
69737         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
69738         Include <stdlib.h> unconditionally.  Sort include file names.
69739         (strtod): Remove.
69740         (xstrtod): Define with a prototype.
69741         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
69742         (strtol, strtoul): Remove decls.
69743
69744 2003-09-11  Paul Eggert  <eggert@twinsun.com>
69745
69746         More patches to assume C89 or better.
69747         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
69748         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
69749         string.h, memchr, STDC_HEADERS.
69750
69751 2003-09-11  Paul Eggert  <eggert@twinsun.com>
69752
69753         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
69754         Include <stdlib.h>, <string.h> unconditionally.
69755         Remove now-unnecessary cast to char *.
69756         * lib/strnlen.c: Include <string.h> unconditionally.
69757         * lib/yesno.c (yesno): Define with a prototype.
69758
69759 2003-09-11  Bruno Haible  <bruno@clisp.org>
69760
69761         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
69762
69763 2003-09-10  Jim Meyering  <jim@meyering.net>
69764
69765         * lib/error.c: Correct indentation of cpp directives.
69766
69767 2003-09-10  Bruno Haible  <bruno@clisp.org>
69768
69769         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
69770         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
69771         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
69772         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
69773         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
69774         <stdlib.h> and <string.h> checks.
69775         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
69776         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
69777
69778 2003-09-10  Bruno Haible  <bruno@clisp.org>
69779
69780         * lib/strcspn.c: Include <string.h> unconditionally.
69781         * lib/strpbrk.c: Include <string.h> unconditionally.
69782         * lib/strstr.c: Include <string.h> unconditionally.
69783         * lib/unicodeio.c: Include <string.h> unconditionally.
69784         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
69785         * lib/unsetenv.c: Likewise.
69786         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
69787         * lib/yesno.c: Include <stdlib.h> unconditionally.
69788         (rpmatch): Add prototype.
69789
69790 2003-09-09  Paul Eggert  <eggert@twinsun.com>
69791
69792         More patches to assume C89 or better.
69793         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
69794         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
69795         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
69796         or for string.h.
69797         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
69798         stdlib.h.
69799         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
69800         C headers.
69801         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
69802         string.h.
69803         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
69804         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
69805         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
69806         or for string.h.
69807         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
69808         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
69809         C headers.
69810         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
69811         memcpy.
69812         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
69813         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
69814         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
69815         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
69816         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
69817         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
69818         string.h, free.
69819         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
69820         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
69821         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
69822         C headers, or for string.h.
69823         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
69824         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
69825         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
69826         headers, memory.h, stdlib.h, string.h, strings.h.
69827         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
69828         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
69829         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
69830         strchr.
69831         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
69832         headers, memory.h, string.h.
69833         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
69834         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
69835         free.
69836         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
69837         headers.
69838         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
69839         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
69840         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
69841         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
69842         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
69843
69844 2003-09-09  Paul Eggert  <eggert@twinsun.com>
69845
69846         More K&R removal.
69847
69848         * lib/acosl.c (main): Use a prototype.
69849         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
69850         tanl.c: Likewise.
69851
69852         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
69853
69854         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
69855         (getopt, etopt_long, getopt_long_only, _getopt_internal)
69856         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
69857         with a prototype.
69858         * lib/getopt.c (const): Remove macro.
69859         Include <string.h> unconditionally.
69860         (my_index): Remove; all uses changed to strchr.
69861         (strlen): Remove decl.
69862         (exchange): Remove forward decl; no longer needed.
69863         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
69864         Define with prototype.
69865         * lib/getopt1.c (const): Remove macro.
69866         (getopt_long, getopt_long_only, main): Define with prototype.
69867
69868         * lib/getugroups.c: Include <string.h> unconditionally.
69869
69870         * lib/getusershell.c: Include <stdlib.h> unconditionally.
69871         (getusershell, setusershell, endusershell, readname, main):
69872         Define with prototypes.
69873
69874         * lib/group-member.c: Include group-member.h first.
69875         Include <stdlib.h> unconditionally.
69876
69877         * lib/hard-locale.c: Include hard-locale.h first.
69878         Include <stdlib.h>, <string.h> unconditionally.
69879
69880         * lib/hash.c (free, malloc): Remove decls.
69881         Include <stdlib.h> unconditionally.
69882
69883         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
69884         (getenv): Do not declare.
69885
69886         * lib/idcache.c: Include <string.h> unconditionally.
69887
69888         * lib/long-options.c: Include long-options.h first, to test interface.
69889         Include <stdlib.h> unconditionally.
69890
69891         * lib/makepath.c: Include makepath.h first, to test interface.
69892         Include <stdlib.h> and <string.h> unconditionally.
69893
69894         * lib/linebuffer.c: Include <stdlib.h>.
69895         (free): Remove decl.
69896
69897         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
69898         stddef.h. rpl_malloc returns void *, not char *.
69899         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
69900         prototype.
69901
69902         * lib/md5.h: Include <limits.h> unconditionally.
69903         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
69904         (__P): Remove; all uses removed.
69905         * lib/md5.c: Include "md5.h" first.
69906         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
69907         md5_buffer, md5_process_bytes, md5_process_block):
69908         Define with prototypes.
69909         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
69910         * lib/sha.c: Include "sha.h" first.
69911         Include <stdlib.h>, <string.h> unconditionally.
69912
69913         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
69914         * lib/memcmp.c (__ptr_t): Likewise.
69915         * lib/memrchr.c (__ptr_t): Likewise.
69916         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
69917         Include <string.h> unconditionally.
69918         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
69919         * lib/memchr.c: Include <stdlib.h> unconditionally.
69920         * lib/memchr.c (LONG_MAX): Remove.
69921         * lib/memrchr.c (LONG_MAX): Likewise.
69922         * lib/memchr.c (__memchr): Define via a prototype.
69923         * lib/memrchr.c (__memrchr): Likewise.
69924         * lib/memcmp.c (__P): Remove, and remove all uses.
69925         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
69926         Remove forward decls; no longer needed.
69927         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
69928         Use types required by C89 in prototype.
69929
69930         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
69931         * lib/savedir.c: Likewise.
69932         * lib/mkdir.c (free): Remove decl.
69933         * lib/rmdir.c (rmdir): Define with a prototype.
69934         * lib/savedir.c: Include savedir.h first, to test interface.
69935
69936         * lib/mktime.c (STDC_HEADERS): Remove.
69937         Include <stdlib.h>, <string.h> unconditionally.
69938
69939         * lib/modechange.c: Include <stdlib.h> unconditionally.
69940         (malloc): Remove decl.
69941
69942         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
69943         (free): Remove decl.
69944
69945         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
69946         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
69947         (This type really should be intptr_t, but that's a C99ism.)
69948         (_obstack_memcpy): Remove: all uses changed to memcpy.
69949         Include <string.h> unconditionally.
69950         (struct obstack): Assume __STDC__ for types of members
69951         chunkfun, freefun, extra_arg.
69952         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
69953         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
69954         obstack_begin, obstack_specify_allocation,
69955         obstack_specify_allocation_with_arg, obstack_chunkfun,
69956         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
69957         Remove unprototyped decls and the macros that use them.
69958         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
69959         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
69960         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
69961         (defined __STDC__ && __STDC__)]:
69962         Remove nonprototyped code.
69963         Include <stdlib.h> unconditionally.
69964         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
69965         _obstack_allocated_p, _obstack_free, obstack_free,
69966         _obstack_memory_used, print_and_abort):
69967         Define using prototypes.
69968         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
69969         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
69970         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
69971         obstack_next_free, obstack_object_size, obstack_room) [0]:
69972         Remove unused, unprototyped code.
69973
69974         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
69975
69976         * lib/physmem.c (physmem_total, physmem_available, main): Define
69977         with prototypes.
69978
69979         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
69980         (main): Define with a prototype.
69981
69982         * lib/posixver.c (getenv): Remove decl.
69983
69984         * lib/putenv.c (malloc): Returns void *, not char *.
69985         Include <string.h> unconditionally.
69986         (strchr, memcpy, NULL): Do not define.
69987
69988         * lib/readtokens.c: Include readtokens.h first, to test interface.
69989         Include <stdlib.h>, <string.h> unconditionally.
69990         (init_tokenbuffer): Define with a prototype.
69991
69992         * lib/regex.c (PARAMS): Remove.  All uses removed.
69993         All uses of _RE_ARGS removed, too.
69994         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
69995         unconditionally.
69996         (bzero): Assume memset exists.
69997         (memcmp, memcpy, NULL): Remove.
69998         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
69999         char, or assignments to local vars of type signed char.
70000         (init_syntax_once, PREFIX(extract_number_and_incr),
70001         PREFIX(print_partial_compiled_pattern),
70002         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
70003         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
70004         PREFIX(regex_grow_registers), PREFIX(regex_compile),
70005         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
70006         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
70007         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
70008         wcs_compile_range, byte_compile_range, truncate_wchar,
70009         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
70010         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
70011         count_mbs_length, wcs_re_match_2_internal,
70012         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
70013         PREFIX(alt_match_null_string_p),
70014         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
70015         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
70016         regfree, PREFIX(extract_number)): Define with prototype.  Remove
70017         now-unnecessary declaration, if any.
70018         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
70019         regcomp, regexec):
70020         Remove now-unnecessary casts among pointer types.
70021         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
70022
70023         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
70024         (free): Remove decl.
70025
70026         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
70027
70028         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
70029         (free): Remove decl.
70030
70031         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
70032         * lib/xgetcwd.c: Likewise.
70033
70034         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
70035         (free): Remove decl.
70036
70037         * lib/strchrnul.c (strchrnul): Define with a prototype.
70038         Fix bug: c_in was not converted to char before searching.
70039
70040         The following changes are not K&R related:
70041
70042         * lib/group-member.h: Include <sys/types.h>, so that this file is
70043         self-contained.
70044         * lib/makepath.h: Likewise.
70045
70046         * lib/getusershell.c (readname, default_index, line_size, readname):
70047         Use size_t, not int, for sizes.
70048         (readname): If the size overflows, report an error instead of
70049         looping forever.
70050
70051 2003-09-09  Paul Eggert  <eggert@twinsun.com>
70052
70053         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
70054         libc.
70055
70056 2003-09-09  Paul Eggert  <eggert@twinsun.com>
70057
70058         * README: New section: portability guidelines.
70059
70060 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
70061
70062         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
70063         C89 spec.
70064
70065 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
70066
70067         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
70068
70069 2003-09-08  Paul Eggert  <eggert@twinsun.com>
70070
70071         Assume C89 or better; remove K&R cruft.
70072         A few of these changes were first proposed by Derek Robert Price
70073         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
70074
70075         * lib/addext.c: Include <string.h> unconditionally.
70076         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
70077         Don't declare getenv or malloc.
70078
70079         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
70080         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
70081         (NULL): Remove.
70082         (find_stack_direction, alloca): Use prototypes.
70083
70084         * lib/atexit.c (atexit): Define using a prototype.
70085
70086         * lib/basename.c, dirname.c, stripslash.c:
70087         Include <string.h> unconditionally.
70088
70089         * lib/bcopy.c: Include <stddef.h>.
70090         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
70091
70092         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
70093
70094         * lib/error.h (error, error_at_line, error_print_progname)
70095         [! (defined (__STDC__) && __STDC__)]: Remove decls.
70096         * lib/error.c: Include error.h first, to check interface.
70097         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
70098         (VA_START): Remove; all uses changeed to va_start.
70099         (exit, strerror): Remove decls.
70100         (error_print_progname): Prototype uncondionally.
70101         Don't include <errno.h>; no longer needed.
70102         (private_strerror): Remove.
70103         (error_tail): Always define.
70104         (error, error_at_line): Assume C89 or better; always use prototypes.
70105         * lib/fatal.c: Include "fatal.h" first, to test interface.
70106         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
70107         (VA_START): Remove; all uses changed to va_start.
70108         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
70109         this case.
70110         (exit): Remove decl.
70111         (fatal): Prototype unconditionally.  Assume va_start works.
70112         Abort at end, to pacify gcc.
70113
70114         * lib/euidaccess.c (main): Define with a prototype.
70115
70116         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
70117
70118         * lib/exitfail.c: Include <stdlib.h> unconditionally.
70119
70120         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
70121         prototypes.
70122         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
70123         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
70124         (getenv): Remove decl.
70125         (fnmatch): Define using a prototype.
70126         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
70127         (FCT): Define using a prototype.
70128
70129         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
70130
70131         * lib/gethostname.c: Include <stddef.h>.
70132         (gethostname): Define with prototype.  Length is size_t, not int.
70133
70134 2003-09-08  Paul Eggert  <eggert@twinsun.com>
70135
70136         Assume C89 or better; remove K&R cruft.
70137         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
70138         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
70139         string.h, getenv, malloc.
70140         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
70141         headers.
70142         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
70143         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
70144         do not check for strerror.
70145         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
70146         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
70147         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
70148         do not check for doprnt or vprintf.
70149         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
70150         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
70151
70152 2003-09-08  Paul Eggert  <eggert@twinsun.com>
70153
70154         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
70155         getversion.c should have been removed then, but was accidentally
70156         preserved.
70157
70158         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
70159         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
70160
70161 2003-09-08  Karl Berry  <karl@gnu.org>
70162
70163         * config/config.sub, config.guess, srclistvars.sh: update from savannah
70164                 config, forget about prep.
70165
70166         * config/depcomp, missing: update from automake.
70167
70168 2003-09-07  Paul Eggert  <eggert@twinsun.com>
70169
70170         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
70171         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
70172
70173 2003-09-07  Paul Eggert  <eggert@twinsun.com>
70174
70175         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
70176         copy_tm_result.  Bug reported by Simon Josefsson in
70177         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
70178
70179 2003-09-06  Paul Eggert  <eggert@twinsun.com>
70180
70181         * m4/time_r.m4: New file.
70182         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
70183         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
70184         is. Check for timegm declaration.
70185         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
70186         Do not check for gmtime_r.
70187         Replace mktime if __mktime_internal does not exist and if mktime
70188         hasn't been replaced already.
70189
70190 2003-09-06  Paul Eggert  <eggert@twinsun.com>
70191
70192         * lib/time_r.c, lib/time_r.h: New files.
70193
70194         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
70195         __localtime_r.
70196         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
70197         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
70198
70199         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
70200         __gmtime_r.
70201         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
70202         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
70203         Include <time_r.h>.
70204
70205         * lib/timegm.c: Switch to glibc implementation, with the following
70206         changes:
70207         [defined HAVE_CONFIG_H]: Include <config.h>.
70208         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
70209         (__mktime_internal) [!defined _LIBC]: New decl.
70210         (__gmtime_r) [!defined _LIBC]: New macro and function.
70211         (timegm): Use a prototype, since gnulib assumes C89.
70212         Do not bother declaring tmp to be const, as it's not really usefu.
70213         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
70214         (timegm): Declare only if HAVE_DECL_TIMEGM.
70215
70216 2003-09-06  Paul Eggert  <eggert@twinsun.com>
70217
70218         * MODULES.html.sh (func_all_modules): Add time_r.
70219         * modules/time_r: New file.
70220         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
70221         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
70222
70223 2003-09-03  Paul Eggert  <eggert@twinsun.com>
70224
70225         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
70226         Bug reported by Lute Kamstra in
70227         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
70228
70229         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
70230         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
70231         course with correspondingly smaller numbers for tomorrow and
70232         yesterday.  From Tadayoshi Funaba.  Originally installed into
70233         sh-utils on 1999-08-07, but the patch got lost (I guess during the
70234         coreutils merge?).
70235
70236 2003-08-31  Simon Josefsson  <jas@extundo.com>
70237
70238         * modules/timegm: New file.
70239         * MODULES.html.sh (func_all_modules): Add timegm.
70240
70241 2003-08-31  Simon Josefsson  <jas@extundo.com>
70242
70243         * m4/timegm.m4: New file.
70244
70245 2003-08-31  Simon Josefsson  <jas@extundo.com>
70246
70247         * lib/timegm.h: New file.
70248         * lib/timegm.c: New file.  Based on
70249         wget-1.8.2/src/http.c:mktime_from_utc.
70250
70251 2003-08-31  Karl Berry  <karl@gnu.org>
70252
70253         * lib/argp.h: update from libc.
70254
70255 2003-08-28  Bruno Haible  <bruno@clisp.org>
70256
70257         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
70258         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
70259         followed by '#define fnmatch fnmatch_posix' gives an error.
70260
70261 2003-08-28  Bruno Haible  <bruno@clisp.org>
70262
70263         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
70264         warning on QNX, which defines O_BINARY to 000000.
70265
70266 2003-08-27  Jim Meyering  <jim@meyering.net>
70267
70268         * m4/mkstemp.m4: Require that the system mkstemp be able to create
70269         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
70270         would fail after 32.  Reported by Danny Levinson.  Details here:
70271         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
70272
70273 2003-08-24  Bruno Haible  <bruno@clisp.org>
70274
70275         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
70276         MSVC7 <stdio.h> is included later.
70277
70278 2003-08-22  Simon Josefsson  <jas@extundo.com>
70279
70280         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
70281
70282 2003-08-20  Karl Berry  <karl@gnu.org>
70283
70284         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
70285
70286 2003-08-20  Bruno Haible  <bruno@clisp.org>
70287
70288         * modules/progname: New file.
70289         * MODULES.html.sh (func_all_modules): Add progname.
70290
70291 2003-08-20  Bruno Haible  <bruno@clisp.org>
70292
70293         * lib/progname.h: New file, from GNU gettext.
70294         * lib/progname.c: New file, from GNU gettext.
70295         * lib/progreloc.c: New file, from GNU gettext.
70296
70297 2003-08-19  Jim Meyering  <jim@meyering.net>
70298
70299         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
70300         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
70301
70302 2003-08-19  Bruno Haible  <bruno@clisp.org>
70303
70304         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
70305         more.
70306
70307 2003-08-19  Bruno Haible  <bruno@clisp.org>
70308
70309         * lib/xstrdup.c: Assume <string.h> exists.
70310
70311 2003-08-18  Paul Eggert  <eggert@twinsun.com>
70312
70313         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
70314         in makefile rules.
70315
70316 2003-08-18  Jim Meyering  <jim@meyering.net>
70317
70318         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
70319         * m4/lib-ld.m4: Likewise.
70320
70321 2003-08-18  Jim Meyering  <jim@meyering.net>
70322
70323         * lib/setenv.h: Indent nested cpp directive.
70324         * lib/vasnprintf.c: Remove trailing blanks.
70325
70326 2003-08-17  Simon Josefsson  <jas@extundo.com>
70327
70328         * modules/xstrndup: New file.
70329         * MODULES.html.sh (func_all_modules): Add xstrndup.
70330
70331 2003-08-17  Simon Josefsson  <jas@extundo.com>
70332
70333         * modules/argp: Fix autoconf macro name. Add more dependencies.
70334
70335 2003-08-17  Simon Josefsson  <jas@extundo.com>
70336
70337         * m4/xstrndup.m4: New file.
70338
70339 2003-08-17  Simon Josefsson  <jas@extundo.com>
70340
70341         * m4/argp.m4: New file.
70342
70343 2003-08-17  Simon Josefsson  <jas@extundo.com>
70344             Bruno Haible  <bruno@clisp.org>
70345
70346         * lib/xstrndup.h: New file.
70347         * lib/xstrndup.c: New file.
70348
70349 2003-08-17  Bruno Haible  <bruno@clisp.org>
70350
70351         * modules/strndup (Files, Include): Add lib/strndup.h.
70352
70353 2003-08-17  Bruno Haible  <bruno@clisp.org>
70354
70355         * modules/euidaccess (Files): Add lib/euidaccess.h.
70356
70357 2003-08-17  Bruno Haible  <bruno@clisp.org>
70358
70359         * lib/strndup.h: New file.
70360
70361 2003-08-17  Bruno Haible  <bruno@clisp.org>
70362
70363         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
70364         like AC_GNU_SOURCE.
70365         * modules/extensions (configure.ac): Comment out the invocation of
70366         gl_USE_SYSTEM_EXTENSIONS.
70367
70368 2003-08-16  Paul Eggert  <eggert@twinsun.com>
70369
70370         Merges from coreutils, etc.
70371         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
70372         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
70373         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
70374         fixing a typo.
70375         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
70376         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
70377
70378 2003-08-16  Paul Eggert  <eggert@twinsun.com>
70379
70380         Document merge from coreutils.
70381         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
70382         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
70383         * modules/utime: Add m4/utimes-null.m4.
70384
70385 2003-08-16  Paul Eggert  <eggert@twinsun.com>
70386
70387         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
70388         space, undoing this 2003-08-12 change:
70389         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
70390
70391 2003-08-16  Paul Eggert  <eggert@twinsun.com>
70392
70393         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
70394         strtoul.c from libc, undoing this 2003-08-12 change:
70395         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
70396
70397 2003-08-16  Jim Meyering  <jim@meyering.net>
70398
70399         Merges from coreutils.
70400         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
70401         prefix.  Adjust cache variables similarly.  Create 500 rather than
70402         just 300 files, to exercise bug on Darwin6.5, too.
70403         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
70404         $missing_dir.
70405         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
70406         AM_SYS_POSIX_TERMIOS.
70407         Reported by mkc@mathdogs.com.
70408         Also change use of $am_cv_sys_posix_termios
70409         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
70410         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
70411         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
70412         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
70413         in /proc/mounts until it finds one with matching device number.  This
70414         is unnecessary when the FILE argument *is* a mount point.  No stat call
70415         is necessary in that case.  So, disable the statvfs-testing code on
70416         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
70417         as RedHat bug# 84846.
70418         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
70419         to 1MB, so as not to render systems with no stack size limit (e.g.,
70420         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
70421         Include <unistd.h>.  On some systems,
70422         it is required for the definition of _SC_PAGESIZE.
70423
70424 2003-08-16  Jim Meyering  <jim@meyering.net>
70425
70426         Merge from coreutils.
70427         * lib/xstrtoimax.c: #else #if -> #elif.
70428         * lib/xstrtoumax.c: Likewise.
70429
70430 2003-08-16  Jim Meyering  <jim@meyering.net>
70431
70432         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
70433         * m4/utimes.m4: Removed.
70434         * m4/utimes-null.m4: Renamed from utimes.m4.
70435
70436         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
70437         to 1MB, so as not to render systems with no stack size limit (e.g.,
70438         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
70439         Include <unistd.h>.  On some systems,
70440         it is required for the definition of _SC_PAGESIZE.
70441
70442 2003-08-16  Jim Meyering  <jim@meyering.net>
70443         and Paul Eggert  <eggert@cs.ucla.edu>
70444
70445         Merges from coreutils, etc.
70446
70447         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
70448         using the latest version from cvs.  This avoids problems with #line
70449         directives using a vendor (Sun) compiler.
70450         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
70451         Don't set GETGROUPS_LIB here; now it's
70452         done via getgroups.m4's wrapper function.
70453         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
70454         rather than just in sh-util/configure.in, so that the
70455         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
70456         same.
70457         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
70458         AC_FUNC_GETLOADAVG where to find getloadavg.c.
70459         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
70460         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
70461         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
70462         Remove code that is now done by the newly-required macros.
70463         Append $(EXEEXT) to DF_PROG.
70464         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
70465         Do not invoke or require the following here,
70466         since prereq.m4 or some gnulib .m4 now does this for us:
70467         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
70468         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
70469         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
70470         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
70471         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
70472         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
70473         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
70474         AC_FUNC_OBSTACK.
70475         Do not replace the following functions, as this is now the job
70476         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
70477         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
70478         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
70479         atexit getpass, strdup, getpagesize.
70480         Replace 'raise'.
70481         Do not check for the following functions, as this is now the job
70482         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
70483         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
70484         setregid.
70485         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
70486         Check for sys/sysctl.h.
70487         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
70488         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
70489         of checking for ssize_t ourselves.
70490
70491         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
70492         Require every macro that gnulib/modules/* suggests for us.
70493         (jm_PREREQ_ADDEXT): New macro.
70494         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
70495         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
70496
70497         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
70498         (gl_PHYSMEM): Use it.
70499         Also check for `table' function.
70500         Check for new headers and functions.
70501         Add check for sys/sysmp.h.
70502         With suggestions from Kaveh Ghazi.
70503         Ignore headers that are present but cannot be compiled.  This
70504         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
70505         C 5.4.
70506
70507 2003-08-15  Paul Eggert  <eggert@twinsun.com>
70508
70509         Document merge from coreutils.
70510         * modules/userspec: Depend on posixver.
70511         * modules/strftime: Depend on tzset.
70512
70513 2003-08-15  Paul Eggert  <eggert@twinsun.com>
70514
70515         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
70516         rather than tab, after '#' in shell-script copyright notices.
70517         Suggested by Bruno Haible.
70518
70519 2003-08-15  Paul Eggert  <eggert@twinsun.com>
70520
70521         * config/srclist-update: Use three spaces, rather than tab, after '#'
70522         in shell-script copyright notices.  Suggested by Bruno Haible.
70523         Remove unnecessary parenthesization in regular expression.
70524
70525 2003-08-15  Jim Meyering  <jim@meyering.net>
70526
70527         Merge from coreutils.
70528         * lib/xgethostname.c: Include <stdlib.h>.
70529         (xghostname): Don't exit for anything other than memory-related
70530         failure; just return NULL.
70531         * lib/userspec.c: Include "posixver.h".
70532         (parse_user_spec): Accept `.' as a separator only
70533         in pre-POSIX-200112 mode.
70534         * lib/strtoimax.c: Use #elif rather than #else #if.
70535         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
70536         Remove function, now that we can rely on a working tzset function.
70537         [!_LIBC]: Ensure that the required autoconf test has been run.
70538         [!defined _NL_CURRENT && HAVE_STRFTIME]:
70539         Use underlying_strftime for %r.
70540         * lib/sha.c: Merge in some clean-up and optimization changes from
70541         glibc.
70542         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
70543         Ensure that it is a multiple of 64.
70544         Rearrange loop exit tests so as to avoid performing an
70545         additional fread after encountering an error or EOF.
70546         * lib/realloc.c: Update copyright date.
70547
70548 2003-08-15  Jim Meyering  <jim@meyering.net>
70549         and Paul Eggert  <eggert@twinsun.com>
70550
70551         Merge from coreutils.
70552         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
70553         member but strut utmpx does not.  Needed for AIX 4.3.3.
70554         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
70555
70556 2003-08-15  Jim Meyering  <jim@meyering.net>
70557         and Paul Eggert  <eggert@cs.ucla.edu>
70558
70559         Merges from coreutils, etc.
70560         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
70561         Require gl_FUNC_TZSET_CLOBBER.
70562         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
70563         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
70564         members.
70565
70566 2003-08-14  Paul Eggert  <eggert@twinsun.com>
70567
70568         Help the merge from coreutils.
70569         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
70570         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
70571         * m4/tzset.m4: Use it too.
70572
70573 2003-08-14  Paul Eggert  <eggert@twinsun.com>
70574
70575         * modules/tzset: New file.
70576
70577 2003-08-14  Jim Meyering  <jim@meyering.net>
70578
70579         Merges from coreutils.
70580         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
70581         variable names, rather than @FNMATCH_H@.
70582         * modules/alloca: Likewise for $(ALLOCA_H).
70583
70584         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
70585         the three copies of the literal target, `fnmatch.h'.
70586         * modules/alloca (alloca.h): Likewise.
70587
70588 2003-08-14  Jim Meyering  <jim@meyering.net>
70589
70590         Merge from coreutils.
70591         * m4/tzset.m4: New file.
70592         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
70593         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
70594         otherwise, AIX 5.1 systems would end up using the latter.
70595         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
70596         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
70597         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
70598         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
70599
70600 2003-08-14  Jim Meyering  <jim@meyering.net>
70601
70602         Merge from coreutils.
70603         * lib/obstack.h: Whitespace changes.
70604         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
70605         and xcalloc return values.
70606         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
70607         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
70608         hang on OSF/1 5.1 for DIR on both local and remote file systems.
70609         Reported by (and fix confirmed by) Nelson H. F. Beebe.
70610         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
70611         error from mntctl.
70612         Use mntctl's return value to drive the entry-processing loop, since
70613         we can't rely on the value of the vmt_length member in the last
70614         entry.  On some systems doing so could result in exhausting
70615         virtual memory.  Based in part on a patch from Mike Jetzer.
70616
70617 2003-08-14  Jim Meyering  <jim@meyering.net>
70618         and Paul Eggert  <eggert@twinsun.com>
70619
70620         Merges from coreutils, plus other fixes.
70621         * lib/physmem.c: Merge in portability changes from gcc/libiberty
70622         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
70623         for credits and details.  Thanks to Kaveh Ghazi for helping
70624         to keep these files in sync.
70625         (ARRAY_SIZE): Define it.
70626         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
70627         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
70628         (memcasecmp): Don't assume size_t fits in unsigned int.
70629         Remove casts and duplicate code.
70630         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
70631         (memcpy): Remove definition.
70632         Merge in some clean-up and optimization changes from glibc.
70633         [BLOCKSIZE]: Move definition to top of file.
70634         Ensure that it is a multiple of 64.
70635         Rearrange loop exit tests so as to avoid performing an
70636         additional fread after encountering an error or EOF.
70637         * lib/md5.h (md5_uintptr): Define.
70638         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
70639         return to the initial working directory.  Preserve errno
70640         for caller.
70641         * lib/idcache.c: Include "xalloc.h".
70642         (xmalloc, xrealloc): Remove decls.
70643         (getuser): Remove casts no longer required in C89.
70644         * lib/human.c: Include stdio.h, for sprintf.
70645         * lib/group-member.c: Include "xalloc.h".
70646         (xmalloc, xrealloc): Remove decls.
70647         (get_group_info): Remove casts no longer required in C89.
70648         * lib/getusershell.c (readname): Remove casts no longer required in
70649         C89.
70650         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
70651         * lib/getline.c: Whitespace fix, from coreutils.
70652
70653 2003-08-13  Paul Eggert  <eggert@twinsun.com>
70654
70655         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
70656         Check for isascii.
70657
70658         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
70659         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
70660         Undo previous (whitespace-only) change.
70661
70662 2003-08-13  Paul Eggert  <eggert@twinsun.com>
70663
70664         * lib/exclude.c: Include <ctype.h>
70665         (IN_CTYPE_DOMAIN): New macro.
70666         (is_space): New fn.
70667         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
70668         and empty lines.
70669
70670         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
70671         Undo previous (whitespace-only) change.
70672
70673 2003-08-13  Paul Eggert  <eggert@twinsun.com>
70674
70675         * config/srclist-update: Change update back to the old behavior,
70676         leaving whitespace alone.  Use one 'sed' command rather than a
70677         pipeline.
70678         (fixlicense): Now a variable, not a function.
70679         (remove_trailing_blanks): Remove.
70680         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
70681         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
70682         Undo previous (whitespace-only) change.
70683
70684 2003-08-12  Paul Eggert  <eggert@twinsun.com>
70685
70686         Merge from coreutils.
70687         * modules/euidaccess: Add lib_SOURCES, include for new
70688         file euidaccess.h
70689
70690 2003-08-12  Paul Eggert  <eggert@twinsun.com>
70691
70692         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
70693         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
70694         Normalize leading white space and remove trailing white space.
70695
70696         Merge from coreutils
70697         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
70698
70699         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
70700         0.12.1.  These files are now being upgraded automatically by
70701         ../config/srclist-update.
70702
70703 2003-08-12  Paul Eggert  <eggert@twinsun.com>
70704
70705         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
70706         Normalize leading white space and remove trailing white space.
70707         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
70708         notice, as per ../config/srclist-update.
70709
70710         Merge from coreutils.
70711         * lib/euidaccess.h: New file.
70712         * lib/euidaccess.c: Include it.
70713         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
70714         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
70715         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
70716
70717 2003-08-12  Paul Eggert  <eggert@twinsun.com>
70718
70719         * config/srclist-update: Add copyright notice.
70720         (remove_id_lines, remove_trailing_blanks): New constants.
70721         (fixfile): Use them to normalize spacing a bit in copied files.
70722         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
70723         Normalize leading white space and remove trailing white space.
70724
70725         * config/texinfo.tex: Sync with texinfo.
70726
70727         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
70728         strtoul.c from libc, to merge coreutils whitespace changes.
70729
70730         * config/srclist.txt: Get the following m4 files from gettext:
70731         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
70732         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
70733         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
70734         wint_t.m4.
70735
70736 2003-08-12  Karl Berry  <karl@gnu.org>
70737
70738         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
70739         been made.
70740
70741 2003-08-11  Paul Eggert  <eggert@twinsun.com>
70742
70743         * modules/gnu-source, m4/gnu-source.m4:
70744         Remove; we're assuming Autoconf 2.54 or later now.
70745         Suggested by Bruno Haible.
70746         * MODULES.html.sh (func_all_modules): Remove gnu-source.
70747
70748 2003-08-11  Bruno Haible  <bruno@clisp.org>
70749
70750         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
70751
70752 2003-08-11  Bruno Haible  <bruno@clisp.org>
70753
70754         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
70755         (vasnprintf): Use it instead of wcslen.
70756
70757 2003-08-11  Bruno Haible  <bruno@clisp.org>
70758
70759         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
70760         value to ensure that _Bool promotes to int. Use #define for _Bool when
70761         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
70762
70763 2003-08-10  Karl Berry  <karl@gnu.org>
70764
70765         * lib/regex.h: update from libc (whitespace fix).
70766
70767 2003-08-09  Paul Eggert  <eggert@twinsun.com>
70768
70769         Merge some files from coreutils.  These changes were
70770         originally made by Jim Meyering.
70771         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
70772         many older Unixes require this.
70773         * lib/alloca.c (alloca): Remove cast to argument of free;
70774         no longer needed in C89.
70775         * lib/alloca_.h, regex.h: Fix white space to match
70776         what GNU indent does.
70777
70778 2003-08-09  Paul Eggert  <eggert@twinsun.com>
70779
70780         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
70781         apparently Emacs's Unicode mode got confused before my 2003-08-05
70782         checkin.
70783
70784 2003-08-08  Paul Eggert  <eggert@twinsun.com>
70785
70786         * m4/extensions.m4: New file.
70787         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
70788         Require gl_USE_SYSTEM_EXTENSIONS.
70789         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
70790         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
70791
70792 2003-08-08  Paul Eggert  <eggert@twinsun.com>
70793
70794         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
70795         * modules/extensions, modules/gnu-source: New files.
70796         * modules/timespec, modules/unlocked-io: Depend on extensions.
70797
70798 2003-08-07  Paul Eggert  <eggert@twinsun.com>
70799
70800         * modules/restrict: New file.
70801         * MODULES.html.sh (func_all_modules): Add restrict.
70802         * modules/regex: Depend on restrict.
70803
70804 2003-08-07  Paul Eggert  <eggert@twinsun.com>
70805
70806         * m4/restrict.m4: New file.
70807         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
70808
70809 2003-08-07  Bruno Haible  <bruno@clisp.org>
70810
70811         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
70812         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
70813
70814 2003-08-07  Bruno Haible  <bruno@clisp.org>
70815
70816         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
70817         makes the module 'getndelim2' compatible with the module 'getline'.
70818
70819 2003-08-05  Paul Eggert  <eggert@twinsun.com>
70820
70821         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
70822         byte with "\201" to avoid glitches when editing that source file
70823         with multi-gnome-terminal.
70824
70825 2003-08-05  Paul Eggert  <eggert@twinsun.com>
70826
70827         * lib/bumpalloc.h: Remove.
70828
70829 2003-08-05  Paul Eggert  <eggert@twinsun.com>
70830
70831         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
70832         * modules/bumpalloc: Remove.
70833
70834 2003-08-04  Paul Eggert  <eggert@twinsun.com>
70835
70836         * lib/getloadavg.c: Change copyright notice and spacing to conform to
70837         GNU coding style.
70838
70839         Merge from coreutils.
70840         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
70841         1. From glibc.
70842         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
70843         from Karl Berry, implemented by Jim Meyering.
70844         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
70845         from Dmitry V. Levin.
70846         Remove anachronistic cast of xrealloc.
70847         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
70848         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
70849         type. Otherwise, it wouldn't compile with at least /bin/cc on
70850         ymp-cray-unicos9.0.2.X.
70851         Combine two mostly-identical uses of alloca into one.
70852         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
70853
70854 2003-08-04  Dave Love  <d.love@dl.ac.uk>
70855
70856         [From Emacs.]
70857
70858         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
70859         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
70860         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
70861         obsolete NLIST_NAME_UNION.
70862         [__GNU__]: Undef BSD and FSCALE.
70863         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
70864
70865 2003-08-03  Paul Eggert  <eggert@twinsun.com>
70866
70867         * lib/stdbool_.h (_Bool): Make it signed char, instead of
70868         an enum type, so that it's guaranteed to promote to int.  See:
70869         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
70870
70871 2003-08-03  Karl Berry  <karl@gnu.org>
70872
70873         * config/depcomp: update from automake.
70874
70875 2003-07-31  Paul Eggert  <eggert@twinsun.com>
70876
70877         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
70878         (strerror): Don't assume that a printable int fits in 14 bytes.
70879
70880 2003-07-31  Bruno Haible  <bruno@clisp.org>
70881
70882         * modules/getpass-gnu: New file.
70883         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
70884
70885 2003-07-31  Bruno Haible  <bruno@clisp.org>
70886
70887         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
70888
70889 2003-07-24  Karl Berry  <karl@gnu.org>
70890
70891         * config/missing: update from automake.
70892
70893 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
70894             Bruno Haible  <bruno@clisp.org>
70895
70896         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
70897         * lib/getline.c (getline, getdelim): Likewise.
70898         Remove _GNU_SOURCE define; now it's defined in config.h through
70899         m4/getline.m4.
70900
70901 2003-07-23  Karl Berry  <karl@gnu.org>
70902
70903         * config/config.sub: update from prep.
70904
70905 2003-07-22  Paul Eggert  <eggert@twinsun.com>
70906
70907         * modules/xalloc (Depends-on): Add exitfail.
70908         * modules/xmemcoll: Likewise.
70909
70910 2003-07-22  Paul Eggert  <eggert@twinsun.com>
70911
70912         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
70913         over-parenthesization in macros.
70914
70915         Sync with coreutils.
70916
70917         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
70918         required by C99.
70919
70920         Use `exit_failure' for xalloc and xmemcoll instead of their own
70921         private exit-failure variables.
70922         * lib/xalloc.h (xalloc_exit_failure): Remove.
70923         * lib/xmalloc.c: Likewise.  Include exitfail.h.
70924         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
70925         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
70926         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
70927         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
70928
70929 2003-07-20  Jim Meyering  <jim@meyering.net>
70930
70931         * modules/closeout (Depends-on): Add exitfail.
70932         Suggestion from Bruno Haible.
70933
70934 2003-07-19  Karl Berry  <karl@gnu.org>
70935
70936         * config/config.sub: update from prep.
70937
70938 2003-07-18  Paul Eggert  <eggert@twinsun.com>
70939
70940         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
70941         Remove.
70942         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
70943         to test that it can stand by itself.  Include "exitfail.h".
70944         Clients should set exit_failure instead.
70945         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
70946
70947 2003-07-18  Bruno Haible  <bruno@clisp.org>
70948
70949         * modules/getndelim2: New file.
70950         * modules/getline: Share files with module getndelim2.
70951         * modules/getnline: Depend on getndelim2 instead of sharing files with
70952         it. Add getnline.c to lib_SOURCES.
70953         * MODULES.html.sh (func_all_modules): Add getndelim2.
70954
70955 2003-07-18  Bruno Haible  <bruno@clisp.org>
70956
70957         * m4/getndelim2.m4: New file.
70958         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
70959         invoke gl_PREREQ_GETNDELIM2.
70960         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
70961         gl_PREREQ_GETNDELIM2.
70962         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
70963         gl_GETNDELIM2.
70964
70965 2003-07-18  Bruno Haible  <bruno@clisp.org>
70966
70967         * lib/getndelim2.h: New file.
70968         * lib/getndelim2.c: Make into a module of its own. Include config.h,
70969         getndelim2.h.
70970         (getndelim2): Make non-static. Change return type to ssize_t.
70971         * lib/getline.h: Change argument names.
70972         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
70973         * lib/getnline.c: Include getndelim2.h.
70974
70975 2003-07-18  Andreas Schwab  <schwab@suse.de>
70976
70977         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
70978
70979 2003-07-17  Karl Berry  <karl@gnu.org>
70980
70981         * config/config.sub: update from prep.
70982
70983 2003-07-17  Bruno Haible  <bruno@clisp.org>
70984
70985         * modules/getnline: New file.
70986         * modules/getline: Add lib/getndelim2.c to source file list.
70987         * MODULES.html.sh (func_all_modules): Add getnline.
70988
70989 2003-07-17  Bruno Haible  <bruno@clisp.org>
70990
70991         * m4/getnline.m4: New file.
70992
70993 2003-07-17  Bruno Haible  <bruno@clisp.org>
70994
70995         * m4/Makefile.am.in: Remove file.
70996         * m4/Makefile.am: Remove file.
70997         * m4/Makefile.in: Remove file.
70998
70999 2003-07-17  Bruno Haible  <bruno@clisp.org>
71000
71001         * lib/getnline.h: New file.
71002         * lib/getnline.c: New file.
71003         * lib/getndelim2.c: New file, extracted from getline.c.
71004         (getndelim2): Renamed from getdelim2, with added nmax argument.
71005         * lib/getline.c: Include getndelim2.c.
71006         (getdelim2): Moved out to getndelim2.c.
71007         (getline, getdelim): Update.
71008
71009 2003-07-17  Bruno Haible  <bruno@clisp.org>
71010
71011         * lib/Makefile.am: Remove file.
71012         * lib/Makefile.in: Remove file.
71013
71014 2003-07-17  Bruno Haible  <bruno@clisp.org>
71015
71016         * configure.in: Remove file.
71017         * Makefile.in: Remove file.
71018
71019 2003-07-17  Bruno Haible  <bruno@clisp.org>
71020
71021         * MODULES.html.sh: Put the </BODY> right before </HTML>.
71022
71023 2003-07-16  Karl Berry  <karl@gnu.org>
71024
71025         * config/srclist-update: was running fixlicense twice, which caused
71026                 texinfo.tex to be nullified for some reason.  Simplify,
71027                 $gplsrc is no longer needed as far as I can see?
71028
71029 2003-07-16  Jim Meyering  <jim@meyering.net>
71030
71031         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
71032
71033 2003-07-15  Paul Eggert  <eggert@twinsun.com>
71034
71035         * config/srclist.txt: Get the following files from gettext-runtime/intl
71036         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
71037         ref-del.sin.  From Bruno Haible.
71038         * config/srclist-update (fixfile): Change grep pattern again, since the
71039         previous fix didn't work (there was another trailing $).  Use
71040         '[$]' to escape the $s.
71041
71042 2003-07-15  Karl Berry  <karl@gnu.org>
71043
71044         * lib/vasnprintf.c: update from gettext.
71045
71046 2003-07-15  Karl Berry  <karl@gnu.org>
71047
71048         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
71049         gets expanded when surrounded by '$'.
71050
71051 2003-07-15  Jim Meyering  <jim@meyering.net>
71052
71053         * modules/save-cwd: Don't depend on error.  From Derek Price.
71054
71055 2003-07-15  Jim Meyering  <jim@meyering.net>
71056
71057         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
71058
71059 2003-07-14  Simon Josefsson  <jas@extundo.com>
71060
71061         * modules/mempcpy: New file.
71062         * MODULES.html.sh (func_all_modules): Add mempcpy.
71063
71064 2003-07-14  Simon Josefsson  <jas@extundo.com>
71065
71066         * m4/mempcpy.m4: New file.
71067
71068 2003-07-14  Simon Josefsson  <jas@extundo.com>
71069
71070         * lib/mempcpy.h: New file.
71071         * lib/mempcpy.c: New file.
71072
71073 2003-07-14  Paul Eggert  <eggert@twinsun.com>
71074
71075         * modules/getdate, modules/posixtm: Depend on mktime.
71076
71077 2003-07-14  Paul Eggert  <eggert@twinsun.com>
71078
71079         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
71080         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
71081         unicodeio.c, unicodeio.h, unlocked-io.h:
71082         Switch from LGPL to GPL.
71083
71084 2003-07-14  Paul Eggert  <eggert@twinsun.com>
71085
71086         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
71087         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
71088         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
71089         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
71090         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
71091         updated automatically by ../config/srclist-update.  This changes
71092         their license from LPGL to GPL.
71093
71094 2003-07-14  Paul Eggert  <eggert@twinsun.com>
71095
71096         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
71097         assumed to refer to the root of the most recent stable gettext version.
71098         * config/srclistvars.sh: Add defaults for eggert.
71099         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
71100         Match "This program" as well as "The program".  This is needed
71101         for gettext.
71102
71103 2003-07-14  Jim Meyering  <jim@meyering.net>
71104
71105         Don't emit diagnostics.  Let callers do that.
71106         * lib/save-cwd.c: Don't include "error.h".
71107         (save_cwd): Don't call error.  Ensure that errno is valid
71108         when returning nonzero.
71109
71110         * lib/save-cwd.h (restore_cwd): Update prototype.
71111         * lib/save-cwd.c (restore_cwd): Remove two parameters.
71112         Simplify.  Don't call error upon failure.  Let callers do that.
71113         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
71114         when auditing is enabled.  But don't bother updating the #if.
71115
71116 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
71117
71118         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
71119         it breaks C++ compilation.
71120         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
71121
71122 2003-07-10  Simon Josefsson  <jas@extundo.com>
71123
71124         * modules/strchrnul (Makefile.am): Add strchrnul.h.
71125
71126 2003-07-10  Jim Meyering  <jim@meyering.net>
71127
71128         * m4/clock_time.m4: Remove trailing blank.
71129         * m4/intmax_t.m4: Likewise.
71130
71131 2003-07-10  Jim Meyering  <jim@meyering.net>
71132
71133         * lib/vasnprintf.c: Remove trailing blanks.
71134         Make cpp indentation consistent.
71135
71136 2003-07-09  Paul Eggert  <eggert@twinsun.com>
71137
71138         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
71139         posixver.c, strftime.c, strnlen.c, strverscmp.c:
71140         Switch from LGPL to GPL.
71141
71142 2003-07-09  Paul Eggert  <eggert@twinsun.com>
71143
71144         * config/srclist.txt: Sort sublists.  Add
71145         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
71146         that differ from gnulib for one reason or another; we'd like this list
71147         to be smaller but for now let's document what we have.
71148
71149 2003-07-08  Paul Eggert  <eggert@twinsun.com>
71150
71151         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
71152         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
71153         and sweeter "eval x=$x".
71154         * config/srclist.txt: Get lib/argp* from glibc.
71155
71156 2003-07-07  Paul Eggert  <eggert@twinsun.com>
71157
71158         * lib/mktime.c: Fix some boundary cases and remove need for floating
71159         point.
71160
71161         Issue a compile-time diagnostic if time_t is floating point, or if
71162         two's complement arithmetic is not in effect, or if arithmetic
71163         right shift does not propagate the sign.  These assumptions were
71164         all in the original code but they weren't checked.
71165
71166         (TIME_T_MIDPOINT, verify): New macros.
71167         (__isleap): Remove; it has integer overflow problems.
71168         (leapyear): New function, without those problems.
71169         (ydhms_tm_diff): Remove; splitting into two parts.
71170         (ydhms_diff): New function, containing the arithmetic part of
71171         the old ydhms_tm_diff function.  Issue a compile-time
71172         diagnostic if we are not using C99 integer division.
71173         Avoid casts when possible.
71174         (guess_time_tm): New function, containing the checking part of
71175         the old ydhms_tm_diff function.  Return the new value, rather than
71176         the difference between it and the old.  Accept a new argument T
71177         so that *T specifies the old value.  Check for overflow in the result.
71178
71179         (__mktime_internal): Use a time_t offset, not a long int offset.
71180         This undoes the 2003-06-04 change, which is no longer needed now
71181         that we have better overflow checking.
71182         (localtime_offset): Likewise.
71183
71184         (__mktime_internal): Avoid harmful overflow on hosts where time_t
71185         and long are 64-bit but int is only 32-bit.
71186         (ydhms_diff): Use long int to store year1 and yday1.
71187         Issue a compile-time diagnostic if long int is not wide enough.
71188
71189         (__mktime_internal): Use long int to store adjusted year and yday.
71190         Use plain C rather than preprocessor commands, if that doesn't
71191         affect efficiency.
71192         Check for overflow (and try to repair) after each probe
71193         rather than checking only at the very end.  This avoids some bugs
71194         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
71195         does not equal GMT offset at maximum time).
71196         Use integer to check for overflow rather than floating point; this
71197         is more portable to non-IEEE hosts, and is a tad faster.
71198         When we detect that we are oscillating between two values,
71199         don't check whether tm_isdst has the requested value, since
71200         we already know the answer.  When tm_isdst has the wrong value,
71201         use a different heuristic to find the right one, based on the
71202         extreme values actually observed in practice in tz2003a,
71203         rather than the (overly optimistic) "previous 3 calendar quarters".
71204
71205         (not_equal_tm, print_tm, check_result): Use "const T" rather than
71206         "T const" to accommodate glibc style.
71207         (check_result): Use less-confusing report format.  "long" -> "long int.
71208         (main): Likewise.
71209         Don't loop if the iteration overflows time_t.
71210         Allow a negative step in the iteration.
71211
71212 2003-07-06  Karl Berry  <karl@gnu.org>
71213
71214         * config/depcomp: update from automake.
71215         * config/config.sub: update from prep.
71216
71217 2003-07-03  Karl Berry  <karl@gnu.org>
71218
71219         * config/config.guess: update from prep.
71220
71221 2003-07-01  Paul Eggert  <eggert@twinsun.com>
71222
71223         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
71224         xreadlink.c now includes it unconditionally.
71225
71226 2003-07-01  Paul Eggert  <eggert@twinsun.com>
71227
71228         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
71229         having it depend on HAVE_SYS_TYPES_H.
71230
71231 2003-07-01  Bruno Haible  <bruno@clisp.org>
71232
71233         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
71234         <sys/types.h> should be sufficient.
71235         Reported by Paul Eggert.
71236
71237 2003-06-26  Karl Berry  <karl@gnu.org>
71238
71239         * config/depcomp: update from automake.
71240
71241 2003-06-26  Bruno Haible  <bruno@clisp.org>
71242
71243         * modules/human: Depend on module stdbool.
71244
71245 2003-06-25  Bruno Haible  <bruno@clisp.org>
71246
71247         * modules/readlink: New file.
71248         * modules/xreadlink: Depend on it.
71249         * MODULES.html.sh (func_all_modules): Add readlink.
71250
71251 2003-06-25  Bruno Haible  <bruno@clisp.org>
71252
71253         * m4/readlink.m4: New file.
71254
71255 2003-06-25  Bruno Haible  <bruno@clisp.org>
71256
71257         * lib/readlink.c: New file.
71258
71259 2003-06-22  Karl Berry  <karl@gnu.org>
71260
71261         * config/srclist.txt: update mkinstalldirs from automake.
71262         * config/mkinstalldirs: update.
71263
71264 2003-06-22  Bruno Haible  <bruno@clisp.org>
71265
71266         Portability to mingw32.
71267         * m4/ssize_t.m4: New file, from GNU gettext.
71268         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
71269         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
71270
71271 2003-06-22  Bruno Haible  <bruno@clisp.org>
71272
71273         * modules/safe-read: Add m4/ssize_t.m4.
71274         * modules/xreadlink: Add m4/ssize_t.m4.
71275
71276 2003-06-20  Bruno Haible  <bruno@clisp.org>
71277
71278         Assume C89, so PARAMS isn't needed.
71279         * lib/unicodeio.h (PARAMS): Remove.
71280         * lib/unicodeio.c: Don't use PARAMS.
71281
71282 2003-06-18  Karl Berry  <karl@gnu.org>
71283
71284         * config/config.{guess,sub}: update from prep.
71285
71286 2003-06-18  Jim Meyering  <jim@meyering.net>
71287
71288         Merge changes from coreutils.
71289         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
71290         Remove explicit declarations of xmalloc and realloc.
71291         Include xalloc.h.
71292         (read_utmp): Remove anachronistic cast of xmalloc.
71293
71294 2003-06-17  Paul Eggert  <eggert@twinsun.com>
71295
71296         Assume C89, so PARAMS isn't needed.
71297         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
71298         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
71299         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
71300         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
71301         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
71302         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
71303         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
71304         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
71305         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
71306         lib/xstrtod.h, lib/xstrtol.h: Likewise.
71307         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
71308         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
71309         no longer needed. Anyway, config.h should always be included before any
71310         other file.
71311
71312 2003-06-11  Simon Josefsson  <jas@extundo.com>
71313
71314         * modules/sysexits: New file.
71315         * MODULES.html.sh (func_all_modules): Add sysexits.
71316
71317 2003-06-11  Simon Josefsson  <jas@extundo.com>
71318
71319         * lib/sysexit_.h: New file.
71320
71321 2003-06-11  Derek Price  <derek@ximbiot.com>
71322
71323         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
71324         necessary.
71325
71326 2003-06-11  Bruno Haible  <bruno@clisp.org>
71327
71328         * m4/sysexits.m4: New file.
71329
71330 2003-06-10  Simon Josefsson  <jas@extundo.com>
71331
71332         * lib/argp.h: New file, from glibc.
71333         * lib/argp-ba.c: New file, from glibc.
71334         * lib/argp-eexst.c: New file, from glibc.
71335         * lib/argp-fmtstream.c: New file, from glibc.
71336         * lib/argp-fmtstream.h: New file, from glibc.
71337         * lib/argp-fs-xinl.c: New file, from glibc.
71338         * lib/argp-help.c: New file, from glibc.
71339         * lib/argp-namefrob.h: New file, from glibc.
71340         * lib/argp-parse.c: New file, from glibc.
71341         * lib/argp-pv.c: New file, from glibc.
71342         * lib/argp-pvh.c: New file, from glibc.
71343         * lib/argp-xinl.c: New file, from glibc.
71344
71345 2003-06-10  Simon Josefsson  <jas@extundo.com>
71346
71347         * modules/strchrnul: New file.
71348
71349 2003-06-10  Simon Josefsson  <jas@extundo.com>
71350
71351         * modules/argp: New file.
71352
71353 2003-06-10  Simon Josefsson  <jas@extundo.com>
71354
71355         * m4/strchrnul.m4: New file.
71356
71357 2003-06-10  Simon Josefsson  <jas@extundo.com>
71358
71359         * lib/strchrnul.h: New file.
71360         * lib/strchrnul.c: New file.
71361
71362 2003-06-10  Bruno Haible  <bruno@clisp.org>
71363
71364         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
71365
71366 2003-06-07  Karl Berry  <karl@gnu.org>
71367
71368         * config/config.{guess,sub}: update from prep.
71369
71370 2003-06-07  Jim Meyering  <jim@meyering.net>
71371
71372         * modules/strtod: Use $(...) notation, not @...@ for
71373         AC_REPLACE'd variables.
71374         * modules/localcharset: Likewise.
71375
71376 2003-06-07  Jim Meyering  <jim@meyering.net>
71377
71378         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
71379         in place of my name in the copyright comment.
71380         Remove definition and uses of __P.
71381
71382         From coreutils.
71383         * lib/stat.c: Don't declare xmalloc explicitly.
71384         Instead, include "xalloc.h".
71385         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
71386         xrealloc, and xcalloc return values.
71387         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
71388         Improve comment.
71389         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
71390
71391 2003-06-07  Bruno Haible  <bruno@clisp.org>
71392
71393         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
71394         avoid AC_CONFIG_LINKS.
71395         * modules/fnmatch (Makefile.am): Use explicit creation rule for
71396         fnmatch.h, to avoid AC_CONFIG_LINKS.
71397         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
71398
71399 2003-06-07  Bruno Haible  <bruno@clisp.org>
71400
71401         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
71402         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
71403         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
71404         directory.
71405         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
71406         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
71407         directory.
71408
71409 2003-06-06  Jim Meyering  <jim@meyering.net>
71410
71411         Merge from coreutils.
71412         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
71413         Consolidate declarations and initializations of *_base* locals.
71414
71415         Merge from coreutils.
71416         This avoids a core dump on systems without GNU putenv,
71417         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
71418         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
71419         (unsetenv): New static function, from GNU libc.
71420         (rpl_putenv): Use it.
71421
71422         * lib/modechange.c: Remove trailing blanks.
71423
71424         Merge from coreutils.
71425         * lib/fsusage.c: Remove declaration of statfs.
71426         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
71427
71428         * lib/posixtm.c: Include <stdbool.h> unconditionally.
71429
71430 2003-06-06  Jim Meyering  <jim@meyering.net>
71431
71432         * lib/stdbool_.h: Renamed from stdbool.h.in.
71433
71434 2003-06-06  Jim Meyering  <jim@meyering.net>
71435             Bruno Haible  <bruno@clisp.org>
71436
71437         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
71438         Adjust Makefile.am snippet not to redirect directly to target.
71439         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
71440
71441 2003-06-05  Paul Eggert  <eggert@twinsun.com>
71442
71443         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
71444         mismatch, look in future quarters as well as past.  This fixes a
71445         bug when processing fall-backwards gaps immediately after a long
71446         period of daylight-saving time.
71447
71448         * lib/mktime.c: Assume freestanding C89 or better.
71449         (HAVE_LIMITS_H): Remove.  Assume it's 1.
71450         (__P): Remove; not used.
71451         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
71452         (mktime, not_equal_tm, print_tm, check_result,
71453         main): Use prototypes.  Use const * where appropriate.
71454         (main): Fix typo in testing code that uncovered by above changes.
71455         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
71456
71457 2003-06-04  Paul Eggert  <eggert@twinsun.com>
71458
71459         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
71460         locale.h, localeconv.  This merges changes from coreutils.
71461
71462         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
71463         It can be removed after the next Autoconf is released.
71464         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
71465         needed.
71466
71467 2003-06-04  Paul Eggert  <eggert@twinsun.com>
71468
71469         * lib/mktime.c: Fix Debian bug 177940
71470         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
71471         (localtime_offset): Now long int, not time_t, because we want it
71472         to be guaranteed to be signed.  All uses changed.
71473         (__mktime_internal): If overflow would occur when adding offset,
71474         don't add it.
71475
71476         Merge 'human' changes from coreutils.  Rewrite to support
71477         locale-specific notations like thousands separators.
71478         * lib/human.c: Simplify authorship notice.
71479         Include human.h immediately after config.h.
71480         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
71481         <limits.h>: Do not include, since human.h does.
71482         (SIZE_MAX, UINTMAX_MAX): New macros.
71483         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
71484         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
71485         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
71486         (power_letter): Renamed from suffixes.
71487         (generate_suffix_backwards): Remove.
71488         (adjust_value): Now takes int style (because of human.h changes)
71489         and long double value (for greater precision on some platforms).
71490         (group_number): New function.
71491         (human_readable): Use it.  Use integer options, not enum.
71492         Put the options before the sizes in the arg list.
71493         Support all the new options.
71494         The old human_readable function has been removed;
71495         use inttostr.h instead.
71496         (human_readable, default_block_size, humblock):
71497         Use uintmax_t, not int, for block sizes.
71498         (human_readable_inexact, block_size_types): Remove.
71499         (block_size_opts): New constant.
71500         (human_options): Renamed from human_block_size, with new signature
71501         that allows block sizes up to UINTMAX_MAX.  All callers changed.
71502         * lib/human.h: Add copyright and authorship notice.
71503         Include <limits.h> and <stdbool.h> unconditionally.
71504         (PARAMS): Remove.  All uses removed.
71505         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
71506         (enum human_inexact_style): Remove tag; now a nameless enum.
71507         (human_floor, human_ceiling, human_round_to_even): Now have
71508         values 2, 0, 1 rather than -1, 1, 0.
71509         (human_group_digits, human_suppress_point_zero, human_autoscale,
71510         human_base_1024, human_SI, human_B): New constants.
71511         (human_readable_inexact, human_block_size): Remove.
71512         (human_readable): Size args are now uintmax_t, not int.
71513         (human_options): New decl.
71514
71515         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
71516         unnecessary now that we assume C89 or better.  This change
71517         imported from coreutils.
71518
71519         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
71520         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
71521         in the 2003-05-30 sync from glibc.
71522
71523         .h files should stand alone, but we shouldn't include <sys/types.h>
71524         if we can get away with just <stddef.h>.
71525
71526         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
71527         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
71528         rather than <sys/types.h>, as we merely need size_t.
71529         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
71530         to get size_t.
71531         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
71532         Include <stdio.h>, to get FILE.
71533         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
71534         memcasecmp.h has included <stddef.h> and all we need is size_t.
71535         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
71536         our interface, instead of including <sys/types.h>
71537
71538 2003-06-04  Paul Eggert  <eggert@twinsun.com>
71539
71540         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
71541         now, as glibc mktime is buggy on non-glibc systems.
71542
71543 2003-06-03  Karl Berry  <karl@gnu.org>
71544
71545         * config/config.sub: update from prep.
71546
71547 2003-06-02  Paul Eggert  <eggert@twinsun.com>
71548
71549         [from coreutils]
71550         Fix some minor time-related bugs with POSIX time arguments.
71551         Some valid time stamps were being rejected (notably -1, and
71552         time stamps before 1900 on 64-bit hosts).  And some invalid
71553         time stamps were being accepted, e.g. September 31.
71554
71555         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
71556         that we can return (time_t) -1 successfully.
71557         * lib/posixtm.c: Likewise.
71558         [HAVE_STDBOOL_H]: Include <stdbool.h>.
71559         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
71560         (t): Remove static var.
71561         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
71562         of static var.  All uses changed.
71563         (year): Do not reject years before 1900; they can occur with
71564         64-bit time_t.
71565         (posix_time_parse): Do not check for out-of-range components;
71566         that is now the caller's responsibility, since our checks were
71567         only approximations.
71568         (posixtime): Use mktime to check for out-of-range components,
71569         since it knows them exactly.
71570         If mktime returns (time_t) -1, check whether an error actually occurred
71571         by invoking localtime on -1.
71572         (main) [TEST_POSIXTIME]: Check for input data errors, and report
71573         posixtime failures better.
71574         Improve the test data (in comments only).
71575
71576 2003-06-02  Karl Berry  <karl@gnu.org>
71577
71578         * config/mkinstalldirs (version): new variable.
71579         (--version): new option.
71580         (usage): improve message.
71581
71582 2003-05-30  Karl Berry  <karl@gnu.org>
71583
71584         * lib/mktime.c: update from libc.
71585
71586 2003-05-30  Bruno Haible  <bruno@clisp.org>
71587
71588         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
71589         * config/config.rpath: Upgrade to gettext-0.12.1.
71590
71591 2003-05-30  Bruno Haible  <bruno@clisp.org>
71592
71593         * m4/gettext.m4: Upgrade to gettext-0.12.1.
71594         * m4/nls.m4: New file, from gettext-0.12.1.
71595         * m4/po.m4: New file, from gettext-0.12.1.
71596         * m4/progtest.m4: Upgrade to gettext-0.12.1.
71597
71598 2003-05-30  Bruno Haible  <bruno@clisp.org>
71599
71600         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
71601         * lib/localcharset.h: Likewise.
71602         * lib/localcharset.c: Likewise.
71603
71604 2003-05-29  Karl Berry  <karl@gnu.org>
71605
71606         * config/config.rpath: update from gettext.
71607
71608 2003-05-28  Paul Eggert  <eggert@twinsun.com>
71609
71610         Assume the headers required for C89 freestanding compilers.
71611         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
71612         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
71613         * m4/human.m4 (gl_HUMAN): Likewise.
71614         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
71615         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
71616         * m4/userspec.m4 (gl_USERSPEC): Likewise.
71617         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
71618         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
71619         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
71620
71621 2003-05-28  Paul Eggert  <eggert@twinsun.com>
71622
71623         Assume the headers required for C89 freestanding compilers.
71624         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
71625         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
71626         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
71627         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
71628         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
71629         define, since <limits.h> is guaranteed to do that.
71630         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
71631         * lib/exclude.c: Include <stdbool.h> unconditionally.
71632         * lib/tempname.c: Include <stddef.h> unconditionally.
71633         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
71634         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
71635         <stddef.h> does that.
71636         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
71637         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
71638         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
71639         needed.
71640         * lib/xstrtol.c: Likewise.
71641         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
71642         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
71643
71644         * lib/addext.c (addext): Use assignment rather than cast, to avoid
71645         warnings on some platforms.
71646
71647         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
71648         arbitrarily.
71649
71650 2003-05-26  Jim Meyering  <jim@meyering.net>
71651
71652         Merge in a change from coreutils:
71653         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
71654         that is guaranteed to be `no'.  Use `no_such_member' to indicate
71655         that condition, rather than `-1' which is slightly misleading.
71656         Change the name of the cache variable to have the gl_ prefix.
71657         Prompted by a patch from Richard Dawe for DJGPP.
71658
71659 2003-05-24  Karl Berry  <karl@gnu.org>
71660
71661         * config/config.guess: update from prep.
71662
71663 2003-05-22  Karl Berry  <karl@gnu.org>
71664
71665         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
71666
71667 2003-05-20  Karl Berry  <karl@gnu.org>
71668
71669         * config/config.guess: update from prep.
71670
71671 2003-05-18  Karl Berry  <karl@gnu.org>
71672
71673         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
71674         might actually be set by the user.
71675
71676         * config/depcomp, install-sh, mdate-sh: update from automake.
71677
71678 2003-05-17  Bruno Haible  <bruno@clisp.org>
71679
71680         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
71681         invalid expansion for AC_EGREP_CPP.
71682         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
71683         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
71684         Suggested by Akim Demaille <akim@epita.fr> in
71685         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
71686
71687 2003-05-12  Jim Meyering  <jim@meyering.net>
71688
71689         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
71690         the space-padded-by-default conversion specifiers, %e, %k, %l.
71691
71692 2003-05-12  Bruno Haible  <bruno@clisp.org>
71693
71694         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
71695         the string is longer than 4 KB.
71696
71697 2003-05-11  Karl Berry  <karl@gnu.org>
71698
71699         * config/config.{guess,sub}: update from prep.
71700
71701 2003-05-09  Bruno Haible  <bruno@clisp.org>
71702
71703         * modules/error: Add m4/strerror_r.m4 to file list.
71704
71705 2003-05-03  Bruno Haible  <bruno@clisp.org>
71706
71707         Upgrade to Unicode-4.0.
71708         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
71709         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
71710         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
71711         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
71712         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
71713         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
71714         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
71715         Change width of U+E0100..U+E01EF from 1 to 0.
71716
71717 2003-04-25  Jim Meyering  <jim@meyering.net>
71718
71719         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
71720         of type size_t, not int.
71721
71722 2003-04-25  Bruno Haible  <bruno@clisp.org>
71723
71724         * lib/copy-file.c: Include <stddef.h>, for size_t.
71725
71726 2003-04-21  Paul Eggert  <eggert@twinsun.com>
71727
71728         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
71729         code which expansion is under static control.  Patch imported from
71730         Akim Demaille's patch to Bison; see
71731         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
71732
71733 2003-04-14  Bruno Haible  <bruno@clisp.org>
71734
71735         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
71736
71737 2003-04-11  Jim Meyering  <jim@meyering.net>
71738
71739         Merge changes from Coreutils.
71740
71741         2003-03-22  Jim Meyering  <jim@meyering.net>
71742
71743         * lib/strftime.c (widen): Cast alloca return value to proper type.
71744
71745         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
71746
71747         From GNU libc.
71748         * lib/strftime.c (my_strftime): Handle very large width
71749         specifications for numeric values correctly.  Improve checks for
71750         overflow.
71751
71752         2003-01-19  Jim Meyering  <jim@meyering.net>
71753
71754         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
71755         definitions.
71756         (nl_get_alt_digit) [! defined my_strftime]: Define.
71757         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
71758         _nl_get_alt_digit and _nl_get_walt_digit.
71759
71760         * lib/strftime.c (my_strftime): Merge in locale-related changes from
71761         libc. These changes have no effect outside of _LIBC.
71762
71763 2003-04-10  Bruno Haible  <bruno@clisp.org>
71764
71765         * modules/findprog: New file.
71766         * MODULES.html.sh (func_all_modules): Add it.
71767
71768 2003-04-10  Bruno Haible  <bruno@clisp.org>
71769
71770         * m4/findprog.m4: New file.
71771         * m4/eaccess.m4: New file.
71772
71773 2003-04-10  Bruno Haible  <bruno@clisp.org>
71774
71775         * lib/findprog.h: New file, from GNU gettext.
71776         * lib/findprog.c: New file, from GNU gettext.
71777
71778 2003-04-05  Jim Meyering  <jim@meyering.net>
71779
71780         Merge changes from Coreutils.
71781
71782         * lib/exclude.h (PARAMS): Remove definition and uses.
71783         * lib/exclude.c: Remove uses of `PARAMS'.
71784
71785         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
71786         Add test-cases for DOS filenames. Declare program_name.
71787         (main): Set up program_name.  Patch by Rich Dawe.
71788
71789         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
71790         error from mntctl.
71791         Use mntctl's return value to drive the entry-processing loop, since
71792         we can't rely on the value of the vmt_length member in the last
71793         entry.  On some systems doing so could result in exhausting
71794         virtual memory.  Based in part on a patch from Mike Jetzer.
71795
71796 2003-04-04  Bruno Haible  <bruno@clisp.org>
71797
71798         * modules/linebreak: New file.
71799         * MODULES.html.sh (func_all_modules): Add it.
71800
71801 2003-04-04  Bruno Haible  <bruno@clisp.org>
71802
71803         * m4/linebreak.m4: New file.
71804
71805 2003-04-04  Bruno Haible  <bruno@clisp.org>
71806
71807         * lib/linebreak.h: New file, from GNU gettext.
71808         * lib/linebreak.c: New file, from GNU gettext with slight
71809         modifications.
71810         * lib/lbrkprop.h: New file, from GNU gettext.
71811
71812 2003-04-03  Bruno Haible  <bruno@clisp.org>
71813
71814         * modules/utf8-ucs4: New file.
71815         * modules/utf16-ucs4: New file.
71816         * modules/ucs4-utf8: New file.
71817         * modules/ucs4-utf16: New file.
71818         * MODULES.html.sh (func_all_modules): Add them.
71819
71820 2003-04-03  Bruno Haible  <bruno@clisp.org>
71821
71822         * m4/utf-ucs4.m4: New file.
71823         * m4/ucs4-utf.m4: New file.
71824
71825 2003-04-03  Bruno Haible  <bruno@clisp.org>
71826
71827         * lib/utf8-ucs4.h: New file, from GNU gettext.
71828         * lib/utf16-ucs4.h: New file, from GNU gettext.
71829         * lib/ucs4-utf8.h: New file, from GNU gettext.
71830         * lib/ucs4-utf16.h: New file, from GNU gettext.
71831
71832 2003-04-02  Bruno Haible  <bruno@clisp.org>
71833
71834         * modules/binary-io: New file.
71835         * MODULES.html.sh (func_all_modules): Add it.
71836
71837 2003-04-02  Bruno Haible  <bruno@clisp.org>
71838
71839         * lib/binary-io.h: New file, from GNU gettext.
71840
71841 2003-04-01  Bruno Haible  <bruno@clisp.org>
71842
71843         * modules/pathname: New file.
71844         * MODULES.html.sh (func_all_modules): Add it.
71845
71846 2003-04-01  Bruno Haible  <bruno@clisp.org>
71847
71848         * lib/pathname.h: New file, from GNU gettext.
71849         * lib/concatpath.c: New file, from GNU gettext.
71850
71851 2003-03-30  Bruno Haible  <bruno@clisp.org>
71852
71853         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
71854
71855 2003-03-30  Bruno Haible  <bruno@clisp.org>
71856
71857         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
71858         function chown() doesn't exist.
71859
71860 2003-03-28  Bruno Haible  <bruno@clisp.org>
71861
71862         * modules/copy-file: New file.
71863         * MODULES.html.sh (func_all_modules): Add it.
71864
71865 2003-03-28  Bruno Haible  <bruno@clisp.org>
71866
71867         * m4/copy-file.m4: New file.
71868
71869 2003-03-28  Bruno Haible  <bruno@clisp.org>
71870
71871         * lib/copy-file.h: New file, from GNU gettext.
71872         * lib/copy-file.c: New file, from GNU gettext.
71873
71874 2003-03-18  Jim Meyering  <jim@meyering.net>
71875
71876         * lib/quote.c (quote_n): Fix typo in comment.
71877
71878 2003-03-18  Bruno Haible  <bruno@clisp.org>
71879
71880         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
71881         checking.
71882         * m4/onceonly_2_57.m4: Likewise.
71883
71884 2003-03-17  Bruno Haible  <bruno@clisp.org>
71885
71886         * m4/onceonly.m4: Require autoconf 2.54 or newer.
71887         (m4_quote): Remove macro.
71888         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
71889
71890 2003-03-14  Jim Meyering  <jim@meyering.net>
71891
71892         Merge changes from Coreutils.
71893         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
71894         to be const, in order to avoid warnings.
71895         (obstack_room): Likewise.
71896         (obstack_empty_p): Likewise.
71897
71898 2003-03-14  Bruno Haible  <bruno@clisp.org>
71899
71900         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
71901         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
71902
71903 2003-03-13  Paul Eggert  <eggert@twinsun.com>
71904
71905         Merge changes from Bison.
71906         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
71907         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
71908         when compiling Bison 1.875's `bitset bset = obstack_alloc
71909         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
71910         * lib/hash.c: Include <stdbool.h> unconditionally.
71911
71912 2003-03-13  Paul Eggert  <eggert@twinsun.com>
71913
71914         * m4/onceonly.m4 (m4_quote): New macro.
71915         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
71916         Quote AC_FOREACH variable-expansions properly.
71917
71918 2003-03-13  Paul Eggert  <eggert@twinsun.com>
71919
71920         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
71921
71922 2003-03-09  Paul Eggert  <eggert@twinsun.com>
71923
71924         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
71925         Reported by Bruce Becker; see:
71926         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
71927
71928 2003-03-03  Paul Eggert  <eggert@twinsun.com>
71929             Bruno Haible  <bruno@clisp.org>
71930
71931         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
71932         Reported by John Hughes, see
71933         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
71934
71935 2003-02-20  Bruno Haible  <bruno@clisp.org>
71936
71937         * MODULES.html.sh (func_all_modules): Add poll.
71938
71939 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
71940
71941         * modules/poll: New file.
71942
71943 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
71944
71945         * lib/poll_.h: New file.
71946         * lib/poll.c: New file.
71947
71948 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
71949
71950         * m4/poll.m4: New file.
71951
71952 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
71953
71954         * modules/mathl: New file.
71955
71956 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
71957
71958         * lib/mathl.h: New file.
71959         * lib/acosl.c: New file.
71960         * lib/asinl.c: New file.
71961         * lib/atanl.c: New file.
71962         * lib/ceill.c: New file.
71963         * lib/cosl.c: New file.
71964         * lib/expl.c: New file.
71965         * lib/floorl.c: New file.
71966         * lib/frexpl.c: New file.
71967         * lib/ldexpl.c: New file.
71968         * lib/logl.c: New file.
71969         * lib/sincosl.c: New file.
71970         * lib/sinl.c: New file.
71971         * lib/sqrtl.c: New file.
71972         * lib/tanl.c: New file.
71973         * lib/trigl.c: New file.
71974         * lib/trigl.h: New file.
71975
71976 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
71977
71978         * m4/mathl.m4: New file.
71979
71980 2003-02-18  Bruno Haible  <bruno@clisp.org>
71981
71982         * MODULES.html.sh (func_all_modules): Add mathl.
71983
71984 2003-02-17  Bruno Haible  <bruno@clisp.org>
71985
71986         * modules/mkdtemp: New module.
71987         * MODULES.html.sh (func_all_modules): Add it.
71988
71989 2003-02-17  Bruno Haible  <bruno@clisp.org>
71990
71991         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
71992
71993 2003-02-17  Bruno Haible  <bruno@clisp.org>
71994
71995         * lib/mkdtemp.h: New file, from GNU gettext.
71996         * lib/mkdtemp.c: New file, from GNU gettext.
71997
71998 2003-02-02  Jim Meyering  <jim@meyering.net>
71999
72000         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
72001         e.g. glibc-2.2.93.
72002
72003 2003-01-31  Bruno Haible  <bruno@clisp.org>
72004
72005         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
72006         'rpl_rename'.
72007         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
72008         'rpl_strnlen'.
72009         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
72010         'rpl_strtod'.
72011         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
72012         'rpl_utime'.
72013
72014 2003-01-31  Bruno Haible  <bruno@clisp.org>
72015
72016         * lib/rename.c: #undef rename before defining rpl_rename.
72017         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
72018
72019 2003-01-30  Bruno Haible  <bruno@clisp.org>
72020
72021         * modules/vasnprintf, modules/vasprintf: New modules.
72022         * MODULES.html.sh (func_all_modules): Add them.
72023
72024 2003-01-30  Bruno Haible  <bruno@clisp.org>
72025
72026         * m4/signed.m4: New file, from GNU gettext.
72027         * m4/longdouble.m4: New file, from GNU gettext.
72028         * m4/wchar_t.m4: New file, from GNU gettext.
72029         * m4/wint_t.m4: New file, from GNU gettext.
72030         * m4/vasnprintf.m4: New file.
72031         * m4/vasprintf.m4: New file.
72032
72033 2003-01-30  Bruno Haible  <bruno@clisp.org>
72034
72035         * lib/printf-args.h: New file, from GNU gettext.
72036         * lib/printf-args.c: New file, from GNU gettext.
72037         * lib/printf-parse.h: New file, from GNU gettext.
72038         * lib/printf-parse.c: New file, from GNU gettext.
72039         * lib/vasnprintf.h: New file, from GNU gettext.
72040         * lib/vasnprintf.c: New file, from GNU gettext.
72041         * lib/asnprintf.c: New file, from GNU gettext.
72042         * lib/vasprintf.h: New file, from GNU gettext with modifications.
72043         * lib/vasprintf.c: New file, from GNU gettext.
72044         * lib/asprintf.c: New file, from GNU gettext.
72045
72046 2003-01-29  Bruno Haible  <bruno@clisp.org>
72047
72048         * modules/stpncpy: New module.
72049         * MODULES.html.sh (func_all_modules): Add it.
72050
72051 2003-01-29  Bruno Haible  <bruno@clisp.org>
72052
72053         * m4/stpncpy.m4: New file.
72054
72055 2003-01-29  Bruno Haible  <bruno@clisp.org>
72056
72057         * lib/stpncpy.h: New file, from GNU gettext with modifications.
72058         * lib/stpncpy.c: New file, from GNU gettext with modifications.
72059
72060 2003-01-28  Bruno Haible  <bruno@clisp.org>
72061
72062         * modules/c-ctype: New module.
72063         * MODULES.html.sh (func_all_modules): Add it.
72064
72065 2003-01-28  Bruno Haible  <bruno@clisp.org>
72066
72067         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
72068         Paul Eggert.
72069         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
72070         Paul Eggert.
72071
72072 2003-01-27  Bruno Haible  <bruno@clisp.org>
72073
72074         * modules/xsetenv: New module.
72075         * MODULES.html.sh (func_all_modules): Add it.
72076
72077 2003-01-27  Bruno Haible  <bruno@clisp.org>
72078
72079         * lib/xsetenv.h: New file, from GNU gettext.
72080         * lib/xsetenv.c: New file, from GNU gettext.
72081
72082 2003-01-23  Jim Meyering  <jim@meyering.net>
72083
72084         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
72085         from working on systems without dirfd (at least Irix and OSF1/Tru64).
72086
72087 2003-01-23  Bruno Haible  <bruno@clisp.org>
72088
72089         * modules/minmax: New module.
72090         * MODULES.html.sh (func_all_modules): Add it.
72091
72092 2003-01-23  Bruno Haible  <bruno@clisp.org>
72093
72094         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
72095         Eggert.
72096
72097 2003-01-22  Bruno Haible  <bruno@clisp.org>
72098
72099         * modules/exit: New module.
72100         * MODULES.html.sh (func_all_modules): Add it.
72101
72102 2003-01-22  Bruno Haible  <bruno@clisp.org>
72103
72104         * lib/exit.h: New file, from GNU gettext.
72105
72106 2003-01-19  Bruno Haible  <bruno@clisp.org>
72107
72108         * gnulib-tool: Recognize option --extract-maintainer.
72109         (func_get_maintainer): New function.
72110         * modules/*: Add Maintainer entry.
72111
72112 2003-01-16  Jim Meyering  <jim@meyering.net>
72113
72114         * m4/regex.m4: The `regex' struct is both input and output.
72115         Initialize it before each use.  Patch by Tim Waugh.
72116
72117 2003-01-16  Bruno Haible  <bruno@clisp.org>
72118
72119         * MODULES.html.sh: Add a table of contents. Add the module name as
72120         leftmost column. Add hyperlinks.
72121
72122 2003-01-15  Bruno Haible  <bruno@clisp.org>
72123
72124         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
72125
72126 2003-01-15  Bruno Haible  <bruno@clisp.org>
72127
72128         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
72129         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
72130         suffix.
72131
72132 2003-01-15  Bruno Haible  <bruno@clisp.org>
72133
72134         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
72135
72136 2003-01-15  Bruno Haible  <bruno@clisp.org>
72137
72138         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
72139         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
72140
72141 2003-01-14  Jim Meyering  <jim@meyering.net>
72142
72143         * lib/same.c (same_name): Tweak a comment.
72144
72145 2003-01-14  Bruno Haible  <bruno@clisp.org>
72146
72147         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
72148         when a string comparison is sufficient.
72149
72150 2003-01-14  Bruno Haible  <bruno@clisp.org>
72151
72152         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
72153         'unsigned int'.
72154
72155 2003-01-14  Bruno Haible  <bruno@clisp.org>
72156
72157         * lib/hash-pjw.c: Add comment about low quality of this function.
72158
72159 2003-01-13  Bruno Haible  <bruno@clisp.org>
72160
72161         * modules/stpcpy: Distribute lib/stpcpy.h.
72162         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
72163
72164 2003-01-13  Bruno Haible  <bruno@clisp.org>
72165
72166         * modules/*: Add a description.
72167         * modules/strpbrk: Fix Makefile.am snippet.
72168         * modules/strtoimax: Fix dependencies.
72169         * modules/strtoumax: Likewise.
72170
72171 2003-01-13  Bruno Haible  <bruno@clisp.org>
72172
72173         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
72174         * modules/alloca (Makefile.am): All object files depend on alloca.h.
72175         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
72176
72177 2003-01-13  Bruno Haible  <bruno@clisp.org>
72178
72179         * gnulib-tool (func_create_testdir): Store config/* files in the main
72180         directory.
72181         * config.rpath: Move to ...
72182         * config/config.rpath: ... here.
72183         * modules/gettext: Contains config/config.rpath, not config.rpath.
72184         * modules/iconv: Likewise.
72185
72186 2003-01-12  Paul Eggert  <eggert@twinsun.com>
72187
72188         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
72189         to avoid collisions with libcurses and libreadline.
72190
72191         * m4/getstr.m4: Remove.
72192         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
72193
72194 2003-01-12  Paul Eggert  <eggert@twinsun.com>
72195
72196         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
72197         to avoid collisions with libcurses and libreadline.
72198
72199         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
72200         * lib/getstr.h, getstr.c: Remove.
72201         * lib/getline.c: Include "getline.h", to check interface.
72202         Move body of old getstr.c here: this defines MIN_CHUNK and
72203         declares getdelim2, which is renamed from getstr.
72204         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
72205
72206         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
72207         All uses changed.
72208         * lib/linebuffer.h: Likewise.
72209         (readline): Remove backward-compatibility macro.
72210
72211 2003-01-12  Paul Eggert  <eggert@twinsun.com>
72212
72213         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
72214         to avoid collisions with libcurses and libreadline.
72215         * getstr: Remove.
72216         * MODULES.html.sh: Remove getstr.
72217         * modules/getline: Depend on unlocked-io, not getstr.
72218
72219 2003-01-12  Jim Meyering  <jim@meyering.net>
72220
72221         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
72222
72223 2003-01-10  Bruno Haible  <bruno@clisp.org>
72224
72225         * modules/alloca: Change Makefile.am requirements. Simplify Include
72226         requirements. Add lib/alloca_.h to file list.
72227
72228 2003-01-10  Bruno Haible  <bruno@clisp.org>
72229
72230         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
72231
72232 2003-01-10  Bruno Haible  <bruno@clisp.org>
72233
72234         * lib/alloca_.h: New file.
72235         * lib/getdate.y: Unconditionally include alloca.h.
72236         * lib/makepath.c: Likewise.
72237         * lib/setenv.c: Likewise.
72238         * lib/userspec.c: Likewise.
72239
72240 2003-01-09  Karl Berry  <karl@gnu.org>
72241
72242         * MODULES.html.sh: include `dirname $0` in PATH, to find
72243         gnulib-tool.
72244
72245 2003-01-09  Bruno Haible  <bruno@clisp.org>
72246
72247         * modules/stdbool: Change configure.ac, Makefile.am requirements.
72248         Simplify Include requirements. Add lib/stdbool.h.in to file list.
72249
72250 2003-01-09  Bruno Haible  <bruno@clisp.org>
72251
72252         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
72253
72254 2003-01-09  Bruno Haible  <bruno@clisp.org>
72255
72256         * lib/stdbool.h.in: New file.
72257
72258 2003-01-09  Bruno Haible  <bruno@clisp.org>
72259
72260         * gnulib-tool (func_all_modules): Ignore files ending in ~.
72261         * MODULES.html.sh: Likewise.
72262
72263 2003-01-08  Jim Meyering  <jim@meyering.net>
72264
72265         * lib/full-write.c: Undefine and define-away `const' after inclusion
72266         of errno.h, not before.  Suggestion from Bruno Haible.
72267
72268 2003-01-08  Bruno Haible  <bruno@clisp.org>
72269
72270         * modules/full-read: Depend on full-write.
72271
72272 2003-01-08  Bruno Haible  <bruno@clisp.org>
72273
72274         * lib/safe-read.c: Include specification header first, to ensure its
72275         selfcontainedness.
72276         * lib/full-write.c: Likewise.
72277
72278 2003-01-07  Jim Meyering  <jim@meyering.net>
72279
72280         * lib/full-write.c: Rework so that it may serve to define full_read,
72281         too.
72282         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
72283
72284 2003-01-07  Bruno Haible  <bruno@clisp.org>
72285
72286         * lib/strtoimax.c: Include <stdint.h> as an alternative to
72287         <inttypes.h>.
72288         * lib/xstrtol.h: Likewise.
72289         * lib/xstrtoimax.c: Likewise.
72290         * lib/xstrtoumax.c: Likewise.
72291         * lib/human.h: Likewise.
72292
72293         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
72294         on systems that have <inttypes.h> but not <stdint.h>.
72295
72296 2003-01-07  Bruno Haible  <bruno@clisp.org>
72297
72298         * MODULES.html.sh: Add copyright notice.
72299         (missed_files): Omit CVS directory entries.
72300         (func_module): Make it work with sed-3.02.
72301         * MODULES.txt: Remove file.
72302
72303 2003-01-06  Jim Meyering  <jim@meyering.net>
72304
72305         * lib/version-etc.c: Update year in translatable copyright string.
72306
72307 2003-01-03  Karl Berry  <karl@gnu.org>
72308
72309         * config/config.{guess,sub}: update from prep.
72310
72311 2003-01-02  Karl Berry  <karl@gnu.org>
72312
72313         * doc/COPYING.DOC: belatedly updated to 1.2.
72314
72315 2003-01-01  Karl Berry  <karl@gnu.org>
72316
72317         * gnulib-tool (func_verify_module): report module name $module in
72318         error message, not $1.
72319         * gnulib-tool (create-testdir): don't complain if destdir couldn't
72320         be created, only if it doesn't exist.
72321         * gnulib-tool (last_checkin_date): don't expand the $Date here.
72322
72323 2002-12-31  Paul Eggert  <eggert@twinsun.com>
72324
72325         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
72326
72327 2002-12-31  Paul Eggert  <eggert@twinsun.com>
72328
72329         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
72330         memcmp if strcoll doesn't work.
72331
72332 2002-12-31  Bruno Haible  <bruno@clisp.org>
72333
72334         * lib/utime.c (utime_null): No need to call ftruncate if the file was
72335         nonempty.
72336
72337 2002-12-31  Bruno Haible  <bruno@clisp.org>
72338
72339         * lib/memcoll.c (STRCOLL): New macro.
72340         (memcoll): Use it.
72341
72342 2002-12-31  Bruno Haible  <bruno@clisp.org>
72343
72344         * lib/localcharset.h: New file.
72345         * lib/localcharset.c: Include it.
72346         * lib/unicodeio.c: Likewise.
72347
72348 2002-12-31  Bruno Haible  <bruno@clisp.org>
72349
72350         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
72351         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
72352
72353 2002-12-31  Bruno Haible  <bruno@clisp.org>
72354
72355         * lib/getline.h: Include <stddef.h>, for size_t.
72356
72357         * lib/unicodeio.h: Include <stddef.h>, for size_t.
72358         * lib/unicodeio.c: Don't include <stddef.h>.
72359
72360 2002-12-31  Bruno Haible  <bruno@clisp.org>
72361
72362         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
72363         HAVE_TM_ZONE.
72364
72365 2002-12-24  Karl Berry  <karl@gnu.org>
72366
72367         * config/config.guess: update from prep.
72368
72369 2002-12-24  Bruno Haible  <bruno@clisp.org>
72370
72371         General infrasructure.
72372         * m4/README: Rewritten.
72373         * m4/onceonly.m4: New file.
72374         * m4/onceonly_2_57.m4: New file.
72375
72376         Module atexit.
72377         * m4/atexit.m4: New file.
72378
72379         Module strtod.
72380         * m4/strtod.m4: New file.
72381
72382         Module strtol.
72383         * m4/strtol.m4: New file.
72384
72385         Module strtoul.
72386         * m4/strtoul.m4: New file.
72387
72388         Module memchr.
72389         * m4/memchr.m4: New file.
72390
72391         Module memcmp.
72392         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
72393         (jm_FUNC_MEMCMP): Invoke it.
72394
72395         Module memcpy.
72396         * m4/memcpy.m4: New file.
72397
72398         Module memmove.
72399         * m4/memmove.m4: New file.
72400
72401         Module memset.
72402         * m4/memset.m4: New file.
72403
72404         Module strcspn.
72405         * m4/strcspn.m4: New file.
72406
72407         Module strpbrk.
72408         * m4/strpbrk.m4: New file.
72409
72410         Module strstr.
72411         * m4/strstr.m4: New file.
72412
72413         Module strerror.
72414         * m4/strerror.m4: New file.
72415
72416         Module mktime.
72417         * m4/mktime.m4: Renamed from jm-mktime.m4.
72418         (gl_PREREQ_MKTIME): New macro.
72419         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
72420
72421         Module malloc.
72422         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
72423         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
72424         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
72425
72426         Module realloc.
72427         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
72428         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
72429         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
72430
72431         Module strftime.
72432         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
72433         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
72434         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
72435         gl_TM_GMTOFF.
72436         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
72437
72438         Module xalloc.
72439         * m4/xalloc.m4: New file.
72440
72441         Module alloca.
72442         * m4/alloca.m4: New file.
72443
72444         Module putenv.
72445         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
72446         (jm_FUNC_PUTENV): Invoke it.
72447
72448         Module setenv.
72449         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
72450         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
72451         when invoked twice.
72452         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
72453         gt_FUNC_SETENV.
72454
72455         Module memrchr.
72456         * m4/memrchr.m4: New file.
72457
72458         Module stpcpy.
72459         * m4/stpcpy.m4: New file.
72460
72461         Module strcase.
72462         * m4/strcase.m4: New file.
72463
72464         Module strdup.
72465         * m4/strdup.m4: New file.
72466
72467         Module strnlen.
72468         * m4/strnlen.m4: New file.
72469
72470         Module strndup.
72471         * m4/strndup.m4: New file.
72472
72473         Module xstrtod.
72474         * m4/xstrtod.m4: New file.
72475
72476         Module xstrtol.
72477         * m4/xstrtol.m4: New file.
72478
72479         Module getdate.
72480         * m4/getdate.m4: New file.
72481
72482         Module unlocked-io.
72483         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
72484         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
72485         * m4/jm-glibc-io.m4n: Remove file.
72486
72487         Module long-options.
72488         * m4/long-options.m4: New file.
72489
72490         Module md5.
72491         * m4/md5.m4: New file.
72492
72493         Module sha.
72494         * m4/sha.m4: New file.
72495
72496         Module getstr.
72497         * m4/getstr.m4: New file.
72498
72499         Module getline.
72500         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
72501         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
72502         <sys/types.h>, for size_t. Use the function name gnu_getline, not
72503         simply getline. Infoke gl_PREREQ_GETLINE.
72504
72505         Module obstack.
72506         * m4/obstack.m4: New file.
72507
72508         Module hash.
72509         * m4/hash.m4: New file.
72510
72511         Module readtokens.
72512         * m4/readtokens.m4: New file.
72513
72514         Module strverscmp.
72515         * m4/strverscmp.m4: New file.
72516
72517         Module stdbool.
72518         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
72519         OSF/1.
72520
72521         Module strtoll.
72522         * m4/strtoll.m4: New file.
72523
72524         Module strtoull.
72525         * m4/strtoull.m4: New file.
72526
72527         Module strtoimax.
72528         * m4/strtoimax.m4: New file.
72529
72530         Module strtoumax.
72531         * m4/strtoumax.m4: New file.
72532
72533         Module xstrtoimax.
72534         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
72535         jm_AC_PREREQ_XSTRTOIMAX.
72536         Moved the strtol prerequisites to strtol.m4.
72537         Moved the strtoll prerequisites to strtoll.m4.
72538         Moved the strtoimax prerequisites to strtoimax.m4.
72539
72540         Module xstrtoumax.
72541         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
72542         jm_AC_PREREQ_XSTRTOUMAX.
72543         Moved the strtoul prerequisites to strtoul.m4.
72544         Moved the strtoull prerequisites to strtoull.m4.
72545         Moved the strtoumax prerequisites to strtoumax.m4.
72546
72547         Module chown.
72548         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
72549         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
72550
72551         Module dup2.
72552         * m4/dup2.m4: New file.
72553
72554         Module ftruncate.
72555         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
72556         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
72557
72558         Module getgroups.
72559         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
72560         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
72561
72562         Module gettimeofday.
72563         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
72564         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
72565         gl_PREREQ_GETTIMEOFDAY.
72566
72567         Module mkdir.
72568         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
72569         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
72570
72571         Module mkstemp.
72572         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
72573         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
72574         jm_AC_TYPE_UINTMAX_T.
72575         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
72576
72577         Module stat.
72578         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
72579         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
72580
72581         Module lstat.
72582         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
72583         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
72584
72585         Module timespec.
72586         * m4/timespec.m4 (gl_TIMESPEC): New macro.
72587         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
72588         * m4/st_mtim.m4: Indentation.
72589
72590         Module nanosleep.
72591         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
72592         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
72593         gl_PREREQ_NANOSLEEP.
72594
72595         Module regex.
72596         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
72597         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
72598         (gl_REGEX): New macro.
72599
72600         Module rename.
72601         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
72602         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
72603
72604         Module rmdir.
72605         * m4/rmdir.m4: New file.
72606
72607         Module utime.
72608         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
72609         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
72610         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
72611
72612         Module dirname.
72613         * m4/dirname.m4: New file.
72614
72615         Module getopt.
72616         * m4/getopt.m4: New file.
72617
72618         Module unistd-safer.
72619         * m4/unistd-safer.m4: New file.
72620
72621         Module fnmatch.
72622         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
72623         declaration.
72624         (gl_PREREQ_FNMATCH_EXTRA): New macro.
72625         (gl_FUNC_FNMATCH_POSIX): New macro.
72626         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
72627         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
72628         simply fnmatch.
72629
72630         Module exclude.
72631         * m4/exclude.m4: New file.
72632
72633         Module human.
72634         * m4/human.m4: New file.
72635
72636         Module acl.
72637         * m4/acl.m4: Nop.
72638
72639         Module backupfile.
72640         * m4/backupfile.m4: New file.
72641         * m4/d-ino.m4: Indentation.
72642
72643         Module fsusage.
72644         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
72645         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
72646         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
72647
72648         Module dirfd.
72649         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
72650         requirements.
72651
72652         Module euidaccess.
72653         * m4/euidaccess.m4: New file.
72654
72655         Module file-type.
72656         * m4/file-type.m4: New file.
72657
72658         Module fileblocks.
72659         * m4/fileblocks.m4: New file.
72660
72661         Module filemode.
72662         * m4/filemode.m4: New file.
72663
72664         Module isdir.
72665         * m4/isdir.m4: New file.
72666
72667         Module lchown.
72668         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
72669         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
72670
72671         Module makepath.
72672         * m4/makepath.m4: New file.
72673
72674         Module modechange.
72675         * m4/modechange.m4: New file.
72676
72677         Module mountlist.
72678         * m4/mountlist.m4: New file.
72679         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
72680         Indentation.
72681
72682         Module path-concat.
72683         * m4/path-concat.m4: New file.
72684
72685         Module pathmax.
72686         * m4/pathmax.m4: New file.
72687
72688         Module same.
72689         * m4/same.m4: New file.
72690
72691         Module save-cwd.
72692         * m4/save-cwd.m4: New file.
72693
72694         Module savedir.
72695         * m4/savedir.m4: New file.
72696
72697         Module xgetcwd.
72698         * m4/xgetcwd.m4: New file.
72699         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
72700
72701         Module xreadlink.
72702         * m4/xreadlink.m4: New file.
72703
72704         Module safe-read.
72705         * m4/safe-read.m4: New file.
72706
72707         Module safe-write.
72708         * m4/safe-write.m4: New file.
72709
72710         Module closeout.
72711         * m4/closeout.m4: New file.
72712
72713         Module stdio-safer.
72714         * m4/stdio-safer.m4: New file.
72715
72716         Module getpass.
72717         * m4/getpass.m4: New file.
72718
72719         Module getugroups.
72720         * m4/getugroups.m4: New file.
72721
72722         Module group-member.
72723         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
72724         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
72725
72726         Module idcache.
72727         * m4/idcache.m4: New file.
72728
72729         Module userspec.
72730         * m4/userspec.m4: New file.
72731
72732         Module gettime.
72733         * m4/clock_time.m4: New file.
72734         * m4/gettime.m4: New file.
72735
72736         Module settime.
72737         * m4/settime.m4: New file.
72738
72739         Module posixtm.
72740         * m4/posixtm.m4: New file.
72741
72742         Module gethostname.
72743         * m4/gethostname.m4: New file.
72744
72745         Module canon-host.
72746         * m4/canon-host.m4: New file.
72747
72748         Module gettext.
72749         * m4/codeset.m4: New file, from gettext-0.11.5.
72750         * m4/gettext.m4: New file, from gettext-0.11.5.
72751         * m4/glibc21.m4: New file, from gettext-0.11.5.
72752         * m4/iconv.m4: New file, from gettext-0.11.5.
72753         * m4/intdiv0.m4: New file, from gettext-0.11.5.
72754         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
72755         * m4/inttypes.m4: New file, from gettext-0.11.5.
72756         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
72757         * m4/isc-posix.m4: New file, from gettext-0.11.5.
72758         * m4/lcmessage.m4: New file, from gettext-0.11.5.
72759         * m4/lib-ld.m4: New file, from gettext-0.11.5.
72760         * m4/lib-link.m4: New file, from gettext-0.11.5.
72761         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
72762         * m4/progtest.m4: New file, from gettext-0.11.5.
72763         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
72764         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
72765         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
72766
72767         Module localcharset.
72768         * m4/localcharset.m4: New file.
72769
72770         Module hard-locale.
72771         * m4/hard-locale.m4: New file.
72772
72773         Module mbswidth.
72774         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
72775         onceonly macros.
72776         * m4/mbrtowc.m4: Add comment.
72777
72778         Module memcasecmp.
72779         * m4/memcasecmp.m4: New file.
72780
72781         Module memcoll.
72782         * m4/memcoll.m4: New file.
72783
72784         Module unicodeio.
72785         * m4/unicodeio.m4: New file.
72786
72787         Module rpmatch.
72788         * m4/rpmatch.m4: New file.
72789
72790         Module yesno.
72791         * m4/yesno.m4: New file.
72792
72793         Module exitfail.
72794         * m4/exitfail.m4: New file.
72795
72796         Module c-stack.
72797         * m4/c-stack.m4 (gl_C_STACK): New macro.
72798         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
72799
72800         Module error.
72801         * m4/error.m4 (gl_ERROR): New macro.
72802         (jm_PREREQ_ERROR): Use onceonly macros.
72803
72804         Module fatal.
72805         * m4/fatal.m4: New file.
72806
72807         Module getloadavg.
72808         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
72809         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
72810
72811         Module getpagesize.
72812         * m4/getpagesize.m4: New file.
72813
72814         Module getusershell.
72815         * m4/getusershell.m4: New file.
72816
72817         Module physmem.
72818         * m4/physmem.m4: New file.
72819
72820         Module posixver.
72821         * m4/posixver.m4: New file.
72822
72823         Module quotearg.
72824         * m4/quotearg.m4: New file.
72825
72826         Module quote.
72827         * m4/quote.m4: New file.
72828
72829         Module readutmp.
72830         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
72831
72832         Module sig2str.
72833         * m4/sig2str.m4: New file.
72834
72835         Other.
72836         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
72837         ulonglong.m4.
72838         * m4/intmax_t.m4: New file.
72839         * m4/d-type.m4: Indentation.
72840         * m4/jm-macros.m4: Update.
72841         * m4/prereq.m4 (jm_PREREQ): Update.
72842         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
72843         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
72844         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
72845         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
72846         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
72847         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
72848         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
72849         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
72850         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
72851         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
72852         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
72853         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
72854         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
72855         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
72856         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
72857         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
72858         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
72859         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
72860         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
72861
72862 2002-12-24  Bruno Haible  <bruno@clisp.org>
72863
72864         * MODULES.txt: Update according to m4/ changes.
72865
72866         Module gettext.
72867         * config.rpath: New file, from gettext-0.11.5.
72868
72869         * modules/*: New module descriptions.
72870         * gnulib-tool: New file.
72871         * MODULES.html.sh: New file.
72872
72873 2002-12-21  Karl Berry  <karl@gnu.org>
72874
72875         * doc/fdl.texi: update to version 1.2.
72876
72877 2002-12-19  Karl Berry  <karl@gnu.org>
72878
72879         * config/config.guess: update from prep.
72880
72881 2002-12-18  Bruno Haible  <bruno@clisp.org>
72882
72883         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
72884         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
72885
72886 2002-12-17  Bruno Haible  <bruno@clisp.org>
72887
72888         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
72889         stdlib.h, string.h.
72890
72891 2002-12-17  Bruno Haible  <bruno@clisp.org>
72892
72893         * lib/canon-host.c (strdup): Remove unused declaration.
72894
72895         * lib/fsusage.c: Include full_read.h.
72896         (get_fs_usage): Use full_read instead of safe_read.
72897
72898         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
72899
72900 2002-12-12  Karl Berry  <karl@gnu.org>
72901
72902         * config/config.guess: update from prep.
72903
72904 2002-12-11  Bruno Haible  <bruno@clisp.org>
72905
72906         * m4/setenv.m4: New file, from gettext-0.11.5.
72907
72908 2002-12-11  Bruno Haible  <bruno@clisp.org>
72909
72910         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
72911         not unsetenv().
72912         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
72913         modifications:
72914
72915         2002-12-11  Bruno Haible  <bruno@clisp.org>
72916
72917                 * setenv.c (alloca): Fall back to malloc.
72918                 (freea): New macro.
72919                 (setenv): Use freea() to free memory allocated with alloca().
72920
72921         2002-11-13  Bruno Haible  <bruno@clisp.org>
72922
72923                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
72924                 function declarations.
72925                 * unsetenv.c (unsetenv): Likewise.
72926
72927         2002-03-04  Bruno Haible  <bruno@clisp.org>
72928
72929                 Portability to AIX 4.3.3.
72930                 * unsetenv.c: New file, extracted from setenv.c.
72931                 * setenv.c: Move the unsetenv() function to unsetenv.c.
72932
72933         2001-12-20  Bruno Haible  <bruno@clisp.org>
72934
72935                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
72936                 use malloc instead. For SunOS 4.
72937
72938         2001-12-11  Bruno Haible  <bruno@clisp.org>
72939
72940                 * setenv.c: Declare alloca.
72941                 (compar_fn_t): New typedef.
72942                 (KNOWN_VALUE, STORE_VALUE): Use it.
72943
72944         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
72945         setenv.h.
72946
72947 2002-12-10  Paul Eggert  <eggert@twinsun.com>
72948
72949         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
72950         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
72951         Choose values that are less likely to collide with system fnmatch
72952         options.
72953         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
72954         defined (e.g., a pure POSIX system).
72955         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
72956         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
72957
72958 2002-12-06  Paul Eggert  <eggert@twinsun.com>
72959
72960         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
72961         a pain in practice to deal with generated m4 files.  This change
72962         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
72963
72964         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
72965         and jm-glibc-io.m4, as they are no longer a special case.
72966         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
72967         kludge and the auto-generation stuff.  Check only whether the
72968         functions are declared, not whether they exist, since older hosts
72969         that don't declare the functions can't use the optimization anyway.
72970
72971 2002-12-06  Jim Meyering  <jim@meyering.net>
72972
72973         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
72974
72975         Merge in changes from libc's misc/error.c, in preparation
72976         for the merge of gnulib's changes back into libc.
72977
72978         * lib/error.c (_): Define only if not already defined.
72979         Move definition to follow all #include directives.
72980         Include unlocked-io.h only if !_LIBC.
72981         [_LIBC]: Include <libio/libioP.h>.
72982         [USE_IN_LIBIO]: Include <libio/iolibio.h>
72983         (fflush): Tweak definition to use INTUSE.
72984         (putc): Define.
72985
72986 2002-12-05  Paul Eggert  <eggert@twinsun.com>
72987
72988         * lib/alloca.c [defined emacs]: Include "lisp.h".
72989         (xalloc_die) [defined emacs]: New macro.
72990         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
72991         [! defined emacs]: Include <xalloc.h>.
72992         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
72993         (pointer): Typedef to POINTER_TYPE *.
72994         (malloc): Remove decl; we now always use xmalloc.
72995         (alloca): Use old-style definition, since Emacs needs this.
72996         Check for arithmetic overflow when computing combined size.
72997
72998 2002-12-04  Paul Eggert  <eggert@twinsun.com>
72999
73000         Do not generate unlocked-io.h automatically, since it's easier to
73001         maintain it by hand.
73002
73003         * lib/unlocked-io.h: New file, from GNU diffutils,
73004         but with proper copyright notice and attribution.
73005         * lib/gen-uio: Remove.
73006         * lib/Makefile.am: Add copyright notice.
73007         (libfetish_a_SOURCES): Add unlocked-io.h.
73008         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
73009         (DISTCLEANFILES, io_functions): Remove macros.
73010         (EXTRA_DIST): Remove gen_uio.
73011         (unlocked-io.h): Remove rule.
73012
73013 2002-12-04  Jim Meyering  <jim@meyering.net>
73014
73015         Reflect the fact that stat.c and lstat.c are no longer generated.
73016         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
73017         (DISTCLEANFILES): Likewise.
73018         (EXTRA_DIST): Likewise.
73019         (all_local): Don't depend on stat.c or lstat.c.
73020         (stat.c, lstat.c): Remove rules.
73021         (EXTRA_DIST): Remove xstat.in.
73022
73023         * lib/xstat.in: Remove file.  Contents moved into stat.c.
73024         * lib/stat.c: New file.  Contents mostly from xstat.in.
73025         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
73026         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
73027
73028         * lib/safe-read.c: Rework so that it may serve to define safe_write,
73029         too.
73030         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
73031
73032 2002-12-03  Jim Meyering  <jim@meyering.net>
73033
73034         * lib/safe-read.c, safe-write.c: Change variable names and comments,
73035         but not semantics, to minimize the differences between these two files.
73036         (safe_read): Change comment to mention SAFE_READ_ERROR.
73037
73038         * lib/safe-read.c (IS_EINTR): Define.
73039         (safe_read): Use IS_EINTR in place of in-function cpp directives.
73040
73041 2002-12-02  Jim Meyering  <jim@meyering.net>
73042
73043         * lib/safe-read.c (EINTR): Define.
73044         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
73045         (INT_MAX): Provide fallback.
73046         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
73047
73048         * lib/safe-read.h (SAFE_READ_ERROR): Define.
73049
73050 2002-12-02  Bruno Haible  <bruno@clisp.org>
73051
73052         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
73053         Define, taken from safe-read.c.
73054         (INT_MAX): Provide fallback.
73055         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
73056         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
73057
73058         * lib/safe-read.c (EINTR): Remove definition.
73059         (safe_read): Don't use EINTR if it is absent.
73060
73061 2002-12-01  Jim Meyering  <jim@meyering.net>
73062
73063         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
73064         zero.
73065         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
73066
73067 2002-11-27  Paul Eggert  <eggert@twinsun.com>
73068
73069         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
73070         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
73071         with `if (! (value < limit)) abort ();', for readability.
73072
73073 2002-11-26  Karl Berry  <karl@gnu.org>
73074
73075         * lib/strdup.c: copy from libc again, with jim's ok.
73076         * lib/.cppi-disable: re-add strdup.c
73077
73078 2002-11-25  Karl Berry  <karl@gnu.org>
73079
73080         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
73081         instead of "strtol.c".
73082
73083 2002-11-25  Karl Berry  <karl@gnu.org>
73084
73085         * config/install-sh: update from automake for variable quoting, $0 in
73086         error msgs, etc.
73087
73088         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
73089         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
73090         entry.
73091
73092 2002-11-25  Jim Meyering  <jim@meyering.net>
73093
73094         * lib/mktime.c: Sync from libc, now that it has the latest fix.
73095
73096 2002-11-24  Karl Berry  <karl@gnu.org>
73097
73098         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
73099         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
73100
73101 2002-11-24  Jim Meyering  <jim@meyering.net>
73102
73103         Update from coreutils:
73104
73105         * lib/mktime.c: Merge in changes from libc.
73106
73107         Avoid a link-time failure on some Linux systems.
73108         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
73109         (otherwise).
73110         (__mon_yday): Declare with the STATIC attribute.
73111         (__mktime_internal): Likewise.
73112         Based on a report from Greg Schafer.
73113
73114 2002-11-23  Jim Meyering  <jim@meyering.net>
73115
73116         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
73117         Use `unsigned', not `int', as type of index.
73118
73119         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
73120
73121         * lib/fsusage.c: Remove unneeded parentheses around operands of
73122         `defined'.
73123
73124 2002-11-22  Paul Eggert  <eggert@twinsun.com>
73125
73126         * lib/quotearg.h: Allow multiple inclusion by surrounding with
73127         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
73128         so that we can be included first.
73129         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
73130         * lib/quotearg.c: Include quotearg.h immediately after config.h.
73131         No need to include stddef.h or sys/types.h any more.
73132         Surround local include files with "", not "<>".
73133         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
73134         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
73135         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
73136         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
73137         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
73138         (ISPRINT): Remove; no longer needed now that we assume C89.
73139
73140         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
73141         Preserve errno.
73142
73143         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
73144         quotearg_char): Use SIZE_MAX rather than
73145         (size_t) -1 when we are talking about "infinity".
73146
73147         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
73148
73149 2002-11-22  Paul Eggert  <eggert@twinsun.com>
73150
73151         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
73152         hint that one should use `if (! x) abort ();' rather than `assert
73153         (x);', and anyway it's one less thing to worry about configuring.
73154         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
73155         hash_rehash, hash_insert): Use abort rather than assert.
73156
73157 2002-11-22  Bruno Haible  <bruno@clisp.org>
73158
73159         * lib/safe-read.h: Assume C89. Add comments.
73160         (safe_read): Change return type to size_t.
73161         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
73162         byte counts > SSIZE_MAX correctly.
73163         * lib/safe-write.h: New file.
73164         * lib/safe-write.c: New file.
73165         * lib/full-read.h: New file.
73166         * lib/full-read.c: New file.
73167         * lib/full-write.h: Assume C89. Add comments.
73168         * lib/full-write.c: Include safe-write.h.
73169         (full_write): Rewritten to use safe_write.
73170         Suggested by Jim Meyering and Paul Eggert.
73171
73172 2002-11-21  Jim Meyering  <jim@meyering.net>
73173
73174         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
73175
73176         Merge in changes from the coreutils.
73177
73178         2002-09-25  Paul Eggert  <eggert@twinsun.com>
73179         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
73180         <stdint.h>.
73181         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
73182         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
73183         int.  Work more efficiently if X is the same width as uintmax_t.
73184         Do not compare X to -1, to avoid bogus compiler warning.
73185         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
73186         Don't assume that f_frsize and f_bsize are the same type.
73187
73188         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
73189         warning on FreeBSD.
73190
73191         * lib/makepath.c (make_path): Restore umask *before* creating the final
73192         component.
73193         (make_path): Minor reformatting.
73194
73195         * lib/xmalloc.c: Adjust to work with new autoconf macros,
73196         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
73197         HAVE_MALLOC/HAVE_REALLOC.
73198
73199         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
73200         dummy ones.  At least on GNU/Linux systems, `auto' means something
73201         else.
73202         From Michael Stone.
73203
73204 2002-11-21  Bruno Haible  <bruno@clisp.org>
73205
73206         Remove case insensitive option matching.
73207         * lib/argmatch.h (argcasematch): Remove declaration.
73208         (ARGCASEMATCH): Remove macro.
73209         (__xargmatch_internal): Remove case_sensitive argument.
73210         (XARGMATCH): Update.
73211         (XARGCASEMATCH): Remove macro.
73212         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
73213         case_sensitive argument.
73214         (argcasematch): Remove function.
73215         (__xargmatch_internal): Remove case_sensitive argument.
73216         (main): Use XARGMATCH instead of XARGCASEMATCH.
73217
73218         * lib/xmalloc.c: Change compile-time error message. Add comment about
73219         required autoconf version.
73220
73221 2002-11-20  Paul Eggert  <eggert@twinsun.com>
73222
73223         Merge argmatch cleanups from Bison.  Assume C89.
73224
73225         * lib/argmatch.c: Include config.h here, not in argmatch.h.
73226         Include stdlib.h, for EXIT_FAILURE.
73227         Always include <string.h>, since we assume C89.
73228         (EXIT_FAILURE): Remove pre-C89 bug workaround.
73229         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
73230         Include <stddef.h> instead, since it's all we need for size_t.
73231         (PARAMS): Remove.  All uses removed.
73232         (ARRAY_CARDINALITY): Do not bother to #undef.
73233         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
73234         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
73235         Remove unnecessary parentheses.
73236         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
73237         Insert necessary parentheses.
73238         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
73239         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
73240
73241 2002-11-19  Bruno Haible  <bruno@clisp.org>
73242
73243         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
73244         * lib/mbswidth.h: Include <stddef.h>, for size_t.
73245
73246         * lib/mbswidth.h (PARAMS): Remove macro.
73247         (mbswidth, mbsnwidth): Use ANSI C function declarations.
73248         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
73249
73250         * lib/gcd.h (PARAMS): Remove macro.
73251         (gcd): Use ANSI C function declarations.
73252         * lib/gcd.c (gcd): Likewise.
73253
73254 2002-11-15  Bruno Haible  <bruno@clisp.org>
73255
73256         * lib/strcspn.c: Include <stddef.h>.
73257         (strcspn): Use ANSI C function declaration. Change return type to
73258         size_t. Use NULL.
73259         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
73260         (strpbrk): Use NULL.
73261         * lib/strpbrk.h (PARAMS): Remove macro.
73262         (strpbrk): Use ANSI C function declaration.
73263         * lib/strstr.c: Don't include <sys/types.h>.
73264         * lib/strstr.h (PARAMS): Remove macro.
73265         (strstr): Use ANSI C function declarations.
73266
73267 2002-11-14  Karl Berry  <karl@gnu.org>
73268
73269         * config/mkinstalldirs: `do' on separate line, instead of
73270         `for var; do'.
73271
73272 2002-11-06  Bruno Haible  <bruno@clisp.org>
73273
73274         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
73275         * lib/gcd.c (gcd): Likewise.
73276
73277 2002-11-05  Bruno Haible  <bruno@clisp.org>
73278
73279         * lib/gcd.h: New file, from gettext-0.11.5.
73280         * lib/gcd.c: New file, from gettext-0.11.5.
73281
73282 2002-11-05  Bruno Haible  <bruno@clisp.org>
73283
73284         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
73285         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
73286         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
73287         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
73288
73289         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
73290         <libintl.h>.
73291         * lib/makepath.c: Include gettext.h instead of <locale.h> and
73292         <libintl.h>.
73293
73294         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
73295         * lib/human.c: Include gettext.h instead of <libintl.h>.
73296         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
73297         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
73298         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
73299         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
73300         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
73301         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
73302         (textdomain): Remove definition.
73303         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
73304
73305         * lib/long-options.c: Remove include of <libintl.h> and definition of
73306         _.
73307         * lib/same.c: Remove include of <libintl.h> and definition of _.
73308
73309 2002-11-04  Owen Taylor  <otaylor@redhat.com>
73310
73311         * lib/config.charset: A few additions for Solaris.
73312
73313 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
73314
73315         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
73316         * lib/localcharset.c (locale_charset): Declare as extern "C".
73317
73318 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
73319
73320         * lib/config.charset: msdos in uk_UA uses CP1125.
73321
73322 2002-11-04  Bruno Haible  <bruno@clisp.org>
73323
73324         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
73325         * lib/strcase.h: New file, from GNU gettext-0.11.5.
73326         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
73327         * lib/strstr.h: New file, from GNU gettext-0.11.5.
73328         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
73329
73330 2002-11-04  Bruno Haible  <bruno@clisp.org>
73331
73332         * lib/localcharset.c (locale_charset): Don't return an empty string.
73333
73334 2002-11-04  Bruno Haible  <bruno@clisp.org>
73335
73336         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
73337         aliases.
73338
73339 2002-11-04  Bruno Haible  <bruno@clisp.org>
73340
73341         * lib/config.charset: Update for newest glibc. Add canonical names
73342         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
73343
73344 2002-11-04  Bruno Haible  <bruno@clisp.org>
73345
73346         * lib/config.charset: Add support for NetBSD.
73347
73348 2002-11-04  Bruno Haible  <bruno@clisp.org>
73349
73350         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
73351
73352 2002-11-01  Bruno Haible  <bruno@clisp.org>
73353
73354         * configure.in: Add AC_CONFIG_AUX_DIR call.
73355         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
73356         test/Makefile.
73357         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
73358
73359 2002-09-28  Karl Berry  <karl@gnu.org>
73360
73361         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
73362         installed automake until the next release, since changes have been
73363         made.
73364
73365 2002-09-25  Karl Berry  <karl@gnu.org>
73366
73367         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
73368         * lib/getopt*: copy from libc/posix.
73369         * lib/gettext.h: copy from gettext.
73370         * lib/.cppi-disable: add strdup.c, gettext.h.
73371
73372 2002-09-25  Karl Berry  <karl@gnu.org>
73373
73374         * config/srclist.txt: enable gettext.h check.
73375         * config/config.{guess,sub}: update from prep.
73376         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
73377                 from automake 1.6.3.
73378         See srclist*.
73379
73380 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
73381
73382         * regex.c (PATFETCH): Remove the translating fetch.
73383         (PATFETCH_RAW): Rename to PATFETCH.
73384         (set_image_of_range): New fun.
73385         (SET_RANGE_TABLE_WORK_AREA): Use it.
73386         (regex_compile): Don't translate the pattern chars so eagerly.
73387         Only do it when inserting an `exactn' bytecode or when handling
73388         a char-range.
73389         (mutually_exclusive_p): Avoid empty statement.
73390
73391 2002-07-06  Jim Meyering  <meyering@lucent.com>
73392
73393         * m4/README: Don't mention Makefile.am.in.
73394         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
73395
73396 2002-07-01  Jim Meyering  <meyering@lucent.com>
73397
73398         * lib/c-stack.c: Include sys/time.h.
73399         From Volker Borchert.
73400
73401 2002-06-26  Paul Eggert  <eggert@twinsun.com>
73402
73403         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
73404
73405 2002-06-26  Paul Eggert  <eggert@twinsun.com>
73406
73407         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
73408         New macro.  Use it uniformly instead of
73409         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
73410         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
73411         reported by Vin Shelton.
73412
73413 2002-06-22  Paul Eggert  <eggert@twinsun.com>
73414
73415         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
73416         Do not assume SA_SIGINFO behavior.
73417         Bug reported by Jim Meyering on NetBSD 1.5.2.
73418
73419 2002-06-22  Jim Meyering  <meyering@lucent.com>
73420
73421         * m4/c-stack.m4: New file, from diffutils-2.8.2.
73422         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
73423
73424         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
73425         now that configure.ac uses AC_GNU_SOURCE.
73426         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
73427         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
73428
73429         Update to latest tools.  Suggestions from Paul Eggert.
73430         * m4/stdbool.m4: New file, from diffutils-2.8.2.
73431         * m4/gnu-source.m4: Update from diffutils-2.8.2.
73432         * m4/fnmatch.m4: Likewise.
73433         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
73434         to AC_HEADER_STDBOOL
73435
73436 2002-06-22  Jim Meyering  <meyering@lucent.com>
73437
73438         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
73439         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
73440
73441 2002-06-22  Jim Meyering  <meyering@lucent.com>
73442
73443         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
73444
73445         * lib/exitfail.c, exitfail.h: Likewise.
73446         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
73447
73448         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
73449         of fnmatch.h.
73450         (EXTRA_DIST): Add fnmatch_loop.c.
73451         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
73452
73453         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
73454         * lib/fnmatch.c: Update from diffutils-2.8.2.
73455         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
73456         * lib/fnmatch.h: Remove file.
73457
73458 2002-06-21  Jim Meyering  <meyering@lucent.com>
73459
73460         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
73461         * m4/mbrtowc.m4: Likewise.
73462
73463         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
73464         * m4/mbswidth.m4: Reflect name change:
73465         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
73466         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
73467
73468         * m4/lib-link.m4: Update from gettext-0.11.2.
73469         * m4/gettext.m4: Likewise.
73470
73471         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
73472         From Alfred M. Szmidt.
73473
73474 2002-06-18  Paul Eggert  <eggert@twinsun.com>
73475
73476         * lib/file-type.h: Report an error if neither S_ISREG nor
73477         S_IFREG is defined, instead of using a test specific to glibc
73478         2.2.  This should be safe, since POSIX requires S_ISREG and
73479         Unix Version 7 had S_IFREG.  We don't need to check for
73480         <sys/types.h> since we don't use any symbols that it defines.
73481
73482 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
73483
73484         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
73485         $@-t, so that each temporary file name is unique and valid in the first
73486         8 characters, for operation under DOS.
73487
73488 2002-06-15  Paul Eggert  <eggert@twinsun.com>
73489
73490         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
73491
73492 2002-06-15  Jim Meyering  <meyering@lucent.com>
73493
73494         Work even with DJGPP 2.03, which lacks support for symlinks.
73495         From Richard Dawe.
73496         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
73497         is defined.
73498         * lib/lchown.c (S_ISLNK): Likewise.
73499
73500 2002-06-15  Jim Meyering  <meyering@lucent.com>
73501
73502         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
73503         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
73504         have been included before this file.
73505
73506 2002-06-14  Jim Meyering  <meyering@lucent.com>
73507
73508         * lib/file-type.h: Use the version from diffutils-2.8.2.
73509         * lib/file-type.c: Likewise.
73510
73511 2002-06-07  Jim Meyering  <meyering@lucent.com>
73512
73513         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
73514         They're needed at least for NetBSD 1.5.2.
73515         ($statxfs_includes): Include those same headers.
73516         ($statxfs_includes): Include sys/vfs.h if available.
73517         ($statxfs_includes): Likewise for sys/statvfs.h.
73518         Check for the following members in both structs statfs and statvfs:
73519         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
73520
73521 2002-06-01  Jim Meyering  <meyering@lucent.com>
73522
73523         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
73524         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
73525
73526 2002-05-28  Jim Meyering  <meyering@lucent.com>
73527
73528         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
73529         Reported by Volker Borchert.
73530
73531 2002-05-27  Jim Meyering  <meyering@lucent.com>
73532
73533         Fix a problem seen only on nonconforming systems whereby ls.c's
73534         use of localtime, and then of gettimeofday would cause trouble:
73535         the localtime call used to initialize rpl_gettimeofday's save
73536         mechanism would clobber ls's current local time information so
73537         that in any long listing the first file would always be listed
73538         with date 1970-01-01.  Analysis by Volker Borchert.
73539
73540         * lib/gettimeofday.c (localtime): Undefine.
73541         (rpl_localtime): New function.
73542
73543 2002-05-27  Jim Meyering  <meyering@lucent.com>
73544
73545         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
73546         localtime.
73547
73548         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
73549         use the replacement function; it wouldn't resolve at link time.
73550         Reported by Volker Borchert.
73551
73552 2002-05-22  Jim Meyering  <meyering@lucent.com>
73553
73554         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
73555         file-type.h.
73556         * lib/file-type.h: New file.
73557         * lib/file-type.c (file_type): New file/function.  Extracted from
73558         diffutils.
73559
73560 2002-04-30  Jim Meyering  <meyering@lucent.com>
73561
73562         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
73563
73564 2002-04-29  Paul Eggert  <eggert@twinsun.com>
73565
73566         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
73567
73568 2002-04-29  Paul Eggert  <eggert@twinsun.com>
73569
73570         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
73571         Do not check for alloca.h (no longer used) or stdbool.h (was never
73572         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
73573
73574 2002-04-29  Paul Eggert  <eggert@twinsun.com>
73575
73576         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
73577
73578 2002-04-29  Jim Meyering  <meyering@lucent.com>
73579
73580         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
73581         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
73582         Use AC_FUNC_STRNLEN here instead.
73583
73584         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
73585         With autoconf-2.53a, it's part of AC_PROG_CC.
73586
73587 2002-04-28  Paul Eggert  <eggert@twinsun.com>
73588
73589         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
73590         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
73591
73592 2002-04-28  Paul Eggert  <eggert@twinsun.com>
73593
73594         * lib/sig2str.h, lib/sig2str.c: New files.
73595         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
73596
73597 2002-04-28  Paul Eggert  <eggert@twinsun.com>
73598
73599         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
73600         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
73601         of 127, since 64 is the largest conceivable number for ancient
73602         nonstandard hosts.
73603         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
73604
73605 2002-04-28  Jim Meyering  <meyering@lucent.com>
73606
73607         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
73608
73609 2002-04-24  Jim Meyering  <meyering@lucent.com>
73610
73611         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
73612         (jm_PREREQ): Use it.
73613
73614         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
73615         mach/mach.h fcntl.h.
73616         Check for this function: setlocale.
73617
73618 2002-04-24  Jim Meyering  <meyering@lucent.com>
73619
73620         * lib/gettext.h: New file, from Gettext.
73621         * lib/Makefile.am (INCLUDES): Remove -I../intl.
73622         (libfetish_a_SOURCES): Add gettext.h.
73623
73624 2002-04-16  Jim Meyering  <meyering@lucent.com>
73625
73626         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
73627         ut_pid, ut_id, ut_exit.
73628
73629 2002-04-16  Jim Meyering  <meyering@lucent.com>
73630
73631         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
73632         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
73633         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
73634
73635 2002-04-12  Jim Meyering  <meyering@lucent.com>
73636
73637         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
73638         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
73639         existence of the getmntinfo function.  Needed for Darwin 5.3.
73640
73641         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
73642         This is necessary at least on Darwin 5.3.
73643
73644         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
73645         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
73646         strnlen.o in the library, and that makes some versions of ranlib
73647         object.
73648
73649 2002-04-12  Jim Meyering  <meyering@lucent.com>
73650
73651         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
73652
73653 2002-04-09  Jim Meyering  <meyering@lucent.com>
73654
73655         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
73656         to be more precise.  Rather than saying we're checking whether the
73657         function `works', say what we're testing.
73658         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
73659         Reported by Bruno Haible.
73660
73661 2002-03-10  Jim Meyering  <meyering@lucent.com>
73662
73663         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
73664         Suggestion from Santiago Vila.
73665
73666 2002-03-08  Jim Meyering  <meyering@lucent.com>
73667
73668         * lib/rename.c: Mention that this wrapper is needed also on
73669         mips-dec-ultrix4.4 systems.
73670
73671 2002-03-02  Jim Meyering  <meyering@lucent.com>
73672
73673         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
73674         not HAVE_CLOCK_SETTIME.
73675
73676 2002-02-27  Paul Eggert  <eggert@twinsun.com>
73677
73678         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
73679         Check for clock_settime.
73680
73681 2002-02-27  Paul Eggert  <eggert@twinsun.com>
73682
73683         * lib/nanosleep.h: Rename to....
73684         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
73685
73686         * lib/gettime.c: New file.
73687         * lib/settime.c: New file.
73688         * lib/stime.c: Remove.
73689
73690         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
73691         timespec.h.  Remove nanosleep.h.
73692
73693 2002-02-25  Paul Eggert  <eggert@twinsun.com>
73694
73695         * m4/acl.m4: New file.
73696         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
73697         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
73698
73699 2002-02-25  Paul Eggert  <eggert@twinsun.com>
73700
73701         * lib/acl.c, lib/acl.h: New files.
73702         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
73703
73704 2002-02-24  Jim Meyering  <meyering@lucent.com>
73705
73706         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
73707         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
73708         cause trouble.  Reported by Nelson Beebe.
73709
73710 2002-02-23  Paul Eggert  <eggert@twinsun.com>
73711
73712         * lib/path-concat.c (xpath_concat): Reorder code to pacify
73713         compilers that don't know that xalloc_die never returns.
73714
73715 2002-02-20  Jim Meyering  <meyering@lucent.com>
73716
73717         * lib/getdate.c: Regenerate using bison-1.33.
73718
73719 2002-02-17  Jim Meyering  <meyering@lucent.com>
73720
73721         * config/config.guess (main): Don't use `head -1'; it's no longer
73722         portable. Use `sed 1q' instead.
73723
73724 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
73725
73726         * m4/codeset.m4: Upgrade to gettext-0.11.
73727         * m4/gettext.m4: Upgrade to gettext-0.11.
73728         * m4/glibc21.m4: Upgrade to gettext-0.11.
73729         * m4/iconv.m4: Upgrade to gettext-0.11.
73730         * m4/isc-posix.m4: Upgrade to gettext-0.11.
73731         * m4/lcmessage.m4: Upgrade to gettext-0.11.
73732         * m4/lib-ld.m4: New file, from gettext-0.11.
73733         * m4/lib-link.m4: New file, from gettext-0.11.
73734         * m4/lib-prefix.m4: New file, from gettext-0.11.
73735         * m4/progtest.m4: Upgrade to gettext-0.11.
73736
73737 2002-02-15  Paul Eggert  <eggert@twinsun.com>
73738
73739         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
73740         (jm_PREREQ): Use it.
73741
73742 2002-02-15  Paul Eggert  <eggert@twinsun.com>
73743
73744         * lib/posixver.c, lib/posixver.h: New files.
73745         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
73746
73747 2002-02-02  Paul Eggert  <eggert@twinsun.com>
73748             Bruno Haible  <bruno@clisp.org>
73749
73750         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
73751         (fwrite_success_callback): New declaration.
73752         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
73753         print_unicode_char. Call failure callback instead of error.
73754         (fwrite_success_callback): New function.
73755         (exit_failure_callback): New function.
73756         (fallback_failure_callback): New function.
73757         (print_unicode_char): Call unicode_to_mb.
73758
73759 2002-01-26  Jim Meyering  <meyering@lucent.com>
73760
73761         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
73762         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
73763
73764 2002-01-26  Jim Meyering  <meyering@lucent.com>
73765
73766         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
73767
73768 2002-01-22  Paul Eggert  <eggert@twinsun.com>
73769
73770         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
73771
73772 2002-01-22  Jim Meyering  <meyering@lucent.com>
73773
73774         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
73775         Otherwise, some versions of automake would omit the rule that makes
73776         Makefile from Makefile.in.
73777
73778 2002-01-21  Paul Eggert  <eggert@twinsun.com>
73779
73780         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
73781         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
73782         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
73783         (memcoll): Set errno to zero if there is no error.
73784
73785         * lib/quotearg.c (quotearg_buffer_restyled):
73786         Fix bug with quoting buffers containing NUL when backslashing escapes.
73787         This bug was exposed by the other changes in this patch.
73788         (quotearg_n_options): New arg ARGSIZE.
73789         All callers changed.
73790         (quoting_options_from_style): New function.
73791         (quotearg_n_style): Use it.
73792         (quotearg_n_style_mem): New function.
73793
73794         * lib/quotearg.h (quotearg_n_style_mem): New function.
73795
73796 2002-01-19  Jim Meyering  <meyering@lucent.com>
73797
73798         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
73799         Remove useless quotes: DF_PROG="df".
73800         * m4/strnlen.m4: New file.
73801
73802 2002-01-16  Paul Eggert  <eggert@twinsun.com>
73803
73804         * lib/backupfile.c (ISDIGIT): Comment fix.
73805         * lib/getdate.y (ISDIGIT): Likewise.
73806         * lib/posixtm.c (ISDIGIT, year): Likewise.
73807         * lib/strverscmp.c (ISDIGIT): Likewise.
73808         * lib/userspec.c (ISDIGIT): Likewise.
73809
73810 2002-01-16  Jim Meyering  <meyering@lucent.com>
73811
73812         * lib/getdate.y: Add three semicolons, each just before a closing
73813         brace. Bison (as of version 1.31) no longer papers over that mistake.
73814
73815 2002-01-05  Jim Meyering  <meyering@lucent.com>
73816
73817         * lib/version-etc.c (version_etc_copyright): Update copyright year.
73818
73819 2001-12-19  Paul Eggert  <eggert@twinsun.com>
73820
73821         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
73822         not silently exit merely because the output buffer happens to
73823         have nothing pending.
73824
73825 2001-12-18  Paul Eggert  <eggert@twinsun.com>
73826
73827         See the big note in ../ChangeLog.
73828         * lib/human.c (suffixes): Prefer K to k for 1024.
73829         (generate_suffix_backwards): New function.
73830         (human_readable_inexact): Use it.
73831         * lib/xstrtol.c (__xstrtol): If there is no number but there
73832         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
73833         Accept 'K' as well as 'k'.
73834
73835 2001-12-15  Jim Meyering  <meyering@lucent.com>
73836
73837         * lib/regex.h (__restrict_arr): Update from libc.
73838
73839         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
73840         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
73841         (STREQ): Define.
73842
73843 2001-12-14  Jim Meyering  <meyering@lucent.com>
73844
73845         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
73846         Suggestion from Bruno Haible.
73847
73848 2001-12-10  Jim Meyering  <meyering@lucent.com>
73849
73850         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
73851         xrealloc, Instead, include "xalloc.h".
73852         (initbuffer): Don't cast xmalloc return value to char*.
73853         (readline): Reword comment.
73854         Don't cast xrealloc return value to char*
73855         Return NULL, not 0.
73856
73857 2001-12-09  Jim Meyering  <meyering@lucent.com>
73858
73859         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
73860         about `signed and unsigned type in conditional expression'.
73861         * lib/posixtm.c (posix_time_parse): Likewise.
73862
73863         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
73864
73865         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
73866         to avoid a pedantic warning.
73867
73868         * lib/getstr.c: Don't include assert.h.
73869         (getstr): Remove warning-evoking assertions.
73870         Return -1 if offset parameter is out of bounds.
73871         Change the type of a local from int to size_t.
73872
73873         * lib/strftime.c (my_strftime_localtime_r): Include this function
73874         definition in the `#if ! HAVE_TM_GMTOFF' block.
73875
73876         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
73877         Include xalloc.h instead.
73878
73879 2001-12-02  Jim Meyering  <meyering@lucent.com>
73880
73881         * lib/tempname.c: Don't declare getenv, thus reverting the change of
73882         2001-11-18.  It's no longer necessary, now that stdlib.h is always
73883         included.
73884
73885         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
73886         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
73887
73888 2001-11-30  Akim Demaille  <akim@epita.fr>
73889
73890         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
73891         before being defined.
73892
73893 2001-11-27  Paul Eggert  <eggert@twinsun.com>
73894
73895         * lib/quotearg.h (quotearg_n, quotearg_n_style):
73896         First arg is int, not unsigned.
73897         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
73898         (SIZE_MAX, UINT_MAX): New macros.
73899         (quotearg_n_options): Abort if N is negative.
73900         Avoid overflow check on hosts where size_t is 64 bits and int
73901         is 32 bits, as overflow is impossible there.
73902         Fix off-by-one typo that caused unnecessary reallocation.
73903
73904 2001-11-27  Jim Meyering  <meyering@lucent.com>
73905
73906         * lib/tempname.c: Merge with version from libc.
73907         * lib/regex.c: Likewise.
73908
73909         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
73910         systems for which STDC_HEADERS is 0, it was not included, resulting in
73911         a warning about an integer-to-pointer conversion problem with getenv.
73912         Reported by Volker Borchert.
73913
73914 2001-11-26  Jim Meyering  <meyering@lucent.com>
73915
73916         * lib/gtod.h: Remove file.
73917         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
73918         * lib/gettimeofday.c: Don't include gtod.h.
73919         (GTOD_init): Remove function.
73920         (rpl_gettimeofday): Do its job here instead, rather than aborting.
73921         Suggestion from Volker Borchert.
73922
73923 2001-11-23  Jim Meyering  <meyering@lucent.com>
73924
73925         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
73926         it.
73927         * lib/hash.c (struct hash_table): Define it here instead.
73928
73929 2001-11-22  Jim Meyering  <meyering@lucent.com>
73930
73931         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
73932
73933 2001-11-20  Jim Meyering  <meyering@lucent.com>
73934
73935         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
73936         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
73937
73938 2001-11-19  Jim Meyering  <meyering@lucent.com>
73939
73940         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
73941         directory.  Use "conftestXXXXXX" as the template.
73942         Suggestion from Paul Eggert.
73943
73944         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
73945         immediately, so the test doesn't mistakenly hit the max-open-files
73946         limit.
73947
73948 2001-11-18  Paul Eggert  <eggert@twinsun.com>
73949
73950         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
73951         (TEMPORARIES): New macro.
73952         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
73953         removes an artificial limitation (e.g. HP-UX 10.20, where
73954         TMP_MAX is 17576).
73955
73956 2001-11-18  Jim Meyering  <meyering@lucent.com>
73957
73958         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
73959
73960 2001-11-18  Jim Meyering  <meyering@lucent.com>
73961
73962         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
73963         on SunOS 4.
73964
73965         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
73966         files will be created before anything else.
73967
73968 2001-11-17  Paul Eggert  <eggert@twinsun.com>
73969
73970         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
73971         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
73972
73973 2001-11-17  Jim Meyering  <meyering@lucent.com>
73974
73975         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
73976         Prompted by a report from Bob Proulx.
73977
73978         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
73979         Instead, require UTILS_FUNC_MKSTEMP.
73980
73981 2001-11-17  Jim Meyering  <meyering@lucent.com>
73982
73983         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
73984         Now, that's done as part of AC_FUNC_STRTOD.
73985
73986 2001-11-17  Jim Meyering  <meyering@lucent.com>
73987
73988         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
73989         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
73990         rather than group writable.  Patch by Juan F. Codagnone.
73991
73992         * lib/readtokens.c: Remove explicit declarations of xmalloc and
73993         xrealloc, Instead, include "xalloc.h".
73994
73995         * lib/mountlist.c: Include unlocked-io.h after all system headers.
73996         Remove explicit declarations of xmalloc, xrealloc,
73997         and xstrdup.  Instead, include "xalloc.h".
73998
73999         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
74000         unlocked-io.h.
74001         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
74002         Likewise.
74003         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
74004
74005         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
74006         Reported by Padraig Brady.
74007
74008         * lib/mkstemp.c: #undef mkstemp.
74009         Include config.h.
74010         (rpl_mkstemp): Rename from mkstemp.
74011         Protoize.
74012
74013 2001-11-16  Jim Meyering  <meyering@lucent.com>
74014
74015         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
74016         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
74017         determine the amount of total physical memory, use pstat_getstatic.
74018         HPUX-11 doesn't define _SC_PHYS_PAGES.
74019         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
74020         If sysconf couldn't be used to determine the amount of available
74021         physical memory, use both pstat_getstatic and pstat_getdynamic.
74022         Based on a patch from Bob Proulx.
74023
74024 2001-11-10  Jim Meyering  <meyering@lucent.com>
74025
74026         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
74027         (jm_PREREQ): Use it.
74028
74029 2001-11-09  Jim Meyering  <meyering@lucent.com>
74030
74031         * m4/jm-macros.m4: Require autoconf-2.52f.
74032         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
74033         Use these AC_-prefixed names, not the AM_-prefixed ones.
74034
74035         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
74036
74037 2001-11-05  Jim Meyering  <meyering@lucent.com>
74038
74039         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
74040
74041 2001-11-04  Jim Meyering  <meyering@lucent.com>
74042
74043         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
74044         $DEFS.
74045
74046 2001-11-03  Jim Meyering  <meyering@lucent.com>
74047
74048         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
74049         of AC_DEFUN.
74050
74051         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
74052         know the name of the variable in the macro definition.
74053
74054 2001-11-03  Jim Meyering  <meyering@lucent.com>
74055
74056         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
74057         in argmatch_to_argument call.
74058
74059         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
74060         argument.
74061
74062         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
74063         e.g., a fault due to an attempt to free a NULL pointer.
74064
74065 2001-11-01  Jim Meyering  <meyering@lucent.com>
74066
74067         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
74068         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
74069
74070 2001-11-01  Jim Meyering  <meyering@lucent.com>
74071
74072         * lib/dirfd.c, lib/dirfd.h: New files.
74073         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
74074
74075         * lib/hash.c (hash_print) [TESTING]: Clean up.
74076
74077 2001-10-22  Paul Eggert  <eggert@twinsun.com>
74078
74079         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
74080         to avoid a warning if -Wall.
74081
74082 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
74083
74084         * README: New file
74085         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
74086         (per RMS's instructions, this is now the canonical source)
74087         * lgpl/, gpl/: New directories.
74088
74089 2001-10-21  Paul Eggert  <eggert@twinsun.com>
74090
74091         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
74092
74093 2001-10-21  Jim Meyering  <meyering@lucent.com>
74094
74095         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
74096         this code would end up calling gettext even in packages built
74097         with --disable-nls.
74098         * lib/getopt.c (_): Likewise.
74099         * lib/regex.c (_): Likewise.
74100
74101 2001-10-20  Paul Eggert  <eggert@twinsun.com>
74102
74103         * m4/error.m4 (jm_PREREQ_ERROR):
74104         Do not invoke AC_CHECK_FUNCS with strerror_r, as
74105         AC_FUNC_STRERROR_R does that.
74106         Check for strerror declaration.
74107
74108         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
74109         are supposed to have them these days.
74110         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
74111         Merge changes from latest Autoconf CVS.
74112         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
74113         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
74114         POSIX decided to standardize on the int flavor of strerror_r.
74115
74116 2001-10-20  Paul Eggert  <eggert@twinsun.com>
74117
74118         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
74119         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
74120         Use strerror_r that is only a macro, even if it is not a function.
74121         (strerror): Check for HAVE_DECL_STRERROR before declaring.
74122         (private_strerror): Use prototypes, not old-style function definition.
74123         (print_errno_message): New function.
74124         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
74125         char*-flavored one.
74126         (error_tail, error, error_at_line): Use it.
74127
74128 2001-10-11  Jim Meyering  <meyering@lucent.com>
74129
74130         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
74131         and quote_n (1, ... to avoid clobbering a buffer.
74132
74133 2001-10-05  Jim Meyering  <meyering@lucent.com>
74134
74135         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
74136         hash-pjw.h.
74137         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
74138         * lib/hash-pjw.h: New file.
74139
74140 2001-09-30  Jim Meyering  <meyering@lucent.com>
74141
74142         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
74143         `struct fsstat' has the `f_fstypename' member.
74144         Use that to define FS_TYPE, which is now used to make
74145         the getfsstat link test tighter.
74146
74147 2001-09-30  Jim Meyering  <meyering@lucent.com>
74148
74149         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
74150         Include <sys/ucred.h>, for Apple Darwin.
74151         Include sys/mount.h and sys/fs_types.h only if available.
74152         (FS_TYPE): Define.
74153         (read_filesystem_list): Use FS_TYPE.
74154
74155 2001-09-29  Paul Eggert  <eggert@twinsun.com>
74156
74157         * lib/exclude.c (excluded_filename): 0 -> false, since it's
74158         a boolean context.
74159
74160 2001-09-29  Jim Meyering  <meyering@lucent.com>
74161
74162         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
74163         [one-argument getmntent function]): Include stdio.h before mntent.h.
74164         SunOS 4.1.x needs it for the declaration of `FILE'.
74165         Patch by Volker Borchert.
74166
74167         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
74168         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
74169         sys/fs_types.h, and make the link-test for getfsstat guard #include
74170         directives with appropriate #if HAVE_*_H tests so that we can
74171         detect getfsstat on Apple Darwin1.3.7 systems.
74172         Reported by Nelson Beebe.
74173         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
74174
74175 2001-09-28  Paul Eggert  <eggert@twinsun.com>
74176
74177         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
74178         #defines strtoimax.  Also treat the other strto* functions
74179         like strtoimax.
74180
74181         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
74182         Check for strtoul and strtoumax,
74183         as those declarations are made even in the signed case.
74184         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
74185         Likewise, for strtol and strtoimax.
74186
74187 2001-09-28  Paul Eggert  <eggert@twinsun.com>
74188
74189         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
74190         #defines strtoimax.  Also treat the other strto* functions
74191         like strtoimax.
74192
74193         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
74194         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
74195         (strtoimax, strtoumax): Do not declare if already defined as a macro.
74196
74197 2001-09-26  Jim Meyering  <meyering@lucent.com>
74198
74199         Most macros in unlocked-io.h had the wrong number of arguments.
74200         * lib/gen-uio: New script.
74201         (USE_UNLOCKED_IO): Define to 1 if not already defined.
74202         * lib/unlocked-io.hin: Remove file.
74203         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
74204         rather than trying to embed it here.
74205         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
74206         Reported by Padraig Brady.
74207
74208 2001-09-25  Volker Borchert  <bt@teknon.de>
74209
74210         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
74211         `result'.
74212
74213 2001-09-24  Jim Meyering  <meyering@lucent.com>
74214
74215         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
74216
74217 2001-09-23  Jim Meyering  <meyering@lucent.com>
74218
74219         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
74220         instead of the mere test for existence of mntent.h.  The latter
74221         would get a false-positive on AIX 3.4 systems.
74222         In the outer getmntent if-block, don't die if neither of the getmntent
74223         tests succeeds.  Instead, just fall through and continue with the
74224         remaining tests.
74225
74226 2001-09-23  Jim Meyering  <meyering@lucent.com>
74227
74228         * lib/mountlist.c: Remove useless parentheses in #if directives.
74229         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
74230         the deprecated MOUNTED symbol is no longer defined in mntent.h.
74231
74232 2001-09-22  Jim Meyering  <meyering@lucent.com>
74233
74234         * m4/gettext.m4: New file.  From gettext.
74235         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
74236         * m4/progtest.m4: Likewise
74237         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
74238         * m4/glibc21.m4: Likewise.
74239
74240         * m4/libintl.m4: Remove.  No longer used.
74241
74242 2001-09-22  Jim Meyering  <meyering@lucent.com>
74243
74244         * lib/localcharset.c: Update from latest gettext.
74245         * lib/config.charset: Likewise.
74246
74247 2001-09-20  Jim Meyering  <meyering@lucent.com>
74248
74249         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
74250         strtoimax.
74251         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
74252         strtoumax.
74253
74254 2001-09-20  Jim Meyering  <meyering@lucent.com>
74255
74256         * lib/xstrtol.c (strtoimax): Guard declaration with
74257         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
74258         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
74259         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
74260         (strtoumax): Likewise, for completeness (it wasn't necessary).
74261
74262 2001-09-17  Paul Eggert  <eggert@twinsun.com>
74263
74264         * lib/strtoimax.c (HAVE_LONG_LONG):
74265         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
74266         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
74267         to work around bug in IBM C compiler.
74268
74269 2001-09-17  Jim Meyering  <meyering@lucent.com>
74270
74271         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
74272         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
74273         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
74274         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
74275         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
74276         whenever the right hand side need not be expanded by the shell.
74277
74278 2001-09-16  Paul Eggert  <eggert@twinsun.com>
74279
74280         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
74281         library.  It's not correct, as some older glibcs are buggy.
74282         fnmatch wasn't fixed until glibc 2.2.
74283
74284         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
74285         special shell magic here.
74286
74287 2001-09-16  Jim Meyering  <meyering@lucent.com>
74288
74289         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
74290         * m4/jm-macros.m4: Require it.
74291
74292 2001-09-16  Jim Meyering  <meyering@lucent.com>
74293
74294         * lib/mkdir.c: New file.
74295
74296 2001-09-15  Jim Meyering  <meyering@lucent.com>
74297
74298         * m4/jm-macros.m4: Check for help2man.
74299
74300 2001-09-11  Jim Meyering  <meyering@lucent.com>
74301
74302         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
74303         The body, by Paul Eggert, was moved here from configure.in.
74304         * m4/jm-macros.m4: Require UTILS_HOST_OS.
74305
74306 2001-09-04  Paul Eggert  <eggert@twinsun.com>
74307
74308         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
74309         (jm_PREREQ): Use it.
74310
74311 2001-09-04  Paul Eggert  <eggert@twinsun.com>
74312
74313         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
74314         Use ssize_t, not int, to store result of readlink.
74315         Check for ssize_t overflow as well as size_t overflow,
74316         as POSIX says the result of readlink is implementation-defined
74317         when ssize_t overflows.
74318         Remove unnecessary cast to char*.
74319         Use free+malloc instead of realloc, as the storage doesn't need
74320         to be preserved and it's clearer and can be more efficient that way.
74321         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
74322         * lib/xreadlink.h (xreadlink): Update prototype.
74323
74324 2001-09-04  Paul Eggert  <eggert@twinsun.com>
74325
74326         * lib/xgetcwd.c: Revert some of the previous change; intead,
74327         fix the HAVE_GETCWD_NULL code to behave more like the
74328         !HAVE_GETCWD_NULL code used to.
74329
74330         Include "xalloc.h".
74331         (xgetcwd): Do not return NULL when memory is exhausted; instead,
74332         invoke xalloc_die.
74333
74334 2001-09-03  Paul Eggert  <eggert@twinsun.com>
74335
74336         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
74337         sys/param.h, as pathmax.h includes them.
74338
74339 2001-09-03  Paul Eggert  <eggert@twinsun.com>
74340
74341         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
74342         (jm_PREREQ_XGETCWD): New macro.
74343
74344         * m4/getcwd.m4: New file.
74345
74346 2001-09-03  Paul Eggert  <eggert@twinsun.com>
74347
74348         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
74349         like the HAVE_GETCWD_NULL code.
74350         Include pathmax.h if not HAVE_GETCWD.
74351         Do not include xalloc.h.
74352         (INITIAL_BUFFER_SIZE): New symbol.
74353         Do not use xmalloc / xrealloc, since the caller is responsible for
74354         handling errors.  Preserve errno around `free' during failure.
74355         Do not overrun buffer when using getwd.
74356
74357 2001-09-03  Paul Eggert  <eggert@twinsun.com>
74358
74359         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
74360         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
74361         getcwd (NULL, 0).
74362
74363 2001-09-03  Paul Eggert  <eggert@twinsun.com>
74364
74365         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
74366         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
74367         spotted by Jim Meyering.
74368
74369 2001-09-03  Jim Meyering  <meyering@lucent.com>
74370
74371         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
74372         failure.
74373
74374 2001-09-02  Jim Meyering  <meyering@lucent.com>
74375
74376         * lib/error.c: Update from GNU libc.
74377
74378 2001-09-01  Jim Meyering  <meyering@lucent.com>
74379
74380         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
74381         Used by df.
74382
74383 2001-09-01  Jim Meyering  <meyering@lucent.com>
74384
74385         * lib/xreadlink.c: New file.
74386         * lib/xreadlink.h: New file.
74387         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
74388         xreadlink.h.
74389
74390         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
74391         doesn't conflict with sparc Solaris 7's definition in
74392         /usr/include/sys/int_types.h.
74393
74394         * lib/exclude.c: Use `""', not `<>' to #include non-system header
74395         files.
74396         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
74397         and strncasecmp as r-values.  Unixware didn't have declarations.
74398
74399 2001-08-31  Paul Eggert  <eggert@twinsun.com>
74400
74401         * lib/xstrtol.h: Add copyright notice.
74402         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
74403         LONGINT_INVALID_SUFFIX_CHAR.
74404
74405 2001-08-31  Paul Eggert  <eggert@twinsun.com>
74406
74407         * lib/xstrtol.c (strtoimax): New decl.
74408
74409 2001-08-31  Paul Eggert  <eggert@twinsun.com>
74410
74411         * lib/xgetcwd.c: Don't include pathmax.h.
74412         Include stdlib.h and unistd.h if available.
74413         Include xalloc.h.
74414         (xmalloc, xstrdup, free): Remove decls.
74415         (xgetcwd): Don't assume sizes fit in unsigned.
74416         Check for overflow when computing sizes.
74417         Simplify reallocation code.
74418
74419 2001-08-31  Paul Eggert  <eggert@twinsun.com>
74420
74421         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
74422         a directory's st_size can have an arbitrary value, so the old
74423         usage could waste an arbitrary amount of memory.  All uses
74424         changed.
74425         * lib/savedir.h: Update prototype.
74426
74427 2001-08-31  Paul Eggert  <eggert@twinsun.com>
74428
74429         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
74430
74431         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
74432         old strtoimax.c.
74433
74434         Also, make the following further changes to make this file's
74435         configuration more similar to that of strtol.c:
74436         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
74437         (strtoumax, uintmax_t, strtoull, strtol): Remove.
74438         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
74439         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
74440         changed to signed values.
74441
74442         And make the following changes as well:
74443         Fix copyright notice, as 1999 was missing.
74444         (verify): New macro.
74445         (strtoimax): Check sizes at compile-time, not run-time.
74446         Prefer strtol to strtoll if both work.
74447         (main): Remove; it was not that useful and was a pain to maintain.
74448
74449         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
74450
74451 2001-08-31  Jim Meyering  <meyering@lucent.com>
74452
74453         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
74454         Use an initial, malloc'd, buffer of length 128 rather than
74455         a statically allocated one of length 1024.
74456
74457 2001-08-30  Paul Eggert  <eggert@twinsun.com>
74458
74459         Simplify code, partly by assuming autoconf 2.52 semantics.
74460
74461         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
74462
74463         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
74464         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
74465         All uses removed.
74466         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
74467         Move AC_REQUIRE to next-to-top level, to avoid confusion.
74468         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
74469         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
74470         jm_AC_HEADER_INTTYPES_H.
74471         * m4/jm-macros.m4 (jm_MACROS): Likewise.
74472
74473         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
74474
74475         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
74476         Quote first arg of AC_DEFUN.
74477         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
74478         since they are needed to parse the include file even if we need
74479         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
74480         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
74481         but with opposite signedness.
74482
74483 2001-08-30  Paul Eggert  <eggert@twinsun.com>
74484
74485         Merge 'exclude' changes from tar 1.13.22.
74486         This fixes one or two unlikely storage allocation overflow bugs,
74487         but doesn't change user-visible behavior otherwise.
74488
74489 2001-08-30  Paul Eggert  <eggert@twinsun.com>
74490
74491         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
74492         (jm_PREREQ_EXCLUDE): New macro.
74493
74494 2001-08-30  Paul Eggert  <eggert@twinsun.com>
74495
74496         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
74497         tm to be declared.
74498
74499 2001-08-30  Paul Eggert  <eggert@twinsun.com>
74500
74501         * lib/hash.c: Remove '2001' from copyright notice.
74502
74503 2001-08-30  Paul Eggert  <eggert@twinsun.com>
74504
74505         * lib/full-write.h: New file.
74506         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
74507         * lib/full-write.c: Correct credits, as cccp.c no longer
74508         exists and anyway it was so heavily changed from the old cccp
74509         code as to be unrecognizable.  Include full-write.h.
74510         (full_write) Return size_t, with short writes meaning failure.
74511         All callers changed.  This fixes a bug with large buffers
74512         on 64-bit hosts.
74513         * lib/utime.c: Include full-write.h.
74514
74515 2001-08-30  Paul Eggert  <eggert@twinsun.com>
74516
74517         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
74518         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
74519         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
74520         Include if available.
74521         (<xalloc.h>): Include
74522         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
74523         (verify): New macro.  Use it to verify that EXCLUDE macros do not
74524         collide with FNM macros.
74525         (struct patopts): New struct.
74526         (struct exclude): Use it, as exclude patterns now come with options.
74527         (new_exclude): Support above changes.
74528         (new_exclude, add_exclude_file):
74529         Initial size must now be a power of two to simplify overflow checking.
74530         (free_exclude, fnmatch_no_wildcards): New function.
74531         (excluded_filename): No longer requires options arg, as the options
74532         are determined by add_exclude.  Now returns bool, not int.
74533         (excluded_filename, add_exclude):
74534         Add support for the fancy new exclusion options.
74535         (add_exclude, add_exclude_file): Now takes int options arg.
74536         Check for arithmetic overflow when computing sizes.
74537         (add_exclude_file): xrealloc might modify errno, so don't
74538         realloc until after errno might be used.
74539
74540         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
74541         New macros.
74542         (free_exclude): New decl.
74543         (add_exclude, add_exclude_file): Now takes int options arg.
74544         (excluded_filename): No longer requires options arg, as the options
74545         are determined by add_exclude.  Now returns bool, not int.
74546
74547 2001-08-30  Paul Eggert  <eggert@twinsun.com>
74548
74549         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
74550
74551 2001-08-27  Jim Meyering  <meyering@lucent.com>
74552
74553         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
74554
74555         * lib/version-etc.c (N_): Remove definition.
74556         Revert most of last change.
74557         Instead, simply don't mark the `Copyright...' string for translation.
74558         Based on advice from Paul Eggert.
74559
74560         * lib/strtoxmax.c: Tweak comment.
74561
74562 2001-08-26  Jim Meyering  <meyering@lucent.com>
74563
74564         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
74565
74566         * m4/xstrtoimax.m4: New file.
74567         * m4/xstrtoumax.m4: Add comments explaining why we
74568         AC_REPLACE_FUNCS(strtol).
74569
74570 2001-08-26  Jim Meyering  <meyering@lucent.com>
74571
74572         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
74573         of copyright with `%s' so translators don't get an untranslated
74574         message in 2002.
74575         (COPYRIGHT_YEAR): Define.
74576         (version_etc): Use fprintf rather than fputs.
74577         Suggestion from Ulrich Drepper.
74578
74579         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
74580
74581         * lib/strtoll.c: New file, from GNU libc.
74582         * lib/xstrtoimax.c: New file.
74583
74584         * lib/xstrtol.h: Add xstrtoimax.
74585         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
74586         * lib/strtoimax.c: New file.  Likewise, but first define
74587         STRTOUXMAX_SIGNED.
74588
74589         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
74590         ...
74591         * lib/strtoxmax.c: ... then renamed to this.
74592
74593 2001-08-18  Paul Eggert  <eggert@twinsun.com>
74594
74595         * m4/inttypes.m4: Add AC_PREREQ(2.13).
74596         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
74597         (jm_AC_TYPE_INTMAX_T): New macro.
74598         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
74599
74600         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
74601
74602         * m4/longlong.m4: Renamed from ulonglong.m4.
74603         * m4/inttypes.m4: Renamed from inttypes_h.m4.
74604         * m4/uintmax_t.m4: Removed.
74605
74606 2001-08-13  Paul Eggert  <eggert@twinsun.com>
74607
74608         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
74609         Port to Solaris 8, where 'sed' requires a space after the 'r'
74610         command, and where sh dislikes "$/".  Clean up the spacing a bit.
74611         Redirect output to $tmp just once.
74612
74613 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
74614
74615         * lib/addext.c (<errno.h>): Include.
74616         (errno): Declare if not defined.
74617         (addext): Work correctly when pathconf returns -1 and leaves
74618         errno alone because there is no limit.  Also, work even if
74619         pathconf returns a value greater than SIZE_MAX.
74620
74621 2001-08-12  Jim Meyering  <meyering@lucent.com>
74622
74623         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
74624         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
74625         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
74626         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
74627         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
74628         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
74629         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
74630         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
74631         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
74632         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
74633         utime.m4, utimes.m4, xstrtoumax.m4:
74634         Quote the first argument in each use of AC_DEFUN.
74635
74636 2001-08-12  Jim Meyering  <meyering@lucent.com>
74637
74638         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
74639         Simply `return getcwd (NULL, 0);'.
74640         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
74641         Use 1300 as initial value for length, not PATH_MAX.
74642
74643         * lib/pathmax.h: Clean up cpp syntax.
74644
74645 2001-08-12  Jim Meyering  <meyering@lucent.com>
74646
74647         * lib/gettimeofday.c: New file.
74648         * lib/gtod.h: New file.
74649         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
74650
74651 2001-08-05  Jim Meyering  <meyering@lucent.com>
74652
74653         * m4/jm-macros.m4: Require autoconf-2.52.
74654
74655 2001-08-04  Jim Meyering  <meyering@lucent.com>
74656
74657         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
74658         stmt, to get in sync with glibc.
74659
74660 2001-08-03  Paul Eggert  <eggert@twinsun.com>
74661
74662         The following changes are from gettext 0.10.39 as maintained by
74663         Bruno Haible.
74664
74665         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
74666         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
74667         with inverted sense.  All uses changed.
74668
74669         * lib/mbswidth.c: Don't include <limits.h>.
74670         Include <stdlib.h> and <string.h> unconditionally.
74671         (iswcntrl, mbsinit, ISCNTRL): New macros.
74672         (mbsnwidth): Use K&R style function declarations.
74673         Don't bother checking for MB_LEN_MAX == 1, since the compiler
74674         can optimize it when MB_CUR_MAX == 1.
74675         The width of control characters is zero, not 1.
74676
74677 2001-08-03  Paul Eggert  <eggert@twinsun.com>
74678
74679         The following changes are from gettext 0.10.39 as maintained by
74680         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
74681
74682         * m4/codeset.m4: Upgrade to serial AM1.
74683         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
74684         all uses changed.  Quote first arg of AC_DEFUN.
74685         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
74686
74687         * m4/iconv.m4: Upgrade to serial AM2.
74688         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
74689         Add --with-libconv-prefix.
74690         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
74691         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
74692         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
74693         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
74694         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
74695
74696         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
74697         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
74698         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
74699         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
74700         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
74701         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
74702         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
74703         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
74704         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
74705
74706         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
74707         string.h any more.
74708
74709         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
74710         not the default value.
74711
74712         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
74713         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
74714         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
74715         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
74716         Also check for iswcntrl, used for wcwidth fallback.
74717         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
74718         to Autoconf 2.13.
74719
74720 2001-08-03  Jim Meyering  <meyering@lucent.com>
74721
74722         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
74723         as it was in the original.  Reported by Paul Eggert.
74724
74725 2001-07-16  Jim Meyering  <meyering@lucent.com>
74726
74727         * m4/gettimeofday.m4: New file.
74728         Prompted by a report from Bernhard Baehr.
74729
74730 2001-07-15  Jim Meyering  <meyering@lucent.com>
74731
74732         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
74733         stuff. Now it's in ../Makefile.cfg.
74734
74735 2001-07-15  Jim Meyering  <meyering@lucent.com>
74736
74737         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
74738         (BUILT_SOURCES): Add unlocked-io.h.
74739         (io_functions): Define.
74740         (unlocked-io.h): New rule.
74741         (DISTCLEANFILES): Add unlocked-io.h.
74742         (all-local): Depend on unlocked-io.h, to ensure it is created.
74743
74744         * lib/unlocked-io.hin: New file
74745
74746         * lib/regex.c: Update from glibc.
74747
74748 2001-07-05  Jim Meyering  <meyering@lucent.com>
74749
74750         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
74751         recommendation.
74752         (libfetish_a_SOURCES): Put all .h files here instead.
74753         Remove a thus-exposed (better checks in automake) duplicate and
74754         two unnecessary .h files.
74755
74756 2001-07-04  Jim Meyering  <meyering@lucent.com>
74757
74758         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
74759         that generates jm-glibc-io.m4 so that it doesn't trigger any make
74760         distcheck failure.
74761
74762 2001-07-02  Jim Meyering  <meyering@lucent.com>
74763
74764         The following changes were prompted by suggestions from Bruno Haible.
74765
74766         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
74767         is now generated.
74768         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
74769         definition of EXTRA_DIST.
74770         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
74771         ensure that the generated file is created/updated whenever the list
74772         of $(unlocked_functions) is changed.
74773         (jm-glibc-io.m4): New rule.
74774         (unlocked-io.h): New rule -- currently unused.
74775
74776 2001-06-24  Jim Meyering  <meyering@lucent.com>
74777
74778         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
74779         unmatched right bracket, rather than kludging it with an extra,
74780         falsely-matching quote in a comment.  Patch by Akim Demaille.
74781
74782 2001-06-11  Jim Meyering  <meyering@lucent.com>
74783
74784         * lib/regex.c: Update from GNU libc.
74785
74786 2001-05-27  Jim Meyering  <meyering@lucent.com>
74787
74788         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
74789         Check for ut_type in struct utmp.
74790
74791 2001-05-27  Jim Meyering  <meyering@lucent.com>
74792
74793         * lib/readutmp.h (UT_TYPE): Define.
74794
74795 2001-05-24  Jim Meyering  <meyering@lucent.com>
74796
74797         * lib/argmatch.c: Include "quote.h".
74798         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
74799         quote function.  Reported by Göran Uddeborg.
74800
74801 2001-05-22  Jim Meyering  <meyering@lucent.com>
74802
74803         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
74804         now that we use the package-supplied version unconditionally.
74805         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
74806
74807 2001-05-21  Jim Meyering  <meyering@lucent.com>
74808
74809         * m4/regex.m4: Change a couple backticks to single quotes to avoid
74810         shell syntax errors.
74811
74812 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
74813
74814         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
74815
74816 2001-05-20  Paul Eggert  <eggert@twinsun.com>
74817
74818         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
74819         Don't bother to check library strftime, since
74820         we'll be using our own my_strftime function anyway.
74821         Define my_strftime instead of strftime.
74822
74823 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
74824
74825         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
74826         which is not yet declared.
74827
74828 2001-05-15  Jim Meyering  <meyering@lucent.com>
74829
74830         * m4/regex.m4: Use proper quoting so brackets appear in the test
74831         program.
74832         Reported by, and with help from, Bruno Haible.
74833
74834 2001-05-13  Jim Meyering  <meyering@lucent.com>
74835
74836         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
74837         undefined.
74838
74839 2001-05-11  Paul Eggert  <eggert@twinsun.com>
74840
74841         dirname code cleanup.  base_name now behaves more compatibly
74842         with POSIX basename when given file names that have trailing
74843         slashes, and similarly for dir_name.  Add new primitives
74844         base_len and dir_len.  Put the directory-name-related decls
74845         into dirname.h.
74846
74847         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
74848         * lib/backupfile.c (base_name): Likewise.
74849         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
74850         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
74851         * lib/makepath.c (strip_trailing_slashes): Likewise.
74852         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
74853         ISSLASH): Likewise.
74854         * lib/rename.c (strip_trailing_slashes): Likewise.
74855         * lib/same.c (base_name): Likewise.
74856         * lib/stripslash.c (ISSLASH): Likewise.
74857
74858         * lib/addext.c: Include <dirname.h> after size_t is defined.
74859         * lib/backupfile.c: Likewise.
74860
74861         * lib/addext.c (addext): Use base_len to trim redundant
74862         trailing slashes instead of doing it ourselves.
74863         But do not trim the last slash if it is not redundant.
74864
74865         * lib/backupfile.c (find_backup_file_name,
74866         max_backup_version): Use base_len instead of rolling it ourselves.
74867         Handle the case of "" and (on DOS) "C:" correctly.
74868
74869         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
74870         needed. Include <string.h>, <dirname.h>.
74871         (base_name): Allow file names ending in slashes, other than names
74872         that are all slashes.  In this case, return the basename followed
74873         by the slashes.  This is more general, and can be used in places
74874         where the original base_name purposely had an assertion failure.
74875         (base_len): New function.
74876
74877         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
74878         Do not include <assert.h>; no longer needed.
74879         Include xalloc.h.
74880         (memrchr): Remove decl.
74881         (dir_name_r): Remove.
74882         (dir_len): Renamed from dirlen.  All callers changed.
74883         Rewrite in terms of base_name, for simplicity and consistency.
74884         (dir_name): Never return NULL.  All callers changed.
74885         Do not include <stdlib.h> in test program; no longer needed.
74886         return 0; is fine for test program.
74887
74888         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
74889         New macros.
74890         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
74891
74892         * lib/path-concat.c (path_concat): Use base_len to compute
74893         base length, not strlen; this means we cannot rely on memcpy
74894         to null-terminate.
74895
74896         * lib/same.c (STREQ): Remove.
74897         (same_name): Handle the case where the basename ends in trailing '/'.
74898
74899         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
74900         a slash was stripped.  Do not strip the last slash after a
74901         file system prefix.
74902
74903 2001-05-11  Paul Eggert  <eggert@twinsun.com>
74904
74905         * lib/Makefile.am (libfetish_a_SOURCES):
74906         Add strftime.c, since we now compile it on all hosts.
74907
74908         * lib/strftime.c (my_strftime):
74909         Define to nstrftime if emacs, but only if my_strftime is not defined.
74910         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
74911         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
74912         Add one more extra argument: a nanoseconds value.
74913         All uses changed.
74914         (ns): New macro.
74915         (my_strftime function): Add %N format.
74916         (emacs_strftimeu): Renamed from emacs_strftime,
74917         with extra ut argument.
74918
74919 2001-05-09  Paul Eggert  <eggert@twinsun.com>
74920
74921         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
74922
74923 2001-04-21  Jim Meyering  <meyering@lucent.com>
74924
74925         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
74926         doesn't interfere.
74927
74928 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
74929
74930         * m4/ftruncate.m4: Check for chsize.
74931         Link with ftruncate.o unconditionally if ftruncate is missing.
74932         This was required when cross-compiling to i586-mingw32msvc.
74933
74934 2001-04-08  Jim Meyering  <meyering@lucent.com>
74935
74936         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
74937         recomputed; that's necessary when the offset spans a DST transition.
74938         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
74939
74940 2001-04-02  Jim Meyering  <meyering@lucent.com>
74941
74942         * lib/regex.h, regex.c: Update from GNU libc.
74943
74944 2001-03-24  Jim Meyering  <meyering@lucent.com>
74945
74946         * m4/jm-macros.m4: Require autoconf-2.49d.
74947
74948 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
74949
74950         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
74951
74952 2001-03-19  Paul Eggert  <eggert@twinsun.com>
74953
74954         * lib/version-etc.c (version_etc_copyright): Update to 2001.
74955
74956 2001-03-17  Jim Meyering  <meyering@lucent.com>
74957
74958         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
74959         now that the version in autoconf is equivalent.
74960         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
74961
74962         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
74963         Suggestion from Akim Demaille.
74964
74965         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
74966         (jm_PREREQ_TEMPNAME): New function.
74967
74968 2001-03-16  Paul Eggert  <eggert@twinsun.com>
74969
74970         * lib/tempname.c (uint64_t): Define to uintmax_t if
74971         not defined, and if UINT64_MAX is not defined.
74972         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
74973         Reported by John David Anglin.
74974
74975 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
74976
74977         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
74978         resolve alias if codeset is empty.
74979         * lib/config.charset (BeOS): Use wildcard syntax.
74980
74981 2001-03-13  Jim Meyering  <meyering@lucent.com>
74982
74983         * lib/path-concat.c (path_concat)
74984         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
74985         concatenating e.g., `C:' and `foo'.
74986         From Bruno Haible.
74987
74988 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
74989
74990         * lib/localcharset.c (locale_charset): Don't use
74991         setlocale(LC_CTYPE,NULL). Don't return NULL.
74992         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
74993
74994 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
74995
74996         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
74997         support for DOS/DJGPP.
74998
74999 2001-03-01  Paul Eggert  <eggert@twinsun.com>
75000
75001         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
75002         lacks mkstemp.  Compile our own tempname.c if we compile our own
75003         mkstemp.c, as mkstemp relies on tempname.
75004
75005 2001-03-01  Jim Meyering  <meyering@lucent.com>
75006
75007         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
75008         AH_VERBATIM really does output its argument verbatim.
75009
75010 2001-02-28  Paul Eggert  <eggert@twinsun.com>
75011
75012         * lib/Makefile.am (libfetish_a_SOURCES):
75013         Add dup-safer.c, fopen-safer.c.
75014         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
75015
75016         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
75017         * lib/unistd-safer.h: New files.
75018
75019 2001-02-25  Paul Eggert  <eggert@twinsun.com>
75020
75021         The mkstemp replacement is taken from glibc 2.2.2, with some
75022         portability fixes for use outside glibc, as follows:
75023
75024         * lib/tempname.c (struct_stat64): New macro.
75025         (direxists, __gen_tempname): Use it.
75026         This avoids a portability problem with Solaris 8.
75027
75028         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
75029         (<stddef.h>, <stdint.h>, <string.h>):
75030         Include only if STDC_HEADERS || _LIBC.
75031         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
75032         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
75033         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
75034         (__set_errno): Define this macro if <errno.h> doesn't.
75035         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
75036         Define these macros if <stdio.h> doesn't.
75037         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
75038         Define these macros if <sys/stat.h>
75039         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
75040         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
75041         __xstat64): Define if not _LIBC.
75042         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
75043         (__gen_tempname): Invoke gettimeofday only if
75044         HAVE_GETTIMEOFDAY || _LIBC;
75045         otherwise, fall back on plain "time".
75046         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
75047
75048         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
75049
75050         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
75051
75052 2001-02-18  Paul Eggert  <eggert@twinsun.com>
75053
75054         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
75055
75056 2001-02-17  Paul Eggert  <eggert@twinsun.com>
75057
75058         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
75059         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
75060         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
75061         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
75062
75063 2001-02-17  Paul Eggert  <eggert@twinsun.com>
75064
75065         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
75066         Remove workaround macros for hosts that have mbrtowc but not
75067         mbstate_t, as we now insist on proper declarations for both
75068         before using mbrtowc.
75069
75070 2001-02-17  Jim Meyering  <meyering@lucent.com>
75071
75072         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
75073         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
75074         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
75075         UnixWare 7.1.1.
75076
75077         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
75078         rather than AC_CACHE_VAL.
75079
75080 2001-02-17  Jim Meyering  <meyering@lucent.com>
75081
75082         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
75083         around included file name.
75084
75085         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
75086
75087         * lib/strftime.c: Update from GNU libc (the only changes were to
75088         comments).
75089
75090 2001-02-17  Jim Meyering  <meyering@lucent.com>
75091
75092         * lib/regex.c: Update from libc.
75093
75094 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
75095
75096         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
75097         clash.
75098
75099 2001-02-16  Paul Eggert  <eggert@twinsun.com>
75100
75101         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
75102         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
75103         Reported by Mark Hounschell via Paul Eggert.
75104
75105 2001-02-07  Jim Meyering  <meyering@lucent.com>
75106
75107         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
75108
75109 2001-02-05  Jim Meyering  <meyering@lucent.com>
75110
75111         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
75112         it includes the patch required for `large file' support with at least
75113         HP-UX's 10.20 /bin/cc.
75114
75115 2001-02-03  Jim Meyering  <meyering@lucent.com>
75116
75117         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
75118         AS_IF, now that it works once again (mysteriously).
75119         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
75120
75121 2001-01-30  Jim Meyering  <meyering@lucent.com>
75122
75123         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
75124         * m4/chown.m4: Rename conftestchown to conftest.chown.
75125         * m4/rename.m4: s/conftestdir/conftest.d1/ and
75126         s/conftestdir2/conftest.d2/.
75127         * m4/utimes.m4: s/conftestdata/conftest.data/
75128         Inspired by Pavel Roskin's change in autoconf.
75129
75130 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
75131
75132         * lib/config.charset: Update for FreeBSD 4.2.
75133
75134 2001-01-27  Jim Meyering  <meyering@lucent.com>
75135
75136         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
75137         a use of AS_IF.
75138         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
75139
75140 2001-01-26  Jim Meyering  <meyering@lucent.com>
75141
75142         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
75143         quotearg.c includes it.
75144
75145 2001-01-26  Jim Meyering  <meyering@lucent.com>
75146
75147         * lib/quotearg.c: Include stddef.h.
75148         * lib/quote.c: Include stddef.h.
75149         Reported by Axel Kittenberger.
75150
75151         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
75152         line in double quotes so that it evokes a better diagnostic.
75153         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
75154         Reported by Axel Kittenberger.
75155
75156 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
75157
75158         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
75159         as if it was a `charset'.
75160
75161 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
75162
75163         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
75164         has const.
75165
75166 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
75167
75168         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
75169         to avoid a warning.  Add back 'const' to inptr.
75170
75171 2001-01-20  Jim Meyering  <meyering@lucent.com>
75172
75173         Be sure that headers are checked before used in code compiled
75174         for the type checks.
75175         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
75176         In place of that, invoke jm_CHECK_ALL_TYPES.
75177         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
75178         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
75179         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
75180         The check for ssize_t was mistakenly run before the test for unistd.h.
75181
75182         The configure-time check for stdbool.h was missing.
75183         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
75184         (jm_PREREQ_HASH): New function.
75185
75186 2001-01-17  Jim Meyering  <meyering@lucent.com>
75187
75188         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
75189         for autoconf-2.49c.
75190         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
75191
75192 2001-01-16  Jim Meyering  <meyering@lucent.com>
75193
75194         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
75195         From Bruno Haible.
75196
75197 2001-01-14  Jim Meyering  <meyering@lucent.com>
75198
75199         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
75200         foo and bar.  Create conftestdir/ in the script, not in the C code.
75201         Remove directories in the script, not in the C code.
75202         Remove conftestdir{,2} before trying to create the directory.
75203         Make the entire configure script fail if the mkdir fails.
75204
75205 2001-01-14  Jim Meyering  <meyering@lucent.com>
75206
75207         * lib/rename.c: New file.  From Volker Borchert.
75208         Include stdlib.h, string.h or strings.h, and xalloc.h.
75209         Use strip_trailing_slashes rather than open-coding it.
75210
75211 2001-01-03  Paul Eggert  <eggert@twinsun.com>
75212
75213         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
75214
75215 2001-01-03  Jim Meyering  <meyering@lucent.com>
75216
75217         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
75218         of local `inptr' to avoid warning with some system declarations of
75219         iconv.
75220
75221 2001-01-02  Volker Borchert  <bt@teknon.de>
75222
75223         * m4/rename.m4: New file.
75224         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
75225
75226 2001-01-01  Jim Meyering  <meyering@lucent.com>
75227
75228         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
75229         even on systems with utmpx.h.  It's necessary for the declaration of
75230         utmp's ut_user member.  Reported by Andreas Jaeger.
75231
75232         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
75233         available. They are required for the declarations of getgrgid and
75234         getpwuid resp.
75235         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
75236         Reported by Andreas Jaeger.
75237
75238 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
75239
75240         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
75241         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
75242         so `make install' also works in VPATH builds.
75243
75244 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
75245
75246         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
75247         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
75248         can be used in subdirectories.
75249
75250 2000-12-29  Paul Eggert  <eggert@twinsun.com>
75251
75252         * lib/modechange.c: Do not assume that mode_t uses the
75253         traditional octal encoding.  E.g. "chmod 1 FOO" should set
75254         the other-execute bit of FOO even if S_IXOTH != 1.
75255
75256         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
75257         WOTH, XOTH, ALLM): New macros.
75258         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
75259          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
75260         Use them.
75261         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
75262         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
75263         (mode_compile):
75264         No need to use uintmax_t; unsigned long is long enough.
75265         Don't bother to get suffix since we don't use it.
75266
75267 2000-12-26  Jim Meyering  <meyering@lucent.com>
75268
75269         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
75270         better with autoheader.
75271
75272 2000-12-24  Jim Meyering  <meyering@lucent.com>
75273
75274         * lib/hash.c (is_prime): Return explicit boolean values.
75275         (hash_get_first): Return NULL to appease Irix5.6's 89.
75276         Reported by Nelson Beebe.
75277
75278 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
75279
75280         * lib/localcharset.c (locale_charset): Add support for Win32.
75281
75282 2000-12-18  Paul Eggert  <eggert@twinsun.com>
75283
75284         * lib/physmem.h, lib/physmem.c: New files.
75285
75286         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
75287         (noinst_HEADERS): Add physmem.h.
75288
75289         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
75290         't' for compatibility with Solaris 8 sort.
75291
75292 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
75293
75294         * lib/config.charset: Add support for BeOS.
75295
75296 2000-12-17  Jim Meyering  <meyering@lucent.com>
75297
75298         * m4/dos.m4 (jm_AC_DOS): New file and macro.
75299         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
75300
75301 2000-12-16  Jim Meyering  <meyering@lucent.com>
75302
75303         This bug had a serious impact on chown: `chown N:M FILE' (for integer
75304         N and M) would have treated it like `chown N:N FILE'.
75305
75306         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
75307
75308 2000-12-16  Jim Meyering  <meyering@lucent.com>
75309
75310         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
75311         SHELLS_FILE to a file name that's useful on djgpp systems.
75312         Include stdlib.h.
75313         (ADDITIONAL_DEFAULT_SHELLS): Define.
75314         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
75315         Based mostly on a patch from Prashant TR.
75316
75317 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
75318
75319         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
75320         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
75321         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
75322
75323 2000-12-08  Andreas Schwab  <schwab@suse.de>
75324
75325         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
75326         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
75327
75328 2000-12-07  Jim Meyering  <meyering@lucent.com>
75329
75330         * lib/stripslash.c (ISSLASH): Define.
75331         (strip_trailing_slashes): Use ISSLASH rather than comparing against
75332         `/'.
75333         From Prashant TR.
75334
75335         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
75336         (dir_name_r): Declare this function as static.
75337         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
75338         manifest itself on a name containing a mix of slashes and
75339         backslashes.
75340         Make this function work with names starting with a DOS-style
75341         drive letter and colon prefix.
75342         (dir_name): Append `.' if necessary.
75343         Based mostly on patches from Prashant TR and Eli Zaretskii.
75344
75345         * lib/dirname.h (dir_name_r): Remove prototype.
75346
75347 2000-12-06  Paul Eggert  <eggert@twinsun.com>
75348
75349         * m4/off_t-format.m4: Remove this file.
75350         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
75351
75352 2000-12-06  Jim Meyering  <meyering@lucent.com>
75353
75354         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
75355         replacement strtoull, we may well need the replacement strtoul, too.
75356         Check for declarations of strtoul and strtoull.
75357         Check for strtol.  Mainly as a cue to cause automake to include
75358         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
75359         Check for limits.h -- strtol.c needs it.
75360
75361 2000-12-05  Jim Meyering  <meyering@lucent.com>
75362
75363         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
75364
75365 2000-12-04  Jim Meyering  <meyering@lucent.com>
75366
75367         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
75368         Also include memory.h, stdlib.h, unistd.h if appropriate.
75369         Reported by Andreas Jaeger (conflicting declaration of malloc).
75370
75371 2000-12-02  Jim Meyering  <meyering@lucent.com>
75372
75373         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
75374         * m4/jm-macros.m4 (jm_MACROS): require it.
75375
75376 2000-12-02  Jim Meyering  <meyering@lucent.com>
75377
75378         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
75379
75380 2000-12-01  Paul Eggert  <eggert@twinsun.com>
75381
75382         * lib/memrchr.c: Include <config.h> before any system include file.
75383
75384 2000-11-30  Jim Meyering  <meyering@lucent.com>
75385
75386         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
75387
75388 2000-11-30  Jim Meyering  <meyering@lucent.com>
75389
75390         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
75391
75392 2000-11-29  Paul Eggert  <eggert@twinsun.com>
75393
75394         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
75395
75396 2000-11-26  Jim Meyering  <meyering@lucent.com>
75397
75398         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
75399
75400 2000-11-22  Paul Eggert  <eggert@twinsun.com>
75401
75402         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
75403         size of (size_t) -1; it's not portable.
75404
75405 2000-11-17  Jim Meyering  <meyering@lucent.com>
75406
75407         * lib/strstr.c: Update from GNU libc.
75408
75409 2000-11-17  Akim Demaille  <akim@epita.fr>
75410
75411         * lib/obstack.h: Formatting changes.
75412         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
75413         prevent type checking.
75414         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
75415         cast the value to (void *): assigning a `foo *' to a `void *'
75416         variable is valid.
75417         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
75418
75419 2000-11-16  Jim Meyering  <meyering@lucent.com>
75420
75421         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
75422
75423 2000-11-11  Jim Meyering  <meyering@lucent.com>
75424
75425         * lib/error.c: Add a couple #includes, merging from GNU libc version.
75426
75427 2000-11-10  Jim Meyering  <meyering@lucent.com>
75428
75429         * lib/obstack.h: Update from GNU libc.
75430         * lib/obstack.c: Likewise.
75431
75432 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
75433
75434         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
75435
75436 2000-11-06  Paul Eggert  <eggert@twinsun.com>
75437
75438         * lib/getusershell.c (setusershell): Use rewind rather than
75439         fseek/fseeko, to avoid configuration hassles with fseeko.
75440         Don't bother opening SHELLS_FILE if shellstream is NULL;
75441         it's not necessary.
75442
75443 2000-11-05  Jim Meyering  <meyering@lucent.com>
75444
75445         * lib/makepath.h (make_dir): Declare.
75446         * lib/makepath.c (make_dir): Remove `static' attribute.
75447         Tweak a comment.
75448
75449 2000-11-04  Jim Meyering  <meyering@lucent.com>
75450
75451         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
75452
75453 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
75454
75455         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
75456         last one in a bucket, advance to the next bucket.
75457
75458 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
75459
75460         * lib/fnmatch.c: Do not comment out all the code if we are using
75461         the GNU C library, because in some cases we are replacing buggy
75462         code in the GNU C library itself.
75463
75464 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
75465
75466         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
75467         (regex_compile): Catch bogus \(\1\).
75468
75469 2000-10-30  Paul Eggert  <eggert@twinsun.com>
75470
75471         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
75472         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
75473         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
75474
75475 2000-10-30  Paul Eggert  <eggert@twinsun.com>
75476
75477         * lib/error.h, getline.h, modechange.h:
75478         Remove "2000" from Copyright line, as the file hasn't been
75479         changed this year other than in the copyright notice.
75480
75481         * lib/xalloc.h: Add "2000" to Copyright line, as this file
75482         was changed this year.
75483
75484 2000-10-29  Jim Meyering  <meyering@lucent.com>
75485
75486         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
75487         renaming.
75488         * m4/ls-mntd-fs.m4: Likewise
75489
75490 2000-10-29  Jim Meyering  <meyering@lucent.com>
75491
75492         * lib/xstat.in: Fix grammar in comment.
75493
75494 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
75495
75496         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
75497         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
75498         doesn't define __restrict_arr.
75499
75500 2000-10-28  Jim Meyering  <meyering@lucent.com>
75501
75502         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
75503         (jm_PREREQ_MEMCHR): New function.
75504
75505 2000-10-28  Jim Meyering  <meyering@lucent.com>
75506
75507         * lib/memchr.c: Update from libc.
75508         Adjust for portability:
75509         [HAVE_STDLIB_H]: Include stdlib.h.
75510         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
75511         Undef __memchr, too.
75512         [!weak_alias]: Define __memchr to memchr.
75513
75514         * lib/regex.c: Update from libc.
75515         * lib/regex.h: Likewise.
75516         * lib/getopt1.c: Likewise.
75517         * lib/memcmp.c: Likewise.
75518
75519         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
75520         Avoid using fseek, when possible -- it's broken by design.
75521         Patch by Ulrich Drepper.
75522
75523 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
75524
75525         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
75526         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
75527         Giving in to popular pressure to shut up the compiler with casts.
75528
75529 2000-10-26  Jim Meyering  <meyering@lucent.com>
75530
75531         * lib/strftime.c: Update from libc.
75532
75533 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
75534
75535         * regex.c: More `unsigned char' -> `re_char' changes.
75536         Also change several `int' into `re_wchar_t'.
75537         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
75538         (PUSH_FAILURE_POINTER): Don't cast any more.
75539         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
75540         We want GCC to complain, since this piece of code makes
75541         re_match non-reentrant, which *should* be fixed.
75542         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
75543         (EXTEND_BUFFER): Use RETALLOC.
75544         (SET_LIST_BIT): Don't cast.
75545         (re_wchar_t): New type.
75546         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
75547         that those two functions will always properly return.
75548         (IMMEDIATE_QUIT_CHECK): Cast to void.
75549         (analyse_first): Use recursion rather than an explicit stack.
75550         (re_compile_fastmap): Can't fail anymore.
75551         (re_search_2): Don't check re_compile_fastmap for failure.
75552         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
75553         Now also sets the new value (passed in a new argument).
75554         (re_match_2_internal): Use it.
75555         Also, use a new var `reg' of type size_t when looping through regs
75556         rather than reuse the inappropriate `mcnt'.
75557
75558 2000-10-25  Jim Meyering  <meyering@lucent.com>
75559
75560         * lib/obstack.c: Update from libc.
75561
75562 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
75563
75564         * regex.c (regex_compile): Change the way of handling a range from
75565         a char less than 256 to a char not less than 256.
75566
75567 2000-10-24  Andrew Innes  <andrewi@gnu.org>
75568
75569         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
75570         NT-Emacs only.
75571         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
75572         so that re_search functions only quit when callers expect them to.
75573
75574 2000-10-23  Jim Meyering  <meyering@lucent.com>
75575
75576         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
75577         wrong.  That set_locale call must not have any side effects.
75578         From Paul Eggert.
75579
75580 2000-10-22  Jim Meyering  <meyering@lucent.com>
75581
75582         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
75583         [CYCLIC]: Remove now-unused definition.
75584
75585         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
75586         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
75587         Suggestion from Ulrich Drepper.
75588
75589 2000-10-21  Jim Meyering  <meyering@lucent.com>
75590
75591         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
75592         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
75593         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
75594
75595 2000-10-21  Jim Meyering  <meyering@lucent.com>
75596
75597         * lib/dirname.c (memrchr): Declare if necessary.
75598         (dir_name): Remove the restriction that there be no
75599         trailing slashes.  Now, this code skips past them, effectively
75600         ignoring them.
75601         [TEST_DIRNAME] (main): New unit tests.
75602
75603         * lib/memrchr.c: New file from GNU libc.
75604         Undef __memrchr, too.
75605         [!weak_alias]: Define __memrchr to memrchr.
75606         Guard weak_alias use with `#ifdef weak_alias'.
75607
75608 2000-10-21  Jim Meyering  <meyering@lucent.com>
75609
75610         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
75611         (dir_name): Use dir_name_r.
75612         * lib/dirname.h (dir_name_r): Declare it.
75613
75614 2000-10-17  Jim Meyering  <meyering@lucent.com>
75615
75616         * lib/quote.h (PARAMS): Define and use.
75617         Reported by Akim Demaille.
75618
75619         * lib/getopt.c: Update from libc.
75620
75621 2000-10-16  Jim Meyering  <meyering@lucent.com>
75622
75623         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
75624         setlocale.
75625         From Jan Fedak.
75626
75627 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
75628
75629         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
75630
75631 2000-09-25  Jim Meyering  <meyering@lucent.com>
75632
75633         * lib/md5.h (rol): Define (from GnuPG).
75634
75635         * lib/sha.c: Give credit (GnuPG) where due.
75636         (M): Use rol rather than open-coding it.
75637         Add a FIXME comment.
75638
75639 2000-09-21  Jim Meyering  <meyering@lucent.com>
75640
75641         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
75642         Reported by Michael Stone.
75643
75644 2000-09-20  Jim Meyering  <meyering@lucent.com>
75645
75646         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
75647         (noinst_HEADERS): Add sha.h.
75648         Based on code from Scott G. Miller and from GnuPG.
75649
75650 2000-09-18  Jim Meyering  <meyering@lucent.com>
75651
75652         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
75653         LIBS. Otherwise, everyone ends up linking with -lelf for some
75654         configurations.
75655         Reported by Mike Stone.
75656
75657 2000-09-15  Jim Meyering  <meyering@lucent.com>
75658
75659         * lib/regex.c: Update from libc.
75660
75661 2000-09-10  Jim Meyering  <meyering@lucent.com>
75662
75663         * lib/getopt.c (_getopt_internal): Update from glibc.
75664
75665 2000-09-09  Jim Meyering  <meyering@lucent.com>
75666
75667         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
75668         think it should be used as a general replacement for isascii.
75669         * lib/fnmatch.c: Likewise.
75670         * lib/mbswidth.c: Likewise
75671         * lib/regex.c: Likewise.
75672
75673         Don't use atoi.
75674         * lib/userspec.c: Include sys/param.h and limits.h.
75675         Include xstrtol.h.
75676         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
75677         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
75678         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
75679         UID, GID.  Check range.
75680
75681 2000-09-06  Jim Meyering  <meyering@lucent.com>
75682
75683         * lib/getopt.c (_getopt_internal): Update from glibc.
75684
75685 2000-08-30  Jim Meyering  <meyering@lucent.com>
75686
75687         * lib/strftime.c: Merge in changes from GNU libc.
75688
75689 2000-08-26  Jim Meyering  <meyering@lucent.com>
75690
75691         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
75692         * m4/fpending.m4: New file.
75693
75694 2000-08-26  Jim Meyering  <meyering@lucent.com>
75695
75696         * lib/closeout.c: Include "__fpending.h".
75697         (close_stdout_status): Return right away if there's nothing to flush.
75698
75699         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
75700         * lib/__fpending.c: New file.
75701         * lib/__fpending.h: New file.
75702
75703 2000-08-20  Jim Meyering  <meyering@lucent.com>
75704
75705         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
75706         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
75707         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
75708
75709 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
75710
75711         Improve fileutils installation on systems where running
75712         programs (like install) can't be unlinked.
75713         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
75714         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
75715
75716 2000-08-07  Paul Eggert  <eggert@twinsun.com>
75717
75718         Standardize on "memory exhausted" instead of "Memory exhausted"
75719         or "virtual memory exhausted".
75720         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
75721         "virtual memory exhausted".
75722         * lib/same.c (same_name): Invoke xalloc_die instead of printing
75723         our own message.
75724         * lib/userspec.c (parse_user_spec): Likewise.
75725         * lib/bumpalloc.h: comment fix
75726         * lib/same.c, userspec.c: Include xalloc.h.
75727
75728         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
75729         not char *const and pointing to a constant array.
75730         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
75731         (xrealloc): Comment fix.
75732
75733         * lib/userspec.c (parse_user_spec):
75734         Don't translate a message until just before returning,
75735         to avoid unnecessary translation.
75736
75737 2000-08-07  Jim Meyering  <meyering@lucent.com>
75738
75739         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
75740         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
75741         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
75742         getgroups.c, gethostname.c, getopt.h, group-member.c,
75743         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
75744         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
75745         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
75746         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
75747         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
75748         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
75749         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
75750         yesno.c: Back out Copyright date changes for each file with no change
75751         this year.  This eases coordination with other programs using the same
75752         source code modules.  From Paul Eggert.
75753
75754 2000-08-06  Paul Eggert  <eggert@twinsun.com>
75755
75756         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
75757         not char, for compatibility with glibc 2.1.3 strftime.c.
75758
75759 2000-08-03  Greg McGary  <greg@mcgary.org>
75760
75761         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
75762         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
75763         (EXTEND_BUFFER): Use them.
75764
75765 2000-08-01  Jim Meyering  <meyering@lucent.com>
75766
75767         * lib/dirname.c (ISSLASH): Define.
75768         (BACKSLASH_IS_PATH_SEPARATOR): Define.
75769         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
75770         both `\' and `/' may be use as path separators.
75771         Based on a patch from Prashant TR.
75772
75773 2000-07-31  Paul Eggert  <eggert@twinsun.com>
75774
75775         * lib/quotearg.c (quotearg_n_options): Don't make the initial
75776         slot vector a constant, since it might get modified.
75777
75778 2000-07-31  Jim Meyering  <meyering@lucent.com>
75779
75780         * lib/xmalloc.c: Use `virtual memory exhausted', not
75781         `Memory exhausted'.
75782         * lib/obstack.c (print_and_abort): Likewise.
75783
75784 2000-07-30  Paul Eggert  <eggert@twinsun.com>
75785
75786         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
75787         buffer, so that the caller can always quote one small
75788         component of a "memory exhausted" message in slot 0.
75789         From a suggestion by Jim Meyering.
75790
75791 2000-07-30  Jim Meyering  <meyering@lucent.com>
75792
75793         * lib/makepath.c (make_path): Quote the other instance, too.
75794
75795         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
75796         (STATIC_BUF_SIZE): Define.
75797         (quotearg_n_options): Use only statically allocated storage when
75798         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
75799         than STATIC_BUF_SIZE.
75800
75801 2000-07-29  Jim Meyering  <meyering@lucent.com>
75802
75803         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
75804         * lib/dirname.c (dir_name): Likewise.
75805
75806         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
75807         `/'.
75808
75809         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
75810         (dir_name): Assert that there are no trailing slashes.
75811
75812 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
75813
75814         * lib/mbswidth.h (mbswidth): Add a flags argument.
75815         (mbswidth): New declaration.
75816         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
75817         * lib/mbswidth.c (mbswidth): Add a flags argument.
75818         (mbsnwidth): New function.
75819
75820 2000-07-24  Jim Meyering  <meyering@lucent.com>
75821
75822         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
75823
75824 2000-07-23  Paul Eggert  <eggert@twinsun.com>
75825
75826         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
75827
75828 2000-07-23  Paul Eggert  <eggert@twinsun.com>
75829
75830         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
75831         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
75832         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
75833         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
75834         invoke multibyte primitives.
75835
75836 2000-07-23  Paul Eggert  <eggert@twinsun.com>
75837
75838         * lib/quotearg.c:
75839         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
75840         so that mbstate_t is always defined.
75841
75842         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
75843         be 1 in at least one GCC installation, and this configuration
75844         error is likely to be common.  Ignoring MB_LEN_MAX hurts
75845         performance on hosts that have mbrtowc but have only unibyte
75846         locales, but I assume these hosts are rare.
75847
75848 2000-07-23  Paul Eggert  <eggert@twinsun.com>
75849
75850         * lib/mbswidth.c (_XOPEN_SOURCE):
75851         Don't define; this causes problems on Solaris 7.
75852         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
75853
75854 2000-07-23  Jim Meyering  <meyering@lucent.com>
75855
75856         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
75857         too: getgrgid, getpwuid, getuid.
75858
75859 2000-07-23  Jim Meyering  <meyering@lucent.com>
75860
75861         * lib/basename.c (base_name): Add an assertion.
75862
75863 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
75864
75865         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
75866         shadow its mbsinit function.
75867
75868 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
75869
75870         * lib/mbswidth.h: New file.
75871         * lib/mbswidth.c: New file.
75872         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
75873         (noinst_HEADERS): Add mbswidth.h.
75874
75875 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
75876
75877         * lib/config.charset: Add support for FreeBSD. Improve support for
75878         HP-UX and IRIX 6.
75879
75880 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
75881
75882         * m4/mbswidth.m4: New file.
75883         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
75884
75885 2000-07-15  Jim Meyering  <meyering@lucent.com>
75886
75887         * lib/makepath.c: Include quote.h.
75888         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
75889         corresponding argument in a `quote (...)' call.
75890         Give better diagnostics.
75891
75892         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
75893         (noinst_HEADERS): Add quote.h.
75894
75895         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
75896         from tar's src/misc.c.
75897         * lib/quote.h: New file.  Prototypes for same.
75898
75899 2000-07-14  Paul Eggert  <eggert@twinsun.com>
75900
75901         From a suggestion by Bruno Haible.
75902         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
75903         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
75904         to decide whether to define the BeOS workaround macro;
75905         this adjusts to the change to AC_MBSTATE_T.
75906
75907 2000-07-14  Jim Meyering  <meyering@lucent.com>
75908
75909         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
75910         jm_AC_TYPE_UINTMAX_T.
75911
75912 2000-07-13  Paul Eggert  <eggert@twinsun.com>
75913
75914         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
75915
75916         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
75917         quotearg_buffer_restyled): Add support for
75918         clocale_quoting_style.  Undo previous change to
75919         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
75920         and "{RIGHT QUOTATION MARK}" msgids.
75921
75922 2000-07-10  Paul Eggert  <eggert@twinsun.com>
75923
75924         From a suggestion by Bruno Haible.
75925         * m4/mbstate_t.m4 (AC_MBSTATE_T):
75926         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
75927         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
75928         and mbstate_t, to a single-part test that simply defines mbstate_t.
75929         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
75930         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
75931
75932 2000-07-10  Jim Meyering  <meyering@lucent.com>
75933
75934         * m4/strerror_r.m4: Mirror the correction made in autoconf.
75935
75936         * m4/gnu-source.m4: Output to confdefs.h directly.
75937         Suggestion from Akim Demaille.
75938
75939 2000-07-09  Paul Eggert  <eggert@twinsun.com>
75940
75941         The old behavior of quoting `like this' doesn't look good with
75942         newer, ISO-style fonts.  See:
75943         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
75944
75945         Instead, quote "like this" by default.  Let the translator
75946         tailor the locale-specific quoting behavior by providing
75947         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
75948
75949         * lib/quotearg.c (N_): New macro.
75950         (gettext_default): New function.
75951         (quotearg_buffer_restyled): Use
75952         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
75953         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
75954
75955 2000-07-09  Jim Meyering  <meyering@lucent.com>
75956
75957         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
75958         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
75959
75960         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
75961         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
75962
75963 2000-07-09  Jim Meyering  <meyering@lucent.com>
75964
75965         * lib/Most files: Update copyright dates to include 2000.
75966
75967 2000-07-08  Jim Meyering  <meyering@lucent.com>
75968
75969         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
75970         if not defined.
75971         (xgethostname): Remove now-unnecessary #ifdef.
75972         Move declaration of `err' into loop where it's used.
75973
75974 2000-07-05  Paul Eggert  <eggert@twinsun.com>
75975         and Bruno Haible  <haible@clisp.cons.org>
75976
75977         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
75978         only if the test for an object-type mbstate_t fails.  This
75979         prevents us from mistakenly reporting that mbstate_t is a
75980         system object type after we "#define mbstate_t int" to work
75981         around its lack.
75982
75983 2000-07-05  Paul Eggert  <eggert@twinsun.com>
75984         and Bruno Haible  <haible@clisp.cons.org>
75985
75986         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
75987
75988 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
75989
75990         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
75991         to strerror_r.
75992         Include <ctype.h> for use of isalpha.
75993
75994 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
75995
75996         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
75997         by allocating a larger buffer. Test the gethostname return value for
75998         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
75999         returns an error and ENAMETOOLONG isn't defined.
76000
76001 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
76002
76003         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
76004         dimension.
76005
76006 2000-07-04  Jim Meyering  <meyering@lucent.com>
76007
76008         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
76009         of the deprecated AC_CHECKING.
76010
76011 2000-07-04  Jim Meyering  <meyering@lucent.com>
76012
76013         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
76014         Reported by Bruno Haible.
76015
76016 2000-07-04  Jim Meyering  <meyering@lucent.com>
76017
76018         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
76019         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
76020         lacks mbrtowc.
76021
76022 2000-07-03  Paul Eggert  <eggert@twinsun.com>
76023
76024         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
76025         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
76026
76027 2000-07-03  Paul Eggert  <eggert@twinsun.com>
76028         and Bruno Haible  <haible@clisp.cons.org>
76029
76030         * lib/quotearg.c (mbrtowc):
76031         Assign to *pwc, and return 1 only if result is nonzero.
76032         (iswprint): Use ISPRINT when substituting our own mbrtowc.
76033
76034 2000-07-03  Jim Meyering  <meyering@lucent.com>
76035
76036         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
76037
76038 2000-07-03  Jim Meyering  <meyering@lucent.com>
76039
76040         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
76041         This is necessary to get a definition of e.g., UTMP_FILE on
76042         HP-UX 10.20.
76043         From Bob Proulx.
76044
76045 2000-07-02  Jim Meyering  <meyering@lucent.com>
76046
76047         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
76048
76049         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
76050         AC_LIBOBJ(function_name).
76051         * m4/chown.m4: Likewise.
76052         * m4/fnmatch.m4: Likewise.
76053         * m4/ftruncate.m4: Likewise.
76054         * m4/getgroups.m4: Likewise.
76055         * m4/getline.m4: Likewise.
76056         * m4/group-member.m4: Likewise.
76057         * m4/jm-macros.m4: Likewise.
76058         * m4/lstat.m4: Likewise.
76059         * m4/malloc.m4: Likewise.
76060         * m4/memcmp.m4: Likewise.
76061         * m4/nanosleep.m4: Likewise.
76062         * m4/putenv.m4: Likewise.
76063         * m4/realloc.m4: Likewise.
76064         * m4/regex.m4: Likewise.
76065         * m4/stat.m4: Likewise.
76066         * m4/strftime.m4: Likewise.
76067
76068 2000-07-02  Jim Meyering  <meyering@lucent.com>
76069
76070         * lib/quotearg.c (mbstate_t): Don't define here.
76071
76072 2000-07-02  Jim Meyering  <meyering@lucent.com>
76073
76074         * lib/nanosleep.c (SIGCONT): Define if not already defined.
76075
76076 2000-07-01  Jim Meyering  <meyering@lucent.com>
76077
76078         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
76079
76080 2000-07-01  Jim Meyering  <meyering@lucent.com>
76081
76082         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
76083         problem.
76084
76085 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
76086
76087         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
76088         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
76089
76090 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
76091
76092         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
76093         per change in ../m4/ls-mntd-fs.m4.
76094         (read_filesystem_list): Ignore symbolic links.
76095
76096 2000-06-29  Jim Meyering  <meyering@lucent.com>
76097
76098         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
76099         for declaration of strcmp.
76100
76101         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
76102
76103         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
76104         Avoid warning by casting result to `char *' to remove `const'.
76105
76106 2000-06-28  Jim Meyering  <meyering@lucent.com>
76107
76108         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
76109         included by quotearg.c, for which we perform this test.  From
76110         Bruno Haible.
76111
76112 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
76113
76114         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
76115         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
76116         <utmpx.h> exists, put readutmp.o into LIBOBJS.
76117
76118 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
76119
76120         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
76121
76122 2000-06-26  Paul Eggert  <eggert@twinsun.com>
76123
76124         savedir now sets errno on failure and invokes xmalloc to get memory.
76125         Fix a couple of other minor bugs while we're at it.
76126
76127         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
76128         (NAMLEN): Remove macro.
76129         (malloc, realloc): Remove decls.
76130         (stpcpy): Likewise.
76131         ("xalloc.h"): Include.
76132         (NAME_SIZE_DEFAULT): New macro.
76133         (savedir): Use xmalloc / xrealloc to allocate memory.
76134         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
76135         Skip "" directory entries.
76136         Use strlen to calculate directory entry length, since the old method
76137         is rarely used these days and isn't worth supporting.
76138         Don't use a pointer after freeing it.
76139         Check for integer overflow when calculating allocation size.
76140         Use memcpy to copy entries, instead of stpcpy.
76141         Set errno properly when returning NULL.
76142         Check for readdir error.
76143
76144 2000-06-26  Jim Meyering  <meyering@lucent.com>
76145
76146         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
76147
76148 2000-06-25  Jim Meyering  <meyering@lucent.com>
76149
76150         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
76151         Linux header bug when _XOPEN_SOURCE is defined to 500.
76152
76153 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
76154
76155         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
76156         deficiency.
76157
76158 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
76159
76160         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
76161         Include xalloc.h.
76162         Don't include <stdlib.h>.  Don't declare malloc, realloc.
76163
76164 2000-06-24  Jim Meyering  <meyering@lucent.com>
76165
76166         * m4/strerror_r.m4: Revive this file -- to try out an experimental
76167         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
76168         for which strerror does return char*, but which lacks a conveniently
76169         accessible declaration of the function.  If the compile-test says
76170         strerror_r doesn't work, then resort to a `run'-test that works on
76171         BeOS and segfaults on DEC Unix.
76172
76173 2000-06-24  Jim Meyering  <meyering@lucent.com>
76174
76175         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
76176
76177 2000-06-23  Paul Eggert  <eggert@twinsun.com>
76178
76179         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
76180         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
76181
76182 2000-06-23  Paul Eggert  <eggert@twinsun.com>
76183
76184         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
76185         (mbrtowc, mbstate_t): Define substitutes if
76186         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
76187         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
76188         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
76189
76190 2000-06-23  Jim Meyering  <meyering@lucent.com>
76191
76192         * m4/afs.m4: Add missing AC_MSG_RESULT.
76193         Reported by Bruno Haible.
76194
76195         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
76196         Suggestion from Bruno Haible.
76197
76198 2000-06-23  Jim Meyering  <meyering@lucent.com>
76199
76200         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
76201
76202 2000-06-21  Jim Meyering  <meyering@lucent.com>
76203
76204         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
76205
76206 2000-06-21  Jim Meyering  <meyering@lucent.com>
76207
76208         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
76209         (noinst_HEADERS): Add getstr.h.
76210
76211         * lib/getline.c (getstr): Move into a separate file.
76212         * lib/getstr.c (getstr): New file, extracted from getline.c, with
76213         the following changes: new parameter, delim2; both delim[12]
76214         parameters have type `int', not `char'.  The latter would lose
76215         with 8-bit delimiters.
76216         * lib/getstr.h: New file.
76217
76218 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
76219
76220         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
76221         than 1024, return a memory chunk of least possible size, instead
76222         of size PATH_MAX + 2. In the loop, increment the size proportionally.
76223         Use free/xmalloc instead of xrealloc to avoid copying for very long
76224         paths.
76225
76226 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
76227
76228         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
76229         the empty string.
76230
76231 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
76232
76233         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
76234         address, not strdup.  Include <stdlib.h> and don't declare free().
76235
76236 2000-06-19  Jim Meyering  <meyering@lucent.com>
76237
76238         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
76239
76240 2000-06-18  Jim Meyering  <meyering@lucent.com>
76241
76242         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
76243
76244         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
76245         `checking whether...' message to be consistent with that of the
76246         lstat test.
76247
76248 2000-06-18  Jim Meyering  <meyering@lucent.com>
76249
76250         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
76251         Besides, these days every porting target provides a mkdir function.
76252
76253         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
76254         needed. (this snippet comes from src/system.h).
76255
76256 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
76257
76258         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
76259
76260 2000-06-15  Paul Eggert  <eggert@twinsun.com>
76261
76262         * lib/human.c (adjust_value): New function.
76263         (human_readable_inexact): Apply rounding style even when
76264         printing approximate values.
76265
76266 2000-06-14  Paul Eggert  <eggert@twinsun.com>
76267
76268         * lib/human.c (human_readable_inexact): Allow an input block
76269         size that is not a multiple of the output block size, and vice versa.
76270         Reported by Piergiorgio Sartor.
76271
76272 2000-06-14  Paul Eggert  <eggert@twinsun.com>
76273
76274         * lib/getdate.y (get_date): Apply relative times after time
76275         zone indicator, not before.  Reported by Todd A. Jacobs.
76276
76277 2000-06-13  Jim Meyering  <meyering@lucent.com>
76278
76279         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
76280
76281         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
76282
76283 2000-06-12  Paul Eggert  <eggert@twinsun.com>
76284
76285         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
76286
76287 2000-06-12  Jim Meyering  <meyering@lucent.com>
76288
76289         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
76290         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
76291         optional argument.
76292         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
76293         the optional argument, `lib'.
76294
76295 2000-06-08  Jim Meyering  <meyering@lucent.com>
76296
76297         * m4/largefile.m4: Remove file (now that it's part of autoconf).
76298
76299 2000-06-04  Paul Eggert  <eggert@twinsun.com>
76300
76301         Rewrite largefile configuration so that we don't need to run
76302         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
76303         AC_CANONICAL_HOST in configure.in -- jmm]
76304
76305         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
76306         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
76307         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
76308         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
76309         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
76310         All uses changed.
76311         Instead of inspecting the output of getconf, try to compile the
76312         test program without and with the macro definition.
76313         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
76314         for getconf.  Instead, check for the needed flags by compiling
76315         test programs.
76316
76317 2000-06-04  Paul Eggert  <eggert@twinsun.com>
76318
76319         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
76320
76321 2000-06-04  Jim Meyering  <meyering@lucent.com>
76322
76323         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
76324         SunOS 4.1.4 for which gid_t is an unsigned type.
76325
76326 2000-06-03  Jim Meyering  <meyering@lucent.com>
76327
76328         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
76329         now that autoconf requires that.
76330
76331         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
76332         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
76333         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
76334
76335 2000-06-03  Jim Meyering  <meyering@lucent.com>
76336
76337         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
76338
76339 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
76340
76341         * m4/glibc21.m4: New file.
76342         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
76343
76344 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
76345
76346         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
76347         newer, don't install charset.alias.
76348         * lib/config.charset: Change the Linux/glibc rules so they become empty
76349         on glibc-2.1 or newer.
76350
76351 2000-06-02  Jim Meyering  <meyering@lucent.com>
76352
76353         * lib/mountlist.c: Back out last change.  Instead, do this...
76354         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
76355         me_dummy member using the same `ignore'-testing code.
76356         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
76357         fs_type strings.
76358         From Mark D. Roth.
76359
76360 2000-05-29  Jim Meyering  <meyering@lucent.com>
76361
76362         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
76363         mounts with the `ignore' attribute.  Based on a patch from
76364         Mark D. Roth.
76365
76366 2000-05-28  Jim Meyering  <meyering@lucent.com>
76367
76368         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
76369         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
76370         * m4/stat.m4: Likewise.
76371         * m4/lstat.m4: Likewise.
76372         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
76373
76374         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
76375         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
76376
76377 2000-05-26  Jim Meyering  <meyering@lucent.com>
76378
76379         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
76380
76381 2000-05-24  Jim Meyering  <meyering@lucent.com>
76382
76383         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
76384         autoconf requires that.
76385         * m4/lib-check.m4: Likewise.
76386         * m4/jm-macros.m4: Likewise.
76387         * m4/strftime.m4: Likewise.
76388
76389         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
76390         AC_CHECK_DECLS, now that autoconf requires that.
76391
76392 2000-05-22  Jim Meyering  <meyering@lucent.com>
76393
76394         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
76395         * m4/lstat.m4: Likewise.
76396
76397 2000-05-22  Jim Meyering  <meyering@lucent.com>
76398
76399         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
76400
76401 2000-05-20  Jim Meyering  <meyering@lucent.com>
76402
76403         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
76404         (jm_PREREQ): Use it.
76405
76406 2000-05-18  Jim Meyering  <meyering@lucent.com>
76407
76408         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
76409         back, too, since it may have been modified by allocate_entry.
76410         (hash_delete): Rewrite to use neither the assignment operator
76411         nor the comma operator in an if-expression.
76412
76413 2000-05-15  Paul Eggert  <eggert@twinsun.com>
76414
76415         * lib/closeout.c:
76416         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
76417         Remove; no longer needed.
76418         "quotearg.h": Add include.
76419         (file_name): Do not bother to explicitly initialize to NULL; it's less
76420         efficient on some hosts.
76421         (close_stdout_status): Remove test as to whether stdout was already
76422         closed; it breaks for the case "echo x | sort >&-".
76423         Quote file name colons.
76424         Do not assume that _("write error") lacks format strings.
76425
76426 2000-05-15  Jim Meyering  <meyering@lucent.com>
76427
76428         * lib/version-etc.c (version_etc_copyright): Update the copyright
76429         string used in all --version output.
76430
76431 2000-05-14  Jim Meyering  <meyering@lucent.com>
76432
76433         * lib/closeout.c (close_stdout_set_file_name): New function.
76434         (close_stdout_status): Use new file-scoped global.
76435         Return right away if fstat says the stdout file descriptor is invalid.
76436         * lib/closeout.h (close_stdout_set_file_name): Declare.
76437
76438 2000-05-10  Jim Meyering  <meyering@lucent.com>
76439
76440         * lib/closeout.c [default_exit_status]: New file-scoped variable.
76441         (close_stdout_set_status): New function.
76442         * lib/closeout.h (close_stdout_set_status): Declare.
76443
76444 2000-05-09  Jim Meyering  <meyering@lucent.com>
76445
76446         * m4/gettext.m4: Rename this...
76447         * m4/libintl.m4: ...to this.
76448
76449 2000-05-08  Jim Meyering  <meyering@lucent.com>
76450
76451         * lib/long-options.c: Don't include closeout.h.
76452         (parse_long_options): Don't call close_stdout for --version.
76453
76454 2000-05-06  Paul Eggert  <eggert@twinsun.com>
76455
76456         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
76457         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
76458         2.1.3 bug.  This avoids a clash when files like regex.c define
76459         _GNU_SOURCE.
76460
76461 2000-05-06  Jim Meyering  <meyering@lucent.com>
76462
76463         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
76464         (AC_REPLACE_FUNCS): Add strnlen.
76465
76466         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
76467         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
76468
76469         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
76470         AC_SEARCH_LIBS call for nanosleep.
76471         (LIB_NANOSLEEP): Set and AC_SUBST.
76472
76473 2000-05-06  Jim Meyering  <meyering@lucent.com>
76474
76475         * lib/strnlen.c: Undefine __strnlen and strnlen.
76476         [!weak_alias]: Define __strnlen to strnlen.
76477
76478         * lib/atexit.c: New file, from libiberty.
76479
76480 2000-05-06  Jim Meyering  <meyering@lucent.com>
76481
76482         * lib/closeout.c (close_stdout_status): Also check for errors on the
76483         stderr stream.
76484
76485 2000-05-05  Jim Meyering  <meyering@lucent.com>
76486
76487         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
76488         AC_SEARCH_LIBS call for clock_gettime.
76489         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
76490
76491         * m4/search-libs.m4: Update from autoconf.
76492
76493         su doesn't work on Solaris 2.6.
76494         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
76495         <shadow.h>.  Reported by Dragos Harabor.
76496
76497 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
76498
76499         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
76500         memcpy instead of xmalloc, xrealloc, path_concat.
76501         (locale_charset): Treat empty environment variables as absent.
76502         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
76503
76504 2000-05-04  Jim Meyering  <meyering@lucent.com>
76505
76506         * lib/getopt.c: Update from glibc.
76507         * lib/obstack.c: Likewise.
76508         * lib/obstack.h: Likewise.
76509         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
76510         file
76511
76512         * lib/regex.h: Likewise.
76513         * lib/strndup.c: Likewise.
76514         * lib/strnlen.c: New file, from glibc.
76515
76516 2000-05-03  Jim Meyering  <meyering@lucent.com>
76517
76518         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
76519
76520 2000-05-02  Paul Eggert  <eggert@twinsun.com>
76521
76522         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
76523         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
76524         compile-time test, rather than inspecting host and OS, to
76525         decide whether to define _LARGEFILE_SOURCE.
76526
76527 2000-05-01  Jim Meyering  <meyering@lucent.com>
76528
76529         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
76530
76531         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
76532         Based on a patch from Bruno Haible.
76533
76534 2000-05-01  Jim Meyering  <meyering@lucent.com>
76535
76536         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
76537
76538 2000-04-29  Jim Meyering  <meyering@lucent.com>
76539
76540         * lib/path-concat.c: Declare strdup only if it's not defined.
76541         * lib/canon-host.c: Likewise.
76542
76543 2000-04-28  Jim Meyering  <meyering@lucent.com>
76544
76545         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
76546         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
76547         is included first, then limits.h is included by locale.h by libintl.h.
76548         From John David Anglin.
76549
76550 2000-04-25  Jim Meyering  <meyering@lucent.com>
76551
76552         * lib/makepath.c (S_IRWXUGO): Define.
76553         (make_path): Always perform explicit chmod if MODE specifies any
76554         of the `special' permission bits.  Prompted by a bug report against
76555         install from Mate Wierdl and Joost van Baal.
76556
76557 2000-04-18  Jim Meyering  <meyering@lucent.com>
76558
76559         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
76560         (jm_PREREQ): Use it.
76561
76562 2000-04-18  Jim Meyering  <meyering@lucent.com>
76563
76564         * lib/README: New file.
76565
76566         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
76567         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
76568
76569 2000-04-17  Jim Meyering  <meyering@lucent.com>
76570
76571         Get it right :-)
76572         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
76573         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
76574         Suggestion from Akim Demaille.
76575
76576 2000-04-17  Jim Meyering  <meyering@lucent.com>
76577
76578         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
76579         the definition of it to rpl_strftime also defined-away the system's
76580         declaration.
76581
76582 2000-04-15  Jim Meyering  <meyering@lucent.com>
76583
76584         Use `C' to denote so-called `contiguous' files, the same way
76585         that tar does.
76586         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
76587         (ftypelet): Use S_ISCTG.
76588         From Michael Deutschmann.
76589
76590 2000-04-14  Jim Meyering  <meyering@lucent.com>
76591
76592         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
76593         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
76594         clobbered.
76595
76596 2000-04-14  Jim Meyering  <meyering@lucent.com>
76597
76598         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
76599
76600 2000-04-13  Jim Meyering  <meyering@lucent.com>
76601
76602         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
76603         AH_VERBATIM to insert required #ifndef into config.h.in.
76604         Suggestion from Akim Demaille.
76605
76606 2000-04-12  Jim Meyering  <meyering@lucent.com>
76607
76608         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
76609         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
76610         Christian Krackowizer.
76611
76612         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
76613         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
76614         (AC_SYS_LARGEFILE): Require.
76615         (AM_C_PROTOTYPES): Require.
76616
76617 2000-04-08  Jim Meyering  <meyering@lucent.com>
76618
76619         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
76620         names don't conflict.  Reported by Eli Zaretskii.
76621
76622 2000-04-07  Jim Meyering  <meyering@lucent.com>
76623
76624         * lib/putenv.c: Move inclusion of errno.h so it follows that of
76625         sys/types.h, to work around system header problems on AIX 3.2.5.
76626         From Bruno Haible.
76627
76628 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
76629
76630         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
76631         bug.  Deal with the different error behavior of Irix iconv.
76632
76633 2000-04-05  Paul Eggert  <eggert@twinsun.com>
76634
76635         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
76636         IRIX if the installer said otherwise.
76637
76638 2000-04-05  Jim Meyering  <meyering@lucent.com>
76639
76640         Portability tweaks required for ultrix4.3.
76641         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
76642         (jm_CHECK_DECLS): Add getutent to the list of functions.
76643         (_jm_DECL_HEADERS): Add utmpx.h.
76644         From John David Anglin.
76645
76646         * m4/strftime.m4: Back out the 2000-04-02 change.
76647         Instead of that change, simply undefine putenv in the test program.
76648
76649 2000-04-05  Jim Meyering  <meyering@lucent.com>
76650
76651         Portability tweaks required for ultrix4.3.
76652         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
76653         getutent.
76654         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
76655         * lib/canon-host.c: Declare strdup.
76656         * lib/path-concat.c: Likewise.
76657         From John David Anglin.
76658
76659 2000-04-04  Jim Meyering  <meyering@lucent.com>
76660
76661         Be more DOS 8.3-friendly.
76662         * lib/ref-add.sin: Renamed from ref-add.sed.in.
76663         * lib/ref-del.sin: Renamed from ref-del.sed.in.
76664         * lib/Makefile.am: Reflect renaming.
76665         Reported by Eli Zaretskii.
76666
76667         Use a temporary file name that won't clash with `charset.alias'
76668         in the DOS 8.3 name space.
76669         * lib/Makefile.am (charset_tmp): Define.
76670         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
76671         (uninstall-local): Likewise.
76672         Reported by Eli Zaretskii.
76673
76674 2000-04-03  Jim Meyering  <meyering@lucent.com>
76675
76676         * m4/gettext.m4: Fix typo in comment.
76677
76678         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
76679         textutils/configure.in).  Suggestion from Paul Eggert.
76680         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
76681
76682 2000-04-02  Paul Eggert  <eggert@twinsun.com>
76683
76684         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
76685         variable in the shell rather than using putenv, which isn't
76686         portable.  This avoids the configure-time inter-test dependency
76687         on the potentially-renamed putenv function.
76688
76689 2000-03-30  Paul Eggert  <eggert@twinsun.com>
76690
76691         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
76692         before checking struct stat.st_blksize, so that
76693         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
76694
76695 2000-03-29  Paul Eggert  <eggert@twinsun.com>
76696
76697         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
76698         since strftime.c uses HAVE_STRFTIME to decide whether to use
76699         the underlying strftime.
76700
76701 2000-03-29  Paul Eggert  <eggert@twinsun.com>
76702
76703         * lib/time/strftime.c (my_strftime): Make sure we call the system
76704         strftime, not ourselves, when invoking the underlying strftime.
76705
76706 2000-03-24  Jim Meyering  <meyering@lucent.com>
76707
76708         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
76709         (charset_alias): Define.
76710         (install-exec-local): Factor out common code.
76711         (uninstall-local): Split lines longer than 80.
76712         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
76713         (SUFFIXES): Define.
76714         (.sed.in.sed): New rule.  Don't redirect directly to $@.
76715         (CLEANFILES): Add ref-add.sed and ref-del.sed.
76716
76717 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
76718
76719         * lib/config.charset: Output a line containing "Packages using this
76720         file".
76721         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
76722         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
76723         ref-del.sed): New rules.
76724
76725 2000-03-17  Jim Meyering  <meyering@lucent.com>
76726
76727         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
76728         Otherwise, include <strings.h>
76729
76730 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
76731
76732         * lib/unicodeio.c (utf8_wctomb): New function.
76733         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
76734         format instead of in UCS-4 with platform dependent endianness.
76735
76736 2000-03-10  Jim Meyering  <meyering@lucent.com>
76737
76738         * m4/lib-check.m4: Look for getspnam in -lgen, too.
76739         From Marco Franzen.
76740
76741 2000-03-07  Paul Eggert  <eggert@twinsun.com>
76742
76743         * lib/savedir.c (savedir): Work even if directory size is
76744         negative; this can happen with some screwy NFS configurations.
76745
76746 2000-03-06  Jim Meyering  <meyering@lucent.com>
76747
76748         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
76749         if it's NULL (because we ran out of memory).  From Bruno Haible.
76750
76751 2000-03-05  Jim Meyering  <meyering@lucent.com>
76752
76753         * lib/localcharset.c ("path-concat.h"): Include.
76754         (get_charset_aliases): Use path_concat instead of ANSI string
76755         concatenation.
76756
76757         * lib/unicodeio.h (PARAMS): Define.
76758         Use it to guard prototype.
76759
76760 2000-03-04  Jim Meyering  <meyering@lucent.com>
76761
76762         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
76763         for lib/localcharset.c.
76764
76765 2000-03-04  Jim Meyering  <meyering@lucent.com>
76766
76767         * lib/Makefile.am (install-exec-local): Create $(libdir) before
76768         installing into it.
76769         (uninstall-local): Uncomment this rule so `make distcheck' works
76770         once again.
76771
76772         * lib/unicodeio.c (<errno.h>): Include it.
76773         (errno): Declare if not defined.
76774
76775         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
76776
76777         * lib/config.charset: New version, incorporating remarks from a linux
76778         i18n mailing list.  From Bruno Haible.
76779
76780 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
76781
76782         * m4/codeset.m4: New file.
76783         * m4/iconv.m4: New file.
76784         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
76785
76786 2000-03-03  Jim Meyering  <meyering@lucent.com>
76787
76788         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
76789
76790 2000-03-02  Jim Meyering  <meyering@lucent.com>
76791
76792         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
76793         the messages come out on separate lines.
76794
76795         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
76796         rather than jm_CHECK_DECLARATIONS.
76797         * m4/decl.m4: Remove now-unused file.
76798
76799         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
76800         geteuid.
76801
76802 2000-03-02  Jim Meyering  <meyering@lucent.com>
76803
76804         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
76805
76806 2000-03-01  Jim Meyering  <meyering@lucent.com>
76807
76808         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
76809         * lib/unicodeio.c: Likewise.
76810
76811 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
76812
76813         * lib/config.charset: New file.
76814         * lib/localcharset.c: New file.
76815         * lib/unicodeio.h, lib/unicodeio.c: New files.
76816         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
76817         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
76818         (noinst_HEADERS): Add unicodeio.h.
76819         (all-local, install-exec-local, charset.alias): New targets.
76820
76821 2000-02-28  Paul Eggert  <eggert@twinsun.com>
76822
76823         * lib/quotearg.c (ALERT_CHAR): New macro.
76824         (quotearg_buffer_restyled): Use it.
76825
76826 2000-02-27  Jim Meyering  <meyering@lucent.com>
76827
76828         * m4/check-decl.m4: Add getenv to the list.
76829
76830 2000-02-27  Jim Meyering  <meyering@lucent.com>
76831
76832         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
76833         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
76834
76835         * lib/backupfile.c: Guard inclusion of stdlib.h with
76836         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
76837         Declare malloc if needed.
76838
76839         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
76840         `#ifndef HAVE_DECL..'
76841         now that autoconf always defines the HAVE_DECL_ symbols.
76842         * lib/human.c: Likewise.
76843         * lib/same.c: Likewise.
76844         * lib/strtoumax.c: Likewise.
76845
76846         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
76847         declaration check was not run.
76848         * lib/hash.c: Likewise.
76849         * lib/human.c: Likewise.
76850         * lib/same.c: Likewise.
76851         * lib/strtoumax.c: Likewise.
76852
76853         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
76854         `.', then first look up the entire `.'-containing string as a login
76855         name.
76856
76857 2000-02-23  Jim Meyering  <meyering@lucent.com>
76858
76859         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
76860         in place of my hack.
76861
76862 2000-02-18  Paul Eggert  <eggert@twinsun.com>
76863
76864         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
76865         (textint): New typedef.
76866         (parser_control): Member year changed from int to textint.
76867         All uses changed.
76868         (YYSTYPE): Removed; replaced by %union with int and textint members.
76869         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
76870         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
76871         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
76872         (tSNUMBER, tUNUMBER): Now of type <textintval>.
76873         (date, number, to_year): Use width of number in digits, not its value,
76874         to determine whether it's a 2-digit year, or a 2-digit time.
76875         (yylex): Store number of digits of numeric tokens.
76876         Reported by John Kendall.
76877
76878         (parser_control): Changed from struct parser_control to typedef (for
76879         consistency).  All uses changed.
76880
76881         (tID): Removed; not used.
76882         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
76883
76884 2000-02-14  Paul Eggert  <eggert@twinsun.com>
76885
76886         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
76887         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
76888
76889 2000-02-12  Jim Meyering  <meyering@lucent.com>
76890
76891         * lib/userspec.c (ISDIGIT): Define it.
76892         (isdigit): Remove definition.
76893         (is_number): Use ISDIGIT, not isdigit.
76894         <libintl.h>: Include.
76895         (_ and N_): Define.
76896         (parse_user_spec): Mark translatable strings.
76897
76898 2000-02-10  Jim Meyering  <meyering@lucent.com>
76899
76900         With these changes, nanosleep.[ch] are finally enough like the other
76901         lib/* replacement files to compile on a few more losing systems.
76902
76903         * lib/nanosleep.h: Don't include config.h.
76904         Remove prototype from declaration of nanosleep.
76905         (PARAMS): Remove now-unneeded definition.
76906         * lib/nanosleep.c: #undef nanosleep.
76907         (rpl_nanosleep): Rename from nanosleep.
76908
76909 2000-02-10  Jim Meyering  <meyering@lucent.com>
76910
76911         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
76912         gnu_nanosleep to rpl_nanosleep.
76913
76914 2000-02-09  Jim Meyering  <meyering@lucent.com>
76915
76916         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
76917         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
76918
76919 2000-02-08  Akim Demaille  <akim@epita.fr>
76920
76921         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
76922         `[' and `]' and remove uses of `changequote'.
76923         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
76924         (AC_SYS_LARGEFILE): Likewise.
76925         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
76926         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
76927         of changequote.
76928         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
76929         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
76930         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
76931         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
76932
76933 2000-02-05  Jim Meyering  <meyering@lucent.com>
76934
76935         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
76936         Remove explicit use of AC_HEADER_TIME.  It is required by
76937         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
76938         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
76939         in autoconf whereby the expansion of the latter ended up preceding
76940         the expansion of its prerequisite, AC_HEADER_TIME.
76941         Reported by Volker Borchert.
76942
76943 2000-02-03  Jim Meyering  <meyering@lucent.com>
76944
76945         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
76946
76947 2000-02-03  Jim Meyering  <meyering@lucent.com>
76948
76949         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
76950         rather than with `#if HAVE_UTMPNAME'.
76951
76952 2000-02-02  Jim Meyering  <meyering@lucent.com>
76953
76954         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
76955         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
76956         Reported by Eli Zaretskii.
76957
76958 2000-02-01  Jim Meyering  <meyering@lucent.com>
76959
76960         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
76961
76962 2000-01-31  Jim Meyering  <meyering@lucent.com>
76963
76964         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
76965         functions.  Add the time.h and sys/time.h headers along with the
76966         AC_REQUIRE'ment of AC_HEADER_TIME.
76967
76968 2000-01-31  Jim Meyering  <meyering@lucent.com>
76969
76970         * lib/nanosleep.h (nanosleep): Guard declaration with
76971         `#if ! HAVE_DECL_NANOSLEEP'.
76972         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
76973         the declaration in that vendor's sys/timers.h.
76974         Reported by Christian Krackowizer.
76975
76976         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
76977         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
76978         (ISPRINT): Likewise.
76979         Reported by Tom Tromey.
76980
76981 2000-01-30  Jim Meyering  <meyering@lucent.com>
76982
76983         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
76984
76985         * m4/prereq.m4 (utmp_includes): Define.
76986         Check for ut_user and ut_name members in both struct utmpx
76987         and struct utmp.
76988
76989 2000-01-30  Jim Meyering  <meyering@lucent.com>
76990
76991         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
76992         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
76993         header files where only utmpx.ut_user is declared.
76994
76995         * lib/readutmp.h (UT_USER): Define.
76996
76997 2000-01-29  Jim Meyering  <meyering@lucent.com>
76998
76999         * m4/lib-check.m4: New file containing library-related checks from
77000         fileutils and sh-utils (textutils had none).
77001
77002 2000-01-28  Jim Meyering  <meyering@lucent.com>
77003
77004         * m4/perl.m4: Change format of warning message to look more like that
77005         from the missing script.  Suggestion from François Pinard.
77006
77007 2000-01-25  Jim Meyering  <meyering@lucent.com>
77008
77009         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
77010         well as time.h in the compile check.
77011         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
77012         Fix typo in cross-compiling case: s/yes/no/.
77013
77014 2000-01-23  Jim Meyering  <meyering@lucent.com>
77015
77016         * m4/jm-macros.m4: Move df-related tests here from
77017         fileutils/configure.in
77018
77019         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
77020         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
77021
77022         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
77023         s/space/ac_fsusage_space/.
77024         (jm_FILE_SYSTEM_USAGE): Take two parameters.
77025
77026         * m4/ftruncate.m4: New file (derived from part of
77027         fileutils/configure.in).
77028         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
77029         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
77030
77031         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
77032         AC_SUBST these here, rather than just in sh-util/configure.in, so
77033         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
77034         all the same.
77035         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
77036         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
77037         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
77038         (AC_SUBST(POW_LIBM)): Likewise.
77039         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
77040
77041 2000-01-23  Jim Meyering  <meyering@lucent.com>
77042
77043         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
77044         obstack.c.
77045
77046 2000-01-22  Jim Meyering  <meyering@lucent.com>
77047
77048         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
77049
77050         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
77051
77052         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
77053         configure.in
77054         (AC_CHECK_HEADERS): Likewise for sh-utils.
77055         (AC_CHECK_HEADERS): Likewise for textutils.
77056         Merge the three lists of headers.
77057
77058         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
77059         from fileutils' configure.in.
77060
77061         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
77062         code. Moved tests into their own function (_jm_DECL_HEADERS) in
77063         check-decl.m4.
77064
77065         * m4/check-decl.m4: Use #if rather than #ifdef.
77066         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
77067         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
77068         (_jm_DECL_HEADERS): Define new function.
77069         (jm_CHECK_DECLARATIONS): Require it.
77070
77071 2000-01-22  Jim Meyering  <meyering@lucent.com>
77072
77073         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
77074         [! HAVE_DECL_STRTOULL]: Declare strtoull.
77075         Required for some AIX systems.  Reported by Christian Krackowizer.
77076         [TESTING] (main): New function.
77077
77078         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
77079         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
77080         letters.
77081
77082         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
77083         iswprint.
77084
77085         * lib/strverscmp.c (ISDIGIT): Define.
77086         (strverscmp): Use ISDIGIT, not isdigit.
77087
77088 2000-01-19  Jim Meyering  <meyering@lucent.com>
77089
77090         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
77091         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
77092         defines `struct timespec' in <sys/time.h>
77093
77094         * m4/c-bs-a.m4: Remove uses of changequote altogether.
77095         Thanks to Akim for explaining.
77096
77097 2000-01-17  Paul Eggert  <eggert@twinsun.com>
77098
77099         * lib/nanosleep.c (nanosleep):
77100         Don't use SA_INTERRUPT to decide whether to call sigaction, as
77101         POSIX.1 doesn't require SA_INTERRUPT and some systems
77102         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
77103         it's been part of POSIX.1 since day 1 (in 1988).
77104
77105 2000-01-17  Jim Meyering  <meyering@lucent.com>
77106
77107         * lib/interlock: Remove unused file.  Reported by François Pinard.
77108
77109 2000-01-16  Paul Eggert  <eggert@twinsun.com>
77110
77111         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
77112         alert, backslash, formfeed, and vertical tab unnecessarily in
77113         shell quoting style.
77114
77115 2000-01-16  Jim Meyering  <meyering@lucent.com>
77116
77117         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
77118         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
77119         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
77120         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
77121
77122 2000-01-16  Jim Meyering  <meyering@lucent.com>
77123
77124         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
77125         because the latter didn't work.
77126
77127 2000-01-15  Jim Meyering  <meyering@lucent.com>
77128
77129         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
77130         (AC_REPLACE_FUNCS): Add memcpy and memset.
77131         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
77132         Add strpbrk.
77133         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
77134
77135 2000-01-12  Jim Meyering  <meyering@lucent.com>
77136
77137         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
77138         (jm_PREREQ): Use it.
77139         (jm_PREREQ_READUTMP): New macro.
77140         (jm_PREREQ): Use it.
77141
77142 2000-01-11  Paul Eggert  <eggert@twinsun.com>
77143
77144         Quote multibyte characters correctly.
77145         * m4/c-bs-a.m4: New file.
77146         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
77147         (jm_PREREQ): Use it.
77148
77149 2000-01-11  Paul Eggert  <eggert@twinsun.com>
77150
77151         * m4/uintmax_t.m4: Port to autoconf 2.13.
77152
77153 2000-01-08  Jim Meyering  <meyering@ascend.com>
77154
77155         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
77156         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
77157
77158 2000-01-04  Jim Meyering  <meyering@ascend.com>
77159
77160         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
77161         jm_STRUCT_DIRENT_D_TYPE.
77162         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
77163         jm_STRUCT_DIRENT_D_INO.
77164         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
77165         jm_STRUCT_UTIMBUF.
77166         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
77167         renamings.
77168         * m4/utime.m4: Likewise.
77169
77170         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
77171         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
77172
77173 2000-01-03  Paul Eggert  <eggert@twinsun.com>
77174
77175         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
77176         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
77177
77178 2000-01-02  Jim Meyering  <meyering@ascend.com>
77179
77180         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
77181         remember if this is necessary.
77182
77183 1999-12-26  Jim Meyering  <meyering@ascend.com>
77184
77185         * m4/jm-macros.m4: Use it here.
77186         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
77187
77188 1999-12-23  Jim Meyering  <meyering@ascend.com>
77189
77190         * m4/jm-macros.m4: Check for clock_gettime (moved from
77191         fileutils/configure.in)
77192         Check for gettimeofday.
77193
77194 1999-12-20  Jim Meyering  <meyering@ascend.com>
77195
77196         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
77197         autoconf-2.14a-1999-12-20.
77198
77199 1999-12-19  Jim Meyering  <meyering@ascend.com>
77200
77201         * m4/lstat-slash.m4: New file.
77202         * m4/jm-macros.m4: Use the new macro:
77203         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
77204
77205 1999-12-07  Jim Meyering  <meyering@ascend.com>
77206
77207         * m4/perl.m4: Require that File::Compare be available, too.
77208         Too many systems seem to lack it.
77209
77210         * m4/strftime.m4: Add checks for most of the cpp macros tested in
77211         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
77212
77213 1999-11-18  Paul Eggert  <eggert@twinsun.com>
77214
77215         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
77216         problem with the QNX 4.25 shell, which doesn't propagate exit
77217         status of failed commands inside shell assignments.
77218
77219 1999-11-17  Jim Meyering  <meyering@ascend.com>
77220
77221         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
77222
77223 1999-11-07  Jim Meyering  <meyering@ascend.com>
77224
77225         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
77226
77227 1999-11-06  Jim Meyering  <meyering@ascend.com>
77228
77229         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
77230         * m4/jm-macros.m4 (jm_MACROS): Use it here.
77231
77232 1999-11-05  Jim Meyering  <meyering@ascend.com>
77233
77234         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
77235         configure.in of textutils, fileutils, and sh-utils into this one
77236         (shared between those packages) file.
77237         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
77238         AC_STRUCT_ST_BLKSIZE.
77239
77240 1999-11-03  Jim Meyering  <meyering@ascend.com>
77241
77242         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
77243         of AC_CHECK_TYPE checks includes unistd.h.
77244         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
77245         Suggestion from Akim Demaille.
77246
77247 1999-10-30  Jim Meyering  <meyering@ascend.com>
77248
77249         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
77250         m4-quoted string.
77251         * m4/ls-mntd-fs.m4: Likewise.
77252         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
77253         * m4/jm-winsz1.m4: Likewise.
77254
77255         * m4/const.m4: Remove file, since the fix made it into the experimental
77256         version of autoconf.
77257         * m4/mktime.m4: Likewise.
77258
77259         * m4/check-type.m4: Remove file, now that the latest version of
77260         AC_CHECK_TYPE takes a third arg to specify additional #includes.
77261
77262         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
77263         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
77264         AC_CHECK_TYPE.
77265
77266 1999-10-04  Jim Meyering  <meyering@ascend.com>
77267
77268         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
77269
77270 1999-09-22  Paul Eggert  <eggert@twinsun.com>
77271
77272         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
77273         2.95.1 bug with HP-UX 10.20.
77274
77275 1999-09-17  Jim Meyering  <meyering@ascend.com>
77276
77277         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
77278         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
77279         due to missing strdup (against sh-utils-2.0).
77280
77281 1999-08-29  Jim Meyering  <meyering@ascend.com>
77282
77283         * m4/jm-macros.m4: Require jm_BISON.
77284         * m4/bison.m4: New file.
77285
77286 1999-08-17  Paul Eggert  <eggert@twinsun.com>
77287
77288         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
77289         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
77290
77291 1999-08-05  Jim Meyering  <meyering@ascend.com>
77292
77293         * m4/getline.m4: Rename test file from conftestdata to conftest.data
77294         to avoid conflicts with `conftest' on 8+3 filesystems.
77295         Suggestion from Eli Zaretskii.
77296
77297 1999-08-04  Jim Meyering  <meyering@ascend.com>
77298
77299         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
77300         fileutils and sh-utils (textutils's getline test was inadequate).
77301         (AM_FUNC_GETLINE): Run this test.
77302         (AC_CHECK_FUNCS): Check for getdelim.
77303         Reported by Bob Proulx.
77304
77305 1999-08-02  Jim Meyering  <meyering@ascend.com>
77306
77307         * m4/jm-macros.m4: Add a comment.
77308
77309 1999-08-01  Paul Eggert  <eggert@twinsun.com>
77310
77311         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
77312         <inttypes.h> defines strtoumax as a macro (and not as a
77313         function).
77314
77315 1999-08-01  Paul Eggert  <eggert@twinsun.com>
77316
77317         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
77318         that we can shift, multiply and divide unsigned long long
77319         values; Ultrix cc can't do it.
77320
77321 1999-08-01  Paul Eggert  <eggert@twinsun.com>
77322
77323         * m4/mktime.m4: New file, which is a preview of what should appear
77324         in the next public autoconf release.
77325
77326 1999-08-01  Paul Eggert  <eggert@twinsun.com>
77327
77328         * m4/lfs.m4: Remove this file.
77329         * m4/largefile.m4: New file.  It contains the old contents of
77330         lfs.m4, except that all names with prefix AC_LFS have been
77331         changed to use the prefix AC_SYS_LARGEFILE instead, to be
77332         compatible with future autoconf versions.  Also, some minor m4
77333         quoting problems have been fixed.
77334
77335 1999-08-01  Paul Eggert  <eggert@twinsun.com>
77336
77337         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
77338         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
77339         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
77340         and simplify the shell code.
77341
77342 1999-08-01  Jim Meyering  <meyering@ascend.com>
77343
77344         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
77345         m4.
77346
77347 1999-07-20  Jim Meyering  <meyering@ascend.com>
77348
77349         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
77350
77351 1999-07-15  Jim Meyering  <meyering@ascend.com>
77352
77353         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
77354
77355 1999-05-22  Jim Meyering  <meyering@ascend.com>
77356
77357         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
77358
77359 1999-05-20  Jim Meyering  <meyering@ascend.com>
77360
77361         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
77362         Add a colon after each `then' in case $4 is empty.
77363
77364 1999-05-16  Jim Meyering  <meyering@ascend.com>
77365
77366         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
77367
77368 1999-05-10  Jim Meyering  <meyering@ascend.com>
77369
77370         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
77371
77372         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
77373         AC_FUNC_MKTIME.
77374
77375 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
77376
77377         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
77378
77379 1999-05-04  Paul Eggert  <eggert@twinsun.com>
77380
77381         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
77382         not CPPFLAGS, so that linking works correctly in IRIX.
77383
77384 1999-04-30  Paul Eggert  <eggert@twinsun.com>
77385
77386         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
77387
77388 1999-04-20  Paul Eggert  <eggert@twinsun.com>
77389
77390         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
77391         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
77392         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
77393         jm_AC_TYPE_UNSIGNED_LONG_LONG.
77394         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
77395
77396         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
77397
77398 1999-04-20  Jim Meyering  <meyering@ascend.com>
77399
77400         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
77401         AC_REPLACE xstroull if necessary.  From Paul Eggert.
77402         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
77403
77404 1999-04-18  Jim Meyering  <meyering@ascend.com>
77405
77406         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
77407         * m4/jm-macros.m4: Use it.
77408
77409 1999-04-06  Jim Meyering  <meyering@ascend.com>
77410
77411         * m4/strftime.m4: Remove test for %f.
77412
77413 1999-03-29  Jim Meyering  <meyering@ascend.com>
77414
77415         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
77416         superset of the AC_TYPE_* checks in the textutils, fileutils,
77417         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
77418         AC_TYPE_PID_T.
77419
77420 1999-03-28  Jim Meyering  <meyering@ascend.com>
77421
77422         * m4/jm-macros.m4: Define GNU_PACKAGE here.
77423         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
77424         replaced e.g., in the *.sh files of the sh-utils.
77425
77426 1999-03-20  Jim Meyering  <meyering@ascend.com>
77427
77428         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
77429         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
77430         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
77431
77432 1999-03-19  Jim Meyering  <meyering@ascend.com>
77433
77434         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
77435
77436 1999-03-12  Jim Meyering  <meyering@ascend.com>
77437
77438         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
77439
77440 1999-03-07  Jim Meyering  <meyering@ascend.com>
77441
77442         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
77443         declared.
77444
77445 1999-02-17  Jim Meyering  <meyering@ascend.com>
77446
77447         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
77448         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
77449
77450 1999-02-07  Jim Meyering  <meyering@ascend.com>
77451
77452         * m4/group-member.m4: New file -- extracted from sh-utils'
77453         configure.in.
77454
77455         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
77456         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
77457
77458 1999-02-06  Jim Meyering  <meyering@ascend.com>
77459
77460         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
77461         * m4/fnmatch.m4: Likewise.
77462         * m4/getgroups.m4: Likewise.
77463         * m4/lstat.m4: Likewise.
77464         * m4/malloc.m4: Likewise.
77465         * m4/putenv.m4: Likewise.
77466         * m4/realloc.m4: Likewise.
77467         * m4/regex.m4: Likewise.
77468         * m4/stat.m4: Likewise.
77469         * m4/strftime.m4: Likewise.
77470         Suggestion from Alain Magloire.
77471
77472         * m4/chown.m4: Use `.$ac_objext', not `.o'.
77473         * m4/fnmatch.m4: Likewise.
77474         * m4/getgroups.m4: Likewise.
77475         * m4/getline.m4: Likewise.
77476         * m4/lstat.m4: Likewise.
77477         * m4/malloc.m4: Likewise.
77478         * m4/memcmp.m4: Likewise.
77479         * m4/putenv.m4: Likewise.
77480         * m4/realloc.m4: Likewise.
77481         * m4/regex.m4: Likewise.
77482         * m4/stat.m4: Likewise.
77483         * m4/strftime.m4: Likewise.
77484         Suggestion from Alain Magloire.
77485
77486         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
77487         an argument.
77488
77489         * m4/regex.m4: Add a run-time Test for proper operation of
77490         re_compile_pattern.
77491
77492 1999-01-31  Jim Meyering  <meyering@ascend.com>
77493
77494         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
77495
77496 1999-01-30  Jim Meyering  <meyering@ascend.com>
77497
77498         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
77499
77500         * m4/jm-mktime.m4: Make this a wrapper around the official
77501         AM_FUNC_MKTIME rather than my private copy, now that the official one
77502         is up to date.
77503         * m4/mktime.m4: Remove file.
77504
77505         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
77506         * m4/uptime.m4: Likewise.
77507         * m4/uintmax_t.m4: Likewise.
77508
77509 1999-01-28  Jim Meyering  <meyering@ascend.com>
77510
77511         * m4/jm-macros.m4: Use jm_AFS.
77512         * m4/afs.m4: New file (from fileutils' configure.in).
77513
77514         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
77515         * m4/chown.m4: Likewise.
77516         * m4/d-ino.m4: Likewise.
77517         * m4/d-type.m4: Likewise.
77518         * m4/fnmatch.m4: Likewise.
77519         * m4/getgroups.m4: Likewise.
77520         * m4/gettext.m4: Likewise.
77521         * m4/jm-mktime.m4: Likewise.
77522         * m4/jm-winsz2.m4: Likewise.
77523         * m4/lcmessage.m4: Likewise.
77524         * m4/ls-mntd-fs.m4: Likewise.
77525         * m4/malloc.m4: Likewise.
77526         * m4/memcmp.m4: Likewise.
77527         * m4/putenv.m4: Likewise.
77528         * m4/realloc.m4: Likewise.
77529         * m4/st_mtim.m4: Likewise.
77530         * m4/strftime.m4: Likewise.
77531
77532 1999-01-16  Jim Meyering  <meyering@ascend.com>
77533
77534         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
77535         (ARGMATCH_DIE_DECL): Define.
77536
77537 1999-01-12  Jim Meyering  <meyering@ascend.com>
77538
77539         * m4/Makefile.am.in: Rewrite to avoid using fmt.
77540         Reported by Lars Hecking.
77541
77542 1999-01-10  Jim Meyering  <meyering@ascend.com>
77543
77544         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
77545         gross kludge.
77546         * m4/inttypes_h.m4: Likewise.
77547         * m4/lstat.m4: Likewise.
77548         * m4/malloc.m4: Likewise.
77549         * m4/readdir.m4: Likewise.
77550         * m4/realloc.m4: Likewise.
77551         * m4/st_dm_mode.m4: Likewise.
77552         * m4/stat.m4: Likewise.
77553         * m4/utimbuf.m4: Likewise.
77554         * m4/utimes.m4: Likewise.
77555
77556         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
77557         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
77558         comments in config.h.in are meaningful.
77559
77560         * m4/jm-macros.m4: Require autoconf-2.13 here.
77561
77562         * m4/regex.m4: By default, don't use the included regex.c on systems
77563         with glibc 2.  Suggestion from Uli Drepper.
77564
77565 1999-01-02  Jim Meyering  <meyering@ascend.com>
77566
77567         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
77568
77569 1998-12-18  Jim Meyering  <meyering@ascend.com>
77570
77571         * m4/Makefile.am.in (Makefile.am): Simplify rule.
77572         Based on a suggestion from Lars Hecking.
77573
77574 1998-11-16  Paul Eggert  <eggert@twinsun.com>
77575
77576         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
77577
77578 1998-11-16  Jim Meyering  <meyering@ascend.com>
77579
77580         * m4/lfs.m4: Double-quote the `uname...` expression.
77581
77582 1998-11-14  Jim Meyering  <meyering@ascend.com>
77583
77584         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
77585         * m4/stat.m4: Likewise.
77586
77587 1998-11-03  Jim Meyering  <meyering@ascend.com>
77588
77589         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
77590         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
77591
77592 1998-10-18  Jim Meyering  <meyering@ascend.com>
77593
77594         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
77595
77596 1998-10-17  Jim Meyering  <meyering@ascend.com>
77597
77598         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
77599         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
77600         calls for those previously hard-coded headers.  Instead, take a new
77601         parameter.
77602         (jm_CHECK_DECLARATIONS): Reflect interface change.
77603         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
77604         (jm_CHECK_DECL_LOCALTIME_R): New macro.
77605
77606         * m4/mktime.m4: Test for spring-forward gap before long-running test.
77607
77608 1998-10-14  Jim Meyering  <meyering@ascend.com>
77609
77610         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
77611         instead of "TZ=America/Vancouver".  From Paul Eggert.
77612
77613 1998-10-11  Jim Meyering  <meyering@ascend.com>
77614
77615         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
77616         This adds a test for a recently added compatibility fix for mktime.c.
77617         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
77618
77619 1998-09-27  Jim Meyering  <meyering@ascend.com>
77620
77621         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
77622
77623         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
77624         ../configure.in, including a change from Gordon Matzigkeit to allow
77625         cross-compiling for the Hurd.
77626
77627         * m4/glibc.m4: New file/macro to test for the GNU C Library
77628         versions 1 and 2.  From Gordon Matzigkeit.
77629         Indent.
77630
77631 1998-09-21  Jim Meyering  <meyering@ascend.com>
77632
77633         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
77634
77635 1998-08-18  Paul Eggert  <eggert@twinsun.com>
77636
77637         Port nanosecond-resolution times to UnixWare 2.1.2 and
77638         pedantic Solaris 2.6.
77639
77640         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
77641         AC_STRUCT_ST_MTIM.
77642         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
77643         Generate name of ns member, instead of just 1 or undef.
77644         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
77645
77646 1998-08-15  Jim Meyering  <meyering@ascend.com>
77647
77648         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
77649         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
77650         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
77651         instead of jm_TYPE_SSIZE_T.
77652
77653 1998-08-12  Jim Meyering  <meyering@ascend.com>
77654
77655         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
77656
77657 1998-08-02  Jim Meyering  <meyering@ascend.com>
77658
77659         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
77660         in acconfig.h manually.
77661
77662 1998-07-31  Paul Eggert  <eggert@twinsun.com>
77663
77664         * m4/st_mtim.m4: New file.
77665
77666 1998-07-28  Jim Meyering  <meyering@ascend.com>
77667
77668         * m4/utimes.m4: Undef stat.
77669
77670 1998-07-25  Jim Meyering  <meyering@ascend.com>
77671
77672         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
77673         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
77674
77675 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
77676
77677         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
77678         uid and gid actually remain unchanged.
77679
77680 1998-07-07  Jim Meyering  <meyering@ascend.com>
77681
77682         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
77683
77684 1998-07-04  Jim Meyering  <meyering@ascend.com>
77685
77686         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
77687         to prove that this macro can be used in packages without regex.c.
77688
77689 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
77690
77691         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
77692         is to be used.
77693
77694 1998-07-03  Jim Meyering  <meyering@ascend.com>
77695
77696         * m4/gettext.m4: Add -lintl if it's found to be necessary.
77697
77698         * m4/gettext.m4: New file -- from gettext-0.10.35.
77699         * m4/lcmessage.m4: Likewise.
77700         * m4/progtest.m4: Likewise.
77701
77702         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
77703         * m4/jm-macros.m4: Require the new macro.
77704
77705 1998-06-29  Jim Meyering  <meyering@ascend.com>
77706
77707         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
77708         for the definition of NGROUPS (used in a system header included
77709         by sys/mount.h).
77710
77711 1998-06-28  Jim Meyering  <meyering@ascend.com>
77712
77713         * m4/ls-mntd-fs.m4: New file.
77714         * m4/fstypename.m4: New file.
77715
77716         * m4/jm-macros.m4: Require the new macro.
77717         * m4/jm-glibc-io.m4: New file.
77718
77719 1998-05-19  Jim Meyering  <meyering@ascend.com>
77720
77721         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
77722         * m4/lchown.m4: New file.
77723
77724         * m4/Makefile.am.in: New file.
77725         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
77726
77727 1998-05-14  Jim Meyering  <meyering@ascend.com>
77728
77729         * m4/Makefile.am (EXTRA_DIST): Add them.
77730         * m4/jm-macros.m4: New file.
77731         * m4/utimbuf.m4: New file.
77732
77733 1998-05-12  Jim Meyering  <meyering@ascend.com>
77734
77735         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
77736
77737 1998-05-11  Jim Meyering  <meyering@ascend.com>
77738
77739         * m4/isc-posix.m4: New file.
77740
77741 1998-05-10  Jim Meyering  <meyering@ascend.com>
77742
77743         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
77744
77745 1998-05-09  Jim Meyering  <meyering@ascend.com>
77746
77747         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
77748         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
77749         with automake.
77750
77751         * m4/ssize_t.m4: New file.
77752         * m4/mktime.m4: Remove file -- the new automake has this now.
77753
77754 1998-04-26  Jim Meyering  <meyering@ascend.com>
77755
77756         * m4/assert.m4: New file.
77757         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
77758
77759 1998-04-05  Jim Meyering  <meyering@ascend.com>
77760
77761         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
77762         (jm_PREREQ): Use it here.
77763
77764 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
77765
77766         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
77767         in acconfig.h.
77768
77769 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
77770
77771         * m4/prereq.m4: New file.
77772         * m4/error.m4: New file.
77773         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
77774
77775 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
77776
77777         * m4/getline.m4: Don't set am_cv_func_working_getline before the
77778         cache-check for the same variable -- that defeated the purpose of
77779         the test; the test program was never run.  This was a problem only
77780         on systems with losing getline functions -- HP-UX 10.20 is one.
77781         Reported by Bjorn Helgaas.
77782
77783 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
77784
77785         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
77786
77787 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
77788
77789         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
77790
77791         * m4/const.m4: New file.  Use an initializer in this declaration
77792         typedef int charset[2]; const charset x;
77793         Reported by Bob Glickstein.
77794
77795 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
77796
77797         * m4/chown.m4: Fix reversed types on -1 args to chown.
77798         From Kaveh Ghazi.
77799
77800 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
77801
77802         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
77803         Add lseek and memchr.
77804
77805         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
77806         T.E.Dickey <dickey@clark.net> said that some older preprocessors
77807         have a 20-character limit on names.
77808
77809 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
77810
77811         * m4/inttypes_h.m4: New file.
77812         * m4/uintmax_t.m4: New file.
77813         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
77814
77815
77816         -----
77817
77818         Local Variables:
77819         coding: utf-8
77820         End:
77821
77822         Copyright (C) 1997-2011 Free Software Foundation, Inc.
77823
77824         Copying and distribution of this file, with or without
77825         modification, are permitted provided the copyright notice
77826         and this notice are preserved.